Documentation
¶
Index ¶
- Constants
- Variables
- func DebugDmlMsg(msgBatch []*core.Msg) (interface{}, interface{})
- func ExecWithInternalTxnTag(pipelineName string, internalTxnTaggerCfg *InternalTxnTaggerCfg, db *sql.DB, ...) error
- func GenerateInsertIgnoreSQL(msgBatch []*core.Msg, tableDef *schema_store.Table) (string, []interface{}, error)
- func GenerateInsertOnDuplicateKeyUpdate(msgBatch []*core.Msg, tableDef *schema_store.Table) (string, []interface{}, error)
- func GenerateReplaceSQLWithMultipleValues(msgBatch []*core.Msg, tableDef *schema_store.Table) (string, []interface{}, error)
- func GenerateSingleDeleteSQL(msg *core.Msg, tableDef *schema_store.Table) (string, []interface{}, error)
- func GetSingleSqlPlaceHolderAndArgWithEncodedData(msg *core.Msg, tableDef *schema_store.Table) (string, []interface{}, error)
- func PlaceHoldersAndArgsFromEncodedData(msgBatch []*core.Msg, tableDef *schema_store.Table) ([]string, []interface{}, error)
- func SQLWithAnnotation(sql string, annotationContent string) string
- func ValidateSchema(msg *core.Msg, tableDef *schema_store.Table) error
- type EngineExecutor
- type EngineInitializer
- type InternalTxnTaggerCfg
- type MysqlReplaceEngineConfig
Constants ¶
View Source
const ( ConflictDetectEngine = "conflict-detect-engine" ConflictFileName = "conflict.log" )
View Source
const ( QueryExist queryResult = iota QueryNotExist QueryUnknown )
View Source
const ManualEngine = "manual-engine"
View Source
const MySQLInsertIgnore = "mysql-insert-ignore"
View Source
const MySQLInsertOnDuplicateKeyUpdate = "mysql-insert-on-duplicate-key-update"
View Source
const MySQLReplaceEngine = "mysql-replace-engine"
Variables ¶
View Source
var DefaultInternalTxnTaggerCfg = map[string]interface{}{ "tag-internal-txn": false, "sql-annotation": "", }
View Source
var DefaultMySQLReplaceEngineConfig = map[string]interface{}{ MySQLReplaceEngine: DefaultInternalTxnTaggerCfg, }
View Source
var ErrDeleteRowSkip = errors.New("sql_execution_engine: skip this delete event")
View Source
var ErrRowConflict = errors.New("sql_execution_engine: this row conflicts")
Functions ¶
func DebugDmlMsg ¶
func ExecWithInternalTxnTag ¶ added in v0.9.40
func GenerateInsertIgnoreSQL ¶
func GenerateInsertOnDuplicateKeyUpdate ¶ added in v0.9.39
func GenerateSingleDeleteSQL ¶
func SQLWithAnnotation ¶
func ValidateSchema ¶
func ValidateSchema(msg *core.Msg, tableDef *schema_store.Table) error
Types ¶
type EngineExecutor ¶
type EngineExecutor interface {
Execute(msgBatch []*core.Msg, tableDef *schema_store.Table) error
}
func NewEngineExecutor ¶
type EngineInitializer ¶
type InternalTxnTaggerCfg ¶ added in v0.9.40
type MysqlReplaceEngineConfig ¶ added in v0.9.16
type MysqlReplaceEngineConfig struct {
InternalTxnTaggerCfg `mapstructure:",squash"`
}
Click to show internal directories.
Click to hide internal directories.