Documentation
¶
Index ¶
- Constants
- func Exec(sql string) (sqlResult sql.Result, err error)
- func ExecFile(path string) (err error)
- func GetAllTables() []string
- func GetDB() (*sql.DB, error)
- func GetGormDB() *gorm.DB
- func GetTables() (ret []string, err error)
- func InitMysql(host, user, password, dbName string, port int32) (err error)
- func InitMysqlByConfig() error
- func InitPG(host, user, password, dbName string, port int32) (err error)
- func InitPGByConfig() error
- func MapRowToStruct(columns []schema.TableColumn, row []interface{}, dest interface{}) error
- func MustInitMysqlByConfig()
- func MustInitPGByConfig()
- func RegisterDeleteCallback(tableName string, cb DeleteCallback)
- func RegisterInsertCallback(tableName string, cb InsertCallback)
- func RegisterUpdateCallback(tableName string, cb UpdateCallback)
- type CanalClient
- type DeleteCallback
- type InsertCallback
- type MyEventHandler
- type MysqlConfig
- type PgsqlConfig
- type SqlConfig
- type TableHandler
- type UpdateCallback
- type Writer
Constants ¶
const REDIS_KEY_CANAL_BINLOG_POS = "canal:binlog:pos"
Variables ¶
This section is empty.
Functions ¶
func GetAllTables ¶ added in v0.0.6
func GetAllTables() []string
GetAllTables returns all registered table names
func InitMysqlByConfig ¶ added in v0.0.6
func InitMysqlByConfig() error
func InitPGByConfig ¶
func InitPGByConfig() error
func MapRowToStruct ¶ added in v0.0.6
func MapRowToStruct(columns []schema.TableColumn, row []interface{}, dest interface{}) error
MapRowToStruct converts a row from canal.RowsEvent to a struct using reflection. This is more efficient than JSON marshaling/unmarshaling.
func MustInitMysqlByConfig ¶ added in v0.0.6
func MustInitMysqlByConfig()
func MustInitPGByConfig ¶
func MustInitPGByConfig()
func RegisterDeleteCallback ¶ added in v0.0.6
func RegisterDeleteCallback(tableName string, cb DeleteCallback)
RegisterDeleteCallback registers a delete callback for a specific table
func RegisterInsertCallback ¶ added in v0.0.6
func RegisterInsertCallback(tableName string, cb InsertCallback)
RegisterInsertCallback registers an insert callback for a specific table
func RegisterUpdateCallback ¶ added in v0.0.6
func RegisterUpdateCallback(tableName string, cb UpdateCallback)
RegisterUpdateCallback registers an update callback for a specific table
Types ¶
type CanalClient ¶ added in v0.0.6
type CanalClient struct {
// contains filtered or unexported fields
}
func NewCanal ¶ added in v0.0.6
func NewCanal(dbConf MysqlConfig) (*CanalClient, error)
func (*CanalClient) Run ¶ added in v0.0.6
func (client *CanalClient) Run() error
type DeleteCallback ¶ added in v0.0.6
type DeleteCallback func(ctx context.Context, columns []schema.TableColumn, oldRow []interface{}) error
DeleteCallback defines the function signature for delete event handlers
type InsertCallback ¶ added in v0.0.6
type InsertCallback func(ctx context.Context, columns []schema.TableColumn, newRow []interface{}) error
InsertCallback defines the function signature for insert event handlers
type MyEventHandler ¶ added in v0.0.6
type MyEventHandler struct {
canal.DummyEventHandler
// contains filtered or unexported fields
}
func (*MyEventHandler) OnPosSynced ¶ added in v0.0.6
func (h *MyEventHandler) OnPosSynced(header *replication.EventHeader, pos mysql.Position, set mysql.GTIDSet, force bool) error
func (*MyEventHandler) OnRow ¶ added in v0.0.6
func (h *MyEventHandler) OnRow(e *canal.RowsEvent) error
func (*MyEventHandler) SetDBName ¶ added in v0.0.6
func (h *MyEventHandler) SetDBName(db string)
func (*MyEventHandler) String ¶ added in v0.0.6
func (h *MyEventHandler) String() string
type MysqlConfig ¶ added in v0.0.6
type MysqlConfig struct {
Mysql SqlConfig
}
type PgsqlConfig ¶ added in v0.0.6
type PgsqlConfig struct {
Pgsql SqlConfig
}
type SqlConfig ¶ added in v0.0.6
type SqlConfig struct {
Addr string
User string
Password string
DbName string
Host string // 从addr解析
Port int32 // 从addr解析
}
func GetSqlConfig ¶ added in v0.0.6
func GetSqlConfig() *SqlConfig
--------------------------------------------------
type TableHandler ¶ added in v0.0.6
type TableHandler struct {
InsertCallback InsertCallback
UpdateCallback UpdateCallback
DeleteCallback DeleteCallback
}
TableHandler holds callbacks for a specific table
func GetTableHandler ¶ added in v0.0.6
func GetTableHandler(tableName string) *TableHandler
GetTableHandler retrieves the handler for a specific table
type UpdateCallback ¶ added in v0.0.6
type UpdateCallback func(ctx context.Context, columns []schema.TableColumn, oldRow, newRow []interface{}) error
UpdateCallback defines the function signature for update event handlers