From 98c15a25dce9502fa86bab509cee14d2f972d03a Mon Sep 17 00:00:00 2001 From: Dmitriy Pleshevskiy Date: Sat, 7 Jan 2023 22:07:50 +0300 Subject: [PATCH] grammar: add unique column constraint --- grammar.js | 11 +- src/grammar.json | 54 + src/node-types.json | 24 + src/parser.c | 3215 +++++++++++++++++++--------------- test/corpus/create/table.txt | 17 +- tree-sitter-plpgsql.wasm | Bin 26594 -> 28274 bytes 6 files changed, 1878 insertions(+), 1443 deletions(-) diff --git a/grammar.js b/grammar.js index 3c4fb1b..f217d04 100644 --- a/grammar.js +++ b/grammar.js @@ -55,7 +55,13 @@ module.exports = grammar({ choice( $._not_null, $.keyword_null, - seq($.keyword_default, $._expression) + seq($.keyword_default, $._expression), + seq( + $.keyword_unique, + optional( + seq($.keyword_nulls, optional($.keyword_not), $.keyword_distinct) + ) + ) // TODO: CHECK // TODO: GENERATED // TODO: UNIQUE @@ -102,6 +108,9 @@ module.exports = grammar({ keyword_default: (_) => mkKeyword("default"), keyword_true: (_) => mkKeyword("true"), keyword_false: (_) => mkKeyword("false"), + keyword_nulls: (_) => mkKeyword("nulls"), + keyword_distinct: (_) => mkKeyword("distinct"), + keyword_unique: (_) => mkKeyword("unique"), // References: https://www.postgresql.org/docs/15/datatype.html _type: ($) => diff --git a/src/grammar.json b/src/grammar.json index f3e1ae8..fbd53ba 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -242,6 +242,48 @@ "name": "_expression" } ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "keyword_unique" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "keyword_nulls" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "keyword_not" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SYMBOL", + "name": "keyword_distinct" + } + ] + }, + { + "type": "BLANK" + } + ] + } + ] } ] } @@ -406,6 +448,18 @@ "type": "PATTERN", "value": "false|FALSE" }, + "keyword_nulls": { + "type": "PATTERN", + "value": "nulls|NULLS" + }, + "keyword_distinct": { + "type": "PATTERN", + "value": "distinct|DISTINCT" + }, + "keyword_unique": { + "type": "PATTERN", + "value": "unique|UNIQUE" + }, "_type": { "type": "CHOICE", "members": [ diff --git a/src/node-types.json b/src/node-types.json index 392ce38..22e2a4e 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -57,6 +57,10 @@ "type": "keyword_default", "named": true }, + { + "type": "keyword_distinct", + "named": true + }, { "type": "keyword_not", "named": true @@ -65,6 +69,14 @@ "type": "keyword_null", "named": true }, + { + "type": "keyword_nulls", + "named": true + }, + { + "type": "keyword_unique", + "named": true + }, { "type": "literal", "named": true @@ -560,6 +572,10 @@ "type": "keyword_default", "named": true }, + { + "type": "keyword_distinct", + "named": true + }, { "type": "keyword_exists", "named": true @@ -596,6 +612,10 @@ "type": "keyword_null", "named": true }, + { + "type": "keyword_nulls", + "named": true + }, { "type": "keyword_numeric", "named": true @@ -628,6 +648,10 @@ "type": "keyword_true", "named": true }, + { + "type": "keyword_unique", + "named": true + }, { "type": "keyword_unlogged", "named": true diff --git a/src/parser.c b/src/parser.c index 114801c..7a9e548 100644 --- a/src/parser.c +++ b/src/parser.c @@ -6,11 +6,11 @@ #endif #define LANGUAGE_VERSION 14 -#define STATE_COUNT 111 +#define STATE_COUNT 121 #define LARGE_STATE_COUNT 2 -#define SYMBOL_COUNT 102 +#define SYMBOL_COUNT 105 #define ALIAS_COUNT 0 -#define TOKEN_COUNT 60 +#define TOKEN_COUNT 63 #define EXTERNAL_TOKEN_COUNT 0 #define FIELD_COUNT 6 #define MAX_ALIAS_SEQUENCE_LENGTH 6 @@ -36,88 +36,91 @@ enum { sym_keyword_default = 17, sym_keyword_true = 18, sym_keyword_false = 19, - aux_sym_double_token1 = 20, - aux_sym_double_token2 = 21, - sym_keyword_boolean = 22, - sym_keyword_smallint = 23, - sym_keyword_integer = 24, - sym_keyword_bigint = 25, - sym_keyword_decimal = 26, - sym_keyword_numeric = 27, - sym_keyword_real = 28, - sym_keyword_smallserial = 29, - sym_keyword_serial = 30, - sym_keyword_bigserial = 31, - sym_keyword_money = 32, - sym_keyword_text = 33, - aux_sym_keyword_char_token1 = 34, - aux_sym_keyword_char_token2 = 35, - aux_sym_keyword_varchar_token1 = 36, - sym_keyword_bytea = 37, - sym_keyword_date = 38, - sym_keyword_datetime = 39, - aux_sym_keyword_time_token1 = 40, - aux_sym_keyword_timestamp_token1 = 41, - aux_sym_keyword_timestamptz_token1 = 42, - aux_sym__without_time_zone_token1 = 43, - aux_sym__with_time_zone_token1 = 44, - aux_sym__keyword_time_zone_token1 = 45, - sym_keyword_uuid = 46, - sym_keyword_xml = 47, - sym_keyword_json = 48, - sym_keyword_jsonb = 49, - anon_sym_DASH_DASH = 50, - aux_sym_line_comment_token1 = 51, - anon_sym_SLASH_STAR = 52, - aux_sym_block_comment_token1 = 53, - anon_sym_SLASH = 54, - anon_sym_SQUOTE = 55, - aux_sym__literal_string_token1 = 56, - sym__number = 57, - anon_sym_DQUOTE = 58, - aux_sym_identifier_token1 = 59, - sym_source_file = 60, - sym_statement = 61, - sym__ddl_statement = 62, - sym__create_statement = 63, - sym_create_table = 64, - sym_column_definitions = 65, - sym_column_definition = 66, - sym_column_constraint = 67, - sym_table_reference = 68, - sym__expression = 69, - sym_literal = 70, - sym__if_not_exists = 71, - sym__not_null = 72, - sym_keyword_temporary = 73, - sym__type = 74, - sym__type_numeric = 75, - sym_double = 76, - sym_decimal = 77, - sym_numeric = 78, - sym__type_character = 79, - sym_char = 80, - sym_varchar = 81, - sym__type_datetime = 82, - sym__type_geometric = 83, - sym__type_net = 84, - sym__type_bit_string = 85, - sym__type_text_search = 86, - sym_keyword_char = 87, - sym_keyword_varchar = 88, - sym_keyword_time = 89, - sym_keyword_timestamp = 90, - sym_keyword_timestamptz = 91, - sym__without_time_zone = 92, - sym__with_time_zone = 93, - sym__keyword_time_zone = 94, - sym_line_comment = 95, - sym_block_comment = 96, - sym__literal_string = 97, - sym_identifier = 98, - aux_sym_source_file_repeat1 = 99, - aux_sym_column_definitions_repeat1 = 100, - aux_sym_column_definition_repeat1 = 101, + sym_keyword_nulls = 20, + sym_keyword_distinct = 21, + sym_keyword_unique = 22, + aux_sym_double_token1 = 23, + aux_sym_double_token2 = 24, + sym_keyword_boolean = 25, + sym_keyword_smallint = 26, + sym_keyword_integer = 27, + sym_keyword_bigint = 28, + sym_keyword_decimal = 29, + sym_keyword_numeric = 30, + sym_keyword_real = 31, + sym_keyword_smallserial = 32, + sym_keyword_serial = 33, + sym_keyword_bigserial = 34, + sym_keyword_money = 35, + sym_keyword_text = 36, + aux_sym_keyword_char_token1 = 37, + aux_sym_keyword_char_token2 = 38, + aux_sym_keyword_varchar_token1 = 39, + sym_keyword_bytea = 40, + sym_keyword_date = 41, + sym_keyword_datetime = 42, + aux_sym_keyword_time_token1 = 43, + aux_sym_keyword_timestamp_token1 = 44, + aux_sym_keyword_timestamptz_token1 = 45, + aux_sym__without_time_zone_token1 = 46, + aux_sym__with_time_zone_token1 = 47, + aux_sym__keyword_time_zone_token1 = 48, + sym_keyword_uuid = 49, + sym_keyword_xml = 50, + sym_keyword_json = 51, + sym_keyword_jsonb = 52, + anon_sym_DASH_DASH = 53, + aux_sym_line_comment_token1 = 54, + anon_sym_SLASH_STAR = 55, + aux_sym_block_comment_token1 = 56, + anon_sym_SLASH = 57, + anon_sym_SQUOTE = 58, + aux_sym__literal_string_token1 = 59, + sym__number = 60, + anon_sym_DQUOTE = 61, + aux_sym_identifier_token1 = 62, + sym_source_file = 63, + sym_statement = 64, + sym__ddl_statement = 65, + sym__create_statement = 66, + sym_create_table = 67, + sym_column_definitions = 68, + sym_column_definition = 69, + sym_column_constraint = 70, + sym_table_reference = 71, + sym__expression = 72, + sym_literal = 73, + sym__if_not_exists = 74, + sym__not_null = 75, + sym_keyword_temporary = 76, + sym__type = 77, + sym__type_numeric = 78, + sym_double = 79, + sym_decimal = 80, + sym_numeric = 81, + sym__type_character = 82, + sym_char = 83, + sym_varchar = 84, + sym__type_datetime = 85, + sym__type_geometric = 86, + sym__type_net = 87, + sym__type_bit_string = 88, + sym__type_text_search = 89, + sym_keyword_char = 90, + sym_keyword_varchar = 91, + sym_keyword_time = 92, + sym_keyword_timestamp = 93, + sym_keyword_timestamptz = 94, + sym__without_time_zone = 95, + sym__with_time_zone = 96, + sym__keyword_time_zone = 97, + sym_line_comment = 98, + sym_block_comment = 99, + sym__literal_string = 100, + sym_identifier = 101, + aux_sym_source_file_repeat1 = 102, + aux_sym_column_definitions_repeat1 = 103, + aux_sym_column_definition_repeat1 = 104, }; static const char * const ts_symbol_names[] = { @@ -141,6 +144,9 @@ static const char * const ts_symbol_names[] = { [sym_keyword_default] = "keyword_default", [sym_keyword_true] = "keyword_true", [sym_keyword_false] = "keyword_false", + [sym_keyword_nulls] = "keyword_nulls", + [sym_keyword_distinct] = "keyword_distinct", + [sym_keyword_unique] = "keyword_unique", [aux_sym_double_token1] = "double_token1", [aux_sym_double_token2] = "double_token2", [sym_keyword_boolean] = "keyword_boolean", @@ -246,6 +252,9 @@ static const TSSymbol ts_symbol_map[] = { [sym_keyword_default] = sym_keyword_default, [sym_keyword_true] = sym_keyword_true, [sym_keyword_false] = sym_keyword_false, + [sym_keyword_nulls] = sym_keyword_nulls, + [sym_keyword_distinct] = sym_keyword_distinct, + [sym_keyword_unique] = sym_keyword_unique, [aux_sym_double_token1] = aux_sym_double_token1, [aux_sym_double_token2] = aux_sym_double_token2, [sym_keyword_boolean] = sym_keyword_boolean, @@ -411,6 +420,18 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_keyword_nulls] = { + .visible = true, + .named = true, + }, + [sym_keyword_distinct] = { + .visible = true, + .named = true, + }, + [sym_keyword_unique] = { + .visible = true, + .named = true, + }, [aux_sym_double_token1] = { .visible = false, .named = false, @@ -920,6 +941,16 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [108] = 108, [109] = 109, [110] = 110, + [111] = 111, + [112] = 112, + [113] = 113, + [114] = 114, + [115] = 115, + [116] = 116, + [117] = 117, + [118] = 118, + [119] = 119, + [120] = 120, }; static bool ts_lex(TSLexer *lexer, TSStateId state) { @@ -1271,126 +1302,128 @@ static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) { case 3: if (lookahead == 'A') ADVANCE(44); if (lookahead == 'E') ADVANCE(45); - if (lookahead == 'O') ADVANCE(46); + if (lookahead == 'I') ADVANCE(46); + if (lookahead == 'O') ADVANCE(47); END_STATE(); case 4: - if (lookahead == 'X') ADVANCE(47); + if (lookahead == 'X') ADVANCE(48); END_STATE(); case 5: - if (lookahead == 'A') ADVANCE(48); + if (lookahead == 'A') ADVANCE(49); END_STATE(); case 6: - if (lookahead == 'F') ADVANCE(49); - if (lookahead == 'N') ADVANCE(50); + if (lookahead == 'F') ADVANCE(50); + if (lookahead == 'N') ADVANCE(51); END_STATE(); case 7: - if (lookahead == 'S') ADVANCE(51); + if (lookahead == 'S') ADVANCE(52); END_STATE(); case 8: - if (lookahead == 'O') ADVANCE(52); + if (lookahead == 'O') ADVANCE(53); END_STATE(); case 9: - if (lookahead == 'O') ADVANCE(53); - if (lookahead == 'U') ADVANCE(54); + if (lookahead == 'O') ADVANCE(54); + if (lookahead == 'U') ADVANCE(55); END_STATE(); case 10: - if (lookahead == 'R') ADVANCE(55); + if (lookahead == 'R') ADVANCE(56); END_STATE(); case 11: - if (lookahead == 'E') ADVANCE(56); + if (lookahead == 'E') ADVANCE(57); END_STATE(); case 12: - if (lookahead == 'E') ADVANCE(57); - if (lookahead == 'M') ADVANCE(58); + if (lookahead == 'E') ADVANCE(58); + if (lookahead == 'M') ADVANCE(59); END_STATE(); case 13: - if (lookahead == 'A') ADVANCE(59); - if (lookahead == 'E') ADVANCE(60); - if (lookahead == 'I') ADVANCE(61); - if (lookahead == 'R') ADVANCE(62); + if (lookahead == 'A') ADVANCE(60); + if (lookahead == 'E') ADVANCE(61); + if (lookahead == 'I') ADVANCE(62); + if (lookahead == 'R') ADVANCE(63); END_STATE(); case 14: - if (lookahead == 'N') ADVANCE(63); - if (lookahead == 'U') ADVANCE(64); + if (lookahead == 'N') ADVANCE(64); + if (lookahead == 'U') ADVANCE(65); END_STATE(); case 15: - if (lookahead == 'A') ADVANCE(65); + if (lookahead == 'A') ADVANCE(66); END_STATE(); case 16: - if (lookahead == 'I') ADVANCE(66); + if (lookahead == 'I') ADVANCE(67); END_STATE(); case 17: - if (lookahead == 'M') ADVANCE(67); + if (lookahead == 'M') ADVANCE(68); END_STATE(); case 18: - if (lookahead == 'O') ADVANCE(68); + if (lookahead == 'O') ADVANCE(69); END_STATE(); case 19: - if (lookahead == 'i') ADVANCE(69); - if (lookahead == 'o') ADVANCE(70); - if (lookahead == 'y') ADVANCE(71); + if (lookahead == 'i') ADVANCE(70); + if (lookahead == 'o') ADVANCE(71); + if (lookahead == 'y') ADVANCE(72); END_STATE(); case 20: - if (lookahead == 'h') ADVANCE(72); - if (lookahead == 'o') ADVANCE(73); - if (lookahead == 'r') ADVANCE(74); + if (lookahead == 'h') ADVANCE(73); + if (lookahead == 'o') ADVANCE(74); + if (lookahead == 'r') ADVANCE(75); END_STATE(); case 21: - if (lookahead == 'a') ADVANCE(75); - if (lookahead == 'e') ADVANCE(76); - if (lookahead == 'o') ADVANCE(77); + if (lookahead == 'a') ADVANCE(76); + if (lookahead == 'e') ADVANCE(77); + if (lookahead == 'i') ADVANCE(78); + if (lookahead == 'o') ADVANCE(79); END_STATE(); case 22: - if (lookahead == 'x') ADVANCE(78); + if (lookahead == 'x') ADVANCE(80); END_STATE(); case 23: - if (lookahead == 'a') ADVANCE(79); + if (lookahead == 'a') ADVANCE(81); END_STATE(); case 24: - if (lookahead == 'f') ADVANCE(49); - if (lookahead == 'n') ADVANCE(80); + if (lookahead == 'f') ADVANCE(50); + if (lookahead == 'n') ADVANCE(82); END_STATE(); case 25: - if (lookahead == 's') ADVANCE(81); + if (lookahead == 's') ADVANCE(83); END_STATE(); case 26: - if (lookahead == 'o') ADVANCE(82); + if (lookahead == 'o') ADVANCE(84); END_STATE(); case 27: - if (lookahead == 'o') ADVANCE(83); - if (lookahead == 'u') ADVANCE(84); + if (lookahead == 'o') ADVANCE(85); + if (lookahead == 'u') ADVANCE(86); END_STATE(); case 28: - if (lookahead == 'r') ADVANCE(85); + if (lookahead == 'r') ADVANCE(87); END_STATE(); case 29: - if (lookahead == 'e') ADVANCE(86); + if (lookahead == 'e') ADVANCE(88); END_STATE(); case 30: - if (lookahead == 'e') ADVANCE(87); - if (lookahead == 'm') ADVANCE(88); + if (lookahead == 'e') ADVANCE(89); + if (lookahead == 'm') ADVANCE(90); END_STATE(); case 31: - if (lookahead == 'a') ADVANCE(89); - if (lookahead == 'e') ADVANCE(90); - if (lookahead == 'i') ADVANCE(91); - if (lookahead == 'r') ADVANCE(92); + if (lookahead == 'a') ADVANCE(91); + if (lookahead == 'e') ADVANCE(92); + if (lookahead == 'i') ADVANCE(93); + if (lookahead == 'r') ADVANCE(94); END_STATE(); case 32: - if (lookahead == 'n') ADVANCE(93); - if (lookahead == 'u') ADVANCE(94); + if (lookahead == 'n') ADVANCE(95); + if (lookahead == 'u') ADVANCE(96); END_STATE(); case 33: - if (lookahead == 'a') ADVANCE(95); + if (lookahead == 'a') ADVANCE(97); END_STATE(); case 34: - if (lookahead == 'i') ADVANCE(96); + if (lookahead == 'i') ADVANCE(98); END_STATE(); case 35: - if (lookahead == 'm') ADVANCE(97); + if (lookahead == 'm') ADVANCE(99); END_STATE(); case 36: - if (lookahead == 'o') ADVANCE(98); + if (lookahead == 'o') ADVANCE(100); END_STATE(); case 37: if (lookahead == '\t' || @@ -1435,1017 +1468,1087 @@ static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) { if (lookahead == 'z') ADVANCE(36); END_STATE(); case 38: - if (lookahead == 'G') ADVANCE(99); + if (lookahead == 'G') ADVANCE(101); END_STATE(); case 39: - if (lookahead == 'O') ADVANCE(100); + if (lookahead == 'O') ADVANCE(102); END_STATE(); case 40: - if (lookahead == 'T') ADVANCE(101); + if (lookahead == 'T') ADVANCE(103); END_STATE(); case 41: - if (lookahead == 'A') ADVANCE(102); + if (lookahead == 'A') ADVANCE(104); END_STATE(); case 42: - if (lookahead == 'N') ADVANCE(103); + if (lookahead == 'N') ADVANCE(105); END_STATE(); case 43: - if (lookahead == 'E') ADVANCE(104); + if (lookahead == 'E') ADVANCE(106); END_STATE(); case 44: - if (lookahead == 'T') ADVANCE(105); + if (lookahead == 'T') ADVANCE(107); END_STATE(); case 45: - if (lookahead == 'C') ADVANCE(106); - if (lookahead == 'F') ADVANCE(107); + if (lookahead == 'C') ADVANCE(108); + if (lookahead == 'F') ADVANCE(109); END_STATE(); case 46: - if (lookahead == 'U') ADVANCE(108); + if (lookahead == 'S') ADVANCE(110); END_STATE(); case 47: - if (lookahead == 'I') ADVANCE(109); + if (lookahead == 'U') ADVANCE(111); END_STATE(); case 48: - if (lookahead == 'L') ADVANCE(110); + if (lookahead == 'I') ADVANCE(112); END_STATE(); case 49: - ACCEPT_TOKEN(sym_keyword_if); + if (lookahead == 'L') ADVANCE(113); END_STATE(); case 50: - if (lookahead == 'T') ADVANCE(111); + ACCEPT_TOKEN(sym_keyword_if); END_STATE(); case 51: - if (lookahead == 'O') ADVANCE(112); - END_STATE(); - case 52: - if (lookahead == 'N') ADVANCE(113); - END_STATE(); - case 53: if (lookahead == 'T') ADVANCE(114); END_STATE(); + case 52: + if (lookahead == 'O') ADVANCE(115); + END_STATE(); + case 53: + if (lookahead == 'N') ADVANCE(116); + END_STATE(); case 54: - if (lookahead == 'L') ADVANCE(115); - if (lookahead == 'M') ADVANCE(116); + if (lookahead == 'T') ADVANCE(117); END_STATE(); case 55: - if (lookahead == 'E') ADVANCE(117); + if (lookahead == 'L') ADVANCE(118); + if (lookahead == 'M') ADVANCE(119); END_STATE(); case 56: - if (lookahead == 'A') ADVANCE(118); + if (lookahead == 'E') ADVANCE(120); END_STATE(); case 57: - if (lookahead == 'R') ADVANCE(119); + if (lookahead == 'A') ADVANCE(121); END_STATE(); case 58: - if (lookahead == 'A') ADVANCE(120); + if (lookahead == 'R') ADVANCE(122); END_STATE(); case 59: - if (lookahead == 'B') ADVANCE(121); + if (lookahead == 'A') ADVANCE(123); END_STATE(); case 60: - if (lookahead == 'M') ADVANCE(122); - if (lookahead == 'X') ADVANCE(123); + if (lookahead == 'B') ADVANCE(124); END_STATE(); case 61: - if (lookahead == 'M') ADVANCE(124); + if (lookahead == 'M') ADVANCE(125); + if (lookahead == 'X') ADVANCE(126); END_STATE(); case 62: - if (lookahead == 'U') ADVANCE(125); + if (lookahead == 'M') ADVANCE(127); END_STATE(); case 63: - if (lookahead == 'L') ADVANCE(126); + if (lookahead == 'U') ADVANCE(128); END_STATE(); case 64: - if (lookahead == 'I') ADVANCE(127); - END_STATE(); - case 65: - if (lookahead == 'R') ADVANCE(128); - END_STATE(); - case 66: - if (lookahead == 'T') ADVANCE(129); - END_STATE(); - case 67: + if (lookahead == 'I') ADVANCE(129); if (lookahead == 'L') ADVANCE(130); END_STATE(); + case 65: + if (lookahead == 'I') ADVANCE(131); + END_STATE(); + case 66: + if (lookahead == 'R') ADVANCE(132); + END_STATE(); + case 67: + if (lookahead == 'T') ADVANCE(133); + END_STATE(); case 68: - if (lookahead == 'N') ADVANCE(131); + if (lookahead == 'L') ADVANCE(134); END_STATE(); case 69: - if (lookahead == 'g') ADVANCE(132); + if (lookahead == 'N') ADVANCE(135); END_STATE(); case 70: - if (lookahead == 'o') ADVANCE(133); + if (lookahead == 'g') ADVANCE(136); END_STATE(); case 71: - if (lookahead == 't') ADVANCE(134); + if (lookahead == 'o') ADVANCE(137); END_STATE(); case 72: - if (lookahead == 'a') ADVANCE(135); - END_STATE(); - case 73: - if (lookahead == 'n') ADVANCE(136); - END_STATE(); - case 74: - if (lookahead == 'e') ADVANCE(137); - END_STATE(); - case 75: if (lookahead == 't') ADVANCE(138); END_STATE(); + case 73: + if (lookahead == 'a') ADVANCE(139); + END_STATE(); + case 74: + if (lookahead == 'n') ADVANCE(140); + END_STATE(); + case 75: + if (lookahead == 'e') ADVANCE(141); + END_STATE(); case 76: - if (lookahead == 'c') ADVANCE(139); - if (lookahead == 'f') ADVANCE(140); + if (lookahead == 't') ADVANCE(142); END_STATE(); case 77: - if (lookahead == 'u') ADVANCE(141); + if (lookahead == 'c') ADVANCE(143); + if (lookahead == 'f') ADVANCE(144); END_STATE(); case 78: - if (lookahead == 'i') ADVANCE(142); + if (lookahead == 's') ADVANCE(145); END_STATE(); case 79: - if (lookahead == 'l') ADVANCE(143); + if (lookahead == 'u') ADVANCE(146); END_STATE(); case 80: - if (lookahead == 't') ADVANCE(144); + if (lookahead == 'i') ADVANCE(147); END_STATE(); case 81: - if (lookahead == 'o') ADVANCE(145); + if (lookahead == 'l') ADVANCE(148); END_STATE(); case 82: - if (lookahead == 'n') ADVANCE(146); + if (lookahead == 't') ADVANCE(149); END_STATE(); case 83: - if (lookahead == 't') ADVANCE(114); + if (lookahead == 'o') ADVANCE(150); END_STATE(); case 84: - if (lookahead == 'l') ADVANCE(147); - if (lookahead == 'm') ADVANCE(148); + if (lookahead == 'n') ADVANCE(151); END_STATE(); case 85: - if (lookahead == 'e') ADVANCE(149); + if (lookahead == 't') ADVANCE(117); END_STATE(); case 86: - if (lookahead == 'a') ADVANCE(150); + if (lookahead == 'l') ADVANCE(152); + if (lookahead == 'm') ADVANCE(153); END_STATE(); case 87: - if (lookahead == 'r') ADVANCE(151); + if (lookahead == 'e') ADVANCE(154); END_STATE(); case 88: - if (lookahead == 'a') ADVANCE(152); + if (lookahead == 'a') ADVANCE(155); END_STATE(); case 89: - if (lookahead == 'b') ADVANCE(153); + if (lookahead == 'r') ADVANCE(156); END_STATE(); case 90: - if (lookahead == 'm') ADVANCE(154); - if (lookahead == 'x') ADVANCE(155); + if (lookahead == 'a') ADVANCE(157); END_STATE(); case 91: - if (lookahead == 'm') ADVANCE(156); + if (lookahead == 'b') ADVANCE(158); END_STATE(); case 92: - if (lookahead == 'u') ADVANCE(157); + if (lookahead == 'm') ADVANCE(159); + if (lookahead == 'x') ADVANCE(160); END_STATE(); case 93: - if (lookahead == 'l') ADVANCE(158); + if (lookahead == 'm') ADVANCE(161); END_STATE(); case 94: - if (lookahead == 'i') ADVANCE(159); + if (lookahead == 'u') ADVANCE(162); END_STATE(); case 95: - if (lookahead == 'r') ADVANCE(160); + if (lookahead == 'i') ADVANCE(163); + if (lookahead == 'l') ADVANCE(164); END_STATE(); case 96: - if (lookahead == 't') ADVANCE(161); + if (lookahead == 'i') ADVANCE(165); END_STATE(); case 97: - if (lookahead == 'l') ADVANCE(130); + if (lookahead == 'r') ADVANCE(166); END_STATE(); case 98: - if (lookahead == 'n') ADVANCE(162); + if (lookahead == 't') ADVANCE(167); END_STATE(); case 99: - if (lookahead == 'I') ADVANCE(163); - if (lookahead == 'S') ADVANCE(164); + if (lookahead == 'l') ADVANCE(134); END_STATE(); case 100: - if (lookahead == 'L') ADVANCE(165); + if (lookahead == 'n') ADVANCE(168); END_STATE(); case 101: - if (lookahead == 'E') ADVANCE(166); + if (lookahead == 'I') ADVANCE(169); + if (lookahead == 'S') ADVANCE(170); END_STATE(); case 102: - if (lookahead == 'R') ADVANCE(167); + if (lookahead == 'L') ADVANCE(171); END_STATE(); case 103: - if (lookahead == 'S') ADVANCE(168); + if (lookahead == 'E') ADVANCE(172); END_STATE(); case 104: - if (lookahead == 'A') ADVANCE(169); + if (lookahead == 'R') ADVANCE(173); END_STATE(); case 105: - if (lookahead == 'E') ADVANCE(170); - END_STATE(); - case 106: - if (lookahead == 'I') ADVANCE(171); - END_STATE(); - case 107: - if (lookahead == 'A') ADVANCE(172); - END_STATE(); - case 108: - if (lookahead == 'B') ADVANCE(173); - END_STATE(); - case 109: if (lookahead == 'S') ADVANCE(174); END_STATE(); - case 110: - if (lookahead == 'S') ADVANCE(175); + case 106: + if (lookahead == 'A') ADVANCE(175); END_STATE(); - case 111: + case 107: if (lookahead == 'E') ADVANCE(176); END_STATE(); + case 108: + if (lookahead == 'I') ADVANCE(177); + END_STATE(); + case 109: + if (lookahead == 'A') ADVANCE(178); + END_STATE(); + case 110: + if (lookahead == 'T') ADVANCE(179); + END_STATE(); + case 111: + if (lookahead == 'B') ADVANCE(180); + END_STATE(); case 112: - if (lookahead == 'N') ADVANCE(177); + if (lookahead == 'S') ADVANCE(181); END_STATE(); case 113: - if (lookahead == 'E') ADVANCE(178); + if (lookahead == 'S') ADVANCE(182); END_STATE(); case 114: - ACCEPT_TOKEN(sym_keyword_not); + if (lookahead == 'E') ADVANCE(183); END_STATE(); case 115: - if (lookahead == 'L') ADVANCE(179); + if (lookahead == 'N') ADVANCE(184); END_STATE(); case 116: - if (lookahead == 'E') ADVANCE(180); + if (lookahead == 'E') ADVANCE(185); END_STATE(); case 117: - if (lookahead == 'C') ADVANCE(181); + ACCEPT_TOKEN(sym_keyword_not); END_STATE(); case 118: - if (lookahead == 'L') ADVANCE(182); + if (lookahead == 'L') ADVANCE(186); END_STATE(); case 119: - if (lookahead == 'I') ADVANCE(183); + if (lookahead == 'E') ADVANCE(187); END_STATE(); case 120: - if (lookahead == 'L') ADVANCE(184); + if (lookahead == 'C') ADVANCE(188); END_STATE(); case 121: - if (lookahead == 'L') ADVANCE(185); + if (lookahead == 'L') ADVANCE(189); END_STATE(); case 122: - if (lookahead == 'P') ADVANCE(186); + if (lookahead == 'I') ADVANCE(190); END_STATE(); case 123: - if (lookahead == 'T') ADVANCE(187); + if (lookahead == 'L') ADVANCE(191); END_STATE(); case 124: - if (lookahead == 'E') ADVANCE(188); + if (lookahead == 'L') ADVANCE(192); END_STATE(); case 125: - if (lookahead == 'E') ADVANCE(189); + if (lookahead == 'P') ADVANCE(193); END_STATE(); case 126: - if (lookahead == 'O') ADVANCE(190); + if (lookahead == 'T') ADVANCE(194); END_STATE(); case 127: - if (lookahead == 'D') ADVANCE(191); + if (lookahead == 'E') ADVANCE(195); END_STATE(); case 128: - if (lookahead == 'C') ADVANCE(192); + if (lookahead == 'E') ADVANCE(196); END_STATE(); case 129: - if (lookahead == 'H') ADVANCE(193); + if (lookahead == 'Q') ADVANCE(197); END_STATE(); case 130: - ACCEPT_TOKEN(sym_keyword_xml); + if (lookahead == 'O') ADVANCE(198); END_STATE(); case 131: - if (lookahead == 'E') ADVANCE(194); + if (lookahead == 'D') ADVANCE(199); END_STATE(); case 132: - if (lookahead == 'i') ADVANCE(195); - if (lookahead == 's') ADVANCE(196); + if (lookahead == 'C') ADVANCE(200); END_STATE(); case 133: - if (lookahead == 'l') ADVANCE(197); + if (lookahead == 'H') ADVANCE(201); END_STATE(); case 134: - if (lookahead == 'e') ADVANCE(198); + ACCEPT_TOKEN(sym_keyword_xml); END_STATE(); case 135: - if (lookahead == 'r') ADVANCE(199); + if (lookahead == 'E') ADVANCE(202); END_STATE(); case 136: - if (lookahead == 's') ADVANCE(200); + if (lookahead == 'i') ADVANCE(203); + if (lookahead == 's') ADVANCE(204); END_STATE(); case 137: - if (lookahead == 'a') ADVANCE(201); + if (lookahead == 'l') ADVANCE(205); END_STATE(); case 138: - if (lookahead == 'e') ADVANCE(202); + if (lookahead == 'e') ADVANCE(206); END_STATE(); case 139: - if (lookahead == 'i') ADVANCE(203); + if (lookahead == 'r') ADVANCE(207); END_STATE(); case 140: - if (lookahead == 'a') ADVANCE(204); + if (lookahead == 's') ADVANCE(208); END_STATE(); case 141: - if (lookahead == 'b') ADVANCE(205); + if (lookahead == 'a') ADVANCE(209); END_STATE(); case 142: - if (lookahead == 's') ADVANCE(206); - END_STATE(); - case 143: - if (lookahead == 's') ADVANCE(207); - END_STATE(); - case 144: - if (lookahead == 'e') ADVANCE(208); - END_STATE(); - case 145: - if (lookahead == 'n') ADVANCE(209); - END_STATE(); - case 146: if (lookahead == 'e') ADVANCE(210); END_STATE(); + case 143: + if (lookahead == 'i') ADVANCE(211); + END_STATE(); + case 144: + if (lookahead == 'a') ADVANCE(212); + END_STATE(); + case 145: + if (lookahead == 't') ADVANCE(213); + END_STATE(); + case 146: + if (lookahead == 'b') ADVANCE(214); + END_STATE(); case 147: - if (lookahead == 'l') ADVANCE(179); + if (lookahead == 's') ADVANCE(215); END_STATE(); case 148: - if (lookahead == 'e') ADVANCE(211); + if (lookahead == 's') ADVANCE(216); END_STATE(); case 149: - if (lookahead == 'c') ADVANCE(212); - END_STATE(); - case 150: - if (lookahead == 'l') ADVANCE(182); - END_STATE(); - case 151: - if (lookahead == 'i') ADVANCE(213); - END_STATE(); - case 152: - if (lookahead == 'l') ADVANCE(214); - END_STATE(); - case 153: - if (lookahead == 'l') ADVANCE(215); - END_STATE(); - case 154: - if (lookahead == 'p') ADVANCE(216); - END_STATE(); - case 155: - if (lookahead == 't') ADVANCE(187); - END_STATE(); - case 156: if (lookahead == 'e') ADVANCE(217); END_STATE(); + case 150: + if (lookahead == 'n') ADVANCE(218); + END_STATE(); + case 151: + if (lookahead == 'e') ADVANCE(219); + END_STATE(); + case 152: + if (lookahead == 'l') ADVANCE(220); + END_STATE(); + case 153: + if (lookahead == 'e') ADVANCE(221); + END_STATE(); + case 154: + if (lookahead == 'c') ADVANCE(222); + END_STATE(); + case 155: + if (lookahead == 'l') ADVANCE(189); + END_STATE(); + case 156: + if (lookahead == 'i') ADVANCE(223); + END_STATE(); case 157: - if (lookahead == 'e') ADVANCE(189); + if (lookahead == 'l') ADVANCE(224); END_STATE(); case 158: - if (lookahead == 'o') ADVANCE(218); + if (lookahead == 'l') ADVANCE(225); END_STATE(); case 159: - if (lookahead == 'd') ADVANCE(191); + if (lookahead == 'p') ADVANCE(226); END_STATE(); case 160: - if (lookahead == 'c') ADVANCE(219); + if (lookahead == 't') ADVANCE(194); END_STATE(); case 161: - if (lookahead == 'h') ADVANCE(220); + if (lookahead == 'e') ADVANCE(227); END_STATE(); case 162: - if (lookahead == 'e') ADVANCE(194); + if (lookahead == 'e') ADVANCE(196); END_STATE(); case 163: - if (lookahead == 'N') ADVANCE(221); + if (lookahead == 'q') ADVANCE(228); END_STATE(); case 164: - if (lookahead == 'E') ADVANCE(222); + if (lookahead == 'o') ADVANCE(229); END_STATE(); case 165: - if (lookahead == 'E') ADVANCE(223); + if (lookahead == 'd') ADVANCE(199); END_STATE(); case 166: - if (lookahead == 'A') ADVANCE(224); + if (lookahead == 'c') ADVANCE(230); END_STATE(); case 167: - ACCEPT_TOKEN(aux_sym_keyword_char_token2); - if (lookahead == 'A') ADVANCE(225); + if (lookahead == 'h') ADVANCE(231); END_STATE(); case 168: - if (lookahead == 'T') ADVANCE(226); + if (lookahead == 'e') ADVANCE(202); END_STATE(); case 169: - if (lookahead == 'T') ADVANCE(227); + if (lookahead == 'N') ADVANCE(232); END_STATE(); case 170: - ACCEPT_TOKEN(sym_keyword_date); - if (lookahead == 'T') ADVANCE(228); - END_STATE(); - case 171: - if (lookahead == 'M') ADVANCE(229); - END_STATE(); - case 172: - if (lookahead == 'U') ADVANCE(230); - END_STATE(); - case 173: - if (lookahead == 'L') ADVANCE(231); - END_STATE(); - case 174: - if (lookahead == 'T') ADVANCE(232); - END_STATE(); - case 175: if (lookahead == 'E') ADVANCE(233); END_STATE(); + case 171: + if (lookahead == 'E') ADVANCE(234); + END_STATE(); + case 172: + if (lookahead == 'A') ADVANCE(235); + END_STATE(); + case 173: + ACCEPT_TOKEN(aux_sym_keyword_char_token2); + if (lookahead == 'A') ADVANCE(236); + END_STATE(); + case 174: + if (lookahead == 'T') ADVANCE(237); + END_STATE(); + case 175: + if (lookahead == 'T') ADVANCE(238); + END_STATE(); case 176: - if (lookahead == 'G') ADVANCE(234); + ACCEPT_TOKEN(sym_keyword_date); + if (lookahead == 'T') ADVANCE(239); END_STATE(); case 177: - ACCEPT_TOKEN(sym_keyword_json); - if (lookahead == 'B') ADVANCE(235); + if (lookahead == 'M') ADVANCE(240); END_STATE(); case 178: - if (lookahead == 'Y') ADVANCE(236); + if (lookahead == 'U') ADVANCE(241); END_STATE(); case 179: - ACCEPT_TOKEN(sym_keyword_null); + if (lookahead == 'I') ADVANCE(242); END_STATE(); case 180: - if (lookahead == 'R') ADVANCE(237); + if (lookahead == 'L') ADVANCE(243); END_STATE(); case 181: - if (lookahead == 'I') ADVANCE(238); + if (lookahead == 'T') ADVANCE(244); END_STATE(); case 182: - ACCEPT_TOKEN(sym_keyword_real); + if (lookahead == 'E') ADVANCE(245); END_STATE(); case 183: - if (lookahead == 'A') ADVANCE(239); + if (lookahead == 'G') ADVANCE(246); END_STATE(); case 184: - if (lookahead == 'L') ADVANCE(240); + ACCEPT_TOKEN(sym_keyword_json); + if (lookahead == 'B') ADVANCE(247); END_STATE(); case 185: - if (lookahead == 'E') ADVANCE(241); + if (lookahead == 'Y') ADVANCE(248); END_STATE(); case 186: - ACCEPT_TOKEN(aux_sym_keyword_temporary_token2); - if (lookahead == 'O') ADVANCE(242); + ACCEPT_TOKEN(sym_keyword_null); + if (lookahead == 'S') ADVANCE(249); END_STATE(); case 187: - ACCEPT_TOKEN(sym_keyword_text); + if (lookahead == 'R') ADVANCE(250); END_STATE(); case 188: - ACCEPT_TOKEN(aux_sym_keyword_time_token1); - if (lookahead == 'S') ADVANCE(243); + if (lookahead == 'I') ADVANCE(251); END_STATE(); case 189: - ACCEPT_TOKEN(sym_keyword_true); + ACCEPT_TOKEN(sym_keyword_real); END_STATE(); case 190: - if (lookahead == 'G') ADVANCE(244); + if (lookahead == 'A') ADVANCE(252); END_STATE(); case 191: - ACCEPT_TOKEN(sym_keyword_uuid); + if (lookahead == 'L') ADVANCE(253); END_STATE(); case 192: - if (lookahead == 'H') ADVANCE(245); + if (lookahead == 'E') ADVANCE(254); END_STATE(); case 193: - ACCEPT_TOKEN(aux_sym__with_time_zone_token1); - if (lookahead == 'O') ADVANCE(246); + ACCEPT_TOKEN(aux_sym_keyword_temporary_token2); + if (lookahead == 'O') ADVANCE(255); END_STATE(); case 194: - ACCEPT_TOKEN(aux_sym__keyword_time_zone_token1); + ACCEPT_TOKEN(sym_keyword_text); END_STATE(); case 195: - if (lookahead == 'n') ADVANCE(247); + ACCEPT_TOKEN(aux_sym_keyword_time_token1); + if (lookahead == 'S') ADVANCE(256); END_STATE(); case 196: - if (lookahead == 'e') ADVANCE(248); + ACCEPT_TOKEN(sym_keyword_true); END_STATE(); case 197: - if (lookahead == 'e') ADVANCE(249); + if (lookahead == 'U') ADVANCE(257); END_STATE(); case 198: - if (lookahead == 'a') ADVANCE(224); + if (lookahead == 'G') ADVANCE(258); END_STATE(); case 199: - ACCEPT_TOKEN(aux_sym_keyword_char_token2); - if (lookahead == 'a') ADVANCE(250); + ACCEPT_TOKEN(sym_keyword_uuid); END_STATE(); case 200: - if (lookahead == 't') ADVANCE(251); + if (lookahead == 'H') ADVANCE(259); END_STATE(); case 201: - if (lookahead == 't') ADVANCE(252); + ACCEPT_TOKEN(aux_sym__with_time_zone_token1); + if (lookahead == 'O') ADVANCE(260); END_STATE(); case 202: - ACCEPT_TOKEN(sym_keyword_date); - if (lookahead == 't') ADVANCE(253); + ACCEPT_TOKEN(aux_sym__keyword_time_zone_token1); END_STATE(); case 203: - if (lookahead == 'm') ADVANCE(254); + if (lookahead == 'n') ADVANCE(261); END_STATE(); case 204: - if (lookahead == 'u') ADVANCE(255); + if (lookahead == 'e') ADVANCE(262); END_STATE(); case 205: - if (lookahead == 'l') ADVANCE(256); + if (lookahead == 'e') ADVANCE(263); END_STATE(); case 206: - if (lookahead == 't') ADVANCE(257); + if (lookahead == 'a') ADVANCE(235); END_STATE(); case 207: - if (lookahead == 'e') ADVANCE(233); + ACCEPT_TOKEN(aux_sym_keyword_char_token2); + if (lookahead == 'a') ADVANCE(264); END_STATE(); case 208: - if (lookahead == 'g') ADVANCE(258); + if (lookahead == 't') ADVANCE(265); END_STATE(); case 209: - ACCEPT_TOKEN(sym_keyword_json); - if (lookahead == 'b') ADVANCE(235); + if (lookahead == 't') ADVANCE(266); END_STATE(); case 210: - if (lookahead == 'y') ADVANCE(236); + ACCEPT_TOKEN(sym_keyword_date); + if (lookahead == 't') ADVANCE(267); END_STATE(); case 211: - if (lookahead == 'r') ADVANCE(259); + if (lookahead == 'm') ADVANCE(268); END_STATE(); case 212: - if (lookahead == 'i') ADVANCE(260); + if (lookahead == 'u') ADVANCE(269); END_STATE(); case 213: - if (lookahead == 'a') ADVANCE(261); + if (lookahead == 'i') ADVANCE(270); END_STATE(); case 214: - if (lookahead == 'l') ADVANCE(262); + if (lookahead == 'l') ADVANCE(271); END_STATE(); case 215: - if (lookahead == 'e') ADVANCE(241); + if (lookahead == 't') ADVANCE(272); END_STATE(); case 216: - ACCEPT_TOKEN(aux_sym_keyword_temporary_token2); - if (lookahead == 'o') ADVANCE(263); + if (lookahead == 'e') ADVANCE(245); END_STATE(); case 217: - ACCEPT_TOKEN(aux_sym_keyword_time_token1); - if (lookahead == 's') ADVANCE(264); + if (lookahead == 'g') ADVANCE(273); END_STATE(); case 218: - if (lookahead == 'g') ADVANCE(265); + ACCEPT_TOKEN(sym_keyword_json); + if (lookahead == 'b') ADVANCE(247); END_STATE(); case 219: - if (lookahead == 'h') ADVANCE(266); + if (lookahead == 'y') ADVANCE(248); END_STATE(); case 220: - ACCEPT_TOKEN(aux_sym__with_time_zone_token1); - if (lookahead == 'o') ADVANCE(267); + ACCEPT_TOKEN(sym_keyword_null); + if (lookahead == 's') ADVANCE(249); END_STATE(); case 221: - if (lookahead == 'T') ADVANCE(268); + if (lookahead == 'r') ADVANCE(274); END_STATE(); case 222: - if (lookahead == 'R') ADVANCE(269); + if (lookahead == 'i') ADVANCE(275); END_STATE(); case 223: - if (lookahead == 'A') ADVANCE(270); + if (lookahead == 'a') ADVANCE(276); END_STATE(); case 224: - ACCEPT_TOKEN(sym_keyword_bytea); + if (lookahead == 'l') ADVANCE(277); END_STATE(); case 225: - if (lookahead == 'C') ADVANCE(271); + if (lookahead == 'e') ADVANCE(254); END_STATE(); case 226: - if (lookahead == 'R') ADVANCE(272); + ACCEPT_TOKEN(aux_sym_keyword_temporary_token2); + if (lookahead == 'o') ADVANCE(278); END_STATE(); case 227: - if (lookahead == 'E') ADVANCE(273); + ACCEPT_TOKEN(aux_sym_keyword_time_token1); + if (lookahead == 's') ADVANCE(279); END_STATE(); case 228: - if (lookahead == 'I') ADVANCE(274); + if (lookahead == 'u') ADVANCE(280); END_STATE(); case 229: - if (lookahead == 'A') ADVANCE(275); + if (lookahead == 'g') ADVANCE(281); END_STATE(); case 230: - if (lookahead == 'L') ADVANCE(276); + if (lookahead == 'h') ADVANCE(282); END_STATE(); case 231: - if (lookahead == 'E') ADVANCE(277); + ACCEPT_TOKEN(aux_sym__with_time_zone_token1); + if (lookahead == 'o') ADVANCE(283); END_STATE(); case 232: - if (lookahead == 'S') ADVANCE(278); + if (lookahead == 'T') ADVANCE(284); END_STATE(); case 233: - ACCEPT_TOKEN(sym_keyword_false); - END_STATE(); - case 234: - if (lookahead == 'E') ADVANCE(279); - END_STATE(); - case 235: - ACCEPT_TOKEN(sym_keyword_jsonb); - END_STATE(); - case 236: - ACCEPT_TOKEN(sym_keyword_money); - END_STATE(); - case 237: - if (lookahead == 'I') ADVANCE(280); - END_STATE(); - case 238: - if (lookahead == 'S') ADVANCE(281); - END_STATE(); - case 239: - if (lookahead == 'L') ADVANCE(282); - END_STATE(); - case 240: - if (lookahead == 'I') ADVANCE(283); - if (lookahead == 'S') ADVANCE(284); - END_STATE(); - case 241: - ACCEPT_TOKEN(sym_keyword_table); - END_STATE(); - case 242: if (lookahead == 'R') ADVANCE(285); END_STATE(); + case 234: + if (lookahead == 'A') ADVANCE(286); + END_STATE(); + case 235: + ACCEPT_TOKEN(sym_keyword_bytea); + END_STATE(); + case 236: + if (lookahead == 'C') ADVANCE(287); + END_STATE(); + case 237: + if (lookahead == 'R') ADVANCE(288); + END_STATE(); + case 238: + if (lookahead == 'E') ADVANCE(289); + END_STATE(); + case 239: + if (lookahead == 'I') ADVANCE(290); + END_STATE(); + case 240: + if (lookahead == 'A') ADVANCE(291); + END_STATE(); + case 241: + if (lookahead == 'L') ADVANCE(292); + END_STATE(); + case 242: + if (lookahead == 'N') ADVANCE(293); + END_STATE(); case 243: - if (lookahead == 'T') ADVANCE(286); + if (lookahead == 'E') ADVANCE(294); END_STATE(); case 244: - if (lookahead == 'G') ADVANCE(287); + if (lookahead == 'S') ADVANCE(295); END_STATE(); case 245: - if (lookahead == 'A') ADVANCE(288); + ACCEPT_TOKEN(sym_keyword_false); END_STATE(); case 246: - if (lookahead == 'U') ADVANCE(289); + if (lookahead == 'E') ADVANCE(296); END_STATE(); case 247: - if (lookahead == 't') ADVANCE(268); + ACCEPT_TOKEN(sym_keyword_jsonb); END_STATE(); case 248: - if (lookahead == 'r') ADVANCE(290); + ACCEPT_TOKEN(sym_keyword_money); END_STATE(); case 249: - if (lookahead == 'a') ADVANCE(291); + ACCEPT_TOKEN(sym_keyword_nulls); END_STATE(); case 250: - if (lookahead == 'c') ADVANCE(292); + if (lookahead == 'I') ADVANCE(297); END_STATE(); case 251: - if (lookahead == 'r') ADVANCE(293); + if (lookahead == 'S') ADVANCE(298); END_STATE(); case 252: - if (lookahead == 'e') ADVANCE(273); + if (lookahead == 'L') ADVANCE(299); END_STATE(); case 253: - if (lookahead == 'i') ADVANCE(294); + if (lookahead == 'I') ADVANCE(300); + if (lookahead == 'S') ADVANCE(301); END_STATE(); case 254: - if (lookahead == 'a') ADVANCE(295); + ACCEPT_TOKEN(sym_keyword_table); END_STATE(); case 255: - if (lookahead == 'l') ADVANCE(296); + if (lookahead == 'R') ADVANCE(302); END_STATE(); case 256: - if (lookahead == 'e') ADVANCE(277); + if (lookahead == 'T') ADVANCE(303); END_STATE(); case 257: - if (lookahead == 's') ADVANCE(278); + if (lookahead == 'E') ADVANCE(304); END_STATE(); case 258: - if (lookahead == 'e') ADVANCE(297); + if (lookahead == 'G') ADVANCE(305); END_STATE(); case 259: - if (lookahead == 'i') ADVANCE(298); + if (lookahead == 'A') ADVANCE(306); END_STATE(); case 260: - if (lookahead == 's') ADVANCE(299); + if (lookahead == 'U') ADVANCE(307); END_STATE(); case 261: - if (lookahead == 'l') ADVANCE(282); + if (lookahead == 't') ADVANCE(284); END_STATE(); case 262: - if (lookahead == 'i') ADVANCE(300); - if (lookahead == 's') ADVANCE(301); + if (lookahead == 'r') ADVANCE(308); END_STATE(); case 263: - if (lookahead == 'r') ADVANCE(302); + if (lookahead == 'a') ADVANCE(309); END_STATE(); case 264: - if (lookahead == 't') ADVANCE(303); + if (lookahead == 'c') ADVANCE(310); END_STATE(); case 265: - if (lookahead == 'g') ADVANCE(304); + if (lookahead == 'r') ADVANCE(311); END_STATE(); case 266: - if (lookahead == 'a') ADVANCE(305); + if (lookahead == 'e') ADVANCE(289); END_STATE(); case 267: - if (lookahead == 'u') ADVANCE(306); + if (lookahead == 'i') ADVANCE(312); END_STATE(); case 268: - ACCEPT_TOKEN(sym_keyword_bigint); + if (lookahead == 'a') ADVANCE(313); END_STATE(); case 269: - if (lookahead == 'I') ADVANCE(307); + if (lookahead == 'l') ADVANCE(314); END_STATE(); case 270: - if (lookahead == 'N') ADVANCE(308); + if (lookahead == 'n') ADVANCE(315); END_STATE(); case 271: - if (lookahead == 'T') ADVANCE(309); + if (lookahead == 'e') ADVANCE(294); END_STATE(); case 272: - if (lookahead == 'A') ADVANCE(310); + if (lookahead == 's') ADVANCE(295); END_STATE(); case 273: - ACCEPT_TOKEN(sym_keyword_create); + if (lookahead == 'e') ADVANCE(316); END_STATE(); case 274: - if (lookahead == 'M') ADVANCE(311); + if (lookahead == 'i') ADVANCE(317); END_STATE(); case 275: - if (lookahead == 'L') ADVANCE(312); + if (lookahead == 's') ADVANCE(318); END_STATE(); case 276: - if (lookahead == 'T') ADVANCE(313); + if (lookahead == 'l') ADVANCE(299); END_STATE(); case 277: - ACCEPT_TOKEN(aux_sym_double_token1); + if (lookahead == 'i') ADVANCE(319); + if (lookahead == 's') ADVANCE(320); END_STATE(); case 278: - ACCEPT_TOKEN(sym_keyword_exists); + if (lookahead == 'r') ADVANCE(321); END_STATE(); case 279: - if (lookahead == 'R') ADVANCE(314); + if (lookahead == 't') ADVANCE(322); END_STATE(); case 280: - if (lookahead == 'C') ADVANCE(315); + if (lookahead == 'e') ADVANCE(304); END_STATE(); case 281: - if (lookahead == 'I') ADVANCE(316); + if (lookahead == 'g') ADVANCE(323); END_STATE(); case 282: - ACCEPT_TOKEN(sym_keyword_serial); + if (lookahead == 'a') ADVANCE(324); END_STATE(); case 283: - if (lookahead == 'N') ADVANCE(317); + if (lookahead == 'u') ADVANCE(325); END_STATE(); case 284: - if (lookahead == 'E') ADVANCE(318); + ACCEPT_TOKEN(sym_keyword_bigint); END_STATE(); case 285: - if (lookahead == 'A') ADVANCE(319); + if (lookahead == 'I') ADVANCE(326); END_STATE(); case 286: - if (lookahead == 'A') ADVANCE(320); + if (lookahead == 'N') ADVANCE(327); END_STATE(); case 287: - if (lookahead == 'E') ADVANCE(321); + if (lookahead == 'T') ADVANCE(328); END_STATE(); case 288: - if (lookahead == 'R') ADVANCE(322); + if (lookahead == 'A') ADVANCE(329); END_STATE(); case 289: - if (lookahead == 'T') ADVANCE(323); + ACCEPT_TOKEN(sym_keyword_create); END_STATE(); case 290: - if (lookahead == 'i') ADVANCE(324); + if (lookahead == 'M') ADVANCE(330); END_STATE(); case 291: - if (lookahead == 'n') ADVANCE(308); + if (lookahead == 'L') ADVANCE(331); END_STATE(); case 292: - if (lookahead == 't') ADVANCE(325); + if (lookahead == 'T') ADVANCE(332); END_STATE(); case 293: - if (lookahead == 'a') ADVANCE(326); + if (lookahead == 'C') ADVANCE(333); END_STATE(); case 294: - if (lookahead == 'm') ADVANCE(327); + ACCEPT_TOKEN(aux_sym_double_token1); END_STATE(); case 295: - if (lookahead == 'l') ADVANCE(312); + ACCEPT_TOKEN(sym_keyword_exists); END_STATE(); case 296: - if (lookahead == 't') ADVANCE(313); + if (lookahead == 'R') ADVANCE(334); END_STATE(); case 297: - if (lookahead == 'r') ADVANCE(314); + if (lookahead == 'C') ADVANCE(335); END_STATE(); case 298: - if (lookahead == 'c') ADVANCE(315); - END_STATE(); - case 299: - if (lookahead == 'i') ADVANCE(328); - END_STATE(); - case 300: - if (lookahead == 'n') ADVANCE(329); - END_STATE(); - case 301: - if (lookahead == 'e') ADVANCE(330); - END_STATE(); - case 302: - if (lookahead == 'a') ADVANCE(331); - END_STATE(); - case 303: - if (lookahead == 'a') ADVANCE(332); - END_STATE(); - case 304: - if (lookahead == 'e') ADVANCE(333); - END_STATE(); - case 305: - if (lookahead == 'r') ADVANCE(322); - END_STATE(); - case 306: - if (lookahead == 't') ADVANCE(323); - END_STATE(); - case 307: - if (lookahead == 'A') ADVANCE(334); - END_STATE(); - case 308: - ACCEPT_TOKEN(sym_keyword_boolean); - END_STATE(); - case 309: - if (lookahead == 'E') ADVANCE(335); - END_STATE(); - case 310: if (lookahead == 'I') ADVANCE(336); END_STATE(); + case 299: + ACCEPT_TOKEN(sym_keyword_serial); + END_STATE(); + case 300: + if (lookahead == 'N') ADVANCE(337); + END_STATE(); + case 301: + if (lookahead == 'E') ADVANCE(338); + END_STATE(); + case 302: + if (lookahead == 'A') ADVANCE(339); + END_STATE(); + case 303: + if (lookahead == 'A') ADVANCE(340); + END_STATE(); + case 304: + ACCEPT_TOKEN(sym_keyword_unique); + END_STATE(); + case 305: + if (lookahead == 'E') ADVANCE(341); + END_STATE(); + case 306: + if (lookahead == 'R') ADVANCE(342); + END_STATE(); + case 307: + if (lookahead == 'T') ADVANCE(343); + END_STATE(); + case 308: + if (lookahead == 'i') ADVANCE(344); + END_STATE(); + case 309: + if (lookahead == 'n') ADVANCE(327); + END_STATE(); + case 310: + if (lookahead == 't') ADVANCE(345); + END_STATE(); case 311: - if (lookahead == 'E') ADVANCE(337); + if (lookahead == 'a') ADVANCE(346); END_STATE(); case 312: - ACCEPT_TOKEN(sym_keyword_decimal); + if (lookahead == 'm') ADVANCE(347); END_STATE(); case 313: - ACCEPT_TOKEN(sym_keyword_default); + if (lookahead == 'l') ADVANCE(331); END_STATE(); case 314: - ACCEPT_TOKEN(sym_keyword_integer); + if (lookahead == 't') ADVANCE(332); END_STATE(); case 315: - ACCEPT_TOKEN(sym_keyword_numeric); + if (lookahead == 'c') ADVANCE(348); END_STATE(); case 316: - if (lookahead == 'O') ADVANCE(338); + if (lookahead == 'r') ADVANCE(334); END_STATE(); case 317: - if (lookahead == 'T') ADVANCE(339); + if (lookahead == 'c') ADVANCE(335); END_STATE(); case 318: - if (lookahead == 'R') ADVANCE(340); + if (lookahead == 'i') ADVANCE(349); END_STATE(); case 319: - if (lookahead == 'R') ADVANCE(341); + if (lookahead == 'n') ADVANCE(350); END_STATE(); case 320: - if (lookahead == 'M') ADVANCE(342); + if (lookahead == 'e') ADVANCE(351); END_STATE(); case 321: - if (lookahead == 'D') ADVANCE(343); + if (lookahead == 'a') ADVANCE(352); END_STATE(); case 322: - ACCEPT_TOKEN(aux_sym_keyword_varchar_token1); + if (lookahead == 'a') ADVANCE(353); END_STATE(); case 323: - ACCEPT_TOKEN(aux_sym__without_time_zone_token1); + if (lookahead == 'e') ADVANCE(354); END_STATE(); case 324: - if (lookahead == 'a') ADVANCE(344); + if (lookahead == 'r') ADVANCE(342); END_STATE(); case 325: - if (lookahead == 'e') ADVANCE(345); + if (lookahead == 't') ADVANCE(343); END_STATE(); case 326: - if (lookahead == 'i') ADVANCE(346); + if (lookahead == 'A') ADVANCE(355); END_STATE(); case 327: - if (lookahead == 'e') ADVANCE(337); + ACCEPT_TOKEN(sym_keyword_boolean); END_STATE(); case 328: - if (lookahead == 'o') ADVANCE(347); + if (lookahead == 'E') ADVANCE(356); END_STATE(); case 329: - if (lookahead == 't') ADVANCE(339); + if (lookahead == 'I') ADVANCE(357); END_STATE(); case 330: - if (lookahead == 'r') ADVANCE(348); + if (lookahead == 'E') ADVANCE(358); END_STATE(); case 331: - if (lookahead == 'r') ADVANCE(349); + ACCEPT_TOKEN(sym_keyword_decimal); END_STATE(); case 332: - if (lookahead == 'm') ADVANCE(350); + ACCEPT_TOKEN(sym_keyword_default); END_STATE(); case 333: - if (lookahead == 'd') ADVANCE(343); + if (lookahead == 'T') ADVANCE(359); END_STATE(); case 334: - if (lookahead == 'L') ADVANCE(351); + ACCEPT_TOKEN(sym_keyword_integer); END_STATE(); case 335: - if (lookahead == 'R') ADVANCE(352); + ACCEPT_TOKEN(sym_keyword_numeric); END_STATE(); case 336: - if (lookahead == 'N') ADVANCE(353); + if (lookahead == 'O') ADVANCE(360); END_STATE(); case 337: - ACCEPT_TOKEN(sym_keyword_datetime); - END_STATE(); - case 338: - if (lookahead == 'N') ADVANCE(354); - END_STATE(); - case 339: - ACCEPT_TOKEN(sym_keyword_smallint); - END_STATE(); - case 340: - if (lookahead == 'I') ADVANCE(355); - END_STATE(); - case 341: - if (lookahead == 'Y') ADVANCE(356); - END_STATE(); - case 342: - if (lookahead == 'P') ADVANCE(357); - END_STATE(); - case 343: - ACCEPT_TOKEN(sym_keyword_unlogged); - END_STATE(); - case 344: - if (lookahead == 'l') ADVANCE(351); - END_STATE(); - case 345: - if (lookahead == 'r') ADVANCE(352); - END_STATE(); - case 346: - if (lookahead == 'n') ADVANCE(358); - END_STATE(); - case 347: - if (lookahead == 'n') ADVANCE(354); - END_STATE(); - case 348: - if (lookahead == 'i') ADVANCE(359); - END_STATE(); - case 349: - if (lookahead == 'y') ADVANCE(356); - END_STATE(); - case 350: - if (lookahead == 'p') ADVANCE(360); - END_STATE(); - case 351: - ACCEPT_TOKEN(sym_keyword_bigserial); - END_STATE(); - case 352: - ACCEPT_TOKEN(aux_sym_keyword_char_token1); - END_STATE(); - case 353: if (lookahead == 'T') ADVANCE(361); END_STATE(); - case 354: - ACCEPT_TOKEN(aux_sym_double_token2); + case 338: + if (lookahead == 'R') ADVANCE(362); END_STATE(); - case 355: - if (lookahead == 'A') ADVANCE(362); + case 339: + if (lookahead == 'R') ADVANCE(363); END_STATE(); - case 356: - ACCEPT_TOKEN(aux_sym_keyword_temporary_token1); + case 340: + if (lookahead == 'M') ADVANCE(364); END_STATE(); - case 357: - ACCEPT_TOKEN(aux_sym_keyword_timestamp_token1); - if (lookahead == 'T') ADVANCE(363); + case 341: + if (lookahead == 'D') ADVANCE(365); END_STATE(); - case 358: + case 342: + ACCEPT_TOKEN(aux_sym_keyword_varchar_token1); + END_STATE(); + case 343: + ACCEPT_TOKEN(aux_sym__without_time_zone_token1); + END_STATE(); + case 344: + if (lookahead == 'a') ADVANCE(366); + END_STATE(); + case 345: + if (lookahead == 'e') ADVANCE(367); + END_STATE(); + case 346: + if (lookahead == 'i') ADVANCE(368); + END_STATE(); + case 347: + if (lookahead == 'e') ADVANCE(358); + END_STATE(); + case 348: + if (lookahead == 't') ADVANCE(359); + END_STATE(); + case 349: + if (lookahead == 'o') ADVANCE(369); + END_STATE(); + case 350: if (lookahead == 't') ADVANCE(361); END_STATE(); + case 351: + if (lookahead == 'r') ADVANCE(370); + END_STATE(); + case 352: + if (lookahead == 'r') ADVANCE(371); + END_STATE(); + case 353: + if (lookahead == 'm') ADVANCE(372); + END_STATE(); + case 354: + if (lookahead == 'd') ADVANCE(365); + END_STATE(); + case 355: + if (lookahead == 'L') ADVANCE(373); + END_STATE(); + case 356: + if (lookahead == 'R') ADVANCE(374); + END_STATE(); + case 357: + if (lookahead == 'N') ADVANCE(375); + END_STATE(); + case 358: + ACCEPT_TOKEN(sym_keyword_datetime); + END_STATE(); case 359: - if (lookahead == 'a') ADVANCE(364); + ACCEPT_TOKEN(sym_keyword_distinct); END_STATE(); case 360: - ACCEPT_TOKEN(aux_sym_keyword_timestamp_token1); - if (lookahead == 't') ADVANCE(365); + if (lookahead == 'N') ADVANCE(376); END_STATE(); case 361: - ACCEPT_TOKEN(sym_keyword_constraint); + ACCEPT_TOKEN(sym_keyword_smallint); END_STATE(); case 362: - if (lookahead == 'L') ADVANCE(366); + if (lookahead == 'I') ADVANCE(377); END_STATE(); case 363: - if (lookahead == 'Z') ADVANCE(367); + if (lookahead == 'Y') ADVANCE(378); END_STATE(); case 364: - if (lookahead == 'l') ADVANCE(366); + if (lookahead == 'P') ADVANCE(379); END_STATE(); case 365: - if (lookahead == 'z') ADVANCE(367); + ACCEPT_TOKEN(sym_keyword_unlogged); END_STATE(); case 366: - ACCEPT_TOKEN(sym_keyword_smallserial); + if (lookahead == 'l') ADVANCE(373); END_STATE(); case 367: + if (lookahead == 'r') ADVANCE(374); + END_STATE(); + case 368: + if (lookahead == 'n') ADVANCE(380); + END_STATE(); + case 369: + if (lookahead == 'n') ADVANCE(376); + END_STATE(); + case 370: + if (lookahead == 'i') ADVANCE(381); + END_STATE(); + case 371: + if (lookahead == 'y') ADVANCE(378); + END_STATE(); + case 372: + if (lookahead == 'p') ADVANCE(382); + END_STATE(); + case 373: + ACCEPT_TOKEN(sym_keyword_bigserial); + END_STATE(); + case 374: + ACCEPT_TOKEN(aux_sym_keyword_char_token1); + END_STATE(); + case 375: + if (lookahead == 'T') ADVANCE(383); + END_STATE(); + case 376: + ACCEPT_TOKEN(aux_sym_double_token2); + END_STATE(); + case 377: + if (lookahead == 'A') ADVANCE(384); + END_STATE(); + case 378: + ACCEPT_TOKEN(aux_sym_keyword_temporary_token1); + END_STATE(); + case 379: + ACCEPT_TOKEN(aux_sym_keyword_timestamp_token1); + if (lookahead == 'T') ADVANCE(385); + END_STATE(); + case 380: + if (lookahead == 't') ADVANCE(383); + END_STATE(); + case 381: + if (lookahead == 'a') ADVANCE(386); + END_STATE(); + case 382: + ACCEPT_TOKEN(aux_sym_keyword_timestamp_token1); + if (lookahead == 't') ADVANCE(387); + END_STATE(); + case 383: + ACCEPT_TOKEN(sym_keyword_constraint); + END_STATE(); + case 384: + if (lookahead == 'L') ADVANCE(388); + END_STATE(); + case 385: + if (lookahead == 'Z') ADVANCE(389); + END_STATE(); + case 386: + if (lookahead == 'l') ADVANCE(388); + END_STATE(); + case 387: + if (lookahead == 'z') ADVANCE(389); + END_STATE(); + case 388: + ACCEPT_TOKEN(sym_keyword_smallserial); + END_STATE(); + case 389: ACCEPT_TOKEN(aux_sym_keyword_timestamptz_token1); END_STATE(); default: @@ -2539,32 +2642,42 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [82] = {.lex_state = 0}, [83] = {.lex_state = 0}, [84] = {.lex_state = 0}, - [85] = {.lex_state = 1}, + [85] = {.lex_state = 0}, [86] = {.lex_state = 0}, [87] = {.lex_state = 0}, [88] = {.lex_state = 0}, - [89] = {.lex_state = 35}, - [90] = {.lex_state = 0}, + [89] = {.lex_state = 0}, + [90] = {.lex_state = 35}, [91] = {.lex_state = 0}, - [92] = {.lex_state = 10}, + [92] = {.lex_state = 0}, [93] = {.lex_state = 0}, [94] = {.lex_state = 0}, [95] = {.lex_state = 0}, [96] = {.lex_state = 0}, [97] = {.lex_state = 0}, - [98] = {.lex_state = 5}, + [98] = {.lex_state = 0}, [99] = {.lex_state = 0}, [100] = {.lex_state = 0}, - [101] = {.lex_state = 0}, + [101] = {.lex_state = 10}, [102] = {.lex_state = 0}, [103] = {.lex_state = 0}, - [104] = {.lex_state = 0}, + [104] = {.lex_state = 5}, [105] = {.lex_state = 0}, [106] = {.lex_state = 0}, - [107] = {.lex_state = 0}, + [107] = {.lex_state = 1}, [108] = {.lex_state = 0}, - [109] = {(TSStateId)(-1)}, - [110] = {(TSStateId)(-1)}, + [109] = {.lex_state = 0}, + [110] = {.lex_state = 0}, + [111] = {.lex_state = 0}, + [112] = {.lex_state = 0}, + [113] = {.lex_state = 0}, + [114] = {.lex_state = 0}, + [115] = {.lex_state = 0}, + [116] = {.lex_state = 0}, + [117] = {.lex_state = 0}, + [118] = {.lex_state = 0}, + [119] = {(TSStateId)(-1)}, + [120] = {(TSStateId)(-1)}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -2591,6 +2704,9 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_keyword_default] = ACTIONS(1), [sym_keyword_true] = ACTIONS(1), [sym_keyword_false] = ACTIONS(1), + [sym_keyword_nulls] = ACTIONS(1), + [sym_keyword_distinct] = ACTIONS(1), + [sym_keyword_unique] = ACTIONS(1), [aux_sym_double_token1] = ACTIONS(1), [aux_sym_double_token2] = ACTIONS(1), [sym_keyword_boolean] = ACTIONS(1), @@ -2629,14 +2745,14 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_DQUOTE] = ACTIONS(1), }, [1] = { - [sym_source_file] = STATE(103), - [sym_statement] = STATE(57), - [sym__ddl_statement] = STATE(108), - [sym__create_statement] = STATE(107), - [sym_create_table] = STATE(104), + [sym_source_file] = STATE(91), + [sym_statement] = STATE(66), + [sym__ddl_statement] = STATE(88), + [sym__create_statement] = STATE(85), + [sym_create_table] = STATE(100), [sym_line_comment] = STATE(1), [sym_block_comment] = STATE(1), - [aux_sym_source_file_repeat1] = STATE(10), + [aux_sym_source_file_repeat1] = STATE(11), [ts_builtin_sym_end] = ACTIONS(7), [anon_sym_SEMI] = ACTIONS(9), [sym_keyword_create] = ACTIONS(11), @@ -2675,26 +2791,26 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_keyword_timestamp_token1, ACTIONS(39), 1, aux_sym_keyword_timestamptz_token1, - STATE(8), 1, + STATE(9), 1, sym__type, - STATE(19), 1, - sym_keyword_varchar, - STATE(20), 1, + STATE(10), 1, sym_keyword_char, + STATE(13), 1, + sym_keyword_varchar, STATE(2), 2, sym_line_comment, sym_block_comment, - STATE(49), 2, + STATE(52), 2, sym_char, sym_varchar, - STATE(41), 3, - sym_keyword_time, - sym_keyword_timestamp, - sym_keyword_timestamptz, - STATE(46), 3, + STATE(51), 3, sym_double, sym_decimal, sym_numeric, + STATE(53), 3, + sym_keyword_time, + sym_keyword_timestamp, + sym_keyword_timestamptz, ACTIONS(15), 5, sym_keyword_boolean, sym_keyword_money, @@ -2709,7 +2825,7 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_smallserial, sym_keyword_serial, sym_keyword_bigserial, - STATE(45), 7, + STATE(50), 7, sym__type_numeric, sym__type_character, sym__type_datetime, @@ -2730,12 +2846,13 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_date, aux_sym_keyword_time_token1, aux_sym_keyword_timestamp_token1, - ACTIONS(41), 25, + ACTIONS(41), 26, anon_sym_LPAREN, anon_sym_DOT, sym_keyword_not, sym_keyword_null, sym_keyword_default, + sym_keyword_unique, aux_sym_double_token1, sym_keyword_boolean, sym_keyword_smallint, @@ -2756,7 +2873,7 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_keyword_timestamptz_token1, sym_keyword_uuid, sym_keyword_xml, - [139] = 5, + [140] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -2769,12 +2886,13 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_date, aux_sym_keyword_time_token1, aux_sym_keyword_timestamp_token1, - ACTIONS(45), 25, + ACTIONS(45), 26, anon_sym_LPAREN, anon_sym_DOT, sym_keyword_not, sym_keyword_null, sym_keyword_default, + sym_keyword_unique, aux_sym_double_token1, sym_keyword_boolean, sym_keyword_smallint, @@ -2795,7 +2913,7 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_keyword_timestamptz_token1, sym_keyword_uuid, sym_keyword_xml, - [183] = 8, + [185] = 7, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -2804,21 +2922,21 @@ static const uint16_t ts_small_parse_table[] = { aux_sym__without_time_zone_token1, ACTIONS(53), 1, aux_sym__with_time_zone_token1, - STATE(38), 1, - sym__without_time_zone, - STATE(44), 1, - sym__with_time_zone, STATE(5), 2, sym_line_comment, sym_block_comment, - ACTIONS(49), 6, + STATE(38), 2, + sym__without_time_zone, + sym__with_time_zone, + ACTIONS(49), 7, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, sym_keyword_null, sym_keyword_constraint, sym_keyword_default, - [214] = 7, + sym_keyword_unique, + [215] = 8, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -2827,94 +2945,120 @@ static const uint16_t ts_small_parse_table[] = { aux_sym__without_time_zone_token1, ACTIONS(53), 1, aux_sym__with_time_zone_token1, + STATE(35), 1, + sym__with_time_zone, + STATE(37), 1, + sym__without_time_zone, STATE(6), 2, sym_line_comment, sym_block_comment, - STATE(24), 2, - sym__without_time_zone, - sym__with_time_zone, - ACTIONS(55), 6, + ACTIONS(55), 7, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, sym_keyword_null, sym_keyword_constraint, sym_keyword_default, - [243] = 11, + sym_keyword_unique, + [247] = 11, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(59), 1, sym_keyword_not, - ACTIONS(61), 1, + ACTIONS(62), 1, sym_keyword_null, - ACTIONS(63), 1, - sym_keyword_constraint, ACTIONS(65), 1, + sym_keyword_constraint, + ACTIONS(68), 1, sym_keyword_default, - STATE(9), 1, - aux_sym_column_definition_repeat1, - STATE(22), 1, - sym__not_null, - STATE(39), 1, + ACTIONS(71), 1, + sym_keyword_unique, + STATE(31), 1, sym_column_constraint, + STATE(32), 1, + sym__not_null, ACTIONS(57), 2, anon_sym_COMMA, anon_sym_RPAREN, - STATE(7), 2, + STATE(7), 3, sym_line_comment, sym_block_comment, - [279] = 11, + aux_sym_column_definition_repeat1, + [284] = 12, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(59), 1, + ACTIONS(76), 1, sym_keyword_not, - ACTIONS(61), 1, + ACTIONS(78), 1, sym_keyword_null, - ACTIONS(63), 1, + ACTIONS(80), 1, sym_keyword_constraint, - ACTIONS(65), 1, + ACTIONS(82), 1, sym_keyword_default, + ACTIONS(84), 1, + sym_keyword_unique, STATE(7), 1, aux_sym_column_definition_repeat1, - STATE(22), 1, - sym__not_null, - STATE(39), 1, + STATE(31), 1, sym_column_constraint, - ACTIONS(67), 2, + STATE(32), 1, + sym__not_null, + ACTIONS(74), 2, anon_sym_COMMA, anon_sym_RPAREN, STATE(8), 2, sym_line_comment, sym_block_comment, - [315] = 10, + [323] = 12, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(71), 1, + ACTIONS(76), 1, sym_keyword_not, - ACTIONS(74), 1, + ACTIONS(78), 1, sym_keyword_null, - ACTIONS(77), 1, - sym_keyword_constraint, ACTIONS(80), 1, + sym_keyword_constraint, + ACTIONS(82), 1, sym_keyword_default, - STATE(22), 1, - sym__not_null, - STATE(39), 1, + ACTIONS(84), 1, + sym_keyword_unique, + STATE(8), 1, + aux_sym_column_definition_repeat1, + STATE(31), 1, sym_column_constraint, - ACTIONS(69), 2, + STATE(32), 1, + sym__not_null, + ACTIONS(86), 2, anon_sym_COMMA, anon_sym_RPAREN, - STATE(9), 3, + STATE(9), 2, sym_line_comment, sym_block_comment, - aux_sym_column_definition_repeat1, - [349] = 11, + [362] = 5, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(88), 1, + anon_sym_LPAREN, + STATE(10), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(90), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + sym_keyword_unique, + [385] = 11, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -2923,103 +3067,80 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_SEMI, ACTIONS(11), 1, sym_keyword_create, - ACTIONS(83), 1, + ACTIONS(92), 1, ts_builtin_sym_end, - STATE(13), 1, + STATE(18), 1, aux_sym_source_file_repeat1, - STATE(57), 1, + STATE(66), 1, sym_statement, - STATE(104), 1, - sym_create_table, - STATE(107), 1, + STATE(85), 1, sym__create_statement, - STATE(108), 1, + STATE(88), 1, sym__ddl_statement, - STATE(10), 2, - sym_line_comment, - sym_block_comment, - [384] = 8, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(87), 1, - anon_sym_SQUOTE, - STATE(25), 1, - sym__literal_string, - STATE(42), 1, - sym_literal, - STATE(43), 1, - sym__expression, + STATE(100), 1, + sym_create_table, STATE(11), 2, sym_line_comment, sym_block_comment, - ACTIONS(85), 4, - sym_keyword_null, - sym_keyword_true, - sym_keyword_false, - sym__number, - [413] = 8, + [420] = 6, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(87), 1, - anon_sym_SQUOTE, - STATE(23), 1, - sym__expression, - STATE(25), 1, - sym__literal_string, - STATE(42), 1, - sym_literal, + ACTIONS(96), 1, + sym_keyword_null, + ACTIONS(98), 1, + sym_keyword_nulls, STATE(12), 2, sym_line_comment, sym_block_comment, - ACTIONS(85), 4, - sym_keyword_null, - sym_keyword_true, - sym_keyword_false, - sym__number, - [442] = 10, + ACTIONS(94), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_constraint, + sym_keyword_default, + sym_keyword_unique, + [445] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(89), 1, - ts_builtin_sym_end, - ACTIONS(91), 1, - anon_sym_SEMI, - ACTIONS(94), 1, - sym_keyword_create, - STATE(57), 1, - sym_statement, - STATE(104), 1, - sym_create_table, - STATE(107), 1, - sym__create_statement, - STATE(108), 1, - sym__ddl_statement, - STATE(13), 3, - sym_line_comment, - sym_block_comment, - aux_sym_source_file_repeat1, - [475] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - STATE(14), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(97), 7, + ACTIONS(100), 1, anon_sym_LPAREN, + STATE(13), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(102), 7, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, sym_keyword_null, sym_keyword_constraint, sym_keyword_default, - [495] = 4, + sym_keyword_unique, + [468] = 8, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(106), 1, + anon_sym_SQUOTE, + STATE(23), 1, + sym__expression, + STATE(24), 1, + sym_literal, + STATE(39), 1, + sym__literal_string, + STATE(14), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(104), 4, + sym_keyword_null, + sym_keyword_true, + sym_keyword_false, + sym__number, + [497] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -3027,7 +3148,7 @@ static const uint16_t ts_small_parse_table[] = { STATE(15), 2, sym_line_comment, sym_block_comment, - ACTIONS(99), 7, + ACTIONS(108), 8, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, @@ -3035,121 +3156,141 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_null, sym_keyword_constraint, sym_keyword_default, - [515] = 4, + sym_keyword_unique, + [518] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, + ACTIONS(110), 1, + anon_sym_LPAREN, STATE(16), 2, sym_line_comment, sym_block_comment, - ACTIONS(101), 7, - anon_sym_LPAREN, + ACTIONS(112), 7, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, sym_keyword_null, sym_keyword_constraint, sym_keyword_default, - [535] = 5, + sym_keyword_unique, + [541] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(104), 1, - anon_sym_LPAREN, STATE(17), 2, sym_line_comment, sym_block_comment, - ACTIONS(106), 6, - anon_sym_COMMA, - anon_sym_RPAREN, - sym_keyword_not, - sym_keyword_null, - sym_keyword_constraint, - sym_keyword_default, - [557] = 5, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(108), 1, + ACTIONS(114), 8, anon_sym_LPAREN, - STATE(18), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(110), 6, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, sym_keyword_null, sym_keyword_constraint, sym_keyword_default, - [579] = 5, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(112), 1, - anon_sym_LPAREN, - STATE(19), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(114), 6, - anon_sym_COMMA, - anon_sym_RPAREN, - sym_keyword_not, - sym_keyword_null, - sym_keyword_constraint, - sym_keyword_default, - [601] = 5, + sym_keyword_unique, + [562] = 10, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(116), 1, - anon_sym_LPAREN, + ts_builtin_sym_end, + ACTIONS(118), 1, + anon_sym_SEMI, + ACTIONS(121), 1, + sym_keyword_create, + STATE(66), 1, + sym_statement, + STATE(85), 1, + sym__create_statement, + STATE(88), 1, + sym__ddl_statement, + STATE(100), 1, + sym_create_table, + STATE(18), 3, + sym_line_comment, + sym_block_comment, + aux_sym_source_file_repeat1, + [595] = 6, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(126), 1, + sym_keyword_null, + ACTIONS(128), 1, + sym_keyword_nulls, + STATE(19), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(124), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_constraint, + sym_keyword_default, + sym_keyword_unique, + [620] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, STATE(20), 2, sym_line_comment, sym_block_comment, - ACTIONS(118), 6, + ACTIONS(130), 8, + anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, sym_keyword_null, sym_keyword_constraint, sym_keyword_default, - [623] = 4, + sym_keyword_unique, + [641] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, + ACTIONS(133), 1, + anon_sym_LPAREN, STATE(21), 2, sym_line_comment, sym_block_comment, - ACTIONS(120), 6, + ACTIONS(135), 7, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, sym_keyword_null, sym_keyword_constraint, sym_keyword_default, - [642] = 4, + sym_keyword_unique, + [664] = 8, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, + ACTIONS(106), 1, + anon_sym_SQUOTE, + STATE(24), 1, + sym_literal, + STATE(39), 1, + sym__literal_string, + STATE(43), 1, + sym__expression, STATE(22), 2, sym_line_comment, sym_block_comment, - ACTIONS(122), 6, - anon_sym_COMMA, - anon_sym_RPAREN, - sym_keyword_not, + ACTIONS(104), 4, sym_keyword_null, - sym_keyword_constraint, - sym_keyword_default, - [661] = 4, + sym_keyword_true, + sym_keyword_false, + sym__number, + [693] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -3157,14 +3298,15 @@ static const uint16_t ts_small_parse_table[] = { STATE(23), 2, sym_line_comment, sym_block_comment, - ACTIONS(124), 6, + ACTIONS(137), 7, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, sym_keyword_null, sym_keyword_constraint, sym_keyword_default, - [680] = 4, + sym_keyword_unique, + [713] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -3172,14 +3314,15 @@ static const uint16_t ts_small_parse_table[] = { STATE(24), 2, sym_line_comment, sym_block_comment, - ACTIONS(126), 6, + ACTIONS(139), 7, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, sym_keyword_null, sym_keyword_constraint, sym_keyword_default, - [699] = 4, + sym_keyword_unique, + [733] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -3187,34 +3330,31 @@ static const uint16_t ts_small_parse_table[] = { STATE(25), 2, sym_line_comment, sym_block_comment, - ACTIONS(128), 6, + ACTIONS(141), 7, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, sym_keyword_null, sym_keyword_constraint, sym_keyword_default, - [718] = 9, + sym_keyword_unique, + [753] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(130), 1, - sym__identifier, - ACTIONS(132), 1, - sym_keyword_if, - ACTIONS(134), 1, - anon_sym_DQUOTE, - STATE(54), 1, - sym__if_not_exists, - STATE(67), 1, - sym_identifier, - STATE(71), 1, - sym_table_reference, STATE(26), 2, sym_line_comment, sym_block_comment, - [747] = 4, + ACTIONS(143), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + sym_keyword_unique, + [773] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -3222,14 +3362,15 @@ static const uint16_t ts_small_parse_table[] = { STATE(27), 2, sym_line_comment, sym_block_comment, - ACTIONS(136), 6, + ACTIONS(145), 7, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, sym_keyword_null, sym_keyword_constraint, sym_keyword_default, - [766] = 4, + sym_keyword_unique, + [793] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -3237,14 +3378,15 @@ static const uint16_t ts_small_parse_table[] = { STATE(28), 2, sym_line_comment, sym_block_comment, - ACTIONS(138), 6, + ACTIONS(147), 7, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, sym_keyword_null, sym_keyword_constraint, sym_keyword_default, - [785] = 4, + sym_keyword_unique, + [813] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -3252,14 +3394,15 @@ static const uint16_t ts_small_parse_table[] = { STATE(29), 2, sym_line_comment, sym_block_comment, - ACTIONS(140), 6, + ACTIONS(149), 7, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, sym_keyword_null, sym_keyword_constraint, sym_keyword_default, - [804] = 4, + sym_keyword_unique, + [833] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -3267,14 +3410,15 @@ static const uint16_t ts_small_parse_table[] = { STATE(30), 2, sym_line_comment, sym_block_comment, - ACTIONS(142), 6, + ACTIONS(151), 7, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, sym_keyword_null, sym_keyword_constraint, sym_keyword_default, - [823] = 4, + sym_keyword_unique, + [853] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -3282,14 +3426,15 @@ static const uint16_t ts_small_parse_table[] = { STATE(31), 2, sym_line_comment, sym_block_comment, - ACTIONS(144), 6, + ACTIONS(153), 7, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, sym_keyword_null, sym_keyword_constraint, sym_keyword_default, - [842] = 4, + sym_keyword_unique, + [873] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -3297,14 +3442,15 @@ static const uint16_t ts_small_parse_table[] = { STATE(32), 2, sym_line_comment, sym_block_comment, - ACTIONS(146), 6, + ACTIONS(124), 7, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, sym_keyword_null, sym_keyword_constraint, sym_keyword_default, - [861] = 4, + sym_keyword_unique, + [893] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -3312,14 +3458,15 @@ static const uint16_t ts_small_parse_table[] = { STATE(33), 2, sym_line_comment, sym_block_comment, - ACTIONS(148), 6, + ACTIONS(155), 7, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, sym_keyword_null, sym_keyword_constraint, sym_keyword_default, - [880] = 4, + sym_keyword_unique, + [913] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -3327,14 +3474,15 @@ static const uint16_t ts_small_parse_table[] = { STATE(34), 2, sym_line_comment, sym_block_comment, - ACTIONS(150), 6, + ACTIONS(157), 7, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, sym_keyword_null, sym_keyword_constraint, sym_keyword_default, - [899] = 4, + sym_keyword_unique, + [933] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -3342,14 +3490,15 @@ static const uint16_t ts_small_parse_table[] = { STATE(35), 2, sym_line_comment, sym_block_comment, - ACTIONS(152), 6, + ACTIONS(159), 7, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, sym_keyword_null, sym_keyword_constraint, sym_keyword_default, - [918] = 4, + sym_keyword_unique, + [953] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -3357,14 +3506,15 @@ static const uint16_t ts_small_parse_table[] = { STATE(36), 2, sym_line_comment, sym_block_comment, - ACTIONS(154), 6, + ACTIONS(161), 7, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, sym_keyword_null, sym_keyword_constraint, sym_keyword_default, - [937] = 4, + sym_keyword_unique, + [973] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -3372,14 +3522,15 @@ static const uint16_t ts_small_parse_table[] = { STATE(37), 2, sym_line_comment, sym_block_comment, - ACTIONS(156), 6, + ACTIONS(163), 7, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, sym_keyword_null, sym_keyword_constraint, sym_keyword_default, - [956] = 4, + sym_keyword_unique, + [993] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -3387,14 +3538,15 @@ static const uint16_t ts_small_parse_table[] = { STATE(38), 2, sym_line_comment, sym_block_comment, - ACTIONS(158), 6, + ACTIONS(165), 7, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, sym_keyword_null, sym_keyword_constraint, sym_keyword_default, - [975] = 4, + sym_keyword_unique, + [1013] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -3402,14 +3554,15 @@ static const uint16_t ts_small_parse_table[] = { STATE(39), 2, sym_line_comment, sym_block_comment, - ACTIONS(160), 6, + ACTIONS(167), 7, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, sym_keyword_null, sym_keyword_constraint, sym_keyword_default, - [994] = 4, + sym_keyword_unique, + [1033] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -3417,14 +3570,15 @@ static const uint16_t ts_small_parse_table[] = { STATE(40), 2, sym_line_comment, sym_block_comment, - ACTIONS(162), 6, + ACTIONS(169), 7, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, sym_keyword_null, sym_keyword_constraint, sym_keyword_default, - [1013] = 4, + sym_keyword_unique, + [1053] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -3432,14 +3586,15 @@ static const uint16_t ts_small_parse_table[] = { STATE(41), 2, sym_line_comment, sym_block_comment, - ACTIONS(164), 6, + ACTIONS(171), 7, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, sym_keyword_null, sym_keyword_constraint, sym_keyword_default, - [1032] = 4, + sym_keyword_unique, + [1073] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -3447,14 +3602,15 @@ static const uint16_t ts_small_parse_table[] = { STATE(42), 2, sym_line_comment, sym_block_comment, - ACTIONS(166), 6, + ACTIONS(173), 7, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, sym_keyword_null, sym_keyword_constraint, sym_keyword_default, - [1051] = 4, + sym_keyword_unique, + [1093] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -3462,14 +3618,15 @@ static const uint16_t ts_small_parse_table[] = { STATE(43), 2, sym_line_comment, sym_block_comment, - ACTIONS(168), 6, + ACTIONS(175), 7, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, sym_keyword_null, sym_keyword_constraint, sym_keyword_default, - [1070] = 4, + sym_keyword_unique, + [1113] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -3477,14 +3634,15 @@ static const uint16_t ts_small_parse_table[] = { STATE(44), 2, sym_line_comment, sym_block_comment, - ACTIONS(170), 6, + ACTIONS(177), 7, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, sym_keyword_null, sym_keyword_constraint, sym_keyword_default, - [1089] = 4, + sym_keyword_unique, + [1133] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -3492,14 +3650,15 @@ static const uint16_t ts_small_parse_table[] = { STATE(45), 2, sym_line_comment, sym_block_comment, - ACTIONS(172), 6, + ACTIONS(179), 7, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, sym_keyword_null, sym_keyword_constraint, sym_keyword_default, - [1108] = 4, + sym_keyword_unique, + [1153] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -3507,34 +3666,31 @@ static const uint16_t ts_small_parse_table[] = { STATE(46), 2, sym_line_comment, sym_block_comment, - ACTIONS(174), 6, + ACTIONS(181), 7, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, sym_keyword_null, sym_keyword_constraint, sym_keyword_default, - [1127] = 9, + sym_keyword_unique, + [1173] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(130), 1, - sym__identifier, - ACTIONS(132), 1, - sym_keyword_if, - ACTIONS(134), 1, - anon_sym_DQUOTE, - STATE(53), 1, - sym__if_not_exists, - STATE(66), 1, - sym_table_reference, - STATE(67), 1, - sym_identifier, STATE(47), 2, sym_line_comment, sym_block_comment, - [1156] = 4, + ACTIONS(183), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + sym_keyword_unique, + [1193] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -3542,14 +3698,15 @@ static const uint16_t ts_small_parse_table[] = { STATE(48), 2, sym_line_comment, sym_block_comment, - ACTIONS(176), 6, + ACTIONS(94), 7, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, sym_keyword_null, sym_keyword_constraint, sym_keyword_default, - [1175] = 4, + sym_keyword_unique, + [1213] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -3557,958 +3714,1136 @@ static const uint16_t ts_small_parse_table[] = { STATE(49), 2, sym_line_comment, sym_block_comment, - ACTIONS(178), 6, + ACTIONS(185), 7, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, sym_keyword_null, sym_keyword_constraint, sym_keyword_default, - [1194] = 8, + sym_keyword_unique, + [1233] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(180), 1, - sym_keyword_table, - ACTIONS(182), 1, - aux_sym_keyword_temporary_token1, - ACTIONS(184), 1, - aux_sym_keyword_temporary_token2, - ACTIONS(186), 1, - sym_keyword_unlogged, - STATE(99), 1, - sym_keyword_temporary, STATE(50), 2, sym_line_comment, sym_block_comment, - [1220] = 8, + ACTIONS(187), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + sym_keyword_unique, + [1253] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(134), 1, - anon_sym_DQUOTE, - ACTIONS(188), 1, - sym__identifier, - ACTIONS(190), 1, - anon_sym_RPAREN, - STATE(2), 1, - sym_identifier, - STATE(59), 1, - sym_column_definition, STATE(51), 2, sym_line_comment, sym_block_comment, - [1246] = 7, + ACTIONS(189), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + sym_keyword_unique, + [1273] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(134), 1, - anon_sym_DQUOTE, - ACTIONS(188), 1, - sym__identifier, - STATE(2), 1, - sym_identifier, - STATE(70), 1, - sym_column_definition, STATE(52), 2, sym_line_comment, sym_block_comment, - [1269] = 7, + ACTIONS(191), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + sym_keyword_unique, + [1293] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(134), 1, - anon_sym_DQUOTE, - ACTIONS(188), 1, - sym__identifier, - STATE(67), 1, - sym_identifier, - STATE(71), 1, - sym_table_reference, STATE(53), 2, sym_line_comment, sym_block_comment, - [1292] = 7, + ACTIONS(193), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + sym_keyword_unique, + [1313] = 9, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(134), 1, - anon_sym_DQUOTE, - ACTIONS(188), 1, + ACTIONS(195), 1, sym__identifier, - STATE(65), 1, - sym_table_reference, - STATE(67), 1, + ACTIONS(197), 1, + sym_keyword_if, + ACTIONS(199), 1, + anon_sym_DQUOTE, + STATE(60), 1, + sym__if_not_exists, + STATE(75), 1, sym_identifier, + STATE(80), 1, + sym_table_reference, STATE(54), 2, sym_line_comment, sym_block_comment, - [1315] = 7, + [1342] = 9, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(59), 1, - sym_keyword_not, - ACTIONS(192), 1, - sym_keyword_null, - ACTIONS(194), 1, - sym_keyword_default, - STATE(48), 1, - sym__not_null, + ACTIONS(195), 1, + sym__identifier, + ACTIONS(197), 1, + sym_keyword_if, + ACTIONS(199), 1, + anon_sym_DQUOTE, + STATE(61), 1, + sym__if_not_exists, + STATE(71), 1, + sym_table_reference, + STATE(75), 1, + sym_identifier, STATE(55), 2, sym_line_comment, sym_block_comment, - [1338] = 6, + [1371] = 8, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(196), 1, - anon_sym_COMMA, - ACTIONS(198), 1, - anon_sym_RPAREN, - STATE(62), 1, - aux_sym_column_definitions_repeat1, + ACTIONS(201), 1, + sym_keyword_table, + ACTIONS(203), 1, + aux_sym_keyword_temporary_token1, + ACTIONS(205), 1, + aux_sym_keyword_temporary_token2, + ACTIONS(207), 1, + sym_keyword_unlogged, + STATE(109), 1, + sym_keyword_temporary, STATE(56), 2, sym_line_comment, sym_block_comment, - [1358] = 4, + [1397] = 8, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, + ACTIONS(76), 1, + sym_keyword_not, + ACTIONS(209), 1, + sym_keyword_null, + ACTIONS(211), 1, + sym_keyword_default, + ACTIONS(213), 1, + sym_keyword_unique, + STATE(48), 1, + sym__not_null, STATE(57), 2, sym_line_comment, sym_block_comment, - ACTIONS(200), 3, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_keyword_create, - [1374] = 6, + [1423] = 8, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(134), 1, + ACTIONS(199), 1, anon_sym_DQUOTE, - ACTIONS(188), 1, + ACTIONS(215), 1, sym__identifier, - STATE(55), 1, + ACTIONS(217), 1, + anon_sym_RPAREN, + STATE(2), 1, sym_identifier, + STATE(65), 1, + sym_column_definition, STATE(58), 2, sym_line_comment, sym_block_comment, - [1394] = 6, + [1449] = 7, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(196), 1, - anon_sym_COMMA, - ACTIONS(202), 1, - anon_sym_RPAREN, - STATE(56), 1, - aux_sym_column_definitions_repeat1, + ACTIONS(199), 1, + anon_sym_DQUOTE, + ACTIONS(215), 1, + sym__identifier, + STATE(2), 1, + sym_identifier, + STATE(79), 1, + sym_column_definition, STATE(59), 2, sym_line_comment, sym_block_comment, - [1414] = 4, + [1472] = 7, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, + ACTIONS(199), 1, + anon_sym_DQUOTE, + ACTIONS(215), 1, + sym__identifier, + STATE(71), 1, + sym_table_reference, + STATE(75), 1, + sym_identifier, STATE(60), 2, sym_line_comment, sym_block_comment, - ACTIONS(204), 3, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_keyword_create, - [1430] = 4, + [1495] = 7, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, + ACTIONS(199), 1, + anon_sym_DQUOTE, + ACTIONS(215), 1, + sym__identifier, + STATE(72), 1, + sym_table_reference, + STATE(75), 1, + sym_identifier, STATE(61), 2, sym_line_comment, sym_block_comment, - ACTIONS(206), 3, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_keyword_create, - [1446] = 5, + [1518] = 6, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(208), 1, - anon_sym_COMMA, - ACTIONS(211), 1, - anon_sym_RPAREN, - STATE(62), 3, - sym_line_comment, - sym_block_comment, - aux_sym_column_definitions_repeat1, - [1464] = 6, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(134), 1, + ACTIONS(199), 1, anon_sym_DQUOTE, - ACTIONS(188), 1, - sym__identifier, - STATE(77), 1, - sym_identifier, - STATE(63), 2, - sym_line_comment, - sym_block_comment, - [1484] = 5, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(213), 1, - anon_sym_COMMA, ACTIONS(215), 1, - anon_sym_RPAREN, - STATE(64), 2, + sym__identifier, + STATE(112), 1, + sym_identifier, + STATE(62), 2, sym_line_comment, sym_block_comment, - [1501] = 5, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(217), 1, - anon_sym_LPAREN, - STATE(87), 1, - sym_column_definitions, - STATE(65), 2, - sym_line_comment, - sym_block_comment, - [1518] = 5, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(217), 1, - anon_sym_LPAREN, - STATE(86), 1, - sym_column_definitions, - STATE(66), 2, - sym_line_comment, - sym_block_comment, - [1535] = 5, + [1538] = 6, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(219), 1, - anon_sym_LPAREN, + anon_sym_COMMA, ACTIONS(221), 1, - anon_sym_DOT, + anon_sym_RPAREN, + STATE(68), 1, + aux_sym_column_definitions_repeat1, + STATE(63), 2, + sym_line_comment, + sym_block_comment, + [1558] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + STATE(64), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(223), 3, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_keyword_create, + [1574] = 6, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(219), 1, + anon_sym_COMMA, + ACTIONS(225), 1, + anon_sym_RPAREN, + STATE(63), 1, + aux_sym_column_definitions_repeat1, + STATE(65), 2, + sym_line_comment, + sym_block_comment, + [1594] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + STATE(66), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(227), 3, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_keyword_create, + [1610] = 6, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(199), 1, + anon_sym_DQUOTE, + ACTIONS(215), 1, + sym__identifier, + STATE(57), 1, + sym_identifier, STATE(67), 2, sym_line_comment, sym_block_comment, - [1552] = 5, + [1630] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(223), 1, - aux_sym_keyword_time_token1, - STATE(31), 1, - sym__keyword_time_zone, - STATE(68), 2, + ACTIONS(229), 1, + anon_sym_COMMA, + ACTIONS(232), 1, + anon_sym_RPAREN, + STATE(68), 3, sym_line_comment, sym_block_comment, - [1569] = 5, + aux_sym_column_definitions_repeat1, + [1648] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(223), 1, - aux_sym_keyword_time_token1, - STATE(30), 1, - sym__keyword_time_zone, STATE(69), 2, sym_line_comment, sym_block_comment, - [1586] = 4, + ACTIONS(234), 3, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_keyword_create, + [1664] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(211), 2, - anon_sym_COMMA, - anon_sym_RPAREN, + ACTIONS(236), 1, + aux_sym_keyword_time_token1, + STATE(30), 1, + sym__keyword_time_zone, STATE(70), 2, sym_line_comment, sym_block_comment, - [1601] = 5, + [1681] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(217), 1, + ACTIONS(238), 1, anon_sym_LPAREN, - STATE(78), 1, + STATE(113), 1, sym_column_definitions, STATE(71), 2, sym_line_comment, sym_block_comment, - [1618] = 4, + [1698] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(225), 2, - anon_sym_DQUOTE, - sym__identifier, + ACTIONS(238), 1, + anon_sym_LPAREN, + STATE(98), 1, + sym_column_definitions, STATE(72), 2, sym_line_comment, sym_block_comment, - [1633] = 5, + [1715] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(227), 1, - anon_sym_COMMA, - ACTIONS(229), 1, - anon_sym_RPAREN, + ACTIONS(236), 1, + aux_sym_keyword_time_token1, + STATE(29), 1, + sym__keyword_time_zone, STATE(73), 2, sym_line_comment, sym_block_comment, - [1650] = 4, + [1732] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(231), 1, + ACTIONS(240), 2, anon_sym_DQUOTE, + sym__identifier, STATE(74), 2, sym_line_comment, sym_block_comment, - [1664] = 4, + [1747] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(233), 1, - anon_sym_RPAREN, + ACTIONS(242), 1, + anon_sym_LPAREN, + ACTIONS(244), 1, + anon_sym_DOT, STATE(75), 2, sym_line_comment, sym_block_comment, - [1678] = 4, + [1764] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(235), 1, - anon_sym_SEMI, + ACTIONS(246), 1, + sym_keyword_not, + ACTIONS(248), 1, + sym_keyword_distinct, STATE(76), 2, sym_line_comment, sym_block_comment, - [1692] = 4, + [1781] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(237), 1, - anon_sym_LPAREN, + ACTIONS(250), 1, + anon_sym_COMMA, + ACTIONS(252), 1, + anon_sym_RPAREN, STATE(77), 2, sym_line_comment, sym_block_comment, - [1706] = 4, + [1798] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(239), 1, - anon_sym_SEMI, + ACTIONS(254), 1, + anon_sym_COMMA, + ACTIONS(256), 1, + anon_sym_RPAREN, STATE(78), 2, sym_line_comment, sym_block_comment, - [1720] = 4, + [1815] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(241), 1, - sym__number, + ACTIONS(232), 2, + anon_sym_COMMA, + anon_sym_RPAREN, STATE(79), 2, sym_line_comment, sym_block_comment, - [1734] = 4, + [1830] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(243), 1, - sym__number, + ACTIONS(238), 1, + anon_sym_LPAREN, + STATE(115), 1, + sym_column_definitions, STATE(80), 2, sym_line_comment, sym_block_comment, - [1748] = 4, + [1847] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(245), 1, - sym__number, + ACTIONS(258), 1, + sym_keyword_not, + ACTIONS(260), 1, + sym_keyword_distinct, STATE(81), 2, sym_line_comment, sym_block_comment, - [1762] = 4, + [1864] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(247), 1, + ACTIONS(262), 1, anon_sym_SEMI, STATE(82), 2, sym_line_comment, sym_block_comment, - [1776] = 4, + [1878] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(249), 1, - aux_sym__keyword_time_zone_token1, + ACTIONS(264), 1, + anon_sym_RPAREN, STATE(83), 2, sym_line_comment, sym_block_comment, - [1790] = 4, + [1892] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(251), 1, - sym_keyword_null, + ACTIONS(266), 1, + aux_sym__keyword_time_zone_token1, STATE(84), 2, sym_line_comment, sym_block_comment, - [1804] = 4, - ACTIONS(253), 1, + [1906] = 4, + ACTIONS(3), 1, anon_sym_DASH_DASH, - ACTIONS(255), 1, - aux_sym_line_comment_token1, - ACTIONS(257), 1, + ACTIONS(5), 1, anon_sym_SLASH_STAR, + ACTIONS(268), 1, + anon_sym_SEMI, STATE(85), 2, sym_line_comment, sym_block_comment, - [1818] = 4, + [1920] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(259), 1, - anon_sym_SEMI, + ACTIONS(270), 1, + sym__number, STATE(86), 2, sym_line_comment, sym_block_comment, - [1832] = 4, + [1934] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(261), 1, - anon_sym_SEMI, + ACTIONS(272), 1, + sym__number, STATE(87), 2, sym_line_comment, sym_block_comment, - [1846] = 4, + [1948] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(263), 1, - sym_keyword_exists, + ACTIONS(274), 1, + anon_sym_SEMI, STATE(88), 2, sym_line_comment, sym_block_comment, - [1860] = 4, - ACTIONS(253), 1, + [1962] = 4, + ACTIONS(3), 1, anon_sym_DASH_DASH, - ACTIONS(257), 1, + ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(265), 1, - aux_sym__literal_string_token1, + ACTIONS(276), 1, + sym_keyword_not, STATE(89), 2, sym_line_comment, sym_block_comment, - [1874] = 4, - ACTIONS(3), 1, + [1976] = 4, + ACTIONS(278), 1, anon_sym_DASH_DASH, - ACTIONS(5), 1, + ACTIONS(280), 1, anon_sym_SLASH_STAR, - ACTIONS(267), 1, - anon_sym_SEMI, + ACTIONS(282), 1, + aux_sym__literal_string_token1, STATE(90), 2, sym_line_comment, sym_block_comment, - [1888] = 4, + [1990] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(269), 1, - sym__number, + ACTIONS(284), 1, + ts_builtin_sym_end, STATE(91), 2, sym_line_comment, sym_block_comment, - [1902] = 4, - ACTIONS(253), 1, + [2004] = 4, + ACTIONS(3), 1, anon_sym_DASH_DASH, - ACTIONS(257), 1, + ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(271), 1, - aux_sym_identifier_token1, + ACTIONS(286), 1, + sym__number, STATE(92), 2, sym_line_comment, sym_block_comment, - [1916] = 4, + [2018] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(273), 1, - aux_sym_double_token2, + ACTIONS(288), 1, + sym__number, STATE(93), 2, sym_line_comment, sym_block_comment, - [1930] = 4, + [2032] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(275), 1, - anon_sym_RPAREN, + ACTIONS(290), 1, + anon_sym_SEMI, STATE(94), 2, sym_line_comment, sym_block_comment, - [1944] = 4, + [2046] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(277), 1, - sym__number, + ACTIONS(292), 1, + anon_sym_RPAREN, STATE(95), 2, sym_line_comment, sym_block_comment, - [1958] = 4, + [2060] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(279), 1, - sym_keyword_not, + ACTIONS(294), 1, + anon_sym_RPAREN, STATE(96), 2, sym_line_comment, sym_block_comment, - [1972] = 4, + [2074] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(281), 1, + ACTIONS(296), 1, sym__number, STATE(97), 2, sym_line_comment, sym_block_comment, - [1986] = 4, - ACTIONS(253), 1, + [2088] = 4, + ACTIONS(3), 1, anon_sym_DASH_DASH, - ACTIONS(257), 1, + ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(283), 1, - aux_sym_block_comment_token1, + ACTIONS(298), 1, + anon_sym_SEMI, STATE(98), 2, sym_line_comment, sym_block_comment, - [2000] = 4, + [2102] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(285), 1, - sym_keyword_table, + ACTIONS(300), 1, + sym__number, STATE(99), 2, sym_line_comment, sym_block_comment, - [2014] = 4, + [2116] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(287), 1, - sym_keyword_table, + ACTIONS(302), 1, + anon_sym_SEMI, STATE(100), 2, sym_line_comment, sym_block_comment, - [2028] = 4, - ACTIONS(3), 1, + [2130] = 4, + ACTIONS(278), 1, anon_sym_DASH_DASH, - ACTIONS(5), 1, + ACTIONS(280), 1, anon_sym_SLASH_STAR, - ACTIONS(289), 1, - anon_sym_SLASH, + ACTIONS(304), 1, + aux_sym_identifier_token1, STATE(101), 2, sym_line_comment, sym_block_comment, - [2042] = 4, + [2144] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(291), 1, - anon_sym_SQUOTE, + ACTIONS(306), 1, + anon_sym_SLASH, STATE(102), 2, sym_line_comment, sym_block_comment, - [2056] = 4, + [2158] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(293), 1, - ts_builtin_sym_end, + ACTIONS(308), 1, + sym_keyword_table, STATE(103), 2, sym_line_comment, sym_block_comment, - [2070] = 4, - ACTIONS(3), 1, + [2172] = 4, + ACTIONS(278), 1, anon_sym_DASH_DASH, - ACTIONS(5), 1, + ACTIONS(280), 1, anon_sym_SLASH_STAR, - ACTIONS(295), 1, - anon_sym_SEMI, + ACTIONS(310), 1, + aux_sym_block_comment_token1, STATE(104), 2, sym_line_comment, sym_block_comment, - [2084] = 4, + [2186] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(297), 1, - anon_sym_RPAREN, + ACTIONS(312), 1, + anon_sym_SQUOTE, STATE(105), 2, sym_line_comment, sym_block_comment, - [2098] = 4, + [2200] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(299), 1, - anon_sym_RPAREN, + ACTIONS(314), 1, + sym_keyword_distinct, STATE(106), 2, sym_line_comment, sym_block_comment, - [2112] = 4, - ACTIONS(3), 1, + [2214] = 4, + ACTIONS(278), 1, anon_sym_DASH_DASH, - ACTIONS(5), 1, + ACTIONS(280), 1, anon_sym_SLASH_STAR, - ACTIONS(301), 1, - anon_sym_SEMI, + ACTIONS(316), 1, + aux_sym_line_comment_token1, STATE(107), 2, sym_line_comment, sym_block_comment, - [2126] = 4, + [2228] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(303), 1, - anon_sym_SEMI, + ACTIONS(318), 1, + aux_sym_double_token2, STATE(108), 2, sym_line_comment, sym_block_comment, - [2140] = 1, - ACTIONS(305), 1, + [2242] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(320), 1, + sym_keyword_table, + STATE(109), 2, + sym_line_comment, + sym_block_comment, + [2256] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(322), 1, + sym_keyword_null, + STATE(110), 2, + sym_line_comment, + sym_block_comment, + [2270] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(324), 1, + anon_sym_RPAREN, + STATE(111), 2, + sym_line_comment, + sym_block_comment, + [2284] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(326), 1, + anon_sym_LPAREN, + STATE(112), 2, + sym_line_comment, + sym_block_comment, + [2298] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(328), 1, + anon_sym_SEMI, + STATE(113), 2, + sym_line_comment, + sym_block_comment, + [2312] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(330), 1, + anon_sym_SEMI, + STATE(114), 2, + sym_line_comment, + sym_block_comment, + [2326] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(332), 1, + anon_sym_SEMI, + STATE(115), 2, + sym_line_comment, + sym_block_comment, + [2340] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(334), 1, + anon_sym_DQUOTE, + STATE(116), 2, + sym_line_comment, + sym_block_comment, + [2354] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(336), 1, + sym_keyword_exists, + STATE(117), 2, + sym_line_comment, + sym_block_comment, + [2368] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(338), 1, + sym_keyword_distinct, + STATE(118), 2, + sym_line_comment, + sym_block_comment, + [2382] = 1, + ACTIONS(340), 1, ts_builtin_sym_end, - [2144] = 1, - ACTIONS(307), 1, + [2386] = 1, + ACTIONS(342), 1, ts_builtin_sym_end, }; static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(2)] = 0, [SMALL_STATE(3)] = 95, - [SMALL_STATE(4)] = 139, - [SMALL_STATE(5)] = 183, - [SMALL_STATE(6)] = 214, - [SMALL_STATE(7)] = 243, - [SMALL_STATE(8)] = 279, - [SMALL_STATE(9)] = 315, - [SMALL_STATE(10)] = 349, - [SMALL_STATE(11)] = 384, - [SMALL_STATE(12)] = 413, - [SMALL_STATE(13)] = 442, - [SMALL_STATE(14)] = 475, - [SMALL_STATE(15)] = 495, - [SMALL_STATE(16)] = 515, - [SMALL_STATE(17)] = 535, - [SMALL_STATE(18)] = 557, - [SMALL_STATE(19)] = 579, - [SMALL_STATE(20)] = 601, - [SMALL_STATE(21)] = 623, - [SMALL_STATE(22)] = 642, - [SMALL_STATE(23)] = 661, - [SMALL_STATE(24)] = 680, - [SMALL_STATE(25)] = 699, - [SMALL_STATE(26)] = 718, - [SMALL_STATE(27)] = 747, - [SMALL_STATE(28)] = 766, - [SMALL_STATE(29)] = 785, - [SMALL_STATE(30)] = 804, - [SMALL_STATE(31)] = 823, - [SMALL_STATE(32)] = 842, - [SMALL_STATE(33)] = 861, - [SMALL_STATE(34)] = 880, - [SMALL_STATE(35)] = 899, - [SMALL_STATE(36)] = 918, - [SMALL_STATE(37)] = 937, - [SMALL_STATE(38)] = 956, - [SMALL_STATE(39)] = 975, - [SMALL_STATE(40)] = 994, - [SMALL_STATE(41)] = 1013, - [SMALL_STATE(42)] = 1032, - [SMALL_STATE(43)] = 1051, - [SMALL_STATE(44)] = 1070, - [SMALL_STATE(45)] = 1089, - [SMALL_STATE(46)] = 1108, - [SMALL_STATE(47)] = 1127, - [SMALL_STATE(48)] = 1156, - [SMALL_STATE(49)] = 1175, - [SMALL_STATE(50)] = 1194, - [SMALL_STATE(51)] = 1220, - [SMALL_STATE(52)] = 1246, - [SMALL_STATE(53)] = 1269, - [SMALL_STATE(54)] = 1292, - [SMALL_STATE(55)] = 1315, - [SMALL_STATE(56)] = 1338, - [SMALL_STATE(57)] = 1358, - [SMALL_STATE(58)] = 1374, - [SMALL_STATE(59)] = 1394, - [SMALL_STATE(60)] = 1414, - [SMALL_STATE(61)] = 1430, - [SMALL_STATE(62)] = 1446, - [SMALL_STATE(63)] = 1464, - [SMALL_STATE(64)] = 1484, - [SMALL_STATE(65)] = 1501, - [SMALL_STATE(66)] = 1518, - [SMALL_STATE(67)] = 1535, - [SMALL_STATE(68)] = 1552, - [SMALL_STATE(69)] = 1569, - [SMALL_STATE(70)] = 1586, - [SMALL_STATE(71)] = 1601, - [SMALL_STATE(72)] = 1618, - [SMALL_STATE(73)] = 1633, - [SMALL_STATE(74)] = 1650, - [SMALL_STATE(75)] = 1664, - [SMALL_STATE(76)] = 1678, - [SMALL_STATE(77)] = 1692, - [SMALL_STATE(78)] = 1706, - [SMALL_STATE(79)] = 1720, - [SMALL_STATE(80)] = 1734, - [SMALL_STATE(81)] = 1748, - [SMALL_STATE(82)] = 1762, - [SMALL_STATE(83)] = 1776, - [SMALL_STATE(84)] = 1790, - [SMALL_STATE(85)] = 1804, - [SMALL_STATE(86)] = 1818, - [SMALL_STATE(87)] = 1832, - [SMALL_STATE(88)] = 1846, - [SMALL_STATE(89)] = 1860, - [SMALL_STATE(90)] = 1874, - [SMALL_STATE(91)] = 1888, - [SMALL_STATE(92)] = 1902, - [SMALL_STATE(93)] = 1916, - [SMALL_STATE(94)] = 1930, - [SMALL_STATE(95)] = 1944, - [SMALL_STATE(96)] = 1958, - [SMALL_STATE(97)] = 1972, - [SMALL_STATE(98)] = 1986, - [SMALL_STATE(99)] = 2000, - [SMALL_STATE(100)] = 2014, - [SMALL_STATE(101)] = 2028, - [SMALL_STATE(102)] = 2042, - [SMALL_STATE(103)] = 2056, - [SMALL_STATE(104)] = 2070, - [SMALL_STATE(105)] = 2084, - [SMALL_STATE(106)] = 2098, - [SMALL_STATE(107)] = 2112, - [SMALL_STATE(108)] = 2126, - [SMALL_STATE(109)] = 2140, - [SMALL_STATE(110)] = 2144, + [SMALL_STATE(4)] = 140, + [SMALL_STATE(5)] = 185, + [SMALL_STATE(6)] = 215, + [SMALL_STATE(7)] = 247, + [SMALL_STATE(8)] = 284, + [SMALL_STATE(9)] = 323, + [SMALL_STATE(10)] = 362, + [SMALL_STATE(11)] = 385, + [SMALL_STATE(12)] = 420, + [SMALL_STATE(13)] = 445, + [SMALL_STATE(14)] = 468, + [SMALL_STATE(15)] = 497, + [SMALL_STATE(16)] = 518, + [SMALL_STATE(17)] = 541, + [SMALL_STATE(18)] = 562, + [SMALL_STATE(19)] = 595, + [SMALL_STATE(20)] = 620, + [SMALL_STATE(21)] = 641, + [SMALL_STATE(22)] = 664, + [SMALL_STATE(23)] = 693, + [SMALL_STATE(24)] = 713, + [SMALL_STATE(25)] = 733, + [SMALL_STATE(26)] = 753, + [SMALL_STATE(27)] = 773, + [SMALL_STATE(28)] = 793, + [SMALL_STATE(29)] = 813, + [SMALL_STATE(30)] = 833, + [SMALL_STATE(31)] = 853, + [SMALL_STATE(32)] = 873, + [SMALL_STATE(33)] = 893, + [SMALL_STATE(34)] = 913, + [SMALL_STATE(35)] = 933, + [SMALL_STATE(36)] = 953, + [SMALL_STATE(37)] = 973, + [SMALL_STATE(38)] = 993, + [SMALL_STATE(39)] = 1013, + [SMALL_STATE(40)] = 1033, + [SMALL_STATE(41)] = 1053, + [SMALL_STATE(42)] = 1073, + [SMALL_STATE(43)] = 1093, + [SMALL_STATE(44)] = 1113, + [SMALL_STATE(45)] = 1133, + [SMALL_STATE(46)] = 1153, + [SMALL_STATE(47)] = 1173, + [SMALL_STATE(48)] = 1193, + [SMALL_STATE(49)] = 1213, + [SMALL_STATE(50)] = 1233, + [SMALL_STATE(51)] = 1253, + [SMALL_STATE(52)] = 1273, + [SMALL_STATE(53)] = 1293, + [SMALL_STATE(54)] = 1313, + [SMALL_STATE(55)] = 1342, + [SMALL_STATE(56)] = 1371, + [SMALL_STATE(57)] = 1397, + [SMALL_STATE(58)] = 1423, + [SMALL_STATE(59)] = 1449, + [SMALL_STATE(60)] = 1472, + [SMALL_STATE(61)] = 1495, + [SMALL_STATE(62)] = 1518, + [SMALL_STATE(63)] = 1538, + [SMALL_STATE(64)] = 1558, + [SMALL_STATE(65)] = 1574, + [SMALL_STATE(66)] = 1594, + [SMALL_STATE(67)] = 1610, + [SMALL_STATE(68)] = 1630, + [SMALL_STATE(69)] = 1648, + [SMALL_STATE(70)] = 1664, + [SMALL_STATE(71)] = 1681, + [SMALL_STATE(72)] = 1698, + [SMALL_STATE(73)] = 1715, + [SMALL_STATE(74)] = 1732, + [SMALL_STATE(75)] = 1747, + [SMALL_STATE(76)] = 1764, + [SMALL_STATE(77)] = 1781, + [SMALL_STATE(78)] = 1798, + [SMALL_STATE(79)] = 1815, + [SMALL_STATE(80)] = 1830, + [SMALL_STATE(81)] = 1847, + [SMALL_STATE(82)] = 1864, + [SMALL_STATE(83)] = 1878, + [SMALL_STATE(84)] = 1892, + [SMALL_STATE(85)] = 1906, + [SMALL_STATE(86)] = 1920, + [SMALL_STATE(87)] = 1934, + [SMALL_STATE(88)] = 1948, + [SMALL_STATE(89)] = 1962, + [SMALL_STATE(90)] = 1976, + [SMALL_STATE(91)] = 1990, + [SMALL_STATE(92)] = 2004, + [SMALL_STATE(93)] = 2018, + [SMALL_STATE(94)] = 2032, + [SMALL_STATE(95)] = 2046, + [SMALL_STATE(96)] = 2060, + [SMALL_STATE(97)] = 2074, + [SMALL_STATE(98)] = 2088, + [SMALL_STATE(99)] = 2102, + [SMALL_STATE(100)] = 2116, + [SMALL_STATE(101)] = 2130, + [SMALL_STATE(102)] = 2144, + [SMALL_STATE(103)] = 2158, + [SMALL_STATE(104)] = 2172, + [SMALL_STATE(105)] = 2186, + [SMALL_STATE(106)] = 2200, + [SMALL_STATE(107)] = 2214, + [SMALL_STATE(108)] = 2228, + [SMALL_STATE(109)] = 2242, + [SMALL_STATE(110)] = 2256, + [SMALL_STATE(111)] = 2270, + [SMALL_STATE(112)] = 2284, + [SMALL_STATE(113)] = 2298, + [SMALL_STATE(114)] = 2312, + [SMALL_STATE(115)] = 2326, + [SMALL_STATE(116)] = 2340, + [SMALL_STATE(117)] = 2354, + [SMALL_STATE(118)] = 2368, + [SMALL_STATE(119)] = 2382, + [SMALL_STATE(120)] = 2386, }; static const TSParseActionEntry ts_parse_actions[] = { [0] = {.entry = {.count = 0, .reusable = false}}, [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(), - [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), - [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), + [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), + [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), [7] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 0), - [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), - [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), - [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), - [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), - [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), - [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), - [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), - [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), - [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), - [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(15), - [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), - [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(41), - [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), - [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6), - [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5), - [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), - [41] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier, 1), - [43] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_identifier, 1), - [45] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier, 3), - [47] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_identifier, 3), - [49] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_timestamp, 1), - [51] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), - [53] = {.entry = {.count = 1, .reusable = false}}, SHIFT(69), - [55] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_time, 1), - [57] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_definition, 3, .production_id = 3), - [59] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), - [61] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), - [63] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), - [65] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), - [67] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_definition, 2, .production_id = 3), - [69] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_column_definition_repeat1, 2), - [71] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_column_definition_repeat1, 2), SHIFT_REPEAT(84), - [74] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_column_definition_repeat1, 2), SHIFT_REPEAT(22), - [77] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_column_definition_repeat1, 2), SHIFT_REPEAT(58), - [80] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_column_definition_repeat1, 2), SHIFT_REPEAT(12), - [83] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1), - [85] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), - [87] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), - [89] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), - [91] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(61), - [94] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(50), - [97] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_varchar, 1), - [99] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_char, 1), - [101] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_keyword_char, 1), REDUCE(sym_keyword_varchar, 1), - [104] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), - [106] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_numeric, 1), - [108] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), - [110] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decimal, 1), - [112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), - [114] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_varchar, 1), - [116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), - [118] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_char, 1), - [120] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_numeric, 4, .production_id = 4), - [122] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 1), - [124] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 2), - [126] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_time, 2), - [128] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_literal, 1), - [130] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3), - [132] = {.entry = {.count = 1, .reusable = false}}, SHIFT(96), - [134] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), - [136] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_double, 2), - [138] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__not_null, 2), - [140] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_varchar, 4, .production_id = 6), - [142] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__with_time_zone, 2), - [144] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__without_time_zone, 2), - [146] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decimal, 6, .production_id = 7), - [148] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_char, 4, .production_id = 6), - [150] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_numeric, 6, .production_id = 7), - [152] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decimal, 4, .production_id = 4), - [154] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_timestamptz, 1), - [156] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__literal_string, 3), - [158] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_timestamp, 2), - [160] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_column_definition_repeat1, 1), - [162] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__keyword_time_zone, 2), - [164] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_datetime, 1), - [166] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression, 1), - [168] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 4, .production_id = 5), - [170] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_timestamptz, 2), - [172] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type, 1), - [174] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_numeric, 1), - [176] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 3, .production_id = 5), - [178] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_character, 1), - [180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), - [182] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), - [184] = {.entry = {.count = 1, .reusable = false}}, SHIFT(100), - [186] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), - [188] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), - [190] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), - [192] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), - [194] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), - [196] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), - [198] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), - [200] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 1), - [202] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), - [204] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 2), - [206] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 1), - [208] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_column_definitions_repeat1, 2), SHIFT_REPEAT(52), - [211] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_column_definitions_repeat1, 2), - [213] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), - [215] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), - [217] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), - [219] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_reference, 1, .production_id = 1), - [221] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), - [223] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), - [225] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__if_not_exists, 3), - [227] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), - [229] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), - [231] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), - [233] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), - [235] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_definitions, 3), - [237] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_reference, 3, .production_id = 2), - [239] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_create_table, 5), - [241] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), - [243] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), - [245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), - [247] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_definitions, 2), - [249] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), - [251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), - [253] = {.entry = {.count = 1, .reusable = false}}, SHIFT(85), - [255] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), - [257] = {.entry = {.count = 1, .reusable = false}}, SHIFT(98), - [259] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_create_table, 4), - [261] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_create_table, 6), - [263] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), - [265] = {.entry = {.count = 1, .reusable = false}}, SHIFT(102), - [267] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_definitions, 4), - [269] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), - [271] = {.entry = {.count = 1, .reusable = false}}, SHIFT(74), - [273] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), - [275] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), - [277] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), - [279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), - [281] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), - [283] = {.entry = {.count = 1, .reusable = false}}, SHIFT(101), - [285] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), - [287] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_temporary, 1), - [289] = {.entry = {.count = 1, .reusable = false}}, SHIFT(110), - [291] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), - [293] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [295] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__create_statement, 1), - [297] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), - [299] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), - [301] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__ddl_statement, 1), - [303] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), - [305] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_line_comment, 2), - [307] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block_comment, 3), + [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), + [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), + [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), + [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), + [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), + [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), + [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), + [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), + [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), + [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(17), + [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), + [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(53), + [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), + [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5), + [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6), + [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), + [41] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier, 3), + [43] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_identifier, 3), + [45] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier, 1), + [47] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_identifier, 1), + [49] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_time, 1), + [51] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), + [53] = {.entry = {.count = 1, .reusable = false}}, SHIFT(73), + [55] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_timestamp, 1), + [57] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_column_definition_repeat1, 2), + [59] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_column_definition_repeat1, 2), SHIFT_REPEAT(110), + [62] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_column_definition_repeat1, 2), SHIFT_REPEAT(32), + [65] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_column_definition_repeat1, 2), SHIFT_REPEAT(67), + [68] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_column_definition_repeat1, 2), SHIFT_REPEAT(14), + [71] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_column_definition_repeat1, 2), SHIFT_REPEAT(19), + [74] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_definition, 3, .production_id = 3), + [76] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), + [78] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [80] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), + [82] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), + [84] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), + [86] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_definition, 2, .production_id = 3), + [88] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), + [90] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_char, 1), + [92] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1), + [94] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 3, .production_id = 5), + [96] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_column_constraint, 3, .production_id = 5), + [98] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), + [100] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), + [102] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_varchar, 1), + [104] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), + [106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), + [108] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_varchar, 1), + [110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), + [112] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_numeric, 1), + [114] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_char, 1), + [116] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), + [118] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(69), + [121] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(56), + [124] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 1), + [126] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_column_constraint, 1), + [128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), + [130] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_keyword_char, 1), REDUCE(sym_keyword_varchar, 1), + [133] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), + [135] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decimal, 1), + [137] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 2), + [139] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression, 1), + [141] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__not_null, 2), + [143] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 6, .production_id = 5), + [145] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 5, .production_id = 5), + [147] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_numeric, 6, .production_id = 7), + [149] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__with_time_zone, 2), + [151] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__without_time_zone, 2), + [153] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_column_definition_repeat1, 1), + [155] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decimal, 6, .production_id = 7), + [157] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 4), + [159] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_timestamptz, 2), + [161] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__literal_string, 3), + [163] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_timestamp, 2), + [165] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_time, 2), + [167] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_literal, 1), + [169] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_double, 2), + [171] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decimal, 4, .production_id = 4), + [173] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_numeric, 4, .production_id = 4), + [175] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 4, .production_id = 5), + [177] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_varchar, 4, .production_id = 6), + [179] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__keyword_time_zone, 2), + [181] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_timestamptz, 1), + [183] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_char, 4, .production_id = 6), + [185] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 3), + [187] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type, 1), + [189] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_numeric, 1), + [191] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_character, 1), + [193] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_datetime, 1), + [195] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4), + [197] = {.entry = {.count = 1, .reusable = false}}, SHIFT(89), + [199] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), + [201] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), + [203] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), + [205] = {.entry = {.count = 1, .reusable = false}}, SHIFT(103), + [207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), + [209] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), + [211] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), + [213] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), + [215] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), + [217] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), + [219] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), + [221] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), + [223] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 2), + [225] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), + [227] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 1), + [229] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_column_definitions_repeat1, 2), SHIFT_REPEAT(59), + [232] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_column_definitions_repeat1, 2), + [234] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 1), + [236] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), + [238] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), + [240] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__if_not_exists, 3), + [242] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_reference, 1, .production_id = 1), + [244] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), + [246] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), + [248] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), + [250] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), + [252] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), + [254] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), + [256] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), + [258] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), + [260] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), + [262] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_definitions, 3), + [264] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), + [266] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), + [268] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__ddl_statement, 1), + [270] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), + [272] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), + [274] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), + [276] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), + [278] = {.entry = {.count = 1, .reusable = false}}, SHIFT(107), + [280] = {.entry = {.count = 1, .reusable = false}}, SHIFT(104), + [282] = {.entry = {.count = 1, .reusable = false}}, SHIFT(105), + [284] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [286] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), + [288] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), + [290] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_definitions, 4), + [292] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), + [294] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), + [296] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), + [298] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_create_table, 6), + [300] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), + [302] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__create_statement, 1), + [304] = {.entry = {.count = 1, .reusable = false}}, SHIFT(116), + [306] = {.entry = {.count = 1, .reusable = false}}, SHIFT(120), + [308] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_temporary, 1), + [310] = {.entry = {.count = 1, .reusable = false}}, SHIFT(102), + [312] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), + [314] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), + [316] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), + [318] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), + [320] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), + [322] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), + [324] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), + [326] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_reference, 3, .production_id = 2), + [328] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_create_table, 5), + [330] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_definitions, 2), + [332] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_create_table, 4), + [334] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), + [336] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), + [338] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), + [340] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_line_comment, 2), + [342] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block_comment, 3), }; #ifdef __cplusplus diff --git a/test/corpus/create/table.txt b/test/corpus/create/table.txt index d312c46..ae64154 100644 --- a/test/corpus/create/table.txt +++ b/test/corpus/create/table.txt @@ -174,7 +174,7 @@ Create a table with column constraints create table foo ( c1 text not null, c2 text null, - c2 text not null default 'hello' + c3 text not null default 'hello' ); -------------------------------------------------------------------------------- @@ -225,7 +225,8 @@ Create a table with named column constraints create table foo ( c1 text constraint strong_c1 not null, c2 text constraint weak_c2 null, - c3 text constraint "c3 with power" not null constraint "c2 set default hello" default 'hello' + c3 text constraint "c3 with power" not null constraint "c2 set default hello" default 'hello', + c4 text constraint "c4 unique" unique nulls not distinct ); -------------------------------------------------------------------------------- @@ -273,6 +274,18 @@ create table foo ( (literal) ) ) + (column_definition + name: (identifier) + datatype: (keyword_text) + (column_constraint + (keyword_constraint) + name: (identifier) + (keyword_unique) + (keyword_nulls) + (keyword_not) + (keyword_distinct) + ) + ) ) ) ) diff --git a/tree-sitter-plpgsql.wasm b/tree-sitter-plpgsql.wasm index f56bd8a28e03d7d83e3b38db49730257fddccc3c..732163cda8ca263de437f3f6f68a2dfa8011d3ff 100755 GIT binary patch literal 28274 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 literal 26594 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