# Functions

ApplyRuleSet converts row event to document changeset and sends to the channel c.
BytesToString converts zero terminated byte array to stringWhole array is used when there is no zero in the string.
ChangedAttrs returns a set of names of attributes of a document whose values were changed after applying changeList.
DocIDList returns list if document IDs for a slice of table row changes used for logging.
No description provided by the author
NewBatchedChangeSet create empty batched changeset.
NewBatchedChangeSetPair create a pair for use in syncState.
NewCanalService service constructor.
NewColumnValueDiff create a suitable ColumnValueDiff according to relation type.
NewConfig creates a Config from data.
NewConfigWithFile creates a Config from file.
NewCronService service constructor.
NewDocChangeSet creates a DocChangeSet We probably could avoid that, but to determine which index fields/attributes should be changed, we should first find out which columns actually changed.
No description provided by the author
NewNatsService service constructor.
NewRiver creates the River from config.
NewSphinxService constructor.
NewSyncService constructor.
No description provided by the author
No description provided by the author

# Constants

AttrBigint rt_attr_bigint.
AttrBool rt_attr_bool.
AttrFloat rt_attr_float.
AttrJson rt_attr_json.
AttrMulti rt_attr_multi.
AttrMulti64 rt_attr_multi_64.
AttrString rt_attr_string.
AttrTimestamp rt_attr_timestamp.
AttrUint rt_attr_uint.
DocID document id.
Table relation types.
ugly hack until json_table is supported - https://github.com/vitessio/vitess/issues/5410.
Table relation types.
Table relation types.
Table relation types.
TextField rt_field.

# Structs

BatchChangedAttrs stores the names of actually changed attrubutes for each document in the batch.
BatchedChangeSet all database changes that may lead to changes in any index.
CanalService the one that really reads binlog.
ChangeSetStats some statistics for writing to logs.
Config is the configuration.
CronService represents a service that does periodic jobs.
DocChangeSet represents changes of a single document in all related tables.
DocumentChange changed rows for single indexed document.
IndexChangeSet all changes related to single index.
IndexConfigField field of an index as it's seen in the indexer config.
IndexMaintenanceConfig ...
IngestRule is the rule for how to detect changed documents in MySQL.
No description provided by the author
NatsService represents a service.
PlainValueDiff tuple representing a changed database value `OldValue` and `NewValue` should be different.
PrimaryKey value of a primary key in a given table we need this to figure out which rows were inserted/deleted/updated.
River is (actually, was) a pluggable service within Manticoresearch that pulls data from an external source.
RowDiff tuple representing a changed database row `Old` and `New` may be the same.
SetValueDiff tuple representing a changed database value set `Added` and `Deleted` sets should be different For now does not depend on `TableRowChange.Action` and relies only on value changes.
SourceConfig contains all info that's needed to build or update an index.
SourceConfigDetails ...
SphConnSettings various settings for the connection to sphinx.
SphinxService represents a service that does communication with Sphinx.
SyncService represents a service that does periodic jobs.
TableChangeSet changes for single document for a table in a single database table `Diff` map should contain only actual (non-empty) changes.
TableRowChange represents a change that may lead to document update in sphinx index.
TomlDuration supports time codec for TOML format.
TomlGoTemplate supports template decoding for TOML format.
ValuePair instead of a tuple.

# Interfaces

ColumnValueDiff changes for single document in a single database table+column.
MysqlPositionProvider used in resetToCurrent() method.