diff options
author | Ting-Wei Lan <tingwei.lan@cobinhood.com> | 2019-04-02 15:34:48 +0800 |
---|---|---|
committer | Jhih-Ming Huang <jm@dexon.org> | 2019-05-08 13:20:53 +0800 |
commit | 682e15d8212cc376509f8f2ef854adf48efb64ef (patch) | |
tree | 84a0b11e997399466a4a0fd9d98e0b3722542937 | |
parent | 73750235b0aba1bcd6826d5033a66250e0d93a3e (diff) | |
download | dexon-682e15d8212cc376509f8f2ef854adf48efb64ef.tar.gz dexon-682e15d8212cc376509f8f2ef854adf48efb64ef.tar.zst dexon-682e15d8212cc376509f8f2ef854adf48efb64ef.zip |
core: vm: sqlvm: parser: drop TEXT and STRING aliases
Our BYTES type works like a binary string, while TEXT and STRING are
commonly used to represent a character string. Since SQL distinguishes
between binary strings and character strings and defines different
functions for them, we should avoid confusing users with misleading
names.
-rw-r--r-- | core/vm/sqlvm/parser/internal/grammar.go | 907 | ||||
-rw-r--r-- | core/vm/sqlvm/parser/internal/grammar.peg | 5 | ||||
-rw-r--r-- | core/vm/sqlvm/parser/parser_test.go | 10 |
3 files changed, 439 insertions, 483 deletions
diff --git a/core/vm/sqlvm/parser/internal/grammar.go b/core/vm/sqlvm/parser/internal/grammar.go index 2d684ab08..8866f30e1 100644 --- a/core/vm/sqlvm/parser/internal/grammar.go +++ b/core/vm/sqlvm/parser/internal/grammar.go @@ -3324,58 +3324,19 @@ var g = &grammar{ expr: &actionExpr{ pos: position{line: 853, col: 4, offset: 20872}, run: (*parser).callonDynamicBytesType1, - expr: &choiceExpr{ - pos: position{line: 853, col: 6, offset: 20874}, - alternatives: []interface{}{ - &seqExpr{ - pos: position{line: 853, col: 6, offset: 20874}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 853, col: 6, offset: 20874}, - val: "bytes", - ignoreCase: true, - }, - ¬Expr{ - pos: position{line: 853, col: 15, offset: 20883}, - expr: &ruleRefExpr{ - pos: position{line: 853, col: 16, offset: 20884}, - name: "NormalIdentifierRest", - }, - }, - }, - }, - &seqExpr{ - pos: position{line: 854, col: 5, offset: 20909}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 854, col: 5, offset: 20909}, - val: "string", - ignoreCase: true, - }, - ¬Expr{ - pos: position{line: 854, col: 15, offset: 20919}, - expr: &ruleRefExpr{ - pos: position{line: 854, col: 16, offset: 20920}, - name: "NormalIdentifierRest", - }, - }, - }, + expr: &seqExpr{ + pos: position{line: 853, col: 4, offset: 20872}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 853, col: 4, offset: 20872}, + val: "bytes", + ignoreCase: true, }, - &seqExpr{ - pos: position{line: 855, col: 5, offset: 20945}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 855, col: 5, offset: 20945}, - val: "text", - ignoreCase: true, - }, - ¬Expr{ - pos: position{line: 855, col: 13, offset: 20953}, - expr: &ruleRefExpr{ - pos: position{line: 855, col: 14, offset: 20954}, - name: "NormalIdentifierRest", - }, - }, + ¬Expr{ + pos: position{line: 853, col: 13, offset: 20881}, + expr: &ruleRefExpr{ + pos: position{line: 853, col: 14, offset: 20882}, + name: "NormalIdentifierRest", }, }, }, @@ -3384,22 +3345,22 @@ var g = &grammar{ }, { name: "AddressType", - pos: position{line: 864, col: 1, offset: 21115}, + pos: position{line: 861, col: 1, offset: 21040}, expr: &actionExpr{ - pos: position{line: 865, col: 4, offset: 21130}, + pos: position{line: 862, col: 4, offset: 21055}, run: (*parser).callonAddressType1, expr: &seqExpr{ - pos: position{line: 865, col: 4, offset: 21130}, + pos: position{line: 862, col: 4, offset: 21055}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 865, col: 4, offset: 21130}, + pos: position{line: 862, col: 4, offset: 21055}, val: "address", ignoreCase: true, }, ¬Expr{ - pos: position{line: 865, col: 15, offset: 21141}, + pos: position{line: 862, col: 15, offset: 21066}, expr: &ruleRefExpr{ - pos: position{line: 865, col: 16, offset: 21142}, + pos: position{line: 862, col: 16, offset: 21067}, name: "NormalIdentifierRest", }, }, @@ -3409,42 +3370,42 @@ var g = &grammar{ }, { name: "BoolType", - pos: position{line: 873, col: 1, offset: 21295}, + pos: position{line: 870, col: 1, offset: 21220}, expr: &actionExpr{ - pos: position{line: 874, col: 4, offset: 21307}, + pos: position{line: 871, col: 4, offset: 21232}, run: (*parser).callonBoolType1, expr: &choiceExpr{ - pos: position{line: 874, col: 6, offset: 21309}, + pos: position{line: 871, col: 6, offset: 21234}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 874, col: 6, offset: 21309}, + pos: position{line: 871, col: 6, offset: 21234}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 874, col: 6, offset: 21309}, + pos: position{line: 871, col: 6, offset: 21234}, val: "bool", ignoreCase: true, }, ¬Expr{ - pos: position{line: 874, col: 14, offset: 21317}, + pos: position{line: 871, col: 14, offset: 21242}, expr: &ruleRefExpr{ - pos: position{line: 874, col: 15, offset: 21318}, + pos: position{line: 871, col: 15, offset: 21243}, name: "NormalIdentifierRest", }, }, }, }, &seqExpr{ - pos: position{line: 875, col: 5, offset: 21343}, + pos: position{line: 872, col: 5, offset: 21268}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 875, col: 5, offset: 21343}, + pos: position{line: 872, col: 5, offset: 21268}, val: "boolean", ignoreCase: true, }, ¬Expr{ - pos: position{line: 875, col: 16, offset: 21354}, + pos: position{line: 872, col: 16, offset: 21279}, expr: &ruleRefExpr{ - pos: position{line: 875, col: 17, offset: 21355}, + pos: position{line: 872, col: 17, offset: 21280}, name: "NormalIdentifierRest", }, }, @@ -3456,24 +3417,24 @@ var g = &grammar{ }, { name: "Value", - pos: position{line: 885, col: 1, offset: 21521}, + pos: position{line: 882, col: 1, offset: 21446}, expr: &choiceExpr{ - pos: position{line: 886, col: 4, offset: 21530}, + pos: position{line: 883, col: 4, offset: 21455}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 886, col: 4, offset: 21530}, + pos: position{line: 883, col: 4, offset: 21455}, name: "NumberLiteral", }, &ruleRefExpr{ - pos: position{line: 887, col: 4, offset: 21547}, + pos: position{line: 884, col: 4, offset: 21472}, name: "StringLiteral", }, &ruleRefExpr{ - pos: position{line: 888, col: 4, offset: 21564}, + pos: position{line: 885, col: 4, offset: 21489}, name: "BoolLiteral", }, &ruleRefExpr{ - pos: position{line: 889, col: 4, offset: 21579}, + pos: position{line: 886, col: 4, offset: 21504}, name: "NullLiteral", }, }, @@ -3481,46 +3442,46 @@ var g = &grammar{ }, { name: "AnyLiteral", - pos: position{line: 891, col: 1, offset: 21592}, + pos: position{line: 888, col: 1, offset: 21517}, expr: &actionExpr{ - pos: position{line: 892, col: 4, offset: 21606}, + pos: position{line: 889, col: 4, offset: 21531}, run: (*parser).callonAnyLiteral1, expr: &ruleRefExpr{ - pos: position{line: 892, col: 4, offset: 21606}, + pos: position{line: 889, col: 4, offset: 21531}, name: "AnyToken", }, }, }, { name: "DefaultLiteral", - pos: position{line: 900, col: 1, offset: 21744}, + pos: position{line: 897, col: 1, offset: 21669}, expr: &actionExpr{ - pos: position{line: 901, col: 4, offset: 21762}, + pos: position{line: 898, col: 4, offset: 21687}, run: (*parser).callonDefaultLiteral1, expr: &ruleRefExpr{ - pos: position{line: 901, col: 4, offset: 21762}, + pos: position{line: 898, col: 4, offset: 21687}, name: "DefaultToken", }, }, }, { name: "BoolLiteral", - pos: position{line: 909, col: 1, offset: 21908}, + pos: position{line: 906, col: 1, offset: 21833}, expr: &actionExpr{ - pos: position{line: 910, col: 4, offset: 21923}, + pos: position{line: 907, col: 4, offset: 21848}, run: (*parser).callonBoolLiteral1, expr: &labeledExpr{ - pos: position{line: 910, col: 4, offset: 21923}, + pos: position{line: 907, col: 4, offset: 21848}, label: "b", expr: &choiceExpr{ - pos: position{line: 910, col: 8, offset: 21927}, + pos: position{line: 907, col: 8, offset: 21852}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 910, col: 8, offset: 21927}, + pos: position{line: 907, col: 8, offset: 21852}, name: "TrueToken", }, &ruleRefExpr{ - pos: position{line: 910, col: 20, offset: 21939}, + pos: position{line: 907, col: 20, offset: 21864}, name: "FalseToken", }, }, @@ -3530,40 +3491,40 @@ var g = &grammar{ }, { name: "NullLiteral", - pos: position{line: 923, col: 1, offset: 22204}, + pos: position{line: 920, col: 1, offset: 22129}, expr: &actionExpr{ - pos: position{line: 924, col: 4, offset: 22219}, + pos: position{line: 921, col: 4, offset: 22144}, run: (*parser).callonNullLiteral1, expr: &ruleRefExpr{ - pos: position{line: 924, col: 4, offset: 22219}, + pos: position{line: 921, col: 4, offset: 22144}, name: "NullToken", }, }, }, { name: "NumberLiteral", - pos: position{line: 932, col: 1, offset: 22359}, + pos: position{line: 929, col: 1, offset: 22284}, expr: &choiceExpr{ - pos: position{line: 933, col: 4, offset: 22376}, + pos: position{line: 930, col: 4, offset: 22301}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 933, col: 4, offset: 22376}, + pos: position{line: 930, col: 4, offset: 22301}, run: (*parser).callonNumberLiteral2, expr: &seqExpr{ - pos: position{line: 933, col: 4, offset: 22376}, + pos: position{line: 930, col: 4, offset: 22301}, exprs: []interface{}{ &andExpr{ - pos: position{line: 933, col: 4, offset: 22376}, + pos: position{line: 930, col: 4, offset: 22301}, expr: &seqExpr{ - pos: position{line: 933, col: 6, offset: 22378}, + pos: position{line: 930, col: 6, offset: 22303}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 933, col: 6, offset: 22378}, + pos: position{line: 930, col: 6, offset: 22303}, val: "0", ignoreCase: false, }, &litMatcher{ - pos: position{line: 933, col: 10, offset: 22382}, + pos: position{line: 930, col: 10, offset: 22307}, val: "x", ignoreCase: true, }, @@ -3571,10 +3532,10 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 933, col: 16, offset: 22388}, + pos: position{line: 930, col: 16, offset: 22313}, label: "h", expr: &ruleRefExpr{ - pos: position{line: 933, col: 18, offset: 22390}, + pos: position{line: 930, col: 18, offset: 22315}, name: "Hex", }, }, @@ -3582,7 +3543,7 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 934, col: 4, offset: 22415}, + pos: position{line: 931, col: 4, offset: 22340}, name: "Decimal", }, }, @@ -3590,9 +3551,9 @@ var g = &grammar{ }, { name: "Sign", - pos: position{line: 936, col: 1, offset: 22424}, + pos: position{line: 933, col: 1, offset: 22349}, expr: &charClassMatcher{ - pos: position{line: 937, col: 4, offset: 22432}, + pos: position{line: 934, col: 4, offset: 22357}, val: "[-+]", chars: []rune{'-', '+'}, ignoreCase: false, @@ -3601,11 +3562,11 @@ var g = &grammar{ }, { name: "Integer", - pos: position{line: 939, col: 1, offset: 22438}, + pos: position{line: 936, col: 1, offset: 22363}, expr: &oneOrMoreExpr{ - pos: position{line: 940, col: 4, offset: 22449}, + pos: position{line: 937, col: 4, offset: 22374}, expr: &charClassMatcher{ - pos: position{line: 940, col: 4, offset: 22449}, + pos: position{line: 937, col: 4, offset: 22374}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -3615,44 +3576,44 @@ var g = &grammar{ }, { name: "IntegerLiteral", - pos: position{line: 942, col: 1, offset: 22457}, + pos: position{line: 939, col: 1, offset: 22382}, expr: &actionExpr{ - pos: position{line: 943, col: 4, offset: 22475}, + pos: position{line: 940, col: 4, offset: 22400}, run: (*parser).callonIntegerLiteral1, expr: &ruleRefExpr{ - pos: position{line: 943, col: 4, offset: 22475}, + pos: position{line: 940, col: 4, offset: 22400}, name: "Integer", }, }, }, { name: "NonZeroLeadingInteger", - pos: position{line: 965, col: 1, offset: 22988}, + pos: position{line: 962, col: 1, offset: 22913}, expr: &actionExpr{ - pos: position{line: 966, col: 4, offset: 23013}, + pos: position{line: 963, col: 4, offset: 22938}, run: (*parser).callonNonZeroLeadingInteger1, expr: &choiceExpr{ - pos: position{line: 966, col: 6, offset: 23015}, + pos: position{line: 963, col: 6, offset: 22940}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 966, col: 6, offset: 23015}, + pos: position{line: 963, col: 6, offset: 22940}, val: "0", ignoreCase: false, }, &seqExpr{ - pos: position{line: 966, col: 12, offset: 23021}, + pos: position{line: 963, col: 12, offset: 22946}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 966, col: 12, offset: 23021}, + pos: position{line: 963, col: 12, offset: 22946}, val: "[1-9]", ranges: []rune{'1', '9'}, ignoreCase: false, inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 966, col: 17, offset: 23026}, + pos: position{line: 963, col: 17, offset: 22951}, expr: &charClassMatcher{ - pos: position{line: 966, col: 17, offset: 23026}, + pos: position{line: 963, col: 17, offset: 22951}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -3667,59 +3628,59 @@ var g = &grammar{ }, { name: "Fixnum", - pos: position{line: 969, col: 1, offset: 23059}, + pos: position{line: 966, col: 1, offset: 22984}, expr: &actionExpr{ - pos: position{line: 970, col: 4, offset: 23069}, + pos: position{line: 967, col: 4, offset: 22994}, run: (*parser).callonFixnum1, expr: &choiceExpr{ - pos: position{line: 970, col: 6, offset: 23071}, + pos: position{line: 967, col: 6, offset: 22996}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 970, col: 6, offset: 23071}, + pos: position{line: 967, col: 6, offset: 22996}, exprs: []interface{}{ &ruleRefExpr{ - pos: position{line: 970, col: 6, offset: 23071}, + pos: position{line: 967, col: 6, offset: 22996}, name: "Integer", }, &litMatcher{ - pos: position{line: 970, col: 14, offset: 23079}, + pos: position{line: 967, col: 14, offset: 23004}, val: ".", ignoreCase: false, }, &ruleRefExpr{ - pos: position{line: 970, col: 18, offset: 23083}, + pos: position{line: 967, col: 18, offset: 23008}, name: "Integer", }, }, }, &seqExpr{ - pos: position{line: 971, col: 5, offset: 23095}, + pos: position{line: 968, col: 5, offset: 23020}, exprs: []interface{}{ &ruleRefExpr{ - pos: position{line: 971, col: 5, offset: 23095}, + pos: position{line: 968, col: 5, offset: 23020}, name: "Integer", }, &litMatcher{ - pos: position{line: 971, col: 13, offset: 23103}, + pos: position{line: 968, col: 13, offset: 23028}, val: ".", ignoreCase: false, }, }, }, &ruleRefExpr{ - pos: position{line: 972, col: 5, offset: 23111}, + pos: position{line: 969, col: 5, offset: 23036}, name: "Integer", }, &seqExpr{ - pos: position{line: 973, col: 5, offset: 23123}, + pos: position{line: 970, col: 5, offset: 23048}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 973, col: 5, offset: 23123}, + pos: position{line: 970, col: 5, offset: 23048}, val: ".", ignoreCase: false, }, &ruleRefExpr{ - pos: position{line: 973, col: 9, offset: 23127}, + pos: position{line: 970, col: 9, offset: 23052}, name: "Integer", }, }, @@ -3730,43 +3691,43 @@ var g = &grammar{ }, { name: "Decimal", - pos: position{line: 977, col: 1, offset: 23162}, + pos: position{line: 974, col: 1, offset: 23087}, expr: &actionExpr{ - pos: position{line: 978, col: 4, offset: 23173}, + pos: position{line: 975, col: 4, offset: 23098}, run: (*parser).callonDecimal1, expr: &seqExpr{ - pos: position{line: 978, col: 4, offset: 23173}, + pos: position{line: 975, col: 4, offset: 23098}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 978, col: 4, offset: 23173}, + pos: position{line: 975, col: 4, offset: 23098}, label: "m", expr: &ruleRefExpr{ - pos: position{line: 978, col: 6, offset: 23175}, + pos: position{line: 975, col: 6, offset: 23100}, name: "Fixnum", }, }, &labeledExpr{ - pos: position{line: 978, col: 13, offset: 23182}, + pos: position{line: 975, col: 13, offset: 23107}, label: "e", expr: &zeroOrOneExpr{ - pos: position{line: 978, col: 15, offset: 23184}, + pos: position{line: 975, col: 15, offset: 23109}, expr: &seqExpr{ - pos: position{line: 978, col: 17, offset: 23186}, + pos: position{line: 975, col: 17, offset: 23111}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 978, col: 17, offset: 23186}, + pos: position{line: 975, col: 17, offset: 23111}, val: "e", ignoreCase: true, }, &zeroOrOneExpr{ - pos: position{line: 978, col: 22, offset: 23191}, + pos: position{line: 975, col: 22, offset: 23116}, expr: &ruleRefExpr{ - pos: position{line: 978, col: 22, offset: 23191}, + pos: position{line: 975, col: 22, offset: 23116}, name: "Sign", }, }, &ruleRefExpr{ - pos: position{line: 978, col: 28, offset: 23197}, + pos: position{line: 975, col: 28, offset: 23122}, name: "Integer", }, }, @@ -3779,22 +3740,22 @@ var g = &grammar{ }, { name: "Hex", - pos: position{line: 1015, col: 1, offset: 24063}, + pos: position{line: 1012, col: 1, offset: 23988}, expr: &actionExpr{ - pos: position{line: 1016, col: 4, offset: 24070}, + pos: position{line: 1013, col: 4, offset: 23995}, run: (*parser).callonHex1, expr: &seqExpr{ - pos: position{line: 1016, col: 4, offset: 24070}, + pos: position{line: 1013, col: 4, offset: 23995}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1016, col: 4, offset: 24070}, + pos: position{line: 1013, col: 4, offset: 23995}, val: "0x", ignoreCase: false, }, &oneOrMoreExpr{ - pos: position{line: 1016, col: 9, offset: 24075}, + pos: position{line: 1013, col: 9, offset: 24000}, expr: &charClassMatcher{ - pos: position{line: 1016, col: 11, offset: 24077}, + pos: position{line: 1013, col: 11, offset: 24002}, val: "[0-9A-Fa-f]", ranges: []rune{'0', '9', 'A', 'F', 'a', 'f'}, ignoreCase: false, @@ -3802,9 +3763,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1016, col: 26, offset: 24092}, + pos: position{line: 1013, col: 26, offset: 24017}, expr: &ruleRefExpr{ - pos: position{line: 1016, col: 27, offset: 24093}, + pos: position{line: 1013, col: 27, offset: 24018}, name: "NormalIdentifierRest", }, }, @@ -3814,16 +3775,16 @@ var g = &grammar{ }, { name: "StringLiteral", - pos: position{line: 1024, col: 1, offset: 24244}, + pos: position{line: 1021, col: 1, offset: 24169}, expr: &choiceExpr{ - pos: position{line: 1025, col: 4, offset: 24261}, + pos: position{line: 1022, col: 4, offset: 24186}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 1025, col: 4, offset: 24261}, + pos: position{line: 1022, col: 4, offset: 24186}, name: "HexString", }, &ruleRefExpr{ - pos: position{line: 1026, col: 4, offset: 24274}, + pos: position{line: 1023, col: 4, offset: 24199}, name: "NormalString", }, }, @@ -3831,53 +3792,53 @@ var g = &grammar{ }, { name: "HexString", - pos: position{line: 1028, col: 1, offset: 24288}, + pos: position{line: 1025, col: 1, offset: 24213}, expr: &actionExpr{ - pos: position{line: 1029, col: 4, offset: 24301}, + pos: position{line: 1026, col: 4, offset: 24226}, run: (*parser).callonHexString1, expr: &seqExpr{ - pos: position{line: 1029, col: 4, offset: 24301}, + pos: position{line: 1026, col: 4, offset: 24226}, exprs: []interface{}{ &choiceExpr{ - pos: position{line: 1029, col: 6, offset: 24303}, + pos: position{line: 1026, col: 6, offset: 24228}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 1029, col: 6, offset: 24303}, + pos: position{line: 1026, col: 6, offset: 24228}, val: "hex", ignoreCase: true, }, &litMatcher{ - pos: position{line: 1029, col: 15, offset: 24312}, + pos: position{line: 1026, col: 15, offset: 24237}, val: "x", ignoreCase: true, }, }, }, &litMatcher{ - pos: position{line: 1029, col: 22, offset: 24319}, + pos: position{line: 1026, col: 22, offset: 24244}, val: "'", ignoreCase: false, }, &labeledExpr{ - pos: position{line: 1029, col: 26, offset: 24323}, + pos: position{line: 1026, col: 26, offset: 24248}, label: "s", expr: &zeroOrMoreExpr{ - pos: position{line: 1029, col: 28, offset: 24325}, + pos: position{line: 1026, col: 28, offset: 24250}, expr: &actionExpr{ - pos: position{line: 1029, col: 29, offset: 24326}, + pos: position{line: 1026, col: 29, offset: 24251}, run: (*parser).callonHexString9, expr: &seqExpr{ - pos: position{line: 1029, col: 29, offset: 24326}, + pos: position{line: 1026, col: 29, offset: 24251}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 1029, col: 29, offset: 24326}, + pos: position{line: 1026, col: 29, offset: 24251}, val: "[0-9a-fA-F]", ranges: []rune{'0', '9', 'a', 'f', 'A', 'F'}, ignoreCase: false, inverted: false, }, &charClassMatcher{ - pos: position{line: 1029, col: 40, offset: 24337}, + pos: position{line: 1026, col: 40, offset: 24262}, val: "[0-9a-fA-F]", ranges: []rune{'0', '9', 'a', 'f', 'A', 'F'}, ignoreCase: false, @@ -3889,7 +3850,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1029, col: 78, offset: 24375}, + pos: position{line: 1026, col: 78, offset: 24300}, val: "'", ignoreCase: false, }, @@ -3899,46 +3860,46 @@ var g = &grammar{ }, { name: "NormalString", - pos: position{line: 1038, col: 1, offset: 24558}, + pos: position{line: 1035, col: 1, offset: 24483}, expr: &actionExpr{ - pos: position{line: 1039, col: 4, offset: 24574}, + pos: position{line: 1036, col: 4, offset: 24499}, run: (*parser).callonNormalString1, expr: &seqExpr{ - pos: position{line: 1039, col: 4, offset: 24574}, + pos: position{line: 1036, col: 4, offset: 24499}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1039, col: 4, offset: 24574}, + pos: position{line: 1036, col: 4, offset: 24499}, val: "'", ignoreCase: false, }, &labeledExpr{ - pos: position{line: 1039, col: 8, offset: 24578}, + pos: position{line: 1036, col: 8, offset: 24503}, label: "s", expr: &zeroOrMoreExpr{ - pos: position{line: 1039, col: 10, offset: 24580}, + pos: position{line: 1036, col: 10, offset: 24505}, expr: &actionExpr{ - pos: position{line: 1039, col: 12, offset: 24582}, + pos: position{line: 1036, col: 12, offset: 24507}, run: (*parser).callonNormalString6, expr: &choiceExpr{ - pos: position{line: 1039, col: 14, offset: 24584}, + pos: position{line: 1036, col: 14, offset: 24509}, alternatives: []interface{}{ &charClassMatcher{ - pos: position{line: 1039, col: 14, offset: 24584}, + pos: position{line: 1036, col: 14, offset: 24509}, val: "[^'\\r\\n\\\\]", chars: []rune{'\'', '\r', '\n', '\\'}, ignoreCase: false, inverted: true, }, &seqExpr{ - pos: position{line: 1039, col: 27, offset: 24597}, + pos: position{line: 1036, col: 27, offset: 24522}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1039, col: 27, offset: 24597}, + pos: position{line: 1036, col: 27, offset: 24522}, val: "\\", ignoreCase: false, }, &anyMatcher{ - line: 1039, col: 32, offset: 24602, + line: 1036, col: 32, offset: 24527, }, }, }, @@ -3948,7 +3909,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1039, col: 62, offset: 24632}, + pos: position{line: 1036, col: 62, offset: 24557}, val: "'", ignoreCase: false, }, @@ -3958,22 +3919,22 @@ var g = &grammar{ }, { name: "SelectToken", - pos: position{line: 1064, col: 1, offset: 25205}, + pos: position{line: 1061, col: 1, offset: 25130}, expr: &actionExpr{ - pos: position{line: 1065, col: 4, offset: 25220}, + pos: position{line: 1062, col: 4, offset: 25145}, run: (*parser).callonSelectToken1, expr: &seqExpr{ - pos: position{line: 1065, col: 4, offset: 25220}, + pos: position{line: 1062, col: 4, offset: 25145}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1065, col: 4, offset: 25220}, + pos: position{line: 1062, col: 4, offset: 25145}, val: "select", ignoreCase: true, }, ¬Expr{ - pos: position{line: 1065, col: 14, offset: 25230}, + pos: position{line: 1062, col: 14, offset: 25155}, expr: &ruleRefExpr{ - pos: position{line: 1065, col: 15, offset: 25231}, + pos: position{line: 1062, col: 15, offset: 25156}, name: "NormalIdentifierRest", }, }, @@ -3983,22 +3944,22 @@ var g = &grammar{ }, { name: "FromToken", - pos: position{line: 1068, col: 1, offset: 25276}, + pos: position{line: 1065, col: 1, offset: 25201}, expr: &actionExpr{ - pos: position{line: 1069, col: 4, offset: 25289}, + pos: position{line: 1066, col: 4, offset: 25214}, run: (*parser).callonFromToken1, expr: &seqExpr{ - pos: position{line: 1069, col: 4, offset: 25289}, + pos: position{line: 1066, col: 4, offset: 25214}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1069, col: 4, offset: 25289}, + pos: position{line: 1066, col: 4, offset: 25214}, val: "from", ignoreCase: true, }, ¬Expr{ - pos: position{line: 1069, col: 12, offset: 25297}, + pos: position{line: 1066, col: 12, offset: 25222}, expr: &ruleRefExpr{ - pos: position{line: 1069, col: 13, offset: 25298}, + pos: position{line: 1066, col: 13, offset: 25223}, name: "NormalIdentifierRest", }, }, @@ -4008,22 +3969,22 @@ var g = &grammar{ }, { name: "WhereToken", - pos: position{line: 1072, col: 1, offset: 25343}, + pos: position{line: 1069, col: 1, offset: 25268}, expr: &actionExpr{ - pos: position{line: 1073, col: 4, offset: 25357}, + pos: position{line: 1070, col: 4, offset: 25282}, run: (*parser).callonWhereToken1, expr: &seqExpr{ - pos: position{line: 1073, col: 4, offset: 25357}, + pos: position{line: 1070, col: 4, offset: 25282}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1073, col: 4, offset: 25357}, + pos: position{line: 1070, col: 4, offset: 25282}, val: "where", ignoreCase: true, }, ¬Expr{ - pos: position{line: 1073, col: 13, offset: 25366}, + pos: position{line: 1070, col: 13, offset: 25291}, expr: &ruleRefExpr{ - pos: position{line: 1073, col: 14, offset: 25367}, + pos: position{line: 1070, col: 14, offset: 25292}, name: "NormalIdentifierRest", }, }, @@ -4033,22 +3994,22 @@ var g = &grammar{ }, { name: "OrderToken", - pos: position{line: 1076, col: 1, offset: 25412}, + pos: position{line: 1073, col: 1, offset: 25337}, expr: &actionExpr{ - pos: position{line: 1077, col: 4, offset: 25426}, + pos: position{line: 1074, col: 4, offset: 25351}, run: (*parser).callonOrderToken1, expr: &seqExpr{ - pos: position{line: 1077, col: 4, offset: 25426}, + pos: position{line: 1074, col: 4, offset: 25351}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1077, col: 4, offset: 25426}, + pos: position{line: 1074, col: 4, offset: 25351}, val: "order", ignoreCase: true, }, ¬Expr{ - pos: position{line: 1077, col: 13, offset: 25435}, + pos: position{line: 1074, col: 13, offset: 25360}, expr: &ruleRefExpr{ - pos: position{line: 1077, col: 14, offset: 25436}, + pos: position{line: 1074, col: 14, offset: 25361}, name: "NormalIdentifierRest", }, }, @@ -4058,22 +4019,22 @@ var g = &grammar{ }, { name: "ByToken", - pos: position{line: 1080, col: 1, offset: 25481}, + pos: position{line: 1077, col: 1, offset: 25406}, expr: &actionExpr{ - pos: position{line: 1081, col: 4, offset: 25492}, + pos: position{line: 1078, col: 4, offset: 25417}, run: (*parser).callonByToken1, expr: &seqExpr{ - pos: position{line: 1081, col: 4, offset: 25492}, + pos: position{line: 1078, col: 4, offset: 25417}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1081, col: 4, offset: 25492}, + pos: position{line: 1078, col: 4, offset: 25417}, val: "by", ignoreCase: true, }, ¬Expr{ - pos: position{line: 1081, col: 10, offset: 25498}, + pos: position{line: 1078, col: 10, offset: 25423}, expr: &ruleRefExpr{ - pos: position{line: 1081, col: 11, offset: 25499}, + pos: position{line: 1078, col: 11, offset: 25424}, name: "NormalIdentifierRest", }, }, @@ -4083,22 +4044,22 @@ var g = &grammar{ }, { name: "GroupToken", - pos: position{line: 1084, col: 1, offset: 25544}, + pos: position{line: 1081, col: 1, offset: 25469}, expr: &actionExpr{ - pos: position{line: 1085, col: 4, offset: 25558}, + pos: position{line: 1082, col: 4, offset: 25483}, run: (*parser).callonGroupToken1, expr: &seqExpr{ - pos: position{line: 1085, col: 4, offset: 25558}, + pos: position{line: 1082, col: 4, offset: 25483}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1085, col: 4, offset: 25558}, + pos: position{line: 1082, col: 4, offset: 25483}, val: "group", ignoreCase: true, }, ¬Expr{ - pos: position{line: 1085, col: 13, offset: 25567}, + pos: position{line: 1082, col: 13, offset: 25492}, expr: &ruleRefExpr{ - pos: position{line: 1085, col: 14, offset: 25568}, + pos: position{line: 1082, col: 14, offset: 25493}, name: "NormalIdentifierRest", }, }, @@ -4108,22 +4069,22 @@ var g = &grammar{ }, { name: "LimitToken", - pos: position{line: 1088, col: 1, offset: 25613}, + pos: position{line: 1085, col: 1, offset: 25538}, expr: &actionExpr{ - pos: position{line: 1089, col: 4, offset: 25627}, + pos: position{line: 1086, col: 4, offset: 25552}, run: (*parser).callonLimitToken1, expr: &seqExpr{ - pos: position{line: 1089, col: 4, offset: 25627}, + pos: position{line: 1086, col: 4, offset: 25552}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1089, col: 4, offset: 25627}, + pos: position{line: 1086, col: 4, offset: 25552}, val: "limit", ignoreCase: true, }, ¬Expr{ - pos: position{line: 1089, col: 13, offset: 25636}, + pos: position{line: 1086, col: 13, offset: 25561}, expr: &ruleRefExpr{ - pos: position{line: 1089, col: 14, offset: 25637}, + pos: position{line: 1086, col: 14, offset: 25562}, name: "NormalIdentifierRest", }, }, @@ -4133,22 +4094,22 @@ var g = &grammar{ }, { name: "OffsetToken", - pos: position{line: 1092, col: 1, offset: 25682}, + pos: position{line: 1089, col: 1, offset: 25607}, expr: &actionExpr{ - pos: position{line: 1093, col: 4, offset: 25697}, + pos: position{line: 1090, col: 4, offset: 25622}, run: (*parser).callonOffsetToken1, expr: &seqExpr{ - pos: position{line: 1093, col: 4, offset: 25697}, + pos: position{line: 1090, col: 4, offset: 25622}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1093, col: 4, offset: 25697}, + pos: position{line: 1090, col: 4, offset: 25622}, val: "offset", ignoreCase: true, }, ¬Expr{ - pos: position{line: 1093, col: 14, offset: 25707}, + pos: position{line: 1090, col: 14, offset: 25632}, expr: &ruleRefExpr{ - pos: position{line: 1093, col: 15, offset: 25708}, + pos: position{line: 1090, col: 15, offset: 25633}, name: "NormalIdentifierRest", }, }, @@ -4158,22 +4119,22 @@ var g = &grammar{ }, { name: "UpdateToken", - pos: position{line: 1096, col: 1, offset: 25753}, + pos: position{line: 1093, col: 1, offset: 25678}, expr: &actionExpr{ - pos: position{line: 1097, col: 4, offset: 25768}, + pos: position{line: 1094, col: 4, offset: 25693}, run: (*parser).callonUpdateToken1, expr: &seqExpr{ - pos: position{line: 1097, col: 4, offset: 25768}, + pos: position{line: 1094, col: 4, offset: 25693}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1097, col: 4, offset: 25768}, + pos: position{line: 1094, col: 4, offset: 25693}, val: "update", ignoreCase: true, }, ¬Expr{ - pos: position{line: 1097, col: 14, offset: 25778}, + pos: position{line: 1094, col: 14, offset: 25703}, expr: &ruleRefExpr{ - pos: position{line: 1097, col: 15, offset: 25779}, + pos: position{line: 1094, col: 15, offset: 25704}, name: "NormalIdentifierRest", }, }, @@ -4183,22 +4144,22 @@ var g = &grammar{ }, { name: "SetToken", - pos: position{line: 1100, col: 1, offset: 25824}, + pos: position{line: 1097, col: 1, offset: 25749}, expr: &actionExpr{ - pos: position{line: 1101, col: 4, offset: 25836}, + pos: position{line: 1098, col: 4, offset: 25761}, run: (*parser).callonSetToken1, expr: &seqExpr{ - pos: position{line: 1101, col: 4, offset: 25836}, + pos: position{line: 1098, col: 4, offset: 25761}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1101, col: 4, offset: 25836}, + pos: position{line: 1098, col: 4, offset: 25761}, val: "set", ignoreCase: true, }, ¬Expr{ - pos: position{line: 1101, col: 11, offset: 25843}, + pos: position{line: 1098, col: 11, offset: 25768}, expr: &ruleRefExpr{ - pos: position{line: 1101, col: 12, offset: 25844}, + pos: position{line: 1098, col: 12, offset: 25769}, name: "NormalIdentifierRest", }, }, @@ -4208,22 +4169,22 @@ var g = &grammar{ }, { name: "DeleteToken", - pos: position{line: 1104, col: 1, offset: 25889}, + pos: position{line: 1101, col: 1, offset: 25814}, expr: &actionExpr{ - pos: position{line: 1105, col: 4, offset: 25904}, + pos: position{line: 1102, col: 4, offset: 25829}, run: (*parser).callonDeleteToken1, expr: &seqExpr{ - pos: position{line: 1105, col: 4, offset: 25904}, + pos: position{line: 1102, col: 4, offset: 25829}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1105, col: 4, offset: 25904}, + pos: position{line: 1102, col: 4, offset: 25829}, val: "delete", ignoreCase: true, }, ¬Expr{ - pos: position{line: 1105, col: 14, offset: 25914}, + pos: position{line: 1102, col: 14, offset: 25839}, expr: &ruleRefExpr{ - pos: position{line: 1105, col: 15, offset: 25915}, + pos: position{line: 1102, col: 15, offset: 25840}, name: "NormalIdentifierRest", }, }, @@ -4233,22 +4194,22 @@ var g = &grammar{ }, { name: "InsertToken", - pos: position{line: 1108, col: 1, offset: 25960}, + pos: position{line: 1105, col: 1, offset: 25885}, expr: &actionExpr{ - pos: position{line: 1109, col: 4, offset: 25975}, + pos: position{line: 1106, col: 4, offset: 25900}, run: (*parser).callonInsertToken1, expr: &seqExpr{ - pos: position{line: 1109, col: 4, offset: 25975}, + pos: position{line: 1106, col: 4, offset: 25900}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1109, col: 4, offset: 25975}, + pos: position{line: 1106, col: 4, offset: 25900}, val: "insert", ignoreCase: true, }, ¬Expr{ - pos: position{line: 1109, col: 14, offset: 25985}, + pos: position{line: 1106, col: 14, offset: 25910}, expr: &ruleRefExpr{ - pos: position{line: 1109, col: 15, offset: 25986}, + pos: position{line: 1106, col: 15, offset: 25911}, name: "NormalIdentifierRest", }, }, @@ -4258,22 +4219,22 @@ var g = &grammar{ }, { name: "IntoToken", - pos: position{line: 1112, col: 1, offset: 26031}, + pos: position{line: 1109, col: 1, offset: 25956}, expr: &actionExpr{ - pos: position{line: 1113, col: 4, offset: 26044}, + pos: position{line: 1110, col: 4, offset: 25969}, run: (*parser).callonIntoToken1, expr: &seqExpr{ - pos: position{line: 1113, col: 4, offset: 26044}, + pos: position{line: 1110, col: 4, offset: 25969}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1113, col: 4, offset: 26044}, + pos: position{line: 1110, col: 4, offset: 25969}, val: "into", ignoreCase: true, }, ¬Expr{ - pos: position{line: 1113, col: 12, offset: 26052}, + pos: position{line: 1110, col: 12, offset: 25977}, expr: &ruleRefExpr{ - pos: position{line: 1113, col: 13, offset: 26053}, + pos: position{line: 1110, col: 13, offset: 25978}, name: "NormalIdentifierRest", }, }, @@ -4283,22 +4244,22 @@ var g = &grammar{ }, { name: "ValuesToken", - pos: position{line: 1116, col: 1, offset: 26098}, + pos: position{line: 1113, col: 1, offset: 26023}, expr: &actionExpr{ - pos: position{line: 1117, col: 4, offset: 26113}, + pos: position{line: 1114, col: 4, offset: 26038}, run: (*parser).callonValuesToken1, expr: &seqExpr{ - pos: position{line: 1117, col: 4, offset: 26113}, + pos: position{line: 1114, col: 4, offset: 26038}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1117, col: 4, offset: 26113}, + pos: position{line: 1114, col: 4, offset: 26038}, val: "values", ignoreCase: true, }, ¬Expr{ - pos: position{line: 1117, col: 14, offset: 26123}, + pos: position{line: 1114, col: 14, offset: 26048}, expr: &ruleRefExpr{ - pos: position{line: 1117, col: 15, offset: 26124}, + pos: position{line: 1114, col: 15, offset: 26049}, name: "NormalIdentifierRest", }, }, @@ -4308,22 +4269,22 @@ var g = &grammar{ }, { name: "CreateToken", - pos: position{line: 1120, col: 1, offset: 26169}, + pos: position{line: 1117, col: 1, offset: 26094}, expr: &actionExpr{ - pos: position{line: 1121, col: 4, offset: 26184}, + pos: position{line: 1118, col: 4, offset: 26109}, run: (*parser).callonCreateToken1, expr: &seqExpr{ - pos: position{line: 1121, col: 4, offset: 26184}, + pos: position{line: 1118, col: 4, offset: 26109}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1121, col: 4, offset: 26184}, + pos: position{line: 1118, col: 4, offset: 26109}, val: "create", ignoreCase: true, }, ¬Expr{ - pos: position{line: 1121, col: 14, offset: 26194}, + pos: position{line: 1118, col: 14, offset: 26119}, expr: &ruleRefExpr{ - pos: position{line: 1121, col: 15, offset: 26195}, + pos: position{line: 1118, col: 15, offset: 26120}, name: "NormalIdentifierRest", }, }, @@ -4333,22 +4294,22 @@ var g = &grammar{ }, { name: "TableToken", - pos: position{line: 1124, col: 1, offset: 26240}, + pos: position{line: 1121, col: 1, offset: 26165}, expr: &actionExpr{ - pos: position{line: 1125, col: 4, offset: 26254}, + pos: position{line: 1122, col: 4, offset: 26179}, run: (*parser).callonTableToken1, expr: &seqExpr{ - pos: position{line: 1125, col: 4, offset: 26254}, + pos: position{line: 1122, col: 4, offset: 26179}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1125, col: 4, offset: 26254}, + pos: position{line: 1122, col: 4, offset: 26179}, val: "table", ignoreCase: true, }, ¬Expr{ - pos: position{line: 1125, col: 13, offset: 26263}, + pos: position{line: 1122, col: 13, offset: 26188}, expr: &ruleRefExpr{ - pos: position{line: 1125, col: 14, offset: 26264}, + pos: position{line: 1122, col: 14, offset: 26189}, name: "NormalIdentifierRest", }, }, @@ -4358,22 +4319,22 @@ var g = &grammar{ }, { name: "IndexToken", - pos: position{line: 1128, col: 1, offset: 26309}, + pos: position{line: 1125, col: 1, offset: 26234}, expr: &actionExpr{ - pos: position{line: 1129, col: 4, offset: 26323}, + pos: position{line: 1126, col: 4, offset: 26248}, run: (*parser).callonIndexToken1, expr: &seqExpr{ - pos: position{line: 1129, col: 4, offset: 26323}, + pos: position{line: 1126, col: 4, offset: 26248}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1129, col: 4, offset: 26323}, + pos: position{line: 1126, col: 4, offset: 26248}, val: "index", ignoreCase: true, }, ¬Expr{ - pos: position{line: 1129, col: 13, offset: 26332}, + pos: position{line: 1126, col: 13, offset: 26257}, expr: &ruleRefExpr{ - pos: position{line: 1129, col: 14, offset: 26333}, + pos: position{line: 1126, col: 14, offset: 26258}, name: "NormalIdentifierRest", }, }, @@ -4383,22 +4344,22 @@ var g = &grammar{ }, { name: "UniqueToken", - pos: position{line: 1132, col: 1, offset: 26378}, + pos: position{line: 1129, col: 1, offset: 26303}, expr: &actionExpr{ - pos: position{line: 1133, col: 4, offset: 26393}, + pos: position{line: 1130, col: 4, offset: 26318}, run: (*parser).callonUniqueToken1, expr: &seqExpr{ - pos: position{line: 1133, col: 4, offset: 26393}, + pos: position{line: 1130, col: 4, offset: 26318}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1133, col: 4, offset: 26393}, + pos: position{line: 1130, col: 4, offset: 26318}, val: "unique", ignoreCase: true, }, ¬Expr{ - pos: position{line: 1133, col: 14, offset: 26403}, + pos: position{line: 1130, col: 14, offset: 26328}, expr: &ruleRefExpr{ - pos: position{line: 1133, col: 15, offset: 26404}, + pos: position{line: 1130, col: 15, offset: 26329}, name: "NormalIdentifierRest", }, }, @@ -4408,22 +4369,22 @@ var g = &grammar{ }, { name: "DefaultToken", - pos: position{line: 1136, col: 1, offset: 26449}, + pos: position{line: 1133, col: 1, offset: 26374}, expr: &actionExpr{ - pos: position{line: 1137, col: 4, offset: 26465}, + pos: position{line: 1134, col: 4, offset: 26390}, run: (*parser).callonDefaultToken1, expr: &seqExpr{ - pos: position{line: 1137, col: 4, offset: 26465}, + pos: position{line: 1134, col: 4, offset: 26390}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1137, col: 4, offset: 26465}, + pos: position{line: 1134, col: 4, offset: 26390}, val: "default", ignoreCase: true, }, ¬Expr{ - pos: position{line: 1137, col: 15, offset: 26476}, + pos: position{line: 1134, col: 15, offset: 26401}, expr: &ruleRefExpr{ - pos: position{line: 1137, col: 16, offset: 26477}, + pos: position{line: 1134, col: 16, offset: 26402}, name: "NormalIdentifierRest", }, }, @@ -4433,22 +4394,22 @@ var g = &grammar{ }, { name: "PrimaryToken", - pos: position{line: 1140, col: 1, offset: 26522}, + pos: position{line: 1137, col: 1, offset: 26447}, expr: &actionExpr{ - pos: position{line: 1141, col: 4, offset: 26538}, + pos: position{line: 1138, col: 4, offset: 26463}, run: (*parser).callonPrimaryToken1, expr: &seqExpr{ - pos: position{line: 1141, col: 4, offset: 26538}, + pos: position{line: 1138, col: 4, offset: 26463}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1141, col: 4, offset: 26538}, + pos: position{line: 1138, col: 4, offset: 26463}, val: "primary", ignoreCase: true, }, ¬Expr{ - pos: position{line: 1141, col: 15, offset: 26549}, + pos: position{line: 1138, col: 15, offset: 26474}, expr: &ruleRefExpr{ - pos: position{line: 1141, col: 16, offset: 26550}, + pos: position{line: 1138, col: 16, offset: 26475}, name: "NormalIdentifierRest", }, }, @@ -4458,22 +4419,22 @@ var g = &grammar{ }, { name: "KeyToken", - pos: position{line: 1144, col: 1, offset: 26595}, + pos: position{line: 1141, col: 1, offset: 26520}, expr: &actionExpr{ - pos: position{line: 1145, col: 4, offset: 26607}, + pos: position{line: 1142, col: 4, offset: 26532}, run: (*parser).callonKeyToken1, expr: &seqExpr{ - pos: position{line: 1145, col: 4, offset: 26607}, + pos: position{line: 1142, col: 4, offset: 26532}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1145, col: 4, offset: 26607}, + pos: position{line: 1142, col: 4, offset: 26532}, val: "key", ignoreCase: true, }, ¬Expr{ - pos: position{line: 1145, col: 11, offset: 26614}, + pos: position{line: 1142, col: 11, offset: 26539}, expr: &ruleRefExpr{ - pos: position{line: 1145, col: 12, offset: 26615}, + pos: position{line: 1142, col: 12, offset: 26540}, name: "NormalIdentifierRest", }, }, @@ -4483,22 +4444,22 @@ var g = &grammar{ }, { name: "ReferencesToken", - pos: position{line: 1148, col: 1, offset: 26660}, + pos: position{line: 1145, col: 1, offset: 26585}, expr: &actionExpr{ - pos: position{line: 1149, col: 4, offset: 26679}, + pos: position{line: 1146, col: 4, offset: 26604}, run: (*parser).callonReferencesToken1, expr: &seqExpr{ - pos: position{line: 1149, col: 4, offset: 26679}, + pos: position{line: 1146, col: 4, offset: 26604}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1149, col: 4, offset: 26679}, + pos: position{line: 1146, col: 4, offset: 26604}, val: "references", ignoreCase: true, }, ¬Expr{ - pos: position{line: 1149, col: 18, offset: 26693}, + pos: position{line: 1146, col: 18, offset: 26618}, expr: &ruleRefExpr{ - pos: position{line: 1149, col: 19, offset: 26694}, + pos: position{line: 1146, col: 19, offset: 26619}, name: "NormalIdentifierRest", }, }, @@ -4508,22 +4469,22 @@ var g = &grammar{ }, { name: "AutoincrementToken", - pos: position{line: 1152, col: 1, offset: 26739}, + pos: position{line: 1149, col: 1, offset: 26664}, expr: &actionExpr{ - pos: position{line: 1153, col: 4, offset: 26761}, + pos: position{line: 1150, col: 4, offset: 26686}, run: (*parser).callonAutoincrementToken1, expr: &seqExpr{ - pos: position{line: 1153, col: 4, offset: 26761}, + pos: position{line: 1150, col: 4, offset: 26686}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1153, col: 4, offset: 26761}, + pos: position{line: 1150, col: 4, offset: 26686}, val: "autoincrement", ignoreCase: true, }, ¬Expr{ - pos: position{line: 1153, col: 21, offset: 26778}, + pos: position{line: 1150, col: 21, offset: 26703}, expr: &ruleRefExpr{ - pos: position{line: 1153, col: 22, offset: 26779}, + pos: position{line: 1150, col: 22, offset: 26704}, name: "NormalIdentifierRest", }, }, @@ -4533,22 +4494,22 @@ var g = &grammar{ }, { name: "OnToken", - pos: position{line: 1156, col: 1, offset: 26824}, + pos: position{line: 1153, col: 1, offset: 26749}, expr: &actionExpr{ - pos: position{line: 1157, col: 4, offset: 26835}, + pos: position{line: 1154, col: 4, offset: 26760}, run: (*parser).callonOnToken1, expr: &seqExpr{ - pos: position{line: 1157, col: 4, offset: 26835}, + pos: position{line: 1154, col: 4, offset: 26760}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1157, col: 4, offset: 26835}, + pos: position{line: 1154, col: 4, offset: 26760}, val: "on", ignoreCase: true, }, ¬Expr{ - pos: position{line: 1157, col: 10, offset: 26841}, + pos: position{line: 1154, col: 10, offset: 26766}, expr: &ruleRefExpr{ - pos: position{line: 1157, col: 11, offset: 26842}, + pos: position{line: 1154, col: 11, offset: 26767}, name: "NormalIdentifierRest", }, }, @@ -4558,22 +4519,22 @@ var g = &grammar{ }, { name: "TrueToken", - pos: position{line: 1160, col: 1, offset: 26887}, + pos: position{line: 1157, col: 1, offset: 26812}, expr: &actionExpr{ - pos: position{line: 1161, col: 4, offset: 26900}, + pos: position{line: 1158, col: 4, offset: 26825}, run: (*parser).callonTrueToken1, expr: &seqExpr{ - pos: position{line: 1161, col: 4, offset: 26900}, + pos: position{line: 1158, col: 4, offset: 26825}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1161, col: 4, offset: 26900}, + pos: position{line: 1158, col: 4, offset: 26825}, val: "true", ignoreCase: true, }, ¬Expr{ - pos: position{line: 1161, col: 12, offset: 26908}, + pos: position{line: 1158, col: 12, offset: 26833}, expr: &ruleRefExpr{ - pos: position{line: 1161, col: 13, offset: 26909}, + pos: position{line: 1158, col: 13, offset: 26834}, name: "NormalIdentifierRest", }, }, @@ -4583,22 +4544,22 @@ var g = &grammar{ }, { name: "FalseToken", - pos: position{line: 1164, col: 1, offset: 26954}, + pos: position{line: 1161, col: 1, offset: 26879}, expr: &actionExpr{ - pos: position{line: 1165, col: 4, offset: 26968}, + pos: position{line: 1162, col: 4, offset: 26893}, run: (*parser).callonFalseToken1, expr: &seqExpr{ - pos: position{line: 1165, col: 4, offset: 26968}, + pos: position{line: 1162, col: 4, offset: 26893}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1165, col: 4, offset: 26968}, + pos: position{line: 1162, col: 4, offset: 26893}, val: "false", ignoreCase: true, }, ¬Expr{ - pos: position{line: 1165, col: 13, offset: 26977}, + pos: position{line: 1162, col: 13, offset: 26902}, expr: &ruleRefExpr{ - pos: position{line: 1165, col: 14, offset: 26978}, + pos: position{line: 1162, col: 14, offset: 26903}, name: "NormalIdentifierRest", }, }, @@ -4608,22 +4569,22 @@ var g = &grammar{ }, { name: "NullToken", - pos: position{line: 1168, col: 1, offset: 27023}, + pos: position{line: 1165, col: 1, offset: 26948}, expr: &actionExpr{ - pos: position{line: 1169, col: 4, offset: 27036}, + pos: position{line: 1166, col: 4, offset: 26961}, run: (*parser).callonNullToken1, expr: &seqExpr{ - pos: position{line: 1169, col: 4, offset: 27036}, + pos: position{line: 1166, col: 4, offset: 26961}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1169, col: 4, offset: 27036}, + pos: position{line: 1166, col: 4, offset: 26961}, val: "null", ignoreCase: true, }, ¬Expr{ - pos: position{line: 1169, col: 12, offset: 27044}, + pos: position{line: 1166, col: 12, offset: 26969}, expr: &ruleRefExpr{ - pos: position{line: 1169, col: 13, offset: 27045}, + pos: position{line: 1166, col: 13, offset: 26970}, name: "NormalIdentifierRest", }, }, @@ -4633,22 +4594,22 @@ var g = &grammar{ }, { name: "IsToken", - pos: position{line: 1172, col: 1, offset: 27090}, + pos: position{line: 1169, col: 1, offset: 27015}, expr: &actionExpr{ - pos: position{line: 1173, col: 4, offset: 27101}, + pos: position{line: 1170, col: 4, offset: 27026}, run: (*parser).callonIsToken1, expr: &seqExpr{ - pos: position{line: 1173, col: 4, offset: 27101}, + pos: position{line: 1170, col: 4, offset: 27026}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1173, col: 4, offset: 27101}, + pos: position{line: 1170, col: 4, offset: 27026}, val: "is", ignoreCase: true, }, ¬Expr{ - pos: position{line: 1173, col: 10, offset: 27107}, + pos: position{line: 1170, col: 10, offset: 27032}, expr: &ruleRefExpr{ - pos: position{line: 1173, col: 11, offset: 27108}, + pos: position{line: 1170, col: 11, offset: 27033}, name: "NormalIdentifierRest", }, }, @@ -4658,22 +4619,22 @@ var g = &grammar{ }, { name: "NullsToken", - pos: position{line: 1176, col: 1, offset: 27153}, + pos: position{line: 1173, col: 1, offset: 27078}, expr: &actionExpr{ - pos: position{line: 1177, col: 4, offset: 27167}, + pos: position{line: 1174, col: 4, offset: 27092}, run: (*parser).callonNullsToken1, expr: &seqExpr{ - pos: position{line: 1177, col: 4, offset: 27167}, + pos: position{line: 1174, col: 4, offset: 27092}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1177, col: 4, offset: 27167}, + pos: position{line: 1174, col: 4, offset: 27092}, val: "nulls", ignoreCase: true, }, ¬Expr{ - pos: position{line: 1177, col: 13, offset: 27176}, + pos: position{line: 1174, col: 13, offset: 27101}, expr: &ruleRefExpr{ - pos: position{line: 1177, col: 14, offset: 27177}, + pos: position{line: 1174, col: 14, offset: 27102}, name: "NormalIdentifierRest", }, }, @@ -4683,22 +4644,22 @@ var g = &grammar{ }, { name: "LastToken", - pos: position{line: 1180, col: 1, offset: 27222}, + pos: position{line: 1177, col: 1, offset: 27147}, expr: &actionExpr{ - pos: position{line: 1181, col: 4, offset: 27235}, + pos: position{line: 1178, col: 4, offset: 27160}, run: (*parser).callonLastToken1, expr: &seqExpr{ - pos: position{line: 1181, col: 4, offset: 27235}, + pos: position{line: 1178, col: 4, offset: 27160}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1181, col: 4, offset: 27235}, + pos: position{line: 1178, col: 4, offset: 27160}, val: "last", ignoreCase: true, }, ¬Expr{ - pos: position{line: 1181, col: 12, offset: 27243}, + pos: position{line: 1178, col: 12, offset: 27168}, expr: &ruleRefExpr{ - pos: position{line: 1181, col: 13, offset: 27244}, + pos: position{line: 1178, col: 13, offset: 27169}, name: "NormalIdentifierRest", }, }, @@ -4708,22 +4669,22 @@ var g = &grammar{ }, { name: "FirstToken", - pos: position{line: 1184, col: 1, offset: 27289}, + pos: position{line: 1181, col: 1, offset: 27214}, expr: &actionExpr{ - pos: position{line: 1185, col: 4, offset: 27303}, + pos: position{line: 1182, col: 4, offset: 27228}, run: (*parser).callonFirstToken1, expr: &seqExpr{ - pos: position{line: 1185, col: 4, offset: 27303}, + pos: position{line: 1182, col: 4, offset: 27228}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1185, col: 4, offset: 27303}, + pos: position{line: 1182, col: 4, offset: 27228}, val: "first", ignoreCase: true, }, ¬Expr{ - pos: position{line: 1185, col: 13, offset: 27312}, + pos: position{line: 1182, col: 13, offset: 27237}, expr: &ruleRefExpr{ - pos: position{line: 1185, col: 14, offset: 27313}, + pos: position{line: 1182, col: 14, offset: 27238}, name: "NormalIdentifierRest", }, }, @@ -4733,22 +4694,22 @@ var g = &grammar{ }, { name: "AndToken", - pos: position{line: 1188, col: 1, offset: 27358}, + pos: position{line: 1185, col: 1, offset: 27283}, expr: &actionExpr{ - pos: position{line: 1189, col: 4, offset: 27370}, + pos: position{line: 1186, col: 4, offset: 27295}, run: (*parser).callonAndToken1, expr: &seqExpr{ - pos: position{line: 1189, col: 4, offset: 27370}, + pos: position{line: 1186, col: 4, offset: 27295}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1189, col: 4, offset: 27370}, + pos: position{line: 1186, col: 4, offset: 27295}, val: "and", ignoreCase: true, }, ¬Expr{ - pos: position{line: 1189, col: 11, offset: 27377}, + pos: position{line: 1186, col: 11, offset: 27302}, expr: &ruleRefExpr{ - pos: position{line: 1189, col: 12, offset: 27378}, + pos: position{line: 1186, col: 12, offset: 27303}, name: "NormalIdentifierRest", }, }, @@ -4758,22 +4719,22 @@ var g = &grammar{ }, { name: "OrToken", - pos: position{line: 1192, col: 1, offset: 27423}, + pos: position{line: 1189, col: 1, offset: 27348}, expr: &actionExpr{ - pos: position{line: 1193, col: 4, offset: 27434}, + pos: position{line: 1190, col: 4, offset: 27359}, run: (*parser).callonOrToken1, expr: &seqExpr{ - pos: position{line: 1193, col: 4, offset: 27434}, + pos: position{line: 1190, col: 4, offset: 27359}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1193, col: 4, offset: 27434}, + pos: position{line: 1190, col: 4, offset: 27359}, val: "or", ignoreCase: true, }, ¬Expr{ - pos: position{line: 1193, col: 10, offset: 27440}, + pos: position{line: 1190, col: 10, offset: 27365}, expr: &ruleRefExpr{ - pos: position{line: 1193, col: 11, offset: 27441}, + pos: position{line: 1190, col: 11, offset: 27366}, name: "NormalIdentifierRest", }, }, @@ -4783,22 +4744,22 @@ var g = &grammar{ }, { name: "NotToken", - pos: position{line: 1196, col: 1, offset: 27486}, + pos: position{line: 1193, col: 1, offset: 27411}, expr: &actionExpr{ - pos: position{line: 1197, col: 4, offset: 27498}, + pos: position{line: 1194, col: 4, offset: 27423}, run: (*parser).callonNotToken1, expr: &seqExpr{ - pos: position{line: 1197, col: 4, offset: 27498}, + pos: position{line: 1194, col: 4, offset: 27423}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1197, col: 4, offset: 27498}, + pos: position{line: 1194, col: 4, offset: 27423}, val: "not", ignoreCase: true, }, ¬Expr{ - pos: position{line: 1197, col: 11, offset: 27505}, + pos: position{line: 1194, col: 11, offset: 27430}, expr: &ruleRefExpr{ - pos: position{line: 1197, col: 12, offset: 27506}, + pos: position{line: 1194, col: 12, offset: 27431}, name: "NormalIdentifierRest", }, }, @@ -4808,22 +4769,22 @@ var g = &grammar{ }, { name: "InToken", - pos: position{line: 1200, col: 1, offset: 27551}, + pos: position{line: 1197, col: 1, offset: 27476}, expr: &actionExpr{ - pos: position{line: 1201, col: 4, offset: 27562}, + pos: position{line: 1198, col: 4, offset: 27487}, run: (*parser).callonInToken1, expr: &seqExpr{ - pos: position{line: 1201, col: 4, offset: 27562}, + pos: position{line: 1198, col: 4, offset: 27487}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1201, col: 4, offset: 27562}, + pos: position{line: 1198, col: 4, offset: 27487}, val: "in", ignoreCase: true, }, ¬Expr{ - pos: position{line: 1201, col: 10, offset: 27568}, + pos: position{line: 1198, col: 10, offset: 27493}, expr: &ruleRefExpr{ - pos: position{line: 1201, col: 11, offset: 27569}, + pos: position{line: 1198, col: 11, offset: 27494}, name: "NormalIdentifierRest", }, }, @@ -4833,22 +4794,22 @@ var g = &grammar{ }, { name: "LikeToken", - pos: position{line: 1204, col: 1, offset: 27614}, + pos: position{line: 1201, col: 1, offset: 27539}, expr: &actionExpr{ - pos: position{line: 1205, col: 4, offset: 27627}, + pos: position{line: 1202, col: 4, offset: 27552}, run: (*parser).callonLikeToken1, expr: &seqExpr{ - pos: position{line: 1205, col: 4, offset: 27627}, + pos: position{line: 1202, col: 4, offset: 27552}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1205, col: 4, offset: 27627}, + pos: position{line: 1202, col: 4, offset: 27552}, val: "like", ignoreCase: true, }, ¬Expr{ - pos: position{line: 1205, col: 12, offset: 27635}, + pos: position{line: 1202, col: 12, offset: 27560}, expr: &ruleRefExpr{ - pos: position{line: 1205, col: 13, offset: 27636}, + pos: position{line: 1202, col: 13, offset: 27561}, name: "NormalIdentifierRest", }, }, @@ -4858,22 +4819,22 @@ var g = &grammar{ }, { name: "EscapeToken", - pos: position{line: 1208, col: 1, offset: 27681}, + pos: position{line: 1205, col: 1, offset: 27606}, expr: &actionExpr{ - pos: position{line: 1209, col: 4, offset: 27696}, + pos: position{line: 1206, col: 4, offset: 27621}, run: (*parser).callonEscapeToken1, expr: &seqExpr{ - pos: position{line: 1209, col: 4, offset: 27696}, + pos: position{line: 1206, col: 4, offset: 27621}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1209, col: 4, offset: 27696}, + pos: position{line: 1206, col: 4, offset: 27621}, val: "escape", ignoreCase: true, }, ¬Expr{ - pos: position{line: 1209, col: 14, offset: 27706}, + pos: position{line: 1206, col: 14, offset: 27631}, expr: &ruleRefExpr{ - pos: position{line: 1209, col: 15, offset: 27707}, + pos: position{line: 1206, col: 15, offset: 27632}, name: "NormalIdentifierRest", }, }, @@ -4883,22 +4844,22 @@ var g = &grammar{ }, { name: "AscToken", - pos: position{line: 1212, col: 1, offset: 27752}, + pos: position{line: 1209, col: 1, offset: 27677}, expr: &actionExpr{ - pos: position{line: 1213, col: 4, offset: 27764}, + pos: position{line: 1210, col: 4, offset: 27689}, run: (*parser).callonAscToken1, expr: &seqExpr{ - pos: position{line: 1213, col: 4, offset: 27764}, + pos: position{line: 1210, col: 4, offset: 27689}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1213, col: 4, offset: 27764}, + pos: position{line: 1210, col: 4, offset: 27689}, val: "asc", ignoreCase: true, }, ¬Expr{ - pos: position{line: 1213, col: 11, offset: 27771}, + pos: position{line: 1210, col: 11, offset: 27696}, expr: &ruleRefExpr{ - pos: position{line: 1213, col: 12, offset: 27772}, + pos: position{line: 1210, col: 12, offset: 27697}, name: "NormalIdentifierRest", }, }, @@ -4908,22 +4869,22 @@ var g = &grammar{ }, { name: "DescToken", - pos: position{line: 1216, col: 1, offset: 27817}, + pos: position{line: 1213, col: 1, offset: 27742}, expr: &actionExpr{ - pos: position{line: 1217, col: 4, offset: 27830}, + pos: position{line: 1214, col: 4, offset: 27755}, run: (*parser).callonDescToken1, expr: &seqExpr{ - pos: position{line: 1217, col: 4, offset: 27830}, + pos: position{line: 1214, col: 4, offset: 27755}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1217, col: 4, offset: 27830}, + pos: position{line: 1214, col: 4, offset: 27755}, val: "desc", ignoreCase: true, }, ¬Expr{ - pos: position{line: 1217, col: 12, offset: 27838}, + pos: position{line: 1214, col: 12, offset: 27763}, expr: &ruleRefExpr{ - pos: position{line: 1217, col: 13, offset: 27839}, + pos: position{line: 1214, col: 13, offset: 27764}, name: "NormalIdentifierRest", }, }, @@ -4933,22 +4894,22 @@ var g = &grammar{ }, { name: "CastToken", - pos: position{line: 1220, col: 1, offset: 27884}, + pos: position{line: 1217, col: 1, offset: 27809}, expr: &actionExpr{ - pos: position{line: 1221, col: 4, offset: 27897}, + pos: position{line: 1218, col: 4, offset: 27822}, run: (*parser).callonCastToken1, expr: &seqExpr{ - pos: position{line: 1221, col: 4, offset: 27897}, + pos: position{line: 1218, col: 4, offset: 27822}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1221, col: 4, offset: 27897}, + pos: position{line: 1218, col: 4, offset: 27822}, val: "cast", ignoreCase: true, }, ¬Expr{ - pos: position{line: 1221, col: 12, offset: 27905}, + pos: position{line: 1218, col: 12, offset: 27830}, expr: &ruleRefExpr{ - pos: position{line: 1221, col: 13, offset: 27906}, + pos: position{line: 1218, col: 13, offset: 27831}, name: "NormalIdentifierRest", }, }, @@ -4958,22 +4919,22 @@ var g = &grammar{ }, { name: "AsToken", - pos: position{line: 1224, col: 1, offset: 27951}, + pos: position{line: 1221, col: 1, offset: 27876}, expr: &actionExpr{ - pos: position{line: 1225, col: 4, offset: 27962}, + pos: position{line: 1222, col: 4, offset: 27887}, run: (*parser).callonAsToken1, expr: &seqExpr{ - pos: position{line: 1225, col: 4, offset: 27962}, + pos: position{line: 1222, col: 4, offset: 27887}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1225, col: 4, offset: 27962}, + pos: position{line: 1222, col: 4, offset: 27887}, val: "as", ignoreCase: true, }, ¬Expr{ - pos: position{line: 1225, col: 10, offset: 27968}, + pos: position{line: 1222, col: 10, offset: 27893}, expr: &ruleRefExpr{ - pos: position{line: 1225, col: 11, offset: 27969}, + pos: position{line: 1222, col: 11, offset: 27894}, name: "NormalIdentifierRest", }, }, @@ -4983,34 +4944,34 @@ var g = &grammar{ }, { name: "SeparatorToken", - pos: position{line: 1228, col: 1, offset: 28014}, + pos: position{line: 1225, col: 1, offset: 27939}, expr: &litMatcher{ - pos: position{line: 1229, col: 4, offset: 28032}, + pos: position{line: 1226, col: 4, offset: 27957}, val: ",", ignoreCase: false, }, }, { name: "AnyToken", - pos: position{line: 1231, col: 1, offset: 28037}, + pos: position{line: 1228, col: 1, offset: 27962}, expr: &litMatcher{ - pos: position{line: 1232, col: 4, offset: 28049}, + pos: position{line: 1229, col: 4, offset: 27974}, val: "*", ignoreCase: false, }, }, { name: "Identifier", - pos: position{line: 1235, col: 1, offset: 28072}, + pos: position{line: 1232, col: 1, offset: 27997}, expr: &choiceExpr{ - pos: position{line: 1236, col: 4, offset: 28086}, + pos: position{line: 1233, col: 4, offset: 28011}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 1236, col: 4, offset: 28086}, + pos: position{line: 1233, col: 4, offset: 28011}, name: "NormalIdentifier", }, &ruleRefExpr{ - pos: position{line: 1237, col: 4, offset: 28106}, + pos: position{line: 1234, col: 4, offset: 28031}, name: "StringIdentifier", }, }, @@ -5018,21 +4979,21 @@ var g = &grammar{ }, { name: "NormalIdentifier", - pos: position{line: 1239, col: 1, offset: 28124}, + pos: position{line: 1236, col: 1, offset: 28049}, expr: &actionExpr{ - pos: position{line: 1240, col: 4, offset: 28144}, + pos: position{line: 1237, col: 4, offset: 28069}, run: (*parser).callonNormalIdentifier1, expr: &seqExpr{ - pos: position{line: 1240, col: 4, offset: 28144}, + pos: position{line: 1237, col: 4, offset: 28069}, exprs: []interface{}{ &ruleRefExpr{ - pos: position{line: 1240, col: 4, offset: 28144}, + pos: position{line: 1237, col: 4, offset: 28069}, name: "NormalIdentifierStart", }, &zeroOrMoreExpr{ - pos: position{line: 1240, col: 26, offset: 28166}, + pos: position{line: 1237, col: 26, offset: 28091}, expr: &ruleRefExpr{ - pos: position{line: 1240, col: 26, offset: 28166}, + pos: position{line: 1237, col: 26, offset: 28091}, name: "NormalIdentifierRest", }, }, @@ -5042,9 +5003,9 @@ var g = &grammar{ }, { name: "NormalIdentifierStart", - pos: position{line: 1249, col: 1, offset: 28353}, + pos: position{line: 1246, col: 1, offset: 28278}, expr: &charClassMatcher{ - pos: position{line: 1250, col: 4, offset: 28378}, + pos: position{line: 1247, col: 4, offset: 28303}, val: "[a-zA-Z\\x80-\\xff]", ranges: []rune{'a', 'z', 'A', 'Z', '\u0080', 'ÿ'}, ignoreCase: false, @@ -5053,9 +5014,9 @@ var g = &grammar{ }, { name: "NormalIdentifierRest", - pos: position{line: 1252, col: 1, offset: 28397}, + pos: position{line: 1249, col: 1, offset: 28322}, expr: &charClassMatcher{ - pos: position{line: 1253, col: 4, offset: 28421}, + pos: position{line: 1250, col: 4, offset: 28346}, val: "[a-zA-Z0-9_\\x80-\\xff]", chars: []rune{'_'}, ranges: []rune{'a', 'z', 'A', 'Z', '0', '9', '\u0080', 'ÿ'}, @@ -5065,46 +5026,46 @@ var g = &grammar{ }, { name: "StringIdentifier", - pos: position{line: 1255, col: 1, offset: 28444}, + pos: position{line: 1252, col: 1, offset: 28369}, expr: &actionExpr{ - pos: position{line: 1256, col: 4, offset: 28464}, + pos: position{line: 1253, col: 4, offset: 28389}, run: (*parser).callonStringIdentifier1, expr: &seqExpr{ - pos: position{line: 1256, col: 4, offset: 28464}, + pos: position{line: 1253, col: 4, offset: 28389}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1256, col: 4, offset: 28464}, + pos: position{line: 1253, col: 4, offset: 28389}, val: "\"", ignoreCase: false, }, &labeledExpr{ - pos: position{line: 1256, col: 9, offset: 28469}, + pos: position{line: 1253, col: 9, offset: 28394}, label: "s", expr: &zeroOrMoreExpr{ - pos: position{line: 1256, col: 11, offset: 28471}, + pos: position{line: 1253, col: 11, offset: 28396}, expr: &actionExpr{ - pos: position{line: 1256, col: 13, offset: 28473}, + pos: position{line: 1253, col: 13, offset: 28398}, run: (*parser).callonStringIdentifier6, expr: &choiceExpr{ - pos: position{line: 1256, col: 15, offset: 28475}, + pos: position{line: 1253, col: 15, offset: 28400}, alternatives: []interface{}{ &charClassMatcher{ - pos: position{line: 1256, col: 15, offset: 28475}, + pos: position{line: 1253, col: 15, offset: 28400}, val: "[^\"\\r\\n\\\\]", chars: []rune{'"', '\r', '\n', '\\'}, ignoreCase: false, inverted: true, }, &seqExpr{ - pos: position{line: 1256, col: 28, offset: 28488}, + pos: position{line: 1253, col: 28, offset: 28413}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1256, col: 28, offset: 28488}, + pos: position{line: 1253, col: 28, offset: 28413}, val: "\\", ignoreCase: false, }, &anyMatcher{ - line: 1256, col: 33, offset: 28493, + line: 1253, col: 33, offset: 28418, }, }, }, @@ -5114,7 +5075,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1256, col: 63, offset: 28523}, + pos: position{line: 1253, col: 63, offset: 28448}, val: "\"", ignoreCase: false, }, @@ -5124,14 +5085,14 @@ var g = &grammar{ }, { name: "_", - pos: position{line: 1281, col: 1, offset: 29108}, + pos: position{line: 1278, col: 1, offset: 29033}, expr: &actionExpr{ - pos: position{line: 1282, col: 4, offset: 29113}, + pos: position{line: 1279, col: 4, offset: 29038}, run: (*parser).callon_1, expr: &zeroOrMoreExpr{ - pos: position{line: 1282, col: 4, offset: 29113}, + pos: position{line: 1279, col: 4, offset: 29038}, expr: &ruleRefExpr{ - pos: position{line: 1282, col: 4, offset: 29113}, + pos: position{line: 1279, col: 4, offset: 29038}, name: "Whitespace", }, }, @@ -5139,37 +5100,37 @@ var g = &grammar{ }, { name: "Whitespace", - pos: position{line: 1285, col: 1, offset: 29149}, + pos: position{line: 1282, col: 1, offset: 29074}, expr: &choiceExpr{ - pos: position{line: 1286, col: 4, offset: 29163}, + pos: position{line: 1283, col: 4, offset: 29088}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 1286, col: 4, offset: 29163}, + pos: position{line: 1283, col: 4, offset: 29088}, val: "\t", ignoreCase: false, }, &litMatcher{ - pos: position{line: 1287, col: 4, offset: 29184}, + pos: position{line: 1284, col: 4, offset: 29109}, val: "\n", ignoreCase: false, }, &litMatcher{ - pos: position{line: 1288, col: 4, offset: 29205}, + pos: position{line: 1285, col: 4, offset: 29130}, val: "\v", ignoreCase: false, }, &litMatcher{ - pos: position{line: 1289, col: 4, offset: 29226}, + pos: position{line: 1286, col: 4, offset: 29151}, val: "\f", ignoreCase: false, }, &litMatcher{ - pos: position{line: 1290, col: 4, offset: 29247}, + pos: position{line: 1287, col: 4, offset: 29172}, val: "\r", ignoreCase: false, }, &litMatcher{ - pos: position{line: 1291, col: 4, offset: 29268}, + pos: position{line: 1288, col: 4, offset: 29193}, val: " ", ignoreCase: false, }, @@ -5178,11 +5139,11 @@ var g = &grammar{ }, { name: "EOF", - pos: position{line: 1293, col: 1, offset: 29290}, + pos: position{line: 1290, col: 1, offset: 29215}, expr: ¬Expr{ - pos: position{line: 1294, col: 4, offset: 29297}, + pos: position{line: 1291, col: 4, offset: 29222}, expr: &anyMatcher{ - line: 1294, col: 5, offset: 29298, + line: 1291, col: 5, offset: 29223, }, }, }, diff --git a/core/vm/sqlvm/parser/internal/grammar.peg b/core/vm/sqlvm/parser/internal/grammar.peg index a0cb9ec63..19e9c92a1 100644 --- a/core/vm/sqlvm/parser/internal/grammar.peg +++ b/core/vm/sqlvm/parser/internal/grammar.peg @@ -850,10 +850,7 @@ FixedBytesType } DynamicBytesType - = ( "BYTES"i !NormalIdentifierRest - / "STRING"i !NormalIdentifierRest - / "TEXT"i !NormalIdentifierRest - ) + = "BYTES"i !NormalIdentifierRest { node := &ast.DynamicBytesTypeNode{} node.SetPosition(uint32(c.pos.offset)) diff --git a/core/vm/sqlvm/parser/parser_test.go b/core/vm/sqlvm/parser/parser_test.go index 2b872e82e..2975ecd94 100644 --- a/core/vm/sqlvm/parser/parser_test.go +++ b/core/vm/sqlvm/parser/parser_test.go @@ -74,7 +74,7 @@ func (s *ParserTestSuite) TestParse() { // Test create table. s.requireParseNoError(`create table a (a int32 not null unique primary key default 0)`) - s.requireParseNoError(`create table "~!@#$%^&*()" ( a int32 references b ( a ) , b string primary key, c address not null default 1 + 1 )`) + s.requireParseNoError(`create table "~!@#$%^&*()" ( a int32 references b ( a ) , b bytes primary key, c address not null default 1 + 1 )`) // Test create index. s.requireParseNoError(`create unique index a on a (a)`) @@ -160,7 +160,7 @@ func (s *ParserTestSuite) TestParseRules() { C3 UINT256 DEFAULT 3 * 2 + 1, C4 BYTES5 DEFAULT 'hello', C5 INT24 UNIQUE NOT NULL, - C6 TEXT + C6 BYTES ); CREATE TABLE T ( @@ -172,10 +172,8 @@ func (s *ParserTestSuite) TestParseRules() { C6 BYTES1, C7 BYTE, C8 BYTES, - C9 TEXT, - C10 STRING, - C11 ADDRESS, - C12 BOOL + C9 ADDRESS, + C10 BOOL ); CREATE INDEX I ON T (C1); |