Documentation
¶
Index ¶
- Constants
- Variables
- func DebugDmlMsg(msgBatch []*core.Msg) (interface{}, interface{})
- func GenerateInsertIgnoreSQL(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
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 MySQLReplaceEngine = "mysql-replace-engine"
Variables ¶
View Source
var DefaultMySQLReplaceEngineConfig = map[string]interface{}{ MySQLReplaceEngine: map[string]interface{}{ "tag-internal-txn": false, "sql-annotation": "", }, }
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 GenerateInsertIgnoreSQL ¶
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 ¶
Click to show internal directories.
Click to hide internal directories.