(logger g.LoggerType, where ast.ExprNode, before map[string]interface{})
| 99 | } |
| 100 | |
| 101 | func 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 |
no test coverage detected