fix: add partitioned by sql unit test and compile impala (#221)

This commit is contained in:
霜序 2023-11-29 10:02:16 +08:00 committed by GitHub
parent 4fbb85dfba
commit 4be3640219
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 173 additions and 157 deletions

File diff suppressed because one or more lines are too long

View File

@ -9913,7 +9913,7 @@ export class ImpalaSqlParser extends Parser {
this.state = 2112; this.state = 2112;
this.match(ImpalaSqlParser.LPAREN); this.match(ImpalaSqlParser.LPAREN);
this.state = 2113; this.state = 2113;
this.columnNamePath(); this.columnNamePathCreate();
this.state = 2118; this.state = 2118;
this._errHandler.sync(this); this._errHandler.sync(this);
_la = this._input.LA(1); _la = this._input.LA(1);
@ -9923,7 +9923,7 @@ export class ImpalaSqlParser extends Parser {
this.state = 2114; this.state = 2114;
this.match(ImpalaSqlParser.COMMA); this.match(ImpalaSqlParser.COMMA);
this.state = 2115; this.state = 2115;
this.columnNamePath(); this.columnNamePathCreate();
} }
} }
this.state = 2120; this.state = 2120;
@ -14713,154 +14713,154 @@ export class ImpalaSqlParser extends Parser {
"\x02\u083D\u083B\x03\x02\x02\x02\u083D\u083E\x03\x02\x02\x02\u083E\u0840" + "\x02\u083D\u083B\x03\x02\x02\x02\u083D\u083E\x03\x02\x02\x02\u083E\u0840" +
"\x03\x02\x02\x02\u083F\u083D\x03\x02\x02\x02\u0840\u0841\x07\xF9\x02\x02" + "\x03\x02\x02\x02\u083F\u083D\x03\x02\x02\x02\u0840\u0841\x07\xF9\x02\x02" +
"\u0841\u0123\x03\x02\x02\x02\u0842\u0843\x07\xF8\x02\x02\u0843\u0848\x05" + "\u0841\u0123\x03\x02\x02\x02\u0842\u0843\x07\xF8\x02\x02\u0843\u0848\x05" +
"\xC0a\x02\u0844\u0845\x07\xF6\x02\x02\u0845\u0847\x05\xC0a\x02\u0846\u0844" + "\xB6\\\x02\u0844\u0845\x07\xF6\x02\x02\u0845\u0847\x05\xB6\\\x02\u0846" +
"\x03\x02\x02\x02\u0847\u084A\x03\x02\x02\x02\u0848\u0846\x03\x02\x02\x02" + "\u0844\x03\x02\x02\x02\u0847\u084A\x03\x02\x02\x02\u0848\u0846\x03\x02" +
"\u0848\u0849\x03\x02\x02\x02\u0849\u084B\x03\x02\x02\x02\u084A\u0848\x03" + "\x02\x02\u0848\u0849\x03\x02\x02\x02\u0849\u084B\x03\x02\x02\x02\u084A" +
"\x02\x02\x02\u084B\u084C\x07\xF9\x02\x02\u084C\u0125\x03\x02\x02\x02\u084D" + "\u0848\x03\x02\x02\x02\u084B\u084C\x07\xF9\x02\x02\u084C\u0125\x03\x02" +
"\u0855\x05\xC2b\x02\u084E\u0850\x07q\x02\x02\u084F\u084E\x03\x02\x02\x02" + "\x02\x02\u084D\u0855\x05\xC2b\x02\u084E\u0850\x07q\x02\x02\u084F\u084E" +
"\u084F\u0850\x03\x02\x02\x02\u0850\u0851\x03\x02\x02\x02\u0851\u0855\x05" + "\x03\x02\x02\x02\u084F\u0850\x03\x02\x02\x02\u0850\u0851\x03\x02\x02\x02" +
"\u0128\x95\x02\u0852\u0855\x05\u012A\x96\x02\u0853\u0855\x05\u012C\x97" + "\u0851\u0855\x05\u0128\x95\x02\u0852\u0855\x05\u012A\x96\x02\u0853\u0855" +
"\x02\u0854\u084D\x03\x02\x02\x02\u0854\u084F\x03\x02\x02\x02\u0854\u0852" + "\x05\u012C\x97\x02\u0854\u084D\x03\x02\x02\x02\u0854\u084F\x03\x02\x02" +
"\x03\x02\x02\x02\u0854\u0853\x03\x02\x02\x02\u0855\u0127\x03\x02\x02\x02" + "\x02\u0854\u0852\x03\x02\x02\x02\u0854\u0853\x03\x02\x02\x02\u0855\u0127" +
"\u0856\u0857\x07\xF8\x02\x02\u0857\u0858\x05\xCCg\x02\u0858\u0859\x07" + "\x03\x02\x02\x02\u0856\u0857\x07\xF8\x02\x02\u0857\u0858\x05\xCCg\x02" +
"\xF9\x02\x02\u0859\u0129\x03\x02\x02\x02\u085A\u085B\x07\xCB\x02\x02\u085B" + "\u0858\u0859\x07\xF9\x02\x02\u0859\u0129\x03\x02\x02\x02\u085A\u085B\x07" +
"\u085C\x07\xF8\x02\x02\u085C\u0861\x05\u0130\x99\x02\u085D\u085E\x07\xF6" + "\xCB\x02\x02\u085B\u085C\x07\xF8\x02\x02\u085C\u0861\x05\u0130\x99\x02" +
"\x02\x02\u085E\u0860\x05\u0130\x99\x02\u085F\u085D\x03\x02\x02\x02\u0860" + "\u085D\u085E\x07\xF6\x02\x02\u085E\u0860\x05\u0130\x99\x02\u085F\u085D" +
"\u0863\x03\x02\x02\x02\u0861\u085F\x03\x02\x02\x02\u0861\u0862\x03\x02" + "\x03\x02\x02\x02\u0860\u0863\x03\x02\x02\x02\u0861\u085F\x03\x02\x02\x02" +
"\x02\x02\u0862\u0864\x03\x02\x02\x02\u0863\u0861\x03\x02\x02\x02\u0864" + "\u0861\u0862\x03\x02\x02\x02\u0862\u0864\x03\x02\x02\x02\u0863\u0861\x03" +
"\u0867\x07\xF9\x02\x02\u0865\u0866\x07\xD9\x02\x02\u0866\u0868\x07\x8D" + "\x02\x02\x02\u0864\u0867\x07\xF9\x02\x02\u0865\u0866\x07\xD9\x02\x02\u0866" +
"\x02\x02\u0867\u0865\x03\x02\x02\x02\u0867\u0868\x03\x02\x02\x02\u0868" + "\u0868\x07\x8D\x02\x02\u0867\u0865\x03\x02\x02\x02\u0867\u0868\x03\x02" +
"\u012B\x03\x02\x02\x02\u0869\u086A\x07\xF8\x02\x02\u086A\u086B\x05\u0116" + "\x02\x02\u0868\u012B\x03\x02\x02\x02\u0869\u086A\x07\xF8\x02\x02\u086A" +
"\x8C\x02\u086B\u086C\x07\xF9\x02\x02\u086C\u012D\x03\x02\x02\x02\u086D" + "\u086B\x05\u0116\x8C\x02\u086B\u086C\x07\xF9\x02\x02\u086C\u012D\x03\x02" +
"\u0870\x05\xC0a\x02\u086E\u0870\x05\u0130\x99\x02\u086F\u086D\x03\x02" + "\x02\x02\u086D\u0870\x05\xC0a\x02\u086E\u0870\x05\u0130\x99\x02\u086F" +
"\x02\x02\u086F\u086E\x03\x02\x02\x02\u0870\u012F\x03\x02\x02\x02\u0871" + "\u086D\x03\x02\x02\x02\u086F\u086E\x03\x02\x02\x02\u0870\u012F\x03\x02" +
"\u0872\x05\u0132\x9A\x02\u0872\u0131\x03\x02\x02\x02\u0873\u0874\b\x9A" + "\x02\x02\u0871\u0872\x05\u0132\x9A\x02\u0872\u0131\x03\x02\x02\x02\u0873" +
"\x01\x02\u0874\u0876\x05\u0136\x9C\x02\u0875\u0877\x05\u0134\x9B\x02\u0876" + "\u0874\b\x9A\x01\x02\u0874\u0876\x05\u0136\x9C\x02\u0875\u0877\x05\u0134" +
"\u0875\x03\x02\x02\x02\u0876\u0877\x03\x02\x02\x02\u0877\u087B\x03\x02" + "\x9B\x02\u0876\u0875\x03\x02\x02\x02\u0876\u0877\x03\x02\x02\x02\u0877" +
"\x02\x02\u0878\u0879\x07\x85\x02\x02\u0879\u087B\x05\u0132\x9A\x05\u087A" + "\u087B\x03\x02\x02\x02\u0878\u0879\x07\x85\x02\x02\u0879\u087B\x05\u0132" +
"\u0873\x03\x02\x02\x02\u087A\u0878\x03\x02\x02\x02\u087B\u0884\x03\x02" + "\x9A\x05\u087A\u0873\x03\x02\x02\x02\u087A\u0878\x03\x02\x02\x02\u087B" +
"\x02\x02\u087C\u087D\f\x04\x02\x02\u087D\u087E\x07\x07\x02\x02\u087E\u0883" + "\u0884\x03\x02\x02\x02\u087C\u087D\f\x04\x02\x02\u087D\u087E\x07\x07\x02" +
"\x05\u0132\x9A\x05\u087F\u0880\f\x03\x02\x02\u0880\u0881\x07\x8B\x02\x02" + "\x02\u087E\u0883\x05\u0132\x9A\x05\u087F\u0880\f\x03\x02\x02\u0880\u0881" +
"\u0881\u0883\x05\u0132\x9A\x04\u0882\u087C\x03\x02\x02\x02\u0882\u087F" + "\x07\x8B\x02\x02\u0881\u0883\x05\u0132\x9A\x04\u0882\u087C\x03\x02\x02" +
"\x03\x02\x02\x02\u0883\u0886\x03\x02\x02\x02\u0884\u0882\x03\x02\x02\x02" + "\x02\u0882\u087F\x03\x02\x02\x02\u0883\u0886\x03\x02\x02\x02\u0884\u0882" +
"\u0884\u0885\x03\x02\x02\x02\u0885\u0133\x03\x02\x02\x02\u0886\u0884\x03" + "\x03\x02\x02\x02\u0884\u0885\x03\x02\x02\x02\u0885\u0133\x03\x02\x02\x02" +
"\x02\x02\x02\u0887\u0888\x05\u013C\x9F\x02\u0888\u0889\x05\u0136\x9C\x02" + "\u0886\u0884\x03\x02\x02\x02\u0887\u0888\x05\u013C\x9F\x02\u0888\u0889" +
"\u0889\u08C2\x03\x02\x02\x02\u088A\u088B\x05\u013C\x9F\x02\u088B\u088C" + "\x05\u0136\x9C\x02\u0889\u08C2\x03\x02\x02\x02\u088A\u088B\x05\u013C\x9F" +
"\x05\u013E\xA0\x02\u088C\u088D\x05\u0128\x95\x02\u088D\u08C2\x03\x02\x02" + "\x02\u088B\u088C\x05\u013E\xA0\x02\u088C\u088D\x05\u0128\x95\x02\u088D" +
"\x02\u088E\u0890\x07\x85\x02\x02\u088F\u088E\x03\x02\x02\x02\u088F\u0890" + "\u08C2\x03\x02\x02\x02\u088E\u0890\x07\x85\x02\x02\u088F\u088E\x03\x02" +
"\x03\x02\x02\x02\u0890\u0891\x03\x02\x02\x02\u0891\u0892\x07\x11\x02\x02" + "\x02\x02\u088F\u0890\x03\x02\x02\x02\u0890\u0891\x03\x02\x02\x02\u0891" +
"\u0892\u0893\x05\u0136\x9C\x02\u0893\u0894\x07\x07\x02\x02\u0894\u0895" + "\u0892\x07\x11\x02\x02\u0892\u0893\x05\u0136\x9C\x02\u0893\u0894\x07\x07" +
"\x05\u0136\x9C\x02\u0895\u08C2\x03\x02\x02\x02\u0896\u0898\x07\x85\x02" + "\x02\x02\u0894\u0895\x05\u0136\x9C\x02\u0895\u08C2\x03\x02\x02\x02\u0896" +
"\x02\u0897\u0896\x03\x02\x02\x02\u0897\u0898\x03\x02\x02\x02\u0898\u0899" + "\u0898\x07\x85\x02\x02\u0897\u0896\x03\x02\x02\x02\u0897\u0898\x03\x02" +
"\x03\x02\x02\x02\u0899\u089A\x07`\x02\x02\u089A\u089B\x07\xF8\x02\x02" + "\x02\x02\u0898\u0899\x03\x02\x02\x02\u0899\u089A\x07`\x02\x02\u089A\u089B" +
"\u089B\u08A0\x05\u0130\x99\x02\u089C\u089D\x07\xF6\x02\x02\u089D\u089F" + "\x07\xF8\x02\x02\u089B\u08A0\x05\u0130\x99\x02\u089C\u089D\x07\xF6\x02" +
"\x05\u0130\x99\x02\u089E\u089C\x03\x02\x02\x02\u089F\u08A2\x03\x02\x02" + "\x02\u089D\u089F\x05\u0130\x99\x02\u089E\u089C\x03\x02\x02\x02\u089F\u08A2" +
"\x02\u08A0\u089E\x03\x02\x02\x02\u08A0\u08A1\x03\x02\x02\x02\u08A1\u08A3" + "\x03\x02\x02\x02\u08A0\u089E\x03\x02\x02\x02\u08A0\u08A1\x03\x02\x02\x02" +
"\x03\x02\x02\x02\u08A2\u08A0\x03\x02\x02\x02\u08A3\u08A4\x07\xF9\x02\x02" + "\u08A1\u08A3\x03\x02\x02\x02\u08A2\u08A0\x03\x02\x02\x02\u08A3\u08A4\x07" +
"\u08A4\u08C2\x03\x02\x02\x02\u08A5\u08A7\x07\x85\x02\x02\u08A6\u08A5\x03" + "\xF9\x02\x02\u08A4\u08C2\x03\x02\x02\x02\u08A5\u08A7\x07\x85\x02\x02\u08A6" +
"\x02\x02\x02\u08A6\u08A7\x03\x02\x02\x02\u08A7\u08A8\x03\x02\x02\x02\u08A8" + "\u08A5\x03\x02\x02\x02\u08A6\u08A7\x03\x02\x02\x02\u08A7\u08A8\x03\x02" +
"\u08A9\x07`\x02\x02\u08A9\u08C2\x05\u0128\x95\x02\u08AA\u08AC\x07\x85" + "\x02\x02\u08A8\u08A9\x07`\x02\x02\u08A9\u08C2\x05\u0128\x95\x02\u08AA" +
"\x02\x02\u08AB\u08AA\x03\x02\x02\x02\u08AB\u08AC\x03\x02\x02\x02\u08AC" + "\u08AC\x07\x85\x02\x02\u08AB\u08AA\x03\x02\x02\x02\u08AB\u08AC\x03\x02" +
"\u08AD\x03\x02\x02\x02\u08AD\u08AE\x07s\x02\x02\u08AE\u08B1\x05\u0136" + "\x02\x02\u08AC\u08AD\x03\x02\x02\x02\u08AD\u08AE\x07s\x02\x02\u08AE\u08B1" +
"\x9C\x02\u08AF\u08B0\x07@\x02\x02\u08B0\u08B2\x05\u0136\x9C\x02\u08B1" + "\x05\u0136\x9C\x02\u08AF\u08B0\x07@\x02\x02\u08B0\u08B2\x05\u0136\x9C" +
"\u08AF\x03\x02\x02\x02\u08B1\u08B2\x03\x02\x02\x02\u08B2\u08C2\x03\x02" + "\x02\u08B1\u08AF\x03\x02\x02\x02\u08B1\u08B2\x03\x02\x02\x02\u08B2\u08C2" +
"\x02\x02\u08B3\u08B4\x07\xA4\x02\x02\u08B4\u08C2\x05\u0136\x9C\x02\u08B5" + "\x03\x02\x02\x02\u08B3\u08B4\x07\xA4\x02\x02\u08B4\u08C2\x05\u0136\x9C" +
"\u08B7\x07l\x02\x02\u08B6\u08B8\x07\x85\x02\x02\u08B7\u08B6\x03\x02\x02" + "\x02\u08B5\u08B7\x07l\x02\x02\u08B6\u08B8\x07\x85\x02\x02\u08B7\u08B6" +
"\x02\u08B7\u08B8\x03\x02\x02\x02\u08B8\u08B9\x03\x02\x02\x02\u08B9\u08C2" + "\x03\x02\x02\x02\u08B7\u08B8\x03\x02\x02\x02\u08B8\u08B9\x03\x02\x02\x02" +
"\x07\x86\x02\x02\u08BA\u08BC\x07l\x02\x02\u08BB\u08BD\x07\x85\x02\x02" + "\u08B9\u08C2\x07\x86\x02\x02\u08BA\u08BC\x07l\x02\x02\u08BB\u08BD\x07" +
"\u08BC\u08BB\x03\x02\x02\x02\u08BC\u08BD\x03\x02\x02\x02\u08BD\u08BE\x03" + "\x85\x02\x02\u08BC\u08BB\x03\x02\x02\x02\u08BC\u08BD\x03\x02\x02\x02\u08BD" +
"\x02\x02\x02\u08BE\u08BF\x07;\x02\x02\u08BF\u08C0\x07T\x02\x02\u08C0\u08C2" + "\u08BE\x03\x02\x02\x02\u08BE\u08BF\x07;\x02\x02\u08BF\u08C0\x07T\x02\x02" +
"\x05\u0136\x9C\x02\u08C1\u0887\x03\x02\x02\x02\u08C1\u088A\x03\x02\x02" + "\u08C0\u08C2\x05\u0136\x9C\x02\u08C1\u0887\x03\x02\x02\x02\u08C1\u088A" +
"\x02\u08C1\u088F\x03\x02\x02\x02\u08C1\u0897\x03\x02\x02\x02\u08C1\u08A6" + "\x03\x02\x02\x02\u08C1\u088F\x03\x02\x02\x02\u08C1\u0897\x03\x02\x02\x02" +
"\x03\x02\x02\x02\u08C1\u08AB\x03\x02\x02\x02\u08C1\u08B3\x03\x02\x02\x02" + "\u08C1\u08A6\x03\x02\x02\x02\u08C1\u08AB\x03\x02\x02\x02\u08C1\u08B3\x03" +
"\u08C1\u08B5\x03\x02\x02\x02\u08C1\u08BA\x03\x02\x02\x02\u08C2\u0135\x03" + "\x02\x02\x02\u08C1\u08B5\x03\x02\x02\x02\u08C1\u08BA\x03\x02\x02\x02\u08C2" +
"\x02\x02\x02\u08C3\u08C4\b\x9C\x01\x02\u08C4\u08C8\x05\u0138\x9D\x02\u08C5" + "\u0135\x03\x02\x02\x02\u08C3\u08C4\b\x9C\x01\x02\u08C4\u08C8\x05\u0138" +
"\u08C6\t\x14\x02\x02\u08C6\u08C8\x05\u0136\x9C\x06\u08C7\u08C3\x03\x02" + "\x9D\x02\u08C5\u08C6\t\x14\x02\x02\u08C6\u08C8\x05\u0136\x9C\x06\u08C7" +
"\x02\x02\u08C7\u08C5\x03\x02\x02\x02\u08C8\u08D4\x03\x02\x02\x02\u08C9" + "\u08C3\x03\x02\x02\x02\u08C7\u08C5\x03\x02\x02\x02\u08C8\u08D4\x03\x02" +
"\u08CA\f\x05\x02\x02\u08CA\u08CB\t\x15\x02\x02\u08CB\u08D3\x05\u0136\x9C" + "\x02\x02\u08C9\u08CA\f\x05\x02\x02\u08CA\u08CB\t\x15\x02\x02\u08CB\u08D3" +
"\x06\u08CC\u08CD\f\x04\x02\x02\u08CD\u08CE\t\x14\x02\x02\u08CE\u08D3\x05" + "\x05\u0136\x9C\x06\u08CC\u08CD\f\x04\x02\x02\u08CD\u08CE\t\x14\x02\x02" +
"\u0136\x9C\x05\u08CF\u08D0\f\x03\x02\x02\u08D0\u08D1\x07\xF3\x02\x02\u08D1" + "\u08CE\u08D3\x05\u0136\x9C\x05\u08CF\u08D0\f\x03\x02\x02\u08D0\u08D1\x07" +
"\u08D3\x05\u0136\x9C\x04\u08D2\u08C9\x03\x02\x02\x02\u08D2\u08CC\x03\x02" + "\xF3\x02\x02\u08D1\u08D3\x05\u0136\x9C\x04\u08D2\u08C9\x03\x02\x02\x02" +
"\x02\x02\u08D2\u08CF\x03\x02\x02\x02\u08D3\u08D6\x03\x02\x02\x02\u08D4" + "\u08D2\u08CC\x03\x02\x02\x02\u08D2\u08CF\x03\x02\x02\x02\u08D3\u08D6\x03" +
"\u08D2\x03\x02\x02\x02\u08D4\u08D5\x03\x02\x02\x02\u08D5\u0137\x03\x02" + "\x02\x02\x02\u08D4\u08D2\x03\x02\x02\x02\u08D4\u08D5\x03\x02\x02\x02\u08D5" +
"\x02\x02\u08D6\u08D4\x03\x02\x02\x02\u08D7\u08D8\b\x9D\x01\x02\u08D8\u09CE" + "\u0137\x03\x02\x02\x02\u08D6\u08D4\x03\x02\x02\x02\u08D7\u08D8\b\x9D\x01" +
"\x07\x86\x02\x02\u08D9\u09CE\x05\u0142\xA2\x02\u08DA\u08DB\x05\u0164\xB3" + "\x02\u08D8\u09CE\x07\x86\x02\x02\u08D9\u09CE\x05\u0142\xA2\x02\u08DA\u08DB" +
"\x02\u08DB\u08DC\x05\u013A\x9E\x02\u08DC\u09CE\x03\x02\x02\x02\u08DD\u08DE" + "\x05\u0164\xB3\x02\u08DB\u08DC\x05\u013A\x9E\x02\u08DC\u09CE\x03\x02\x02" +
"\x07\u010D\x02\x02\u08DE\u09CE\x05\u013A\x9E\x02\u08DF\u09CE\x05\u0166" + "\x02\u08DD\u08DE\x07\u010D\x02\x02\u08DE\u09CE\x05\u013A\x9E\x02\u08DF" +
"\xB4\x02\u08E0\u09CE\x05\u0140\xA1\x02\u08E1\u09CE\x05\u013A\x9E\x02\u08E2" + "\u09CE\x05\u0166\xB4\x02\u08E0\u09CE\x05\u0140\xA1\x02\u08E1\u09CE\x05" +
"\u09CE\x07\u0103\x02\x02\u08E3\u09CE\x07\xFF\x02\x02\u08E4\u08E5\x07\x95" + "\u013A\x9E\x02\u08E2\u09CE\x07\u0103\x02\x02\u08E3\u09CE\x07\xFF\x02\x02" +
"\x02\x02\u08E5\u08E6\x07\xF8\x02\x02\u08E6\u08E7\x05\u0136\x9C\x02\u08E7" + "\u08E4\u08E5\x07\x95\x02\x02\u08E5\u08E6\x07\xF8\x02\x02\u08E6\u08E7\x05" +
"\u08E8\x07`\x02\x02\u08E8\u08E9\x05\u0136\x9C\x02\u08E9\u08EA\x07\xF9" + "\u0136\x9C\x02\u08E7\u08E8\x07`\x02\x02\u08E8\u08E9\x05\u0136\x9C\x02" +
"\x02\x02\u08EA\u09CE\x03\x02\x02\x02\u08EB\u08EC\x07\xF8\x02\x02\u08EC" + "\u08E9\u08EA\x07\xF9\x02\x02\u08EA\u09CE\x03\x02\x02\x02\u08EB\u08EC\x07" +
"\u08EF\x05\u0130\x99\x02\u08ED\u08EE\x07\v\x02\x02\u08EE\u08F0\x05\u0148" + "\xF8\x02\x02\u08EC\u08EF\x05\u0130\x99\x02\u08ED\u08EE\x07\v\x02\x02\u08EE" +
"\xA5\x02\u08EF\u08ED\x03\x02\x02\x02\u08EF\u08F0\x03\x02\x02\x02\u08F0" + "\u08F0\x05\u0148\xA5\x02\u08EF\u08ED\x03\x02\x02\x02\u08EF\u08F0\x03\x02" +
"\u08F9\x03\x02\x02\x02\u08F1\u08F2\x07\xF6\x02\x02\u08F2\u08F5\x05\u0130" + "\x02\x02\u08F0\u08F9\x03\x02\x02\x02\u08F1\u08F2\x07\xF6\x02\x02\u08F2" +
"\x99\x02\u08F3\u08F4\x07\v\x02\x02\u08F4\u08F6\x05\u0148\xA5\x02\u08F5" + "\u08F5\x05\u0130\x99\x02\u08F3\u08F4\x07\v\x02\x02\u08F4\u08F6\x05\u0148" +
"\u08F3\x03\x02\x02\x02\u08F5\u08F6\x03\x02\x02\x02\u08F6\u08F8\x03\x02" + "\xA5\x02\u08F5\u08F3\x03\x02\x02\x02\u08F5\u08F6\x03\x02\x02\x02\u08F6" +
"\x02\x02\u08F7\u08F1\x03\x02\x02\x02\u08F8\u08FB\x03\x02\x02\x02\u08F9" + "\u08F8\x03\x02\x02\x02\u08F7\u08F1\x03\x02\x02\x02\u08F8\u08FB\x03\x02" +
"\u08FA\x03\x02\x02\x02\u08F9\u08F7\x03\x02\x02\x02\u08FA\u08FC\x03\x02" + "\x02\x02\u08F9\u08FA\x03\x02\x02\x02\u08F9\u08F7\x03\x02\x02\x02\u08FA" +
"\x02\x02\u08FB\u08F9\x03\x02\x02\x02\u08FC\u08FD\x07\xF9\x02\x02\u08FD" + "\u08FC\x03\x02\x02\x02\u08FB\u08F9\x03\x02\x02\x02\u08FC\u08FD\x07\xF9" +
"\u09CE\x03\x02\x02\x02\u08FE\u08FF\x07\xA9\x02\x02\u08FF\u0900\x07\xF8" + "\x02\x02\u08FD\u09CE\x03\x02\x02\x02\u08FE\u08FF\x07\xA9\x02\x02\u08FF" +
"\x02\x02\u0900\u0905\x05\u0130\x99\x02\u0901\u0902\x07\xF6\x02\x02\u0902" + "\u0900\x07\xF8\x02\x02\u0900\u0905\x05\u0130\x99\x02\u0901\u0902\x07\xF6" +
"\u0904\x05\u0130\x99\x02\u0903\u0901\x03\x02\x02\x02\u0904\u0907\x03\x02" + "\x02\x02\u0902\u0904\x05\u0130\x99\x02\u0903\u0901\x03\x02\x02\x02\u0904" +
"\x02\x02\u0905\u0903\x03\x02\x02\x02\u0905\u0906\x03\x02\x02\x02\u0906" + "\u0907\x03\x02\x02\x02\u0905\u0903\x03\x02\x02\x02\u0905\u0906\x03\x02" +
"\u0908\x03\x02\x02\x02\u0907\u0905\x03\x02\x02\x02\u0908\u0909\x07\xF9" + "\x02\x02\u0906\u0908\x03\x02\x02\x02\u0907\u0905\x03\x02\x02\x02\u0908" +
"\x02\x02\u0909\u09CE\x03\x02\x02\x02\u090A\u090B\x05\xBE`\x02\u090B\u090C" + "\u0909\x07\xF9\x02\x02\u0909\u09CE\x03\x02\x02\x02\u090A\u090B\x05\xBE" +
"\x07\xF8\x02\x02\u090C\u090D\x07\xF0\x02\x02\u090D\u090F\x07\xF9\x02\x02" + "`\x02\u090B\u090C\x07\xF8\x02\x02\u090C\u090D\x07\xF0\x02\x02\u090D\u090F" +
"\u090E\u0910\x05\u0150\xA9\x02\u090F\u090E\x03\x02\x02\x02\u090F\u0910" + "\x07\xF9\x02\x02\u090E\u0910\x05\u0150\xA9\x02\u090F\u090E\x03\x02\x02" +
"\x03\x02\x02\x02\u0910\u0912\x03\x02\x02\x02\u0911\u0913\x05\u0152\xAA" + "\x02\u090F\u0910\x03\x02\x02\x02\u0910\u0912\x03\x02\x02\x02\u0911\u0913" +
"\x02\u0912\u0911\x03\x02\x02\x02\u0912\u0913\x03\x02\x02\x02\u0913\u09CE" + "\x05\u0152\xAA\x02\u0912\u0911\x03\x02\x02\x02\u0912\u0913\x03\x02\x02" +
"\x03\x02\x02\x02\u0914\u0915\x05\xBE`\x02\u0915\u0921\x07\xF8\x02\x02" + "\x02\u0913\u09CE\x03\x02\x02\x02\u0914\u0915\x05\xBE`\x02\u0915\u0921" +
"\u0916\u0918\x05\u0112\x8A\x02\u0917\u0916\x03\x02\x02\x02\u0917\u0918" + "\x07\xF8\x02\x02\u0916\u0918\x05\u0112\x8A\x02\u0917\u0916\x03\x02\x02" +
"\x03\x02\x02\x02\u0918\u0919\x03\x02\x02\x02\u0919\u091E\x05\u0130\x99" + "\x02\u0917\u0918\x03\x02\x02\x02\u0918\u0919\x03\x02\x02\x02\u0919\u091E" +
"\x02\u091A\u091B\x07\xF6\x02\x02\u091B\u091D\x05\u0130\x99\x02\u091C\u091A" + "\x05\u0130\x99\x02\u091A\u091B\x07\xF6\x02\x02\u091B\u091D\x05\u0130\x99" +
"\x03\x02\x02\x02\u091D\u0920\x03\x02\x02\x02\u091E\u091C\x03\x02\x02\x02" + "\x02\u091C\u091A\x03\x02\x02\x02\u091D\u0920\x03\x02\x02\x02\u091E\u091C" +
"\u091E\u091F\x03\x02\x02\x02\u091F\u0922\x03\x02\x02\x02\u0920\u091E\x03" + "\x03\x02\x02\x02\u091E\u091F\x03\x02\x02\x02\u091F\u0922\x03\x02\x02\x02" +
"\x02\x02\x02\u0921\u0917\x03\x02\x02\x02\u0921\u0922\x03\x02\x02\x02\u0922" + "\u0920\u091E\x03\x02\x02\x02\u0921\u0917\x03\x02\x02\x02\u0921\u0922\x03" +
"\u092D\x03\x02\x02\x02\u0923\u0924\x07\x8C\x02\x02\u0924\u0925\x07\x1C" + "\x02\x02\x02\u0922\u092D\x03\x02\x02\x02\u0923\u0924\x07\x8C\x02\x02\u0924" +
"\x02\x02\u0925\u092A\x05\u0106\x84\x02\u0926\u0927\x07\xF6\x02\x02\u0927" + "\u0925\x07\x1C\x02\x02\u0925\u092A\x05\u0106\x84\x02\u0926\u0927\x07\xF6" +
"\u0929\x05\u0106\x84\x02\u0928\u0926\x03\x02\x02\x02\u0929\u092C\x03\x02" + "\x02\x02\u0927\u0929\x05\u0106\x84\x02\u0928\u0926\x03\x02\x02\x02\u0929" +
"\x02\x02\u092A\u0928\x03\x02\x02\x02\u092A\u092B\x03\x02\x02\x02\u092B" + "\u092C\x03\x02\x02\x02\u092A\u0928\x03\x02\x02\x02\u092A\u092B\x03\x02" +
"\u092E\x03\x02\x02\x02\u092C\u092A\x03\x02\x02\x02\u092D\u0923\x03\x02" + "\x02\x02\u092B\u092E\x03\x02\x02\x02\u092C\u092A\x03\x02\x02\x02\u092D" +
"\x02\x02\u092D\u092E\x03\x02\x02\x02\u092E\u092F\x03\x02\x02\x02\u092F" + "\u0923\x03\x02\x02\x02\u092D\u092E\x03\x02\x02\x02\u092E\u092F\x03\x02" +
"\u0931\x07\xF9\x02\x02\u0930\u0932\x05\u0150\xA9\x02\u0931\u0930\x03\x02" + "\x02\x02\u092F\u0931\x07\xF9\x02\x02\u0930\u0932\x05\u0150\xA9\x02\u0931" +
"\x02\x02\u0931\u0932\x03\x02\x02\x02\u0932\u0934\x03\x02\x02\x02\u0933" + "\u0930\x03\x02\x02\x02\u0931\u0932\x03\x02\x02\x02\u0932\u0934\x03\x02" +
"\u0935\x05\u0152\xAA\x02\u0934\u0933\x03\x02\x02\x02\u0934\u0935\x03\x02" + "\x02\x02\u0933\u0935\x05\u0152\xAA\x02\u0934\u0933\x03\x02\x02\x02\u0934" +
"\x02\x02\u0935\u09CE\x03\x02\x02\x02\u0936\u0937\x05\u0164\xB3\x02\u0937" + "\u0935\x03\x02\x02\x02\u0935\u09CE\x03\x02\x02\x02\u0936\u0937\x05\u0164" +
"\u0938\x07\u0100\x02\x02\u0938\u0939\x05\u0130\x99\x02\u0939\u09CE\x03" + "\xB3\x02\u0937\u0938\x07\u0100\x02\x02\u0938\u0939\x05\u0130\x99\x02\u0939" +
"\x02\x02\x02\u093A\u0943\x07\xF8\x02\x02\u093B\u0940\x05\u0164\xB3\x02" + "\u09CE\x03\x02\x02\x02\u093A\u0943\x07\xF8\x02\x02\u093B\u0940\x05\u0164" +
"\u093C\u093D\x07\xF6\x02\x02\u093D\u093F\x05\u0164\xB3\x02\u093E\u093C" + "\xB3\x02\u093C\u093D\x07\xF6\x02\x02\u093D\u093F\x05\u0164\xB3\x02\u093E" +
"\x03\x02\x02\x02\u093F\u0942\x03\x02\x02\x02\u0940\u093E\x03\x02\x02\x02" + "\u093C\x03\x02\x02\x02\u093F\u0942\x03\x02\x02\x02\u0940\u093E\x03\x02" +
"\u0940\u0941\x03\x02\x02\x02\u0941\u0944\x03\x02\x02\x02\u0942\u0940\x03" + "\x02\x02\u0940\u0941\x03\x02\x02\x02\u0941\u0944\x03\x02\x02\x02\u0942" +
"\x02\x02\x02\u0943\u093B\x03\x02\x02\x02\u0943\u0944\x03\x02\x02\x02\u0944" + "\u0940\x03\x02\x02\x02\u0943\u093B\x03\x02\x02\x02\u0943\u0944\x03\x02" +
"\u0945\x03\x02\x02\x02\u0945\u0946\x07\xF9\x02\x02\u0946\u0947\x07\u0100" + "\x02\x02\u0944\u0945\x03\x02\x02\x02\u0945\u0946\x07\xF9\x02\x02\u0946" +
"\x02\x02\u0947\u09CE\x05\u0130\x99\x02\u0948\u0949\x07\xF8\x02\x02\u0949" + "\u0947\x07\u0100\x02\x02\u0947\u09CE\x05\u0130\x99\x02\u0948\u0949\x07" +
"\u094A\x05\xCCg\x02\u094A\u094B\x07\xF9\x02\x02\u094B\u09CE\x03\x02\x02" + "\xF8\x02\x02\u0949\u094A\x05\xCCg\x02\u094A\u094B\x07\xF9\x02\x02\u094B" +
"\x02\u094C\u094D\x07D\x02\x02\u094D\u094E\x07\xF8\x02\x02\u094E\u094F" + "\u09CE\x03\x02\x02\x02\u094C\u094D\x07D\x02\x02\u094D\u094E\x07\xF8\x02" +
"\x05\xCCg\x02\u094F\u0950\x07\xF9\x02\x02\u0950\u09CE\x03\x02\x02\x02" + "\x02\u094E\u094F\x05\xCCg\x02\u094F\u0950\x07\xF9\x02\x02\u0950\u09CE" +
"\u0951\u0952\x07\x1E\x02\x02\u0952\u0954\x05\u0136\x9C\x02\u0953\u0955" + "\x03\x02\x02\x02\u0951\u0952\x07\x1E\x02\x02\u0952\u0954\x05\u0136\x9C" +
"\x05\u014E\xA8\x02\u0954\u0953\x03\x02\x02\x02\u0955\u0956\x03\x02\x02" + "\x02\u0953\u0955\x05\u014E\xA8\x02\u0954\u0953\x03\x02\x02\x02\u0955\u0956" +
"\x02\u0956\u0954\x03\x02\x02\x02\u0956\u0957\x03\x02\x02\x02\u0957\u095A" + "\x03\x02\x02\x02\u0956\u0954\x03\x02\x02\x02\u0956\u0957\x03\x02\x02\x02" +
"\x03\x02\x02\x02\u0958\u0959\x07=\x02\x02\u0959\u095B\x05\u0130\x99\x02" + "\u0957\u095A\x03\x02\x02\x02\u0958\u0959\x07=\x02\x02\u0959\u095B\x05" +
"\u095A\u0958\x03\x02\x02\x02\u095A\u095B\x03\x02\x02\x02\u095B\u095C\x03" + "\u0130\x99\x02\u095A\u0958\x03\x02\x02\x02\u095A\u095B\x03\x02\x02\x02" +
"\x02\x02\x02\u095C\u095D\x07?\x02\x02\u095D\u09CE\x03\x02\x02\x02\u095E" + "\u095B\u095C\x03\x02\x02\x02\u095C\u095D\x07?\x02\x02\u095D\u09CE\x03" +
"\u0960\x07\x1E\x02\x02\u095F\u0961\x05\u014E\xA8\x02\u0960\u095F\x03\x02" + "\x02\x02\x02\u095E\u0960\x07\x1E\x02\x02\u095F\u0961\x05\u014E\xA8\x02" +
"\x02\x02\u0961\u0962\x03\x02\x02\x02\u0962\u0960\x03\x02\x02\x02\u0962" + "\u0960\u095F\x03\x02\x02\x02\u0961\u0962\x03\x02\x02\x02\u0962\u0960\x03" +
"\u0963\x03\x02\x02\x02\u0963\u0966\x03\x02\x02\x02\u0964\u0965\x07=\x02" + "\x02\x02\x02\u0962\u0963\x03\x02\x02\x02\u0963\u0966\x03\x02\x02\x02\u0964" +
"\x02\u0965\u0967\x05\u0130\x99\x02\u0966\u0964\x03\x02\x02\x02\u0966\u0967" + "\u0965\x07=\x02\x02\u0965\u0967\x05\u0130\x99\x02\u0966\u0964\x03\x02" +
"\x03\x02\x02\x02\u0967\u0968\x03\x02\x02\x02\u0968\u0969\x07?\x02\x02" + "\x02\x02\u0966\u0967\x03\x02\x02\x02\u0967\u0968\x03\x02\x02\x02\u0968" +
"\u0969\u09CE\x03\x02\x02\x02\u096A\u096B\x07\x1F\x02\x02\u096B\u096C\x07" + "\u0969\x07?\x02\x02\u0969\u09CE\x03\x02\x02\x02\u096A\u096B\x07\x1F\x02" +
"\xF8\x02\x02\u096C\u096D\x05\u0130\x99\x02\u096D\u096E\x07\v\x02\x02\u096E" + "\x02\u096B\u096C\x07\xF8\x02\x02\u096C\u096D\x05\u0130\x99\x02\u096D\u096E" +
"\u096F\x05\u0148\xA5\x02\u096F\u0970\x07\xF9\x02\x02\u0970\u09CE\x03\x02" + "\x07\v\x02\x02\u096E\u096F\x05\u0148\xA5\x02\u096F\u0970\x07\xF9\x02\x02" +
"\x02\x02\u0971\u0972\x07\xC5\x02\x02\u0972\u0973\x07\xF8\x02\x02\u0973" + "\u0970\u09CE\x03\x02\x02\x02\u0971\u0972\x07\xC5\x02\x02\u0972\u0973\x07" +
"\u0974\x05\u0130\x99\x02\u0974\u0975\x07\v\x02\x02\u0975\u0976\x05\u0148" + "\xF8\x02\x02\u0973\u0974\x05\u0130\x99\x02\u0974\u0975\x07\v\x02\x02\u0975" +
"\xA5\x02\u0976\u0977\x07\xF9\x02\x02\u0977\u09CE\x03\x02\x02\x02\u0978" + "\u0976\x05\u0148\xA5\x02\u0976\u0977\x07\xF9\x02\x02\u0977\u09CE\x03\x02" +
"\u0979\x07\n\x02\x02\u0979\u0982\x07\xFA\x02\x02\u097A\u097F\x05\u0130" + "\x02\x02\u0978\u0979\x07\n\x02\x02\u0979\u0982\x07\xFA\x02\x02\u097A\u097F" +
"\x99\x02\u097B\u097C\x07\xF6\x02\x02\u097C\u097E\x05\u0130\x99\x02\u097D" + "\x05\u0130\x99\x02\u097B\u097C\x07\xF6\x02\x02\u097C\u097E\x05\u0130\x99" +
"\u097B\x03\x02\x02\x02\u097E\u0981\x03\x02\x02\x02\u097F\u097D\x03\x02" + "\x02\u097D\u097B\x03\x02\x02\x02\u097E\u0981\x03\x02\x02\x02\u097F\u097D" +
"\x02\x02\u097F\u0980\x03\x02\x02\x02\u0980\u0983\x03\x02\x02\x02\u0981" + "\x03\x02\x02\x02\u097F\u0980\x03\x02\x02\x02\u0980\u0983\x03\x02\x02\x02" +
"\u097F\x03\x02\x02\x02\u0982\u097A\x03\x02\x02\x02\u0982\u0983\x03\x02" + "\u0981\u097F\x03\x02\x02\x02\u0982\u097A\x03\x02\x02\x02\u0982\u0983\x03" +
"\x02\x02\u0983\u0984\x03\x02\x02\x02\u0984\u09CE\x07\xFB\x02\x02\u0985" + "\x02\x02\x02\u0983\u0984\x03\x02\x02\x02\u0984\u09CE\x07\xFB\x02\x02\u0985" +
"\u09CE\x05\u0164\xB3\x02\u0986\u09CE\x07*\x02\x02\u0987\u098B\x07,\x02" + "\u09CE\x05\u0164\xB3\x02\u0986\u09CE\x07*\x02\x02\u0987\u098B\x07,\x02" +
"\x02\u0988\u0989\x07\xF8\x02\x02\u0989\u098A\x07\u0104\x02\x02\u098A\u098C" + "\x02\u0988\u0989\x07\xF8\x02\x02\u0989\u098A\x07\u0104\x02\x02\u098A\u098C" +
"\x07\xF9\x02\x02\u098B\u0988\x03\x02\x02\x02\u098B\u098C\x03\x02\x02\x02" + "\x07\xF9\x02\x02\u098B\u0988\x03\x02\x02\x02\u098B\u098C\x03\x02\x02\x02" +
@ -21926,13 +21926,13 @@ export class ColumnAliasesContext extends ParserRuleContext {
export class CreateColumnAliasesContext extends ParserRuleContext { export class CreateColumnAliasesContext extends ParserRuleContext {
public LPAREN(): TerminalNode { return this.getToken(ImpalaSqlParser.LPAREN, 0); } public LPAREN(): TerminalNode { return this.getToken(ImpalaSqlParser.LPAREN, 0); }
public columnNamePath(): ColumnNamePathContext[]; public columnNamePathCreate(): ColumnNamePathCreateContext[];
public columnNamePath(i: number): ColumnNamePathContext; public columnNamePathCreate(i: number): ColumnNamePathCreateContext;
public columnNamePath(i?: number): ColumnNamePathContext | ColumnNamePathContext[] { public columnNamePathCreate(i?: number): ColumnNamePathCreateContext | ColumnNamePathCreateContext[] {
if (i === undefined) { if (i === undefined) {
return this.getRuleContexts(ColumnNamePathContext); return this.getRuleContexts(ColumnNamePathCreateContext);
} else { } else {
return this.getRuleContext(i, ColumnNamePathContext); return this.getRuleContext(i, ColumnNamePathCreateContext);
} }
} }
public RPAREN(): TerminalNode { return this.getToken(ImpalaSqlParser.RPAREN, 0); } public RPAREN(): TerminalNode { return this.getToken(ImpalaSqlParser.RPAREN, 0); }

View File

@ -42,4 +42,6 @@ CREATE TABLE census_data (last_name STRING);
ALTER TABLE my_table ADD COLUMN age INT COMMENT 'Updated Age'; ALTER TABLE my_table ADD COLUMN age INT COMMENT 'Updated Age';
CREATE TABLE kudu_no_partition_by_clause (id bigint PRIMARY KEY, s STRING, b BOOLEAN ) STORED AS KUDU; CREATE TABLE kudu_no_partition_by_clause (id bigint PRIMARY KEY, s STRING, b BOOLEAN ) STORED AS KUDU;
CREATE TABLE PARTITIONS_YES PARTITIONED BY (YEAR, MONTH);

View File

@ -346,4 +346,18 @@ describe('Impala SQL Syntax Suggestion', () => {
expect(suggestion).not.toBeUndefined(); expect(suggestion).not.toBeUndefined();
expect(suggestion?.wordRanges.map((token) => token.text)).toEqual(['id']); expect(suggestion?.wordRanges.map((token) => token.text)).toEqual(['id']);
}); });
test('Create Table partitions', () => {
const pos: CaretPosition = {
lineNumber: 47,
column: 49,
};
const syntaxes = parser.getSuggestionAtCaretPosition(syntaxSql, pos)?.syntax;
const suggestion = syntaxes?.find(
(syn) => syn.syntaxContextType === SyntaxContextType.COLUMN_CREATE
);
expect(suggestion).not.toBeUndefined();
expect(suggestion?.wordRanges.map((token) => token.text)).toEqual(['YEAR']);
});
}); });