blob: 35f8c192f3e83f2ea7fe4c382e3b599fb43122ed (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
package query
import (
"errors"
"fmt"
)
var ErrQueryFormat = errors.New("Incorrect query format")
var ErrDatetimeTokenParse = errors.New("Unrecognized format for datetime token")
// output errors
var ErrUnrecognizedOutputToken = errors.New("Unrecognized output token")
var ErrExpectedMoreStringTokens = errors.New("Expected more string tokens")
// optimizer errors
var ErrUnexpectedValueType = errors.New("Unexpected value type")
var ErrEmptyResult = errors.New("Queries are contradictory, will lead to an empty result")
type TokenError struct {
got Token
gotPrev Token
wantPrev string
}
type CompileError struct {
s string
}
func (e *TokenError) Error() string {
if e.wantPrev != "" {
return fmt.Sprintf("Unexpected token: got %s, got previous %s want previous %s", e.got, e.gotPrev, e.wantPrev)
}
return fmt.Sprintf("Unexpected token: got %s, got previous %s", e.got, e.gotPrev)
}
func (e *CompileError) Error() string {
return fmt.Sprintf("Compile error: %s", e.s)
}
|