MCPcopy Create free account
hub / github.com/actiontech/dtle / beforeData

Function beforeData

driver/oracle/extractor/sql_parse.go:101–127  ·  view source on GitHub ↗
(logger g.LoggerType, where ast.ExprNode, before map[string]interface{})

Source from the content-addressed store, hash-verified

99}
100
101func beforeData(logger g.LoggerType, where ast.ExprNode, before map[string]interface{}) (err error) {
102 if binaryNode, ok := where.(*ast.BinaryOperationExpr); ok {
103 switch binaryNode.Op.String() {
104 case ast.LogicAnd:
105 if err = beforeData(logger, binaryNode.L, before); err != nil {
106 return
107 }
108 if err = beforeData(logger, binaryNode.R, before); err != nil {
109 return
110 }
111 case ast.EQ:
112 var column strings.Builder
113 var columnValue strings.Builder
114 flags := format.RestoreStringWithoutDefaultCharset
115 err = binaryNode.L.Restore(format.NewRestoreCtx(flags, &column))
116 if err != nil {
117 return errors.Wrap(err, "restore column name failed")
118 }
119 err = binaryNode.R.Restore(format.NewRestoreCtx(flags, &columnValue))
120 if err != nil {
121 return errors.Wrap(err, "restore column value failed")
122 }
123 before[strings.TrimLeft(strings.TrimRight(column.String(), "`"), "`")] = columnsValueConverter(columnValue.String())
124 }
125 }
126 return
127}
128
129// type OracleFuncName string
130

Callers 1

EnterMethod · 0.85

Calls 2

columnsValueConverterFunction · 0.85
StringMethod · 0.45

Tested by

no test coverage detected