(err error, stmt base.Statement)
| 151 | } |
| 152 | |
| 153 | func convertOmniError(err error, stmt base.Statement) error { |
| 154 | var parseErr *oracleparser.ParseError |
| 155 | if !errors.As(err, &parseErr) { |
| 156 | return err |
| 157 | } |
| 158 | |
| 159 | pos := ByteOffsetToRunePosition(stmt.Text, parseErr.Position) |
| 160 | if stmt.Start != nil { |
| 161 | if pos.Line == 1 { |
| 162 | pos.Column += stmt.Start.Column - 1 |
| 163 | } |
| 164 | pos.Line += stmt.Start.Line - 1 |
| 165 | } |
| 166 | |
| 167 | msg := fmt.Sprintf("Syntax error at line %d:%d: %s", pos.Line, pos.Column, parseErr.Message) |
| 168 | return &base.SyntaxError{ |
| 169 | Position: pos, |
| 170 | Message: msg, |
| 171 | RawMessage: parseErr.Message, |
| 172 | } |
| 173 | } |
no test coverage detected