diff --git a/grammar.js b/grammar.js index f31e09c..1158cf1 100644 --- a/grammar.js +++ b/grammar.js @@ -34,12 +34,8 @@ module.exports = grammar({ ), column_definitions: ($) => - seq( - "(", - optional( - commaSepRepeat1(choice($.column_definition, $.table_constraint)) - ), - ")" + parens( + optional(commaSep1(choice($.column_definition, $.table_constraint))) ), column_definition: ($) => @@ -55,28 +51,53 @@ module.exports = grammar({ // TODO: add index_parameters in UNIQUE, PRIMARY KEY $._unique_constraint, $._primary_key, - $._foreign_key_references + seq( + $.keyword_references, + $.table_reference, + optional($.ref_column), + optional($._foreign_key_match), + optional( + choice( + seq($._foreign_key_on_delete, $._foreign_key_on_update), + seq($._foreign_key_on_update, $._foreign_key_on_delete) + ) + ) + ) // TODO: CHECK // TODO: GENERATED ) // TODO: DEFERRABLE ), + ref_column: ($) => parens(field("name", $.identifier)), + table_constraint: ($) => seq( optional(seq($.keyword_constraint, field("name", $.identifier))), choice( seq($._unique_constraint, $.column_list), seq($._primary_key, $.column_list), - seq($._foreign_key, $.column_list, $._foreign_key_references) + seq( + $._foreign_key, + $.column_list, + $.keyword_references, + $.table_reference, + optional(alias($.column_list, $.ref_column_list)), + optional($._foreign_key_match), + optional( + choice( + seq($._foreign_key_on_delete, $._foreign_key_on_update), + seq($._foreign_key_on_update, $._foreign_key_on_delete) + ) + ) + ) // TODO: CHECK // TODO: EXCLUDE ) // TODO: DEFERRABLE ), - column_list: ($) => - seq("(", commaSepRepeat1(field("name", $.identifier)), ")"), + column_list: ($) => parens(commaSep1(field("name", $.identifier))), _unique_constraint: ($) => seq( @@ -86,19 +107,6 @@ module.exports = grammar({ ) ), - _foreign_key_references: ($) => - seq( - $.keyword_references, - $.table_reference, - optional(seq("(", field("refcolumn", $.identifier), ")")), - optional($._foreign_key_match), - optional( - choice( - seq($._foreign_key_on_delete, $._foreign_key_on_update), - seq($._foreign_key_on_update, $._foreign_key_on_delete) - ) - ) - ), _foreign_key_match: ($) => seq( $.keyword_match, @@ -117,7 +125,7 @@ module.exports = grammar({ seq( $.keyword_set, choice($.keyword_null, $.keyword_default), - optional(seq("(", commaSepRepeat1($.identifier), ")")) + optional(parens(commaSep1($.identifier))) ) ), @@ -324,8 +332,16 @@ function mkKeyword(word) { return new RegExp(word + "|" + word.toUpperCase()); } -function commaSepRepeat1(field) { - return seq(field, repeat(seq(",", field))); +function commaSep1(rule) { + return sep1(",", rule); +} + +function sep1(separator, rule) { + return seq(rule, repeat(seq(separator, rule))); +} + +function parens(rule) { + return seq("(", rule, ")"); } function parametricType($, type, params = ["size"]) { diff --git a/src/grammar.json b/src/grammar.json index f4d60fd..c670e13 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -256,13 +256,106 @@ "name": "_primary_key" }, { - "type": "SYMBOL", - "name": "_foreign_key_references" + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "keyword_references" + }, + { + "type": "SYMBOL", + "name": "table_reference" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "ref_column" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_foreign_key_match" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_foreign_key_on_delete" + }, + { + "type": "SYMBOL", + "name": "_foreign_key_on_update" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_foreign_key_on_update" + }, + { + "type": "SYMBOL", + "name": "_foreign_key_on_delete" + } + ] + } + ] + }, + { + "type": "BLANK" + } + ] + } + ] } ] } ] }, + "ref_column": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "STRING", + "value": ")" + } + ] + }, "table_constraint": { "type": "SEQ", "members": [ @@ -333,7 +426,79 @@ }, { "type": "SYMBOL", - "name": "_foreign_key_references" + "name": "keyword_references" + }, + { + "type": "SYMBOL", + "name": "table_reference" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "column_list" + }, + "named": true, + "value": "ref_column_list" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_foreign_key_match" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_foreign_key_on_delete" + }, + { + "type": "SYMBOL", + "name": "_foreign_key_on_update" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_foreign_key_on_update" + }, + { + "type": "SYMBOL", + "name": "_foreign_key_on_delete" + } + ] + } + ] + }, + { + "type": "BLANK" + } + ] } ] } @@ -429,99 +594,6 @@ } ] }, - "_foreign_key_references": { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "keyword_references" - }, - { - "type": "SYMBOL", - "name": "table_reference" - }, - { - "type": "CHOICE", - "members": [ - { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "(" - }, - { - "type": "FIELD", - "name": "refcolumn", - "content": { - "type": "SYMBOL", - "name": "identifier" - } - }, - { - "type": "STRING", - "value": ")" - } - ] - }, - { - "type": "BLANK" - } - ] - }, - { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "_foreign_key_match" - }, - { - "type": "BLANK" - } - ] - }, - { - "type": "CHOICE", - "members": [ - { - "type": "CHOICE", - "members": [ - { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "_foreign_key_on_delete" - }, - { - "type": "SYMBOL", - "name": "_foreign_key_on_update" - } - ] - }, - { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "_foreign_key_on_update" - }, - { - "type": "SYMBOL", - "name": "_foreign_key_on_delete" - } - ] - } - ] - }, - { - "type": "BLANK" - } - ] - } - ] - }, "_foreign_key_match": { "type": "SEQ", "members": [ diff --git a/src/node-types.json b/src/node-types.json index c033ef5..f4b2be7 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -43,16 +43,6 @@ "named": true } ] - }, - "refcolumn": { - "multiple": false, - "required": false, - "types": [ - { - "type": "identifier", - "named": true - } - ] } }, "children": { @@ -131,6 +121,10 @@ "type": "literal", "named": true }, + { + "type": "ref_column", + "named": true + }, { "type": "referencial_action", "named": true @@ -407,6 +401,38 @@ ] } }, + { + "type": "ref_column", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + } + }, + { + "type": "ref_column_list", + "named": true, + "fields": { + "name": { + "multiple": true, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + } + }, { "type": "referencial_action", "named": true, @@ -493,16 +519,6 @@ "named": true } ] - }, - "refcolumn": { - "multiple": false, - "required": false, - "types": [ - { - "type": "identifier", - "named": true - } - ] } }, "children": { @@ -577,6 +593,10 @@ "type": "keyword_update", "named": true }, + { + "type": "ref_column_list", + "named": true + }, { "type": "referencial_action", "named": true diff --git a/src/parser.c b/src/parser.c index 035bcea..5d85784 100644 --- a/src/parser.c +++ b/src/parser.c @@ -6,15 +6,15 @@ #endif #define LANGUAGE_VERSION 14 -#define STATE_COUNT 184 +#define STATE_COUNT 226 #define LARGE_STATE_COUNT 2 #define SYMBOL_COUNT 133 -#define ALIAS_COUNT 0 +#define ALIAS_COUNT 1 #define TOKEN_COUNT 79 #define EXTERNAL_TOKEN_COUNT 0 -#define FIELD_COUNT 6 -#define MAX_ALIAS_SEQUENCE_LENGTH 8 -#define PRODUCTION_ID_COUNT 14 +#define FIELD_COUNT 5 +#define MAX_ALIAS_SEQUENCE_LENGTH 10 +#define PRODUCTION_ID_COUNT 11 enum { sym__identifier = 1, @@ -103,10 +103,10 @@ enum { sym_column_definitions = 84, sym_column_definition = 85, sym_column_constraint = 86, - sym_table_constraint = 87, - sym_column_list = 88, - sym__unique_constraint = 89, - sym__foreign_key_references = 90, + sym_ref_column = 87, + sym_table_constraint = 88, + sym_column_list = 89, + sym__unique_constraint = 90, sym__foreign_key_match = 91, sym__foreign_key_on_delete = 92, sym__foreign_key_on_update = 93, @@ -149,6 +149,7 @@ enum { aux_sym_column_definition_repeat1 = 130, aux_sym_column_list_repeat1 = 131, aux_sym_referencial_action_repeat1 = 132, + alias_sym_ref_column_list = 133, }; static const char * const ts_symbol_names[] = { @@ -239,10 +240,10 @@ static const char * const ts_symbol_names[] = { [sym_column_definitions] = "column_definitions", [sym_column_definition] = "column_definition", [sym_column_constraint] = "column_constraint", + [sym_ref_column] = "ref_column", [sym_table_constraint] = "table_constraint", [sym_column_list] = "column_list", [sym__unique_constraint] = "_unique_constraint", - [sym__foreign_key_references] = "_foreign_key_references", [sym__foreign_key_match] = "_foreign_key_match", [sym__foreign_key_on_delete] = "_foreign_key_on_delete", [sym__foreign_key_on_update] = "_foreign_key_on_update", @@ -285,6 +286,7 @@ static const char * const ts_symbol_names[] = { [aux_sym_column_definition_repeat1] = "column_definition_repeat1", [aux_sym_column_list_repeat1] = "column_list_repeat1", [aux_sym_referencial_action_repeat1] = "referencial_action_repeat1", + [alias_sym_ref_column_list] = "ref_column_list", }; static const TSSymbol ts_symbol_map[] = { @@ -375,10 +377,10 @@ static const TSSymbol ts_symbol_map[] = { [sym_column_definitions] = sym_column_definitions, [sym_column_definition] = sym_column_definition, [sym_column_constraint] = sym_column_constraint, + [sym_ref_column] = sym_ref_column, [sym_table_constraint] = sym_table_constraint, [sym_column_list] = sym_column_list, [sym__unique_constraint] = sym__unique_constraint, - [sym__foreign_key_references] = sym__foreign_key_references, [sym__foreign_key_match] = sym__foreign_key_match, [sym__foreign_key_on_delete] = sym__foreign_key_on_delete, [sym__foreign_key_on_update] = sym__foreign_key_on_update, @@ -421,6 +423,7 @@ static const TSSymbol ts_symbol_map[] = { [aux_sym_column_definition_repeat1] = aux_sym_column_definition_repeat1, [aux_sym_column_list_repeat1] = aux_sym_column_list_repeat1, [aux_sym_referencial_action_repeat1] = aux_sym_referencial_action_repeat1, + [alias_sym_ref_column_list] = alias_sym_ref_column_list, }; static const TSSymbolMetadata ts_symbol_metadata[] = { @@ -772,6 +775,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_ref_column] = { + .visible = true, + .named = true, + }, [sym_table_constraint] = { .visible = true, .named = true, @@ -784,10 +791,6 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = true, }, - [sym__foreign_key_references] = { - .visible = false, - .named = true, - }, [sym__foreign_key_match] = { .visible = false, .named = true, @@ -956,22 +959,24 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = false, }, + [alias_sym_ref_column_list] = { + .visible = true, + .named = true, + }, }; enum { field_name = 1, field_precision = 2, - field_refcolumn = 3, - field_scale = 4, - field_schema = 5, - field_size = 6, + field_scale = 3, + field_schema = 4, + field_size = 5, }; static const char * const ts_field_names[] = { [0] = NULL, [field_name] = "name", [field_precision] = "precision", - [field_refcolumn] = "refcolumn", [field_scale] = "scale", [field_schema] = "schema", [field_size] = "size", @@ -981,16 +986,12 @@ static const TSFieldMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { [1] = {.index = 0, .length = 1}, [2] = {.index = 1, .length = 2}, [3] = {.index = 3, .length = 1}, - [4] = {.index = 4, .length = 1}, - [5] = {.index = 5, .length = 1}, - [6] = {.index = 6, .length = 2}, - [7] = {.index = 8, .length = 2}, - [8] = {.index = 10, .length = 2}, - [9] = {.index = 12, .length = 1}, - [10] = {.index = 13, .length = 2}, - [11] = {.index = 15, .length = 1}, - [12] = {.index = 16, .length = 1}, - [13] = {.index = 17, .length = 2}, + [4] = {.index = 4, .length = 2}, + [5] = {.index = 6, .length = 2}, + [7] = {.index = 8, .length = 1}, + [8] = {.index = 9, .length = 1}, + [9] = {.index = 3, .length = 1}, + [10] = {.index = 10, .length = 2}, }; static const TSFieldMapEntry ts_field_map_entries[] = { @@ -1000,39 +1001,36 @@ static const TSFieldMapEntry ts_field_map_entries[] = { {field_name, 2}, {field_schema, 0}, [3] = - {field_refcolumn, 2, .inherited = true}, + {field_name, 1}, [4] = - {field_refcolumn, 0, .inherited = true}, - [5] = - {field_name, 1}, - [6] = - {field_name, 1}, - {field_refcolumn, 4, .inherited = true}, - [8] = {field_name, 1}, {field_name, 2, .inherited = true}, - [10] = + [6] = {field_name, 0, .inherited = true}, {field_name, 1, .inherited = true}, - [12] = + [8] = {field_precision, 2}, - [13] = - {field_name, 1}, - {field_refcolumn, 2, .inherited = true}, - [15] = + [9] = {field_size, 2}, - [16] = - {field_refcolumn, 3}, - [17] = + [10] = {field_precision, 2}, {field_scale, 4}, }; static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = { [0] = {0}, + [6] = { + [4] = alias_sym_ref_column_list, + }, + [9] = { + [6] = alias_sym_ref_column_list, + }, }; static const uint16_t ts_non_terminal_alias_map[] = { + sym_column_list, 2, + sym_column_list, + alias_sym_ref_column_list, 0, }; @@ -1221,6 +1219,48 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [181] = 181, [182] = 182, [183] = 183, + [184] = 184, + [185] = 185, + [186] = 186, + [187] = 187, + [188] = 188, + [189] = 189, + [190] = 190, + [191] = 191, + [192] = 192, + [193] = 193, + [194] = 194, + [195] = 195, + [196] = 196, + [197] = 197, + [198] = 198, + [199] = 199, + [200] = 200, + [201] = 201, + [202] = 202, + [203] = 203, + [204] = 204, + [205] = 205, + [206] = 206, + [207] = 207, + [208] = 208, + [209] = 209, + [210] = 210, + [211] = 211, + [212] = 212, + [213] = 213, + [214] = 214, + [215] = 215, + [216] = 216, + [217] = 217, + [218] = 218, + [219] = 219, + [220] = 220, + [221] = 221, + [222] = 222, + [223] = 223, + [224] = 224, + [225] = 225, }; static bool ts_lex(TSLexer *lexer, TSStateId state) { @@ -3380,7 +3420,7 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [137] = {.lex_state = 0}, [138] = {.lex_state = 0}, [139] = {.lex_state = 0}, - [140] = {.lex_state = 1}, + [140] = {.lex_state = 0}, [141] = {.lex_state = 0}, [142] = {.lex_state = 0}, [143] = {.lex_state = 0}, @@ -3405,16 +3445,16 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [162] = {.lex_state = 0}, [163] = {.lex_state = 0}, [164] = {.lex_state = 0}, - [165] = {.lex_state = 35}, + [165] = {.lex_state = 0}, [166] = {.lex_state = 0}, - [167] = {.lex_state = 5}, + [167] = {.lex_state = 0}, [168] = {.lex_state = 0}, [169] = {.lex_state = 0}, [170] = {.lex_state = 0}, [171] = {.lex_state = 0}, [172] = {.lex_state = 0}, [173] = {.lex_state = 0}, - [174] = {.lex_state = 10}, + [174] = {.lex_state = 0}, [175] = {.lex_state = 0}, [176] = {.lex_state = 0}, [177] = {.lex_state = 0}, @@ -3422,8 +3462,50 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [179] = {.lex_state = 0}, [180] = {.lex_state = 0}, [181] = {.lex_state = 0}, - [182] = {(TSStateId)(-1)}, - [183] = {(TSStateId)(-1)}, + [182] = {.lex_state = 0}, + [183] = {.lex_state = 0}, + [184] = {.lex_state = 0}, + [185] = {.lex_state = 0}, + [186] = {.lex_state = 0}, + [187] = {.lex_state = 0}, + [188] = {.lex_state = 0}, + [189] = {.lex_state = 0}, + [190] = {.lex_state = 0}, + [191] = {.lex_state = 0}, + [192] = {.lex_state = 0}, + [193] = {.lex_state = 0}, + [194] = {.lex_state = 0}, + [195] = {.lex_state = 0}, + [196] = {.lex_state = 0}, + [197] = {.lex_state = 0}, + [198] = {.lex_state = 0}, + [199] = {.lex_state = 0}, + [200] = {.lex_state = 0}, + [201] = {.lex_state = 0}, + [202] = {.lex_state = 0}, + [203] = {.lex_state = 0}, + [204] = {.lex_state = 35}, + [205] = {.lex_state = 0}, + [206] = {.lex_state = 0}, + [207] = {.lex_state = 0}, + [208] = {.lex_state = 5}, + [209] = {.lex_state = 0}, + [210] = {.lex_state = 0}, + [211] = {.lex_state = 0}, + [212] = {.lex_state = 0}, + [213] = {.lex_state = 0}, + [214] = {.lex_state = 1}, + [215] = {.lex_state = 10}, + [216] = {.lex_state = 0}, + [217] = {.lex_state = 0}, + [218] = {.lex_state = 0}, + [219] = {.lex_state = 0}, + [220] = {.lex_state = 0}, + [221] = {.lex_state = 0}, + [222] = {.lex_state = 0}, + [223] = {.lex_state = 0}, + [224] = {(TSStateId)(-1)}, + [225] = {(TSStateId)(-1)}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -3507,14 +3589,14 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_DQUOTE] = ACTIONS(1), }, [1] = { - [sym_source_file] = STATE(170), - [sym_statement] = STATE(104), - [sym__ddl_statement] = STATE(163), - [sym__create_statement] = STATE(162), - [sym_create_table] = STATE(141), + [sym_source_file] = STATE(202), + [sym_statement] = STATE(106), + [sym__ddl_statement] = STATE(222), + [sym__create_statement] = STATE(221), + [sym_create_table] = STATE(220), [sym_line_comment] = STATE(1), [sym_block_comment] = STATE(1), - [aux_sym_source_file_repeat1] = STATE(74), + [aux_sym_source_file_repeat1] = STATE(82), [ts_builtin_sym_end] = ACTIONS(7), [anon_sym_SEMI] = ACTIONS(9), [sym_keyword_create] = ACTIONS(11), @@ -3553,13 +3635,13 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_keyword_timestamptz_token1, ACTIONS(41), 1, anon_sym_DQUOTE, - STATE(5), 1, + STATE(8), 1, sym_type, - STATE(23), 1, + STATE(31), 1, sym_keyword_varchar, - STATE(37), 1, + STATE(32), 1, sym_keyword_char, - STATE(66), 1, + STATE(74), 1, sym_identifier, ACTIONS(35), 2, sym_keyword_date, @@ -3567,17 +3649,17 @@ static const uint16_t ts_small_parse_table[] = { STATE(2), 2, sym_line_comment, sym_block_comment, - STATE(69), 2, + STATE(64), 2, sym_char, sym_varchar, + STATE(61), 3, + sym_double, + sym_decimal, + sym_numeric, STATE(68), 3, sym_keyword_time, sym_keyword_timestamp, sym_keyword_timestamptz, - STATE(71), 3, - sym_double, - sym_decimal, - sym_numeric, ACTIONS(19), 5, sym_keyword_xml, sym_keyword_uuid, @@ -3592,7 +3674,7 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_smallserial, sym_keyword_serial, sym_keyword_bigserial, - STATE(70), 7, + STATE(60), 7, sym__type_numeric, sym__type_character, sym__type_datetime, @@ -3700,97 +3782,89 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_keyword_timestamp_token1, aux_sym_keyword_timestamptz_token1, sym__identifier, - [212] = 15, + [212] = 11, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(53), 1, - sym_keyword_not, + ACTIONS(51), 1, + anon_sym_LPAREN, ACTIONS(55), 1, - sym_keyword_null, + sym_keyword_on, ACTIONS(57), 1, - sym_keyword_constraint, - ACTIONS(59), 1, - sym_keyword_default, - ACTIONS(61), 1, - sym_keyword_unique, - ACTIONS(63), 1, - sym_keyword_primary, - ACTIONS(65), 1, - sym_keyword_references, - STATE(6), 1, - aux_sym_column_definition_repeat1, - STATE(59), 1, - sym__foreign_key_references, - STATE(60), 1, - sym_column_constraint, - ACTIONS(51), 2, - anon_sym_COMMA, - anon_sym_RPAREN, + sym_keyword_match, + STATE(7), 1, + sym_ref_column, + STATE(18), 1, + sym__foreign_key_match, + STATE(163), 1, + sym__foreign_key_on_update, + STATE(164), 1, + sym__foreign_key_on_delete, STATE(5), 2, sym_line_comment, sym_block_comment, - STATE(61), 3, - sym__unique_constraint, - sym__primary_key, - sym__not_null, - [262] = 15, + ACTIONS(53), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + sym_keyword_unique, + sym_keyword_primary, + sym_keyword_references, + [255] = 11, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(53), 1, - sym_keyword_not, + ACTIONS(51), 1, + anon_sym_LPAREN, ACTIONS(55), 1, - sym_keyword_null, + sym_keyword_on, ACTIONS(57), 1, - sym_keyword_constraint, - ACTIONS(59), 1, - sym_keyword_default, - ACTIONS(61), 1, - sym_keyword_unique, - ACTIONS(63), 1, - sym_keyword_primary, - ACTIONS(65), 1, - sym_keyword_references, - STATE(8), 1, - aux_sym_column_definition_repeat1, - STATE(59), 1, - sym__foreign_key_references, - STATE(60), 1, - sym_column_constraint, - ACTIONS(67), 2, - anon_sym_COMMA, - anon_sym_RPAREN, + sym_keyword_match, + STATE(10), 1, + sym_ref_column, + STATE(16), 1, + sym__foreign_key_match, + STATE(146), 1, + sym__foreign_key_on_delete, + STATE(147), 1, + sym__foreign_key_on_update, STATE(6), 2, sym_line_comment, sym_block_comment, - STATE(61), 3, - sym__unique_constraint, - sym__primary_key, - sym__not_null, - [312] = 10, + ACTIONS(59), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + sym_keyword_unique, + sym_keyword_primary, + sym_keyword_references, + [298] = 9, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(69), 1, - anon_sym_LPAREN, - ACTIONS(73), 1, + ACTIONS(55), 1, sym_keyword_on, - ACTIONS(75), 1, + ACTIONS(57), 1, sym_keyword_match, - STATE(16), 1, + STATE(21), 1, sym__foreign_key_match, - STATE(132), 1, - sym__foreign_key_on_delete, - STATE(133), 1, + STATE(139), 1, sym__foreign_key_on_update, + STATE(140), 1, + sym__foreign_key_on_delete, STATE(7), 2, sym_line_comment, sym_block_comment, - ACTIONS(71), 9, + ACTIONS(61), 9, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, @@ -3800,83 +3874,89 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [352] = 14, + [335] = 14, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(79), 1, + ACTIONS(65), 1, sym_keyword_not, - ACTIONS(82), 1, + ACTIONS(67), 1, sym_keyword_null, - ACTIONS(85), 1, + ACTIONS(69), 1, sym_keyword_constraint, - ACTIONS(88), 1, + ACTIONS(71), 1, sym_keyword_default, - ACTIONS(91), 1, + ACTIONS(73), 1, sym_keyword_unique, - ACTIONS(94), 1, + ACTIONS(75), 1, sym_keyword_primary, - ACTIONS(97), 1, + ACTIONS(77), 1, sym_keyword_references, - STATE(59), 1, - sym__foreign_key_references, - STATE(60), 1, + STATE(11), 1, + aux_sym_column_definition_repeat1, + STATE(57), 1, sym_column_constraint, - ACTIONS(77), 2, + ACTIONS(63), 2, anon_sym_COMMA, anon_sym_RPAREN, - STATE(8), 3, + STATE(8), 2, sym_line_comment, sym_block_comment, - aux_sym_column_definition_repeat1, - STATE(61), 3, + STATE(43), 3, sym__unique_constraint, sym__primary_key, sym__not_null, - [400] = 9, + [382] = 13, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(73), 1, - sym_keyword_on, - ACTIONS(75), 1, - sym_keyword_match, - STATE(17), 1, - sym__foreign_key_match, - STATE(126), 1, - sym__foreign_key_on_delete, - STATE(127), 1, - sym__foreign_key_on_update, - STATE(9), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(100), 9, + ACTIONS(81), 1, + sym_keyword_not, + ACTIONS(84), 1, + sym_keyword_null, + ACTIONS(87), 1, + sym_keyword_constraint, + ACTIONS(90), 1, + sym_keyword_default, + ACTIONS(93), 1, + sym_keyword_unique, + ACTIONS(96), 1, + sym_keyword_primary, + ACTIONS(99), 1, + sym_keyword_references, + STATE(57), 1, + sym_column_constraint, + ACTIONS(79), 2, anon_sym_COMMA, anon_sym_RPAREN, - sym_keyword_not, - sym_keyword_null, - sym_keyword_constraint, - sym_keyword_default, - sym_keyword_unique, - sym_keyword_primary, - sym_keyword_references, - [437] = 7, + STATE(9), 3, + sym_line_comment, + sym_block_comment, + aux_sym_column_definition_repeat1, + STATE(43), 3, + sym__unique_constraint, + sym__primary_key, + sym__not_null, + [427] = 9, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(104), 1, - aux_sym__without_time_zone_token1, - ACTIONS(106), 1, - aux_sym__with_time_zone_token1, + ACTIONS(55), 1, + sym_keyword_on, + ACTIONS(57), 1, + sym_keyword_match, + STATE(19), 1, + sym__foreign_key_match, + STATE(169), 1, + sym__foreign_key_on_delete, + STATE(170), 1, + sym__foreign_key_on_update, STATE(10), 2, sym_line_comment, sym_block_comment, - STATE(64), 2, - sym__without_time_zone, - sym__with_time_zone, ACTIONS(102), 9, anon_sym_COMMA, anon_sym_RPAREN, @@ -3887,76 +3967,56 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [469] = 8, + [464] = 14, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(104), 1, - aux_sym__without_time_zone_token1, - ACTIONS(106), 1, - aux_sym__with_time_zone_token1, - STATE(62), 1, - sym__with_time_zone, - STATE(63), 1, - sym__without_time_zone, + ACTIONS(65), 1, + sym_keyword_not, + ACTIONS(67), 1, + sym_keyword_null, + ACTIONS(69), 1, + sym_keyword_constraint, + ACTIONS(71), 1, + sym_keyword_default, + ACTIONS(73), 1, + sym_keyword_unique, + ACTIONS(75), 1, + sym_keyword_primary, + ACTIONS(77), 1, + sym_keyword_references, + STATE(9), 1, + aux_sym_column_definition_repeat1, + STATE(57), 1, + sym_column_constraint, + ACTIONS(104), 2, + anon_sym_COMMA, + anon_sym_RPAREN, STATE(11), 2, sym_line_comment, sym_block_comment, - ACTIONS(108), 9, - anon_sym_COMMA, - anon_sym_RPAREN, - sym_keyword_not, - sym_keyword_null, - sym_keyword_constraint, - sym_keyword_default, - sym_keyword_unique, - sym_keyword_primary, - sym_keyword_references, - [503] = 14, + STATE(43), 3, + sym__unique_constraint, + sym__primary_key, + sym__not_null, + [511] = 8, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(13), 1, - sym__identifier, - ACTIONS(41), 1, - anon_sym_DQUOTE, + ACTIONS(108), 1, + aux_sym__without_time_zone_token1, ACTIONS(110), 1, - anon_sym_RPAREN, - ACTIONS(112), 1, - sym_keyword_constraint, - ACTIONS(114), 1, - sym_keyword_unique, - ACTIONS(116), 1, - sym_keyword_primary, - ACTIONS(118), 1, - sym_keyword_foreign, - STATE(2), 1, - sym_identifier, - STATE(112), 1, - sym__foreign_key, + aux_sym__with_time_zone_token1, + STATE(53), 1, + sym__without_time_zone, + STATE(71), 1, + sym__with_time_zone, STATE(12), 2, sym_line_comment, sym_block_comment, - STATE(102), 2, - sym_column_definition, - sym_table_constraint, - STATE(115), 2, - sym__unique_constraint, - sym__primary_key, - [549] = 5, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(122), 1, - anon_sym_DOT, - STATE(13), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(120), 12, - anon_sym_LPAREN, + ACTIONS(106), 9, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, @@ -3966,9 +4026,7 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - sym_keyword_on, - sym_keyword_match, - [577] = 13, + [545] = 14, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -3978,35 +4036,39 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(41), 1, anon_sym_DQUOTE, ACTIONS(112), 1, - sym_keyword_constraint, + anon_sym_RPAREN, ACTIONS(114), 1, - sym_keyword_unique, + sym_keyword_constraint, ACTIONS(116), 1, - sym_keyword_primary, + sym_keyword_unique, ACTIONS(118), 1, + sym_keyword_primary, + ACTIONS(120), 1, sym_keyword_foreign, STATE(2), 1, sym_identifier, - STATE(112), 1, + STATE(179), 1, sym__foreign_key, - STATE(14), 2, + STATE(13), 2, sym_line_comment, sym_block_comment, - STATE(115), 2, - sym__unique_constraint, - sym__primary_key, - STATE(116), 2, + STATE(104), 2, sym_column_definition, sym_table_constraint, - [620] = 4, + STATE(178), 2, + sym__unique_constraint, + sym__primary_key, + [591] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(15), 2, + ACTIONS(124), 1, + anon_sym_DOT, + STATE(14), 2, sym_line_comment, sym_block_comment, - ACTIONS(124), 12, + ACTIONS(122), 12, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, @@ -4019,20 +4081,21 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_references, sym_keyword_on, sym_keyword_match, - [645] = 7, + [619] = 7, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(73), 1, - sym_keyword_on, - STATE(121), 1, - sym__foreign_key_on_update, - STATE(122), 1, - sym__foreign_key_on_delete, - STATE(16), 2, + ACTIONS(108), 1, + aux_sym__without_time_zone_token1, + ACTIONS(110), 1, + aux_sym__with_time_zone_token1, + STATE(15), 2, sym_line_comment, sym_block_comment, + STATE(54), 2, + sym__without_time_zone, + sym__with_time_zone, ACTIONS(126), 9, anon_sym_COMMA, anon_sym_RPAREN, @@ -4043,41 +4106,40 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [676] = 7, + [651] = 7, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(73), 1, + ACTIONS(55), 1, sym_keyword_on, - STATE(128), 1, + STATE(169), 1, sym__foreign_key_on_delete, - STATE(131), 1, + STATE(170), 1, sym__foreign_key_on_update, + STATE(16), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(102), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + sym_keyword_unique, + sym_keyword_primary, + sym_keyword_references, + [682] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, STATE(17), 2, sym_line_comment, sym_block_comment, - ACTIONS(128), 9, - anon_sym_COMMA, - anon_sym_RPAREN, - sym_keyword_not, - sym_keyword_null, - sym_keyword_constraint, - sym_keyword_default, - sym_keyword_unique, - sym_keyword_primary, - sym_keyword_references, - [707] = 5, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(130), 1, + ACTIONS(128), 12, anon_sym_LPAREN, - STATE(18), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(132), 10, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, @@ -4088,7 +4150,110 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_primary, sym_keyword_references, sym_keyword_on, - [733] = 6, + sym_keyword_match, + [707] = 7, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(55), 1, + sym_keyword_on, + STATE(139), 1, + sym__foreign_key_on_update, + STATE(140), 1, + sym__foreign_key_on_delete, + STATE(18), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(61), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + sym_keyword_unique, + sym_keyword_primary, + sym_keyword_references, + [738] = 7, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(55), 1, + sym_keyword_on, + STATE(159), 1, + sym__foreign_key_on_update, + STATE(161), 1, + sym__foreign_key_on_delete, + STATE(19), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(130), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + sym_keyword_unique, + sym_keyword_primary, + sym_keyword_references, + [769] = 13, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(13), 1, + sym__identifier, + ACTIONS(41), 1, + anon_sym_DQUOTE, + ACTIONS(114), 1, + sym_keyword_constraint, + ACTIONS(116), 1, + sym_keyword_unique, + ACTIONS(118), 1, + sym_keyword_primary, + ACTIONS(120), 1, + sym_keyword_foreign, + STATE(2), 1, + sym_identifier, + STATE(179), 1, + sym__foreign_key, + STATE(20), 2, + sym_line_comment, + sym_block_comment, + STATE(150), 2, + sym_column_definition, + sym_table_constraint, + STATE(178), 2, + sym__unique_constraint, + sym__primary_key, + [812] = 7, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(55), 1, + sym_keyword_on, + STATE(129), 1, + sym__foreign_key_on_update, + STATE(130), 1, + sym__foreign_key_on_delete, + STATE(21), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(132), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + sym_keyword_unique, + sym_keyword_primary, + sym_keyword_references, + [843] = 6, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -4097,7 +4262,7 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_null, ACTIONS(138), 1, sym_keyword_nulls, - STATE(19), 2, + STATE(22), 2, sym_line_comment, sym_block_comment, ACTIONS(134), 9, @@ -4110,60 +4275,15 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [761] = 11, + [871] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(53), 1, - sym_keyword_not, - ACTIONS(61), 1, - sym_keyword_unique, - ACTIONS(63), 1, - sym_keyword_primary, - ACTIONS(65), 1, - sym_keyword_references, - ACTIONS(140), 1, - sym_keyword_null, - ACTIONS(142), 1, - sym_keyword_default, - STATE(50), 1, - sym__foreign_key_references, - STATE(20), 2, + STATE(23), 2, sym_line_comment, sym_block_comment, - STATE(38), 3, - sym__unique_constraint, - sym__primary_key, - sym__not_null, - [798] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - STATE(21), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(144), 10, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_RPAREN, - sym_keyword_not, - sym_keyword_null, - sym_keyword_constraint, - sym_keyword_default, - sym_keyword_unique, - sym_keyword_primary, - sym_keyword_references, - [821] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - STATE(22), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(146), 10, + ACTIONS(140), 11, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, @@ -4174,17 +4294,18 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_primary, sym_keyword_references, sym_keyword_on, - [844] = 5, + sym_keyword_match, + [895] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(148), 1, + ACTIONS(142), 1, anon_sym_LPAREN, - STATE(23), 2, + STATE(24), 2, sym_line_comment, sym_block_comment, - ACTIONS(150), 9, + ACTIONS(144), 10, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, @@ -4194,12 +4315,52 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [869] = 4, + sym_keyword_on, + [921] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(24), 2, + ACTIONS(146), 1, + anon_sym_LPAREN, + STATE(25), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(148), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + sym_keyword_unique, + sym_keyword_primary, + sym_keyword_references, + [946] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + STATE(26), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(150), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + sym_keyword_unique, + sym_keyword_primary, + sym_keyword_references, + sym_keyword_on, + [969] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + STATE(27), 2, sym_line_comment, sym_block_comment, ACTIONS(152), 10, @@ -4213,34 +4374,15 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_primary, sym_keyword_references, sym_keyword_on, - [892] = 4, + [992] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(25), 2, + STATE(28), 2, sym_line_comment, sym_block_comment, ACTIONS(154), 10, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_RPAREN, - sym_keyword_not, - sym_keyword_null, - sym_keyword_constraint, - sym_keyword_default, - sym_keyword_unique, - sym_keyword_primary, - sym_keyword_references, - [915] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - STATE(26), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(132), 10, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, @@ -4251,12 +4393,12 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_primary, sym_keyword_references, sym_keyword_on, - [938] = 4, + [1015] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(27), 2, + STATE(29), 2, sym_line_comment, sym_block_comment, ACTIONS(156), 10, @@ -4270,45 +4412,7 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [961] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - STATE(28), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(159), 10, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_RPAREN, - sym_keyword_not, - sym_keyword_null, - sym_keyword_constraint, - sym_keyword_default, - sym_keyword_unique, - sym_keyword_primary, - sym_keyword_references, - [984] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - STATE(29), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(161), 10, - anon_sym_COMMA, - anon_sym_RPAREN, - sym_keyword_not, - sym_keyword_null, - sym_keyword_constraint, - sym_keyword_default, - sym_keyword_unique, - sym_keyword_primary, - sym_keyword_references, - sym_keyword_on, - [1007] = 4, + [1038] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -4316,26 +4420,7 @@ static const uint16_t ts_small_parse_table[] = { STATE(30), 2, sym_line_comment, sym_block_comment, - ACTIONS(163), 10, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_RPAREN, - sym_keyword_not, - sym_keyword_null, - sym_keyword_constraint, - sym_keyword_default, - sym_keyword_unique, - sym_keyword_primary, - sym_keyword_references, - [1030] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - STATE(31), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(165), 10, + ACTIONS(158), 10, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, @@ -4346,17 +4431,17 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_primary, sym_keyword_references, sym_keyword_on, - [1053] = 5, + [1061] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(167), 1, + ACTIONS(160), 1, anon_sym_LPAREN, - STATE(32), 2, + STATE(31), 2, sym_line_comment, sym_block_comment, - ACTIONS(169), 9, + ACTIONS(162), 9, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, @@ -4366,7 +4451,27 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1078] = 4, + [1086] = 5, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(164), 1, + anon_sym_LPAREN, + STATE(32), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(166), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + sym_keyword_unique, + sym_keyword_primary, + sym_keyword_references, + [1111] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -4374,7 +4479,7 @@ static const uint16_t ts_small_parse_table[] = { STATE(33), 2, sym_line_comment, sym_block_comment, - ACTIONS(171), 10, + ACTIONS(168), 10, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, @@ -4385,17 +4490,16 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1101] = 5, + [1134] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(173), 1, - anon_sym_LPAREN, STATE(34), 2, sym_line_comment, sym_block_comment, - ACTIONS(175), 9, + ACTIONS(170), 10, + anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, @@ -4405,7 +4509,7 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1126] = 4, + [1157] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -4413,7 +4517,8 @@ static const uint16_t ts_small_parse_table[] = { STATE(35), 2, sym_line_comment, sym_block_comment, - ACTIONS(177), 10, + ACTIONS(172), 10, + anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, @@ -4423,8 +4528,7 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - sym_keyword_on, - [1149] = 4, + [1180] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -4432,7 +4536,7 @@ static const uint16_t ts_small_parse_table[] = { STATE(36), 2, sym_line_comment, sym_block_comment, - ACTIONS(179), 10, + ACTIONS(144), 10, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, @@ -4443,17 +4547,17 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_primary, sym_keyword_references, sym_keyword_on, - [1172] = 5, + [1203] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(181), 1, + ACTIONS(175), 1, anon_sym_LPAREN, STATE(37), 2, sym_line_comment, sym_block_comment, - ACTIONS(183), 9, + ACTIONS(177), 9, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, @@ -4463,7 +4567,7 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1197] = 4, + [1228] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -4471,7 +4575,8 @@ static const uint16_t ts_small_parse_table[] = { STATE(38), 2, sym_line_comment, sym_block_comment, - ACTIONS(185), 9, + ACTIONS(179), 10, + anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, @@ -4481,7 +4586,7 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1219] = 4, + [1251] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -4489,6 +4594,81 @@ static const uint16_t ts_small_parse_table[] = { STATE(39), 2, sym_line_comment, sym_block_comment, + ACTIONS(181), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + sym_keyword_unique, + sym_keyword_primary, + sym_keyword_references, + sym_keyword_on, + [1274] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + STATE(40), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(183), 10, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + sym_keyword_unique, + sym_keyword_primary, + sym_keyword_references, + [1297] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + STATE(41), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(185), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + sym_keyword_unique, + sym_keyword_primary, + sym_keyword_references, + sym_keyword_on, + [1320] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + STATE(42), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(130), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + sym_keyword_unique, + sym_keyword_primary, + sym_keyword_references, + [1342] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + STATE(43), 2, + sym_line_comment, + sym_block_comment, ACTIONS(187), 9, anon_sym_COMMA, anon_sym_RPAREN, @@ -4499,12 +4679,12 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1241] = 4, + [1364] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(40), 2, + STATE(44), 2, sym_line_comment, sym_block_comment, ACTIONS(189), 9, @@ -4517,12 +4697,12 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1263] = 4, + [1386] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(41), 2, + STATE(45), 2, sym_line_comment, sym_block_comment, ACTIONS(191), 9, @@ -4535,48 +4715,37 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1285] = 4, + [1408] = 11, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(42), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(193), 9, + ACTIONS(55), 1, + sym_keyword_on, + ACTIONS(57), 1, + sym_keyword_match, + ACTIONS(193), 1, + anon_sym_LPAREN, + STATE(84), 1, + sym_column_list, + STATE(95), 1, + sym__foreign_key_match, + STATE(132), 1, + sym__foreign_key_on_delete, + STATE(133), 1, + sym__foreign_key_on_update, + ACTIONS(195), 2, anon_sym_COMMA, anon_sym_RPAREN, - sym_keyword_not, - sym_keyword_null, - sym_keyword_constraint, - sym_keyword_default, - sym_keyword_unique, - sym_keyword_primary, - sym_keyword_references, - [1307] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - STATE(43), 2, + STATE(46), 2, sym_line_comment, sym_block_comment, - ACTIONS(195), 9, - anon_sym_COMMA, - anon_sym_RPAREN, - sym_keyword_not, - sym_keyword_null, - sym_keyword_constraint, - sym_keyword_default, - sym_keyword_unique, - sym_keyword_primary, - sym_keyword_references, - [1329] = 4, + [1444] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(44), 2, + STATE(47), 2, sym_line_comment, sym_block_comment, ACTIONS(197), 9, @@ -4589,12 +4758,12 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1351] = 4, + [1466] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(45), 2, + STATE(48), 2, sym_line_comment, sym_block_comment, ACTIONS(199), 9, @@ -4607,12 +4776,12 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1373] = 4, + [1488] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(46), 2, + STATE(49), 2, sym_line_comment, sym_block_comment, ACTIONS(201), 9, @@ -4625,12 +4794,12 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1395] = 4, + [1510] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(47), 2, + STATE(50), 2, sym_line_comment, sym_block_comment, ACTIONS(203), 9, @@ -4643,12 +4812,12 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1417] = 4, + [1532] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(48), 2, + STATE(51), 2, sym_line_comment, sym_block_comment, ACTIONS(205), 9, @@ -4661,12 +4830,12 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1439] = 4, + [1554] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(49), 2, + STATE(52), 2, sym_line_comment, sym_block_comment, ACTIONS(207), 9, @@ -4679,12 +4848,12 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1461] = 4, + [1576] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(50), 2, + STATE(53), 2, sym_line_comment, sym_block_comment, ACTIONS(209), 9, @@ -4697,12 +4866,12 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1483] = 4, + [1598] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(51), 2, + STATE(54), 2, sym_line_comment, sym_block_comment, ACTIONS(211), 9, @@ -4715,12 +4884,12 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1505] = 4, + [1620] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(52), 2, + STATE(55), 2, sym_line_comment, sym_block_comment, ACTIONS(213), 9, @@ -4733,12 +4902,12 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1527] = 4, + [1642] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(53), 2, + STATE(56), 2, sym_line_comment, sym_block_comment, ACTIONS(215), 9, @@ -4751,12 +4920,12 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1549] = 4, + [1664] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(54), 2, + STATE(57), 2, sym_line_comment, sym_block_comment, ACTIONS(217), 9, @@ -4769,12 +4938,30 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1571] = 4, + [1686] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(55), 2, + STATE(58), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(53), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + sym_keyword_unique, + sym_keyword_primary, + sym_keyword_references, + [1708] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + STATE(59), 2, sym_line_comment, sym_block_comment, ACTIONS(219), 9, @@ -4787,12 +4974,12 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1593] = 4, + [1730] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(56), 2, + STATE(60), 2, sym_line_comment, sym_block_comment, ACTIONS(221), 9, @@ -4805,12 +4992,12 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1615] = 4, + [1752] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(57), 2, + STATE(61), 2, sym_line_comment, sym_block_comment, ACTIONS(223), 9, @@ -4823,12 +5010,12 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1637] = 4, + [1774] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(58), 2, + STATE(62), 2, sym_line_comment, sym_block_comment, ACTIONS(225), 9, @@ -4841,12 +5028,12 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1659] = 4, + [1796] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(59), 2, + STATE(63), 2, sym_line_comment, sym_block_comment, ACTIONS(227), 9, @@ -4859,12 +5046,12 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1681] = 4, + [1818] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(60), 2, + STATE(64), 2, sym_line_comment, sym_block_comment, ACTIONS(229), 9, @@ -4877,15 +5064,39 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1703] = 4, + [1840] = 10, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(61), 2, + ACTIONS(65), 1, + sym_keyword_not, + ACTIONS(73), 1, + sym_keyword_unique, + ACTIONS(75), 1, + sym_keyword_primary, + ACTIONS(231), 1, + sym_keyword_null, + ACTIONS(233), 1, + sym_keyword_default, + ACTIONS(235), 1, + sym_keyword_references, + STATE(65), 2, sym_line_comment, sym_block_comment, - ACTIONS(231), 9, + STATE(56), 3, + sym__unique_constraint, + sym__primary_key, + sym__not_null, + [1874] = 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(132), 9, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, @@ -4895,48 +5106,12 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1725] = 4, + [1896] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(62), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(233), 9, - anon_sym_COMMA, - anon_sym_RPAREN, - sym_keyword_not, - sym_keyword_null, - sym_keyword_constraint, - sym_keyword_default, - sym_keyword_unique, - sym_keyword_primary, - sym_keyword_references, - [1747] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - STATE(63), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(235), 9, - anon_sym_COMMA, - anon_sym_RPAREN, - sym_keyword_not, - sym_keyword_null, - sym_keyword_constraint, - sym_keyword_default, - sym_keyword_unique, - sym_keyword_primary, - sym_keyword_references, - [1769] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - STATE(64), 2, + STATE(67), 2, sym_line_comment, sym_block_comment, ACTIONS(237), 9, @@ -4949,12 +5124,12 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1791] = 4, + [1918] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(65), 2, + STATE(68), 2, sym_line_comment, sym_block_comment, ACTIONS(239), 9, @@ -4967,12 +5142,12 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1813] = 4, + [1940] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(66), 2, + STATE(69), 2, sym_line_comment, sym_block_comment, ACTIONS(241), 9, @@ -4985,12 +5160,12 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1835] = 4, + [1962] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(67), 2, + STATE(70), 2, sym_line_comment, sym_block_comment, ACTIONS(243), 9, @@ -5003,12 +5178,12 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1857] = 4, + [1984] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(68), 2, + STATE(71), 2, sym_line_comment, sym_block_comment, ACTIONS(245), 9, @@ -5021,12 +5196,12 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1879] = 4, + [2006] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(69), 2, + STATE(72), 2, sym_line_comment, sym_block_comment, ACTIONS(247), 9, @@ -5039,12 +5214,12 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1901] = 4, + [2028] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(70), 2, + STATE(73), 2, sym_line_comment, sym_block_comment, ACTIONS(249), 9, @@ -5057,12 +5232,12 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1923] = 4, + [2050] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(71), 2, + STATE(74), 2, sym_line_comment, sym_block_comment, ACTIONS(251), 9, @@ -5075,49 +5250,151 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1945] = 8, + [2072] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(255), 1, - anon_sym_SQUOTE, - STATE(54), 1, - sym_literal, - STATE(55), 1, - sym__expression, - STATE(56), 1, - sym_literal_string, - STATE(72), 2, + STATE(75), 2, sym_line_comment, sym_block_comment, - ACTIONS(253), 4, + ACTIONS(59), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, sym_keyword_null, - sym_keyword_true, - sym_keyword_false, - sym_number, - [1974] = 8, + sym_keyword_constraint, + sym_keyword_default, + sym_keyword_unique, + sym_keyword_primary, + sym_keyword_references, + [2094] = 11, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(255), 1, - anon_sym_SQUOTE, - STATE(46), 1, - sym__expression, - STATE(54), 1, - sym_literal, - STATE(56), 1, - sym_literal_string, - STATE(73), 2, + ACTIONS(55), 1, + sym_keyword_on, + ACTIONS(57), 1, + sym_keyword_match, + ACTIONS(193), 1, + anon_sym_LPAREN, + STATE(83), 1, + sym_column_list, + STATE(88), 1, + sym__foreign_key_match, + STATE(174), 1, + sym__foreign_key_on_delete, + STATE(175), 1, + sym__foreign_key_on_update, + ACTIONS(253), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + STATE(76), 2, sym_line_comment, sym_block_comment, - ACTIONS(253), 4, + [2130] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + STATE(77), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(255), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + sym_keyword_unique, + sym_keyword_primary, + sym_keyword_references, + [2152] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + STATE(78), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(257), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + sym_keyword_unique, + sym_keyword_primary, + sym_keyword_references, + [2174] = 8, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(261), 1, + anon_sym_SQUOTE, + STATE(58), 1, + sym__expression, + STATE(72), 1, + sym_literal_string, + STATE(77), 1, + sym_literal, + STATE(79), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(259), 4, sym_keyword_null, sym_keyword_true, sym_keyword_false, sym_number, - [2003] = 11, + [2203] = 10, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(263), 1, + ts_builtin_sym_end, + ACTIONS(265), 1, + anon_sym_SEMI, + ACTIONS(268), 1, + sym_keyword_create, + STATE(106), 1, + sym_statement, + STATE(220), 1, + sym_create_table, + STATE(221), 1, + sym__create_statement, + STATE(222), 1, + sym__ddl_statement, + STATE(80), 3, + sym_line_comment, + sym_block_comment, + aux_sym_source_file_repeat1, + [2236] = 8, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(261), 1, + anon_sym_SQUOTE, + STATE(72), 1, + sym_literal_string, + STATE(75), 1, + sym__expression, + STATE(77), 1, + sym_literal, + STATE(81), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(259), 4, + sym_keyword_null, + sym_keyword_true, + sym_keyword_false, + sym_number, + [2265] = 11, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -5126,698 +5403,662 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_SEMI, ACTIONS(11), 1, sym_keyword_create, - ACTIONS(257), 1, - ts_builtin_sym_end, - STATE(75), 1, - aux_sym_source_file_repeat1, - STATE(104), 1, - sym_statement, - STATE(141), 1, - sym_create_table, - STATE(162), 1, - sym__create_statement, - STATE(163), 1, - sym__ddl_statement, - STATE(74), 2, - sym_line_comment, - sym_block_comment, - [2038] = 10, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(259), 1, - ts_builtin_sym_end, - ACTIONS(261), 1, - anon_sym_SEMI, - ACTIONS(264), 1, - sym_keyword_create, - STATE(104), 1, - sym_statement, - STATE(141), 1, - sym_create_table, - STATE(162), 1, - sym__create_statement, - STATE(163), 1, - sym__ddl_statement, - STATE(75), 3, - sym_line_comment, - sym_block_comment, - aux_sym_source_file_repeat1, - [2071] = 9, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(13), 1, - sym__identifier, - ACTIONS(41), 1, - anon_sym_DQUOTE, - ACTIONS(267), 1, - sym_keyword_if, - STATE(13), 1, - sym_identifier, - STATE(83), 1, - sym__if_not_exists, - STATE(108), 1, - sym_table_reference, - STATE(76), 2, - sym_line_comment, - sym_block_comment, - [2100] = 9, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(13), 1, - sym__identifier, - ACTIONS(41), 1, - anon_sym_DQUOTE, - ACTIONS(267), 1, - sym_keyword_if, - STATE(13), 1, - sym_identifier, - STATE(82), 1, - sym__if_not_exists, - STATE(139), 1, - sym_table_reference, - STATE(77), 2, - sym_line_comment, - sym_block_comment, - [2129] = 8, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(61), 1, - sym_keyword_unique, - ACTIONS(63), 1, - sym_keyword_primary, - ACTIONS(269), 1, - sym_keyword_foreign, - STATE(120), 1, - sym__foreign_key, - STATE(78), 2, - sym_line_comment, - sym_block_comment, - STATE(109), 2, - sym__unique_constraint, - sym__primary_key, - [2156] = 7, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, ACTIONS(271), 1, - sym_keyword_no, - ACTIONS(273), 1, - sym_keyword_set, - STATE(24), 1, - sym_referencial_action, - ACTIONS(275), 2, - sym_keyword_restrict, - sym_keyword_cascade, - STATE(79), 2, - sym_line_comment, - sym_block_comment, - [2180] = 7, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(271), 1, - sym_keyword_no, - ACTIONS(273), 1, - sym_keyword_set, - STATE(36), 1, - sym_referencial_action, - ACTIONS(275), 2, - sym_keyword_restrict, - sym_keyword_cascade, - STATE(80), 2, - sym_line_comment, - sym_block_comment, - [2204] = 8, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(277), 1, - sym_keyword_table, - ACTIONS(279), 1, - aux_sym_keyword_temporary_token1, - ACTIONS(281), 1, - aux_sym_keyword_temporary_token2, - ACTIONS(283), 1, - sym_keyword_unlogged, - STATE(166), 1, - sym_keyword_temporary, - STATE(81), 2, - sym_line_comment, - sym_block_comment, - [2230] = 7, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(41), 1, - anon_sym_DQUOTE, - ACTIONS(285), 1, - sym__identifier, - STATE(13), 1, - sym_identifier, - STATE(130), 1, - sym_table_reference, + ts_builtin_sym_end, + STATE(80), 1, + aux_sym_source_file_repeat1, + STATE(106), 1, + sym_statement, + STATE(220), 1, + sym_create_table, + STATE(221), 1, + sym__create_statement, + STATE(222), 1, + sym__ddl_statement, STATE(82), 2, sym_line_comment, sym_block_comment, - [2253] = 7, + [2300] = 9, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(41), 1, - anon_sym_DQUOTE, - ACTIONS(285), 1, - sym__identifier, - STATE(13), 1, - sym_identifier, - STATE(139), 1, - sym_table_reference, + ACTIONS(55), 1, + sym_keyword_on, + ACTIONS(57), 1, + sym_keyword_match, + STATE(92), 1, + sym__foreign_key_match, + STATE(151), 1, + sym__foreign_key_on_update, + STATE(154), 1, + sym__foreign_key_on_delete, + ACTIONS(273), 2, + anon_sym_COMMA, + anon_sym_RPAREN, STATE(83), 2, sym_line_comment, sym_block_comment, - [2276] = 7, + [2330] = 9, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(41), 1, - anon_sym_DQUOTE, - ACTIONS(285), 1, - sym__identifier, - STATE(7), 1, - sym_table_reference, - STATE(13), 1, - sym_identifier, + ACTIONS(55), 1, + sym_keyword_on, + ACTIONS(57), 1, + sym_keyword_match, + STATE(94), 1, + sym__foreign_key_match, + STATE(155), 1, + sym__foreign_key_on_delete, + STATE(156), 1, + sym__foreign_key_on_update, + ACTIONS(275), 2, + anon_sym_COMMA, + anon_sym_RPAREN, STATE(84), 2, sym_line_comment, sym_block_comment, - [2299] = 6, + [2360] = 9, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, + ACTIONS(13), 1, + sym__identifier, ACTIONS(41), 1, anon_sym_DQUOTE, - ACTIONS(285), 1, - sym__identifier, - STATE(125), 1, + ACTIONS(277), 1, + sym_keyword_if, + STATE(14), 1, sym_identifier, + STATE(99), 1, + sym__if_not_exists, + STATE(142), 1, + sym_table_reference, STATE(85), 2, sym_line_comment, sym_block_comment, - [2319] = 6, + [2389] = 9, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(287), 1, - anon_sym_COMMA, - ACTIONS(289), 1, - anon_sym_RPAREN, - STATE(100), 1, - aux_sym_column_list_repeat1, + ACTIONS(13), 1, + sym__identifier, + ACTIONS(41), 1, + anon_sym_DQUOTE, + ACTIONS(277), 1, + sym_keyword_if, + STATE(14), 1, + sym_identifier, + STATE(102), 1, + sym__if_not_exists, + STATE(162), 1, + sym_table_reference, STATE(86), 2, sym_line_comment, sym_block_comment, - [2339] = 6, + [2418] = 8, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(287), 1, - anon_sym_COMMA, - ACTIONS(291), 1, - anon_sym_RPAREN, - STATE(86), 1, - aux_sym_column_list_repeat1, + ACTIONS(73), 1, + sym_keyword_unique, + ACTIONS(75), 1, + sym_keyword_primary, + ACTIONS(279), 1, + sym_keyword_foreign, + STATE(152), 1, + sym__foreign_key, STATE(87), 2, sym_line_comment, sym_block_comment, - [2359] = 6, + STATE(153), 2, + sym__unique_constraint, + sym__primary_key, + [2445] = 7, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(41), 1, - anon_sym_DQUOTE, - ACTIONS(285), 1, - sym__identifier, - STATE(15), 1, - sym_identifier, + ACTIONS(55), 1, + sym_keyword_on, + STATE(144), 1, + sym__foreign_key_on_update, + STATE(149), 1, + sym__foreign_key_on_delete, + ACTIONS(281), 2, + anon_sym_COMMA, + anon_sym_RPAREN, STATE(88), 2, sym_line_comment, sym_block_comment, - [2379] = 6, + [2469] = 7, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(283), 1, + sym_keyword_no, + ACTIONS(285), 1, + sym_keyword_set, + STATE(26), 1, + sym_referencial_action, + ACTIONS(287), 2, + sym_keyword_restrict, + sym_keyword_cascade, + STATE(89), 2, + sym_line_comment, + sym_block_comment, + [2493] = 7, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(283), 1, + sym_keyword_no, + ACTIONS(285), 1, + sym_keyword_set, + STATE(41), 1, + sym_referencial_action, + ACTIONS(287), 2, + sym_keyword_restrict, + sym_keyword_cascade, + STATE(90), 2, + sym_line_comment, + sym_block_comment, + [2517] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + STATE(91), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(289), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_references, + sym_keyword_on, + sym_keyword_match, + [2535] = 7, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(55), 1, + sym_keyword_on, + STATE(136), 1, + sym__foreign_key_on_update, + STATE(137), 1, + sym__foreign_key_on_delete, + ACTIONS(291), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + STATE(92), 2, + sym_line_comment, + sym_block_comment, + [2559] = 8, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(293), 1, - anon_sym_COMMA, + sym_keyword_table, ACTIONS(295), 1, - anon_sym_RPAREN, - STATE(105), 1, - aux_sym_column_definitions_repeat1, - STATE(89), 2, - sym_line_comment, - sym_block_comment, - [2399] = 6, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(41), 1, - anon_sym_DQUOTE, - ACTIONS(285), 1, - sym__identifier, - STATE(87), 1, - sym_identifier, - STATE(90), 2, - sym_line_comment, - sym_block_comment, - [2419] = 6, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(41), 1, - anon_sym_DQUOTE, - ACTIONS(285), 1, - sym__identifier, - STATE(78), 1, - sym_identifier, - STATE(91), 2, - sym_line_comment, - sym_block_comment, - [2439] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - STATE(92), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(297), 3, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_keyword_create, - [2455] = 6, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(41), 1, - anon_sym_DQUOTE, - ACTIONS(285), 1, - sym__identifier, - STATE(118), 1, - sym_identifier, + aux_sym_keyword_temporary_token1, + ACTIONS(297), 1, + aux_sym_keyword_temporary_token2, + ACTIONS(299), 1, + sym_keyword_unlogged, + STATE(213), 1, + sym_keyword_temporary, STATE(93), 2, sym_line_comment, sym_block_comment, - [2475] = 6, + [2585] = 7, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(299), 1, + ACTIONS(55), 1, + sym_keyword_on, + STATE(171), 1, + sym__foreign_key_on_update, + STATE(176), 1, + sym__foreign_key_on_delete, + ACTIONS(301), 2, anon_sym_COMMA, - ACTIONS(301), 1, anon_sym_RPAREN, - STATE(106), 1, - aux_sym_referencial_action_repeat1, STATE(94), 2, sym_line_comment, sym_block_comment, - [2495] = 6, + [2609] = 7, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(41), 1, - anon_sym_DQUOTE, - ACTIONS(285), 1, - sym__identifier, - STATE(94), 1, - sym_identifier, + ACTIONS(55), 1, + sym_keyword_on, + STATE(157), 1, + sym__foreign_key_on_delete, + STATE(158), 1, + sym__foreign_key_on_update, + ACTIONS(303), 2, + anon_sym_COMMA, + anon_sym_RPAREN, STATE(95), 2, sym_line_comment, sym_block_comment, - [2515] = 5, + [2633] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(303), 1, + STATE(96), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(305), 5, anon_sym_COMMA, - ACTIONS(306), 1, anon_sym_RPAREN, - STATE(96), 3, - sym_line_comment, - sym_block_comment, - aux_sym_referencial_action_repeat1, - [2533] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - STATE(97), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(308), 3, - sym_keyword_full, - sym_keyword_partial, - sym_keyword_simple, - [2549] = 6, + sym_keyword_references, + sym_keyword_on, + sym_keyword_match, + [2651] = 7, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(41), 1, anon_sym_DQUOTE, - ACTIONS(285), 1, + ACTIONS(307), 1, sym__identifier, - STATE(20), 1, + STATE(14), 1, + sym_identifier, + STATE(76), 1, + sym_table_reference, + STATE(97), 2, + sym_line_comment, + sym_block_comment, + [2674] = 7, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(41), 1, + anon_sym_DQUOTE, + ACTIONS(307), 1, + sym__identifier, + STATE(5), 1, + sym_table_reference, + STATE(14), 1, sym_identifier, STATE(98), 2, sym_line_comment, sym_block_comment, - [2569] = 6, + [2697] = 7, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(41), 1, anon_sym_DQUOTE, - ACTIONS(285), 1, + ACTIONS(307), 1, sym__identifier, - STATE(145), 1, + STATE(14), 1, sym_identifier, + STATE(162), 1, + sym_table_reference, STATE(99), 2, sym_line_comment, sym_block_comment, - [2589] = 5, + [2720] = 7, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(310), 1, - anon_sym_COMMA, - ACTIONS(313), 1, - anon_sym_RPAREN, - STATE(100), 3, + ACTIONS(41), 1, + anon_sym_DQUOTE, + ACTIONS(307), 1, + sym__identifier, + STATE(14), 1, + sym_identifier, + STATE(46), 1, + sym_table_reference, + STATE(100), 2, sym_line_comment, sym_block_comment, - aux_sym_column_list_repeat1, - [2607] = 4, + [2743] = 7, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, + ACTIONS(41), 1, + anon_sym_DQUOTE, + ACTIONS(307), 1, + sym__identifier, + STATE(6), 1, + sym_table_reference, + STATE(14), 1, + sym_identifier, STATE(101), 2, sym_line_comment, sym_block_comment, - ACTIONS(315), 3, - anon_sym_COMMA, - anon_sym_RPAREN, - sym_keyword_references, - [2623] = 6, + [2766] = 7, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(293), 1, - anon_sym_COMMA, - ACTIONS(317), 1, - anon_sym_RPAREN, - STATE(89), 1, - aux_sym_column_definitions_repeat1, + ACTIONS(41), 1, + anon_sym_DQUOTE, + ACTIONS(307), 1, + sym__identifier, + STATE(14), 1, + sym_identifier, + STATE(173), 1, + sym_table_reference, STATE(102), 2, sym_line_comment, sym_block_comment, - [2643] = 4, + [2789] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(103), 2, + ACTIONS(309), 1, + anon_sym_COMMA, + ACTIONS(312), 1, + anon_sym_RPAREN, + STATE(103), 3, sym_line_comment, sym_block_comment, - ACTIONS(319), 3, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_keyword_create, - [2659] = 4, + aux_sym_referencial_action_repeat1, + [2807] = 6, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, + ACTIONS(314), 1, + anon_sym_COMMA, + ACTIONS(316), 1, + anon_sym_RPAREN, + STATE(109), 1, + aux_sym_column_definitions_repeat1, STATE(104), 2, sym_line_comment, sym_block_comment, - ACTIONS(321), 3, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_keyword_create, - [2675] = 5, + [2827] = 6, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(323), 1, - anon_sym_COMMA, - ACTIONS(326), 1, - anon_sym_RPAREN, - STATE(105), 3, + ACTIONS(41), 1, + anon_sym_DQUOTE, + ACTIONS(307), 1, + sym__identifier, + STATE(143), 1, + sym_identifier, + STATE(105), 2, sym_line_comment, sym_block_comment, - aux_sym_column_definitions_repeat1, - [2693] = 6, + [2847] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(299), 1, - anon_sym_COMMA, - ACTIONS(328), 1, - anon_sym_RPAREN, - STATE(96), 1, - aux_sym_referencial_action_repeat1, STATE(106), 2, sym_line_comment, sym_block_comment, - [2713] = 4, + ACTIONS(318), 3, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_keyword_create, + [2863] = 6, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, + ACTIONS(320), 1, + anon_sym_COMMA, + ACTIONS(322), 1, + anon_sym_RPAREN, + STATE(123), 1, + aux_sym_column_list_repeat1, STATE(107), 2, sym_line_comment, sym_block_comment, - ACTIONS(330), 3, - anon_sym_COMMA, - anon_sym_RPAREN, - sym_keyword_references, - [2729] = 5, + [2883] = 6, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(332), 1, - anon_sym_LPAREN, - STATE(152), 1, - sym_column_definitions, + ACTIONS(41), 1, + anon_sym_DQUOTE, + ACTIONS(307), 1, + sym__identifier, + STATE(87), 1, + sym_identifier, STATE(108), 2, sym_line_comment, sym_block_comment, - [2746] = 5, + [2903] = 6, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(334), 1, - anon_sym_LPAREN, - STATE(123), 1, - sym_column_list, + ACTIONS(314), 1, + anon_sym_COMMA, + ACTIONS(324), 1, + anon_sym_RPAREN, + STATE(122), 1, + aux_sym_column_definitions_repeat1, STATE(109), 2, sym_line_comment, sym_block_comment, - [2763] = 5, + [2923] = 6, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(65), 1, - sym_keyword_references, - STATE(124), 1, - sym__foreign_key_references, + ACTIONS(41), 1, + anon_sym_DQUOTE, + ACTIONS(307), 1, + sym__identifier, + STATE(120), 1, + sym_identifier, STATE(110), 2, sym_line_comment, sym_block_comment, - [2780] = 5, + [2943] = 6, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(65), 1, - sym_keyword_references, - STATE(117), 1, - sym__foreign_key_references, + ACTIONS(41), 1, + anon_sym_DQUOTE, + ACTIONS(307), 1, + sym__identifier, + STATE(17), 1, + sym_identifier, STATE(111), 2, sym_line_comment, sym_block_comment, - [2797] = 5, + [2963] = 6, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(334), 1, - anon_sym_LPAREN, - STATE(111), 1, - sym_column_list, + ACTIONS(326), 1, + anon_sym_COMMA, + ACTIONS(328), 1, + anon_sym_RPAREN, + STATE(103), 1, + aux_sym_referencial_action_repeat1, STATE(112), 2, sym_line_comment, sym_block_comment, - [2814] = 5, + [2983] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(336), 1, - anon_sym_COMMA, - ACTIONS(338), 1, - anon_sym_RPAREN, STATE(113), 2, sym_line_comment, sym_block_comment, - [2831] = 5, + ACTIONS(330), 3, + sym_keyword_full, + sym_keyword_partial, + sym_keyword_simple, + [2999] = 6, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(41), 1, + anon_sym_DQUOTE, + ACTIONS(307), 1, + sym__identifier, + STATE(65), 1, + sym_identifier, + STATE(114), 2, + sym_line_comment, + sym_block_comment, + [3019] = 6, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(41), 1, + anon_sym_DQUOTE, + ACTIONS(307), 1, + sym__identifier, + STATE(126), 1, + sym_identifier, + STATE(115), 2, + sym_line_comment, + sym_block_comment, + [3039] = 6, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(326), 1, + anon_sym_COMMA, + ACTIONS(332), 1, + anon_sym_RPAREN, + STATE(112), 1, + aux_sym_referencial_action_repeat1, + STATE(116), 2, + sym_line_comment, + sym_block_comment, + [3059] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + STATE(117), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(334), 3, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_keyword_create, + [3075] = 6, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(41), 1, + anon_sym_DQUOTE, + ACTIONS(307), 1, + sym__identifier, + STATE(116), 1, + sym_identifier, + STATE(118), 2, + sym_line_comment, + sym_block_comment, + [3095] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + STATE(119), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(336), 3, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_keyword_create, + [3111] = 6, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(320), 1, + anon_sym_COMMA, + ACTIONS(338), 1, + anon_sym_RPAREN, + STATE(107), 1, + aux_sym_column_list_repeat1, + STATE(120), 2, + sym_line_comment, + sym_block_comment, + [3131] = 6, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(41), 1, + anon_sym_DQUOTE, + ACTIONS(307), 1, + sym__identifier, + STATE(184), 1, + sym_identifier, + STATE(121), 2, + sym_line_comment, + sym_block_comment, + [3151] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(340), 1, anon_sym_COMMA, - ACTIONS(342), 1, + ACTIONS(343), 1, anon_sym_RPAREN, - STATE(114), 2, + STATE(122), 3, sym_line_comment, sym_block_comment, - [2848] = 5, + aux_sym_column_definitions_repeat1, + [3169] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(334), 1, - anon_sym_LPAREN, - STATE(137), 1, - sym_column_list, - STATE(115), 2, - sym_line_comment, - sym_block_comment, - [2865] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(326), 2, + ACTIONS(345), 1, anon_sym_COMMA, - anon_sym_RPAREN, - STATE(116), 2, - sym_line_comment, - sym_block_comment, - [2880] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(344), 2, - anon_sym_COMMA, - anon_sym_RPAREN, - STATE(117), 2, - sym_line_comment, - sym_block_comment, - [2895] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(306), 2, - anon_sym_COMMA, - anon_sym_RPAREN, - STATE(118), 2, - sym_line_comment, - sym_block_comment, - [2910] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(346), 2, - sym_keyword_null, - sym_keyword_default, - STATE(119), 2, - sym_line_comment, - sym_block_comment, - [2925] = 5, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(334), 1, - anon_sym_LPAREN, - STATE(110), 1, - sym_column_list, - STATE(120), 2, - sym_line_comment, - sym_block_comment, - [2942] = 5, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, ACTIONS(348), 1, - sym_keyword_on, - STATE(44), 1, - sym__foreign_key_on_delete, - STATE(121), 2, + anon_sym_RPAREN, + STATE(123), 3, sym_line_comment, sym_block_comment, - [2959] = 5, + aux_sym_column_list_repeat1, + [3187] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(350), 1, - sym_keyword_on, - STATE(44), 1, - sym__foreign_key_on_update, - STATE(122), 2, - sym_line_comment, - sym_block_comment, - [2976] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(352), 2, anon_sym_COMMA, + ACTIONS(352), 1, anon_sym_RPAREN, - STATE(123), 2, + STATE(124), 2, sym_line_comment, sym_block_comment, - [2991] = 4, + [3204] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -5825,10 +6066,21 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(354), 2, anon_sym_COMMA, anon_sym_RPAREN, - STATE(124), 2, + STATE(125), 2, sym_line_comment, sym_block_comment, - [3006] = 4, + [3219] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(312), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + STATE(126), 2, + sym_line_comment, + sym_block_comment, + [3234] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -5836,46 +6088,10 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(356), 2, anon_sym_COMMA, anon_sym_RPAREN, - STATE(125), 2, - sym_line_comment, - sym_block_comment, - [3021] = 5, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(350), 1, - sym_keyword_on, - STATE(41), 1, - sym__foreign_key_on_update, - STATE(126), 2, - sym_line_comment, - sym_block_comment, - [3038] = 5, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(348), 1, - sym_keyword_on, - STATE(41), 1, - sym__foreign_key_on_delete, STATE(127), 2, sym_line_comment, sym_block_comment, - [3055] = 5, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(350), 1, - sym_keyword_on, - STATE(40), 1, - sym__foreign_key_on_update, - STATE(128), 2, - sym_line_comment, - sym_block_comment, - [3072] = 5, + [3249] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -5884,93 +6100,70 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_delete, ACTIONS(360), 1, sym_keyword_update, - STATE(129), 2, + STATE(128), 2, sym_line_comment, sym_block_comment, - [3089] = 5, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(332), 1, - anon_sym_LPAREN, - STATE(147), 1, - sym_column_definitions, - STATE(130), 2, - sym_line_comment, - sym_block_comment, - [3106] = 5, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(348), 1, - sym_keyword_on, - STATE(40), 1, - sym__foreign_key_on_delete, - STATE(131), 2, - sym_line_comment, - sym_block_comment, - [3123] = 5, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(350), 1, - sym_keyword_on, - STATE(47), 1, - sym__foreign_key_on_update, - STATE(132), 2, - sym_line_comment, - sym_block_comment, - [3140] = 5, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(348), 1, - sym_keyword_on, - STATE(47), 1, - sym__foreign_key_on_delete, - STATE(133), 2, - sym_line_comment, - sym_block_comment, - [3157] = 5, + [3266] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(362), 1, - sym_keyword_not, + sym_keyword_on, + STATE(51), 1, + sym__foreign_key_on_delete, + STATE(129), 2, + sym_line_comment, + sym_block_comment, + [3283] = 5, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, ACTIONS(364), 1, - sym_keyword_distinct, - STATE(134), 2, + sym_keyword_on, + STATE(51), 1, + sym__foreign_key_on_update, + STATE(130), 2, sym_line_comment, sym_block_comment, - [3174] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(366), 2, - anon_sym_DQUOTE, - sym__identifier, - STATE(135), 2, - sym_line_comment, - sym_block_comment, - [3189] = 5, + [3300] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, + ACTIONS(366), 1, + anon_sym_COMMA, ACTIONS(368), 1, - aux_sym__keyword_time_zone_token1, - STATE(39), 1, - sym__keyword_time_zone, - STATE(136), 2, + anon_sym_RPAREN, + STATE(131), 2, sym_line_comment, sym_block_comment, - [3206] = 4, + [3317] = 5, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(364), 1, + sym_keyword_on, + STATE(160), 1, + sym__foreign_key_on_update, + STATE(132), 2, + sym_line_comment, + sym_block_comment, + [3334] = 5, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(362), 1, + sym_keyword_on, + STATE(160), 1, + sym__foreign_key_on_delete, + STATE(133), 2, + sym_line_comment, + sym_block_comment, + [3351] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -5978,458 +6171,983 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(370), 2, anon_sym_COMMA, anon_sym_RPAREN, + STATE(134), 2, + sym_line_comment, + sym_block_comment, + [3366] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(372), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + STATE(135), 2, + sym_line_comment, + sym_block_comment, + [3381] = 5, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(362), 1, + sym_keyword_on, + STATE(127), 1, + sym__foreign_key_on_delete, + STATE(136), 2, + sym_line_comment, + sym_block_comment, + [3398] = 5, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(364), 1, + sym_keyword_on, + STATE(127), 1, + sym__foreign_key_on_update, STATE(137), 2, sym_line_comment, sym_block_comment, - [3221] = 5, + [3415] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(368), 1, - aux_sym__keyword_time_zone_token1, - STATE(58), 1, - sym__keyword_time_zone, + ACTIONS(374), 2, + anon_sym_COMMA, + anon_sym_RPAREN, STATE(138), 2, sym_line_comment, sym_block_comment, - [3238] = 5, + [3430] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(332), 1, - anon_sym_LPAREN, - STATE(173), 1, - sym_column_definitions, + ACTIONS(362), 1, + sym_keyword_on, + STATE(59), 1, + sym__foreign_key_on_delete, STATE(139), 2, sym_line_comment, sym_block_comment, - [3255] = 4, - ACTIONS(372), 1, + [3447] = 5, + ACTIONS(3), 1, anon_sym_DASH_DASH, - ACTIONS(374), 1, - aux_sym_line_comment_token1, - ACTIONS(376), 1, + ACTIONS(5), 1, anon_sym_SLASH_STAR, + ACTIONS(364), 1, + sym_keyword_on, + STATE(59), 1, + sym__foreign_key_on_update, STATE(140), 2, sym_line_comment, sym_block_comment, - [3269] = 4, + [3464] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(376), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + STATE(141), 2, + sym_line_comment, + sym_block_comment, + [3479] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(378), 1, - anon_sym_SEMI, - STATE(141), 2, + anon_sym_LPAREN, + STATE(194), 1, + sym_column_definitions, + STATE(142), 2, sym_line_comment, sym_block_comment, - [3283] = 4, + [3496] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(380), 1, - anon_sym_SQUOTE, - STATE(142), 2, + ACTIONS(380), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + STATE(143), 2, sym_line_comment, sym_block_comment, - [3297] = 4, + [3511] = 5, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(362), 1, + sym_keyword_on, + STATE(134), 1, + sym__foreign_key_on_delete, + STATE(144), 2, + sym_line_comment, + sym_block_comment, + [3528] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(382), 1, - sym_number, - STATE(143), 2, - sym_line_comment, - sym_block_comment, - [3311] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(384), 1, - anon_sym_SLASH, - STATE(144), 2, - sym_line_comment, - sym_block_comment, - [3325] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(386), 1, - anon_sym_RPAREN, + aux_sym__keyword_time_zone_token1, + STATE(63), 1, + sym__keyword_time_zone, STATE(145), 2, sym_line_comment, sym_block_comment, - [3339] = 4, + [3545] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(388), 1, - anon_sym_SEMI, + ACTIONS(364), 1, + sym_keyword_on, + STATE(42), 1, + sym__foreign_key_on_update, STATE(146), 2, sym_line_comment, sym_block_comment, - [3353] = 4, + [3562] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(390), 1, - anon_sym_SEMI, + ACTIONS(362), 1, + sym_keyword_on, + STATE(42), 1, + sym__foreign_key_on_delete, STATE(147), 2, sym_line_comment, sym_block_comment, - [3367] = 4, + [3579] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(392), 1, - sym_keyword_distinct, + ACTIONS(382), 1, + aux_sym__keyword_time_zone_token1, + STATE(45), 1, + sym__keyword_time_zone, STATE(148), 2, sym_line_comment, sym_block_comment, - [3381] = 4, + [3596] = 5, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(364), 1, + sym_keyword_on, + STATE(134), 1, + sym__foreign_key_on_update, + STATE(149), 2, + sym_line_comment, + sym_block_comment, + [3613] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(343), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + STATE(150), 2, + sym_line_comment, + sym_block_comment, + [3628] = 5, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(362), 1, + sym_keyword_on, + STATE(135), 1, + sym__foreign_key_on_delete, + STATE(151), 2, + sym_line_comment, + sym_block_comment, + [3645] = 5, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(193), 1, + anon_sym_LPAREN, + STATE(210), 1, + sym_column_list, + STATE(152), 2, + sym_line_comment, + sym_block_comment, + [3662] = 5, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(193), 1, + anon_sym_LPAREN, + STATE(138), 1, + sym_column_list, + STATE(153), 2, + sym_line_comment, + sym_block_comment, + [3679] = 5, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(364), 1, + sym_keyword_on, + STATE(135), 1, + sym__foreign_key_on_update, + STATE(154), 2, + sym_line_comment, + sym_block_comment, + [3696] = 5, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(364), 1, + sym_keyword_on, + STATE(168), 1, + sym__foreign_key_on_update, + STATE(155), 2, + sym_line_comment, + sym_block_comment, + [3713] = 5, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(362), 1, + sym_keyword_on, + STATE(168), 1, + sym__foreign_key_on_delete, + STATE(156), 2, + sym_line_comment, + sym_block_comment, + [3730] = 5, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(364), 1, + sym_keyword_on, + STATE(167), 1, + sym__foreign_key_on_update, + STATE(157), 2, + sym_line_comment, + sym_block_comment, + [3747] = 5, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(362), 1, + sym_keyword_on, + STATE(167), 1, + sym__foreign_key_on_delete, + STATE(158), 2, + sym_line_comment, + sym_block_comment, + [3764] = 5, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(362), 1, + sym_keyword_on, + STATE(73), 1, + sym__foreign_key_on_delete, + STATE(159), 2, + sym_line_comment, + sym_block_comment, + [3781] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(384), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + STATE(160), 2, + sym_line_comment, + sym_block_comment, + [3796] = 5, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(364), 1, + sym_keyword_on, + STATE(73), 1, + sym__foreign_key_on_update, + STATE(161), 2, + sym_line_comment, + sym_block_comment, + [3813] = 5, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(378), 1, + anon_sym_LPAREN, + STATE(219), 1, + sym_column_definitions, + STATE(162), 2, + sym_line_comment, + sym_block_comment, + [3830] = 5, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(362), 1, + sym_keyword_on, + STATE(66), 1, + sym__foreign_key_on_delete, + STATE(163), 2, + sym_line_comment, + sym_block_comment, + [3847] = 5, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(364), 1, + sym_keyword_on, + STATE(66), 1, + sym__foreign_key_on_update, + STATE(164), 2, + sym_line_comment, + sym_block_comment, + [3864] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(386), 2, + anon_sym_DQUOTE, + sym__identifier, + STATE(165), 2, + sym_line_comment, + sym_block_comment, + [3879] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(388), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + STATE(166), 2, + sym_line_comment, + sym_block_comment, + [3894] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(390), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + STATE(167), 2, + sym_line_comment, + sym_block_comment, + [3909] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(392), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + STATE(168), 2, + sym_line_comment, + sym_block_comment, + [3924] = 5, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(364), 1, + sym_keyword_on, + STATE(44), 1, + sym__foreign_key_on_update, + STATE(169), 2, + sym_line_comment, + sym_block_comment, + [3941] = 5, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(362), 1, + sym_keyword_on, + STATE(44), 1, + sym__foreign_key_on_delete, + STATE(170), 2, + sym_line_comment, + sym_block_comment, + [3958] = 5, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(362), 1, + sym_keyword_on, + STATE(141), 1, + sym__foreign_key_on_delete, + STATE(171), 2, + sym_line_comment, + sym_block_comment, + [3975] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(394), 1, - anon_sym_RPAREN, - STATE(149), 2, - sym_line_comment, - sym_block_comment, - [3395] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, + sym_keyword_not, ACTIONS(396), 1, - anon_sym_RPAREN, - STATE(150), 2, + sym_keyword_distinct, + STATE(172), 2, sym_line_comment, sym_block_comment, - [3409] = 4, + [3992] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(360), 1, - sym_keyword_update, - STATE(151), 2, + ACTIONS(378), 1, + anon_sym_LPAREN, + STATE(196), 1, + sym_column_definitions, + STATE(173), 2, sym_line_comment, sym_block_comment, - [3423] = 4, + [4009] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(398), 1, + ACTIONS(364), 1, + sym_keyword_on, + STATE(125), 1, + sym__foreign_key_on_update, + STATE(174), 2, + sym_line_comment, + sym_block_comment, + [4026] = 5, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(362), 1, + sym_keyword_on, + STATE(125), 1, + sym__foreign_key_on_delete, + STATE(175), 2, + sym_line_comment, + sym_block_comment, + [4043] = 5, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(364), 1, + sym_keyword_on, + STATE(141), 1, + sym__foreign_key_on_update, + STATE(176), 2, + sym_line_comment, + sym_block_comment, + [4060] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(398), 2, + sym_keyword_null, + sym_keyword_default, + STATE(177), 2, + sym_line_comment, + sym_block_comment, + [4075] = 5, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(193), 1, + anon_sym_LPAREN, + STATE(166), 1, + sym_column_list, + STATE(178), 2, + sym_line_comment, + sym_block_comment, + [4092] = 5, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(193), 1, + anon_sym_LPAREN, + STATE(188), 1, + sym_column_list, + STATE(179), 2, + sym_line_comment, + sym_block_comment, + [4109] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(400), 1, + anon_sym_SQUOTE, + STATE(180), 2, + sym_line_comment, + sym_block_comment, + [4123] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(402), 1, + sym_keyword_key, + STATE(181), 2, + sym_line_comment, + sym_block_comment, + [4137] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(404), 1, + anon_sym_LPAREN, + STATE(182), 2, + sym_line_comment, + sym_block_comment, + [4151] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(406), 1, anon_sym_SEMI, - STATE(152), 2, + STATE(183), 2, sym_line_comment, sym_block_comment, - [3437] = 4, + [4165] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(408), 1, + anon_sym_RPAREN, + STATE(184), 2, + sym_line_comment, + sym_block_comment, + [4179] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(410), 1, + sym_keyword_key, + STATE(185), 2, + sym_line_comment, + sym_block_comment, + [4193] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(412), 1, + sym_keyword_null, + STATE(186), 2, + sym_line_comment, + sym_block_comment, + [4207] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(414), 1, + anon_sym_SEMI, + STATE(187), 2, + sym_line_comment, + sym_block_comment, + [4221] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(416), 1, + sym_keyword_references, + STATE(188), 2, + sym_line_comment, + sym_block_comment, + [4235] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(418), 1, + aux_sym_double_token2, + STATE(189), 2, + sym_line_comment, + sym_block_comment, + [4249] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(420), 1, + anon_sym_RPAREN, + STATE(190), 2, + sym_line_comment, + sym_block_comment, + [4263] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(422), 1, + anon_sym_RPAREN, + STATE(191), 2, + sym_line_comment, + sym_block_comment, + [4277] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(358), 1, sym_keyword_delete, - STATE(153), 2, + STATE(192), 2, sym_line_comment, sym_block_comment, - [3451] = 4, + [4291] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(400), 1, - anon_sym_RPAREN, - STATE(154), 2, + ACTIONS(360), 1, + sym_keyword_update, + STATE(193), 2, sym_line_comment, sym_block_comment, - [3465] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(402), 1, - anon_sym_RPAREN, - STATE(155), 2, - sym_line_comment, - sym_block_comment, - [3479] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(404), 1, - anon_sym_DQUOTE, - STATE(156), 2, - sym_line_comment, - sym_block_comment, - [3493] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(406), 1, - sym_keyword_exists, - STATE(157), 2, - sym_line_comment, - sym_block_comment, - [3507] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(408), 1, - sym_keyword_table, - STATE(158), 2, - sym_line_comment, - sym_block_comment, - [3521] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(410), 1, - sym_keyword_action, - STATE(159), 2, - sym_line_comment, - sym_block_comment, - [3535] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(412), 1, - sym_keyword_key, - STATE(160), 2, - sym_line_comment, - sym_block_comment, - [3549] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(414), 1, - sym_number, - STATE(161), 2, - sym_line_comment, - sym_block_comment, - [3563] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(416), 1, - anon_sym_SEMI, - STATE(162), 2, - sym_line_comment, - sym_block_comment, - [3577] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(418), 1, - anon_sym_SEMI, - STATE(163), 2, - sym_line_comment, - sym_block_comment, - [3591] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(420), 1, - sym_keyword_key, - STATE(164), 2, - sym_line_comment, - sym_block_comment, - [3605] = 4, - ACTIONS(372), 1, - anon_sym_DASH_DASH, - ACTIONS(376), 1, - anon_sym_SLASH_STAR, - ACTIONS(422), 1, - aux_sym_literal_string_token1, - STATE(165), 2, - sym_line_comment, - sym_block_comment, - [3619] = 4, + [4305] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(424), 1, - sym_keyword_table, - STATE(166), 2, + anon_sym_SEMI, + STATE(194), 2, sym_line_comment, sym_block_comment, - [3633] = 4, - ACTIONS(372), 1, + [4319] = 4, + ACTIONS(3), 1, anon_sym_DASH_DASH, - ACTIONS(376), 1, + ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(426), 1, - aux_sym_block_comment_token1, - STATE(167), 2, + anon_sym_DQUOTE, + STATE(195), 2, sym_line_comment, sym_block_comment, - [3647] = 4, + [4333] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(428), 1, - aux_sym__keyword_time_zone_token2, - STATE(168), 2, + anon_sym_SEMI, + STATE(196), 2, sym_line_comment, sym_block_comment, - [3661] = 4, + [4347] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(430), 1, - sym_number, - STATE(169), 2, + sym_keyword_distinct, + STATE(197), 2, sym_line_comment, sym_block_comment, - [3675] = 4, + [4361] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(432), 1, - ts_builtin_sym_end, - STATE(170), 2, + anon_sym_SEMI, + STATE(198), 2, sym_line_comment, sym_block_comment, - [3689] = 4, + [4375] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(434), 1, sym_number, - STATE(171), 2, + STATE(199), 2, sym_line_comment, sym_block_comment, - [3703] = 4, + [4389] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(436), 1, - aux_sym_double_token2, - STATE(172), 2, + sym_number, + STATE(200), 2, sym_line_comment, sym_block_comment, - [3717] = 4, + [4403] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(438), 1, - anon_sym_SEMI, - STATE(173), 2, + sym_keyword_exists, + STATE(201), 2, sym_line_comment, sym_block_comment, - [3731] = 4, - ACTIONS(372), 1, + [4417] = 4, + ACTIONS(3), 1, anon_sym_DASH_DASH, - ACTIONS(376), 1, + ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(440), 1, - aux_sym_identifier_token1, - STATE(174), 2, + ts_builtin_sym_end, + STATE(202), 2, sym_line_comment, sym_block_comment, - [3745] = 4, + [4431] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(442), 1, - sym_keyword_null, - STATE(175), 2, + sym_keyword_action, + STATE(203), 2, sym_line_comment, sym_block_comment, - [3759] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, + [4445] = 4, ACTIONS(444), 1, - sym_keyword_not, - STATE(176), 2, - sym_line_comment, - sym_block_comment, - [3773] = 4, - ACTIONS(3), 1, anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, ACTIONS(446), 1, - anon_sym_LPAREN, - STATE(177), 2, - sym_line_comment, - sym_block_comment, - [3787] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(448), 1, - sym_number, - STATE(178), 2, + aux_sym_literal_string_token1, + STATE(204), 2, sym_line_comment, sym_block_comment, - [3801] = 4, + [4459] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(450), 1, sym_number, - STATE(179), 2, + STATE(205), 2, sym_line_comment, sym_block_comment, - [3815] = 4, + [4473] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(452), 1, - anon_sym_SEMI, - STATE(180), 2, + sym_number, + STATE(206), 2, sym_line_comment, sym_block_comment, - [3829] = 4, + [4487] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(454), 1, - anon_sym_SEMI, - STATE(181), 2, + sym_keyword_not, + STATE(207), 2, sym_line_comment, sym_block_comment, - [3843] = 1, + [4501] = 4, + ACTIONS(444), 1, + anon_sym_DASH_DASH, + ACTIONS(446), 1, + anon_sym_SLASH_STAR, ACTIONS(456), 1, - ts_builtin_sym_end, - [3847] = 1, + aux_sym_block_comment_token1, + STATE(208), 2, + sym_line_comment, + sym_block_comment, + [4515] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, ACTIONS(458), 1, + sym_number, + STATE(209), 2, + sym_line_comment, + sym_block_comment, + [4529] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(460), 1, + sym_keyword_references, + STATE(210), 2, + sym_line_comment, + sym_block_comment, + [4543] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(462), 1, + sym_number, + STATE(211), 2, + sym_line_comment, + sym_block_comment, + [4557] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(464), 1, + aux_sym__keyword_time_zone_token2, + STATE(212), 2, + sym_line_comment, + sym_block_comment, + [4571] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(466), 1, + sym_keyword_table, + STATE(213), 2, + sym_line_comment, + sym_block_comment, + [4585] = 4, + ACTIONS(444), 1, + anon_sym_DASH_DASH, + ACTIONS(446), 1, + anon_sym_SLASH_STAR, + ACTIONS(468), 1, + aux_sym_line_comment_token1, + STATE(214), 2, + sym_line_comment, + sym_block_comment, + [4599] = 4, + ACTIONS(444), 1, + anon_sym_DASH_DASH, + ACTIONS(446), 1, + anon_sym_SLASH_STAR, + ACTIONS(470), 1, + aux_sym_identifier_token1, + STATE(215), 2, + sym_line_comment, + sym_block_comment, + [4613] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(472), 1, + sym_keyword_table, + STATE(216), 2, + sym_line_comment, + sym_block_comment, + [4627] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(474), 1, + anon_sym_RPAREN, + STATE(217), 2, + sym_line_comment, + sym_block_comment, + [4641] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(476), 1, + anon_sym_SLASH, + STATE(218), 2, + sym_line_comment, + sym_block_comment, + [4655] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(478), 1, + anon_sym_SEMI, + STATE(219), 2, + sym_line_comment, + sym_block_comment, + [4669] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(480), 1, + anon_sym_SEMI, + STATE(220), 2, + sym_line_comment, + sym_block_comment, + [4683] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(482), 1, + anon_sym_SEMI, + STATE(221), 2, + sym_line_comment, + sym_block_comment, + [4697] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(484), 1, + anon_sym_SEMI, + STATE(222), 2, + sym_line_comment, + sym_block_comment, + [4711] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(486), 1, + anon_sym_RPAREN, + STATE(223), 2, + sym_line_comment, + sym_block_comment, + [4725] = 1, + ACTIONS(488), 1, + ts_builtin_sym_end, + [4729] = 1, + ACTIONS(490), 1, ts_builtin_sym_end, }; @@ -6438,411 +7156,469 @@ static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(3)] = 102, [SMALL_STATE(4)] = 157, [SMALL_STATE(5)] = 212, - [SMALL_STATE(6)] = 262, - [SMALL_STATE(7)] = 312, - [SMALL_STATE(8)] = 352, - [SMALL_STATE(9)] = 400, - [SMALL_STATE(10)] = 437, - [SMALL_STATE(11)] = 469, - [SMALL_STATE(12)] = 503, - [SMALL_STATE(13)] = 549, - [SMALL_STATE(14)] = 577, - [SMALL_STATE(15)] = 620, - [SMALL_STATE(16)] = 645, - [SMALL_STATE(17)] = 676, + [SMALL_STATE(6)] = 255, + [SMALL_STATE(7)] = 298, + [SMALL_STATE(8)] = 335, + [SMALL_STATE(9)] = 382, + [SMALL_STATE(10)] = 427, + [SMALL_STATE(11)] = 464, + [SMALL_STATE(12)] = 511, + [SMALL_STATE(13)] = 545, + [SMALL_STATE(14)] = 591, + [SMALL_STATE(15)] = 619, + [SMALL_STATE(16)] = 651, + [SMALL_STATE(17)] = 682, [SMALL_STATE(18)] = 707, - [SMALL_STATE(19)] = 733, - [SMALL_STATE(20)] = 761, - [SMALL_STATE(21)] = 798, - [SMALL_STATE(22)] = 821, - [SMALL_STATE(23)] = 844, - [SMALL_STATE(24)] = 869, - [SMALL_STATE(25)] = 892, - [SMALL_STATE(26)] = 915, - [SMALL_STATE(27)] = 938, - [SMALL_STATE(28)] = 961, - [SMALL_STATE(29)] = 984, - [SMALL_STATE(30)] = 1007, - [SMALL_STATE(31)] = 1030, - [SMALL_STATE(32)] = 1053, - [SMALL_STATE(33)] = 1078, - [SMALL_STATE(34)] = 1101, - [SMALL_STATE(35)] = 1126, - [SMALL_STATE(36)] = 1149, - [SMALL_STATE(37)] = 1172, - [SMALL_STATE(38)] = 1197, - [SMALL_STATE(39)] = 1219, - [SMALL_STATE(40)] = 1241, - [SMALL_STATE(41)] = 1263, - [SMALL_STATE(42)] = 1285, - [SMALL_STATE(43)] = 1307, - [SMALL_STATE(44)] = 1329, - [SMALL_STATE(45)] = 1351, - [SMALL_STATE(46)] = 1373, - [SMALL_STATE(47)] = 1395, - [SMALL_STATE(48)] = 1417, - [SMALL_STATE(49)] = 1439, - [SMALL_STATE(50)] = 1461, - [SMALL_STATE(51)] = 1483, - [SMALL_STATE(52)] = 1505, - [SMALL_STATE(53)] = 1527, - [SMALL_STATE(54)] = 1549, - [SMALL_STATE(55)] = 1571, - [SMALL_STATE(56)] = 1593, - [SMALL_STATE(57)] = 1615, - [SMALL_STATE(58)] = 1637, - [SMALL_STATE(59)] = 1659, - [SMALL_STATE(60)] = 1681, - [SMALL_STATE(61)] = 1703, - [SMALL_STATE(62)] = 1725, - [SMALL_STATE(63)] = 1747, - [SMALL_STATE(64)] = 1769, - [SMALL_STATE(65)] = 1791, - [SMALL_STATE(66)] = 1813, - [SMALL_STATE(67)] = 1835, - [SMALL_STATE(68)] = 1857, - [SMALL_STATE(69)] = 1879, - [SMALL_STATE(70)] = 1901, - [SMALL_STATE(71)] = 1923, - [SMALL_STATE(72)] = 1945, - [SMALL_STATE(73)] = 1974, - [SMALL_STATE(74)] = 2003, - [SMALL_STATE(75)] = 2038, - [SMALL_STATE(76)] = 2071, - [SMALL_STATE(77)] = 2100, - [SMALL_STATE(78)] = 2129, - [SMALL_STATE(79)] = 2156, - [SMALL_STATE(80)] = 2180, - [SMALL_STATE(81)] = 2204, - [SMALL_STATE(82)] = 2230, - [SMALL_STATE(83)] = 2253, - [SMALL_STATE(84)] = 2276, - [SMALL_STATE(85)] = 2299, - [SMALL_STATE(86)] = 2319, - [SMALL_STATE(87)] = 2339, - [SMALL_STATE(88)] = 2359, - [SMALL_STATE(89)] = 2379, - [SMALL_STATE(90)] = 2399, - [SMALL_STATE(91)] = 2419, - [SMALL_STATE(92)] = 2439, - [SMALL_STATE(93)] = 2455, - [SMALL_STATE(94)] = 2475, - [SMALL_STATE(95)] = 2495, - [SMALL_STATE(96)] = 2515, - [SMALL_STATE(97)] = 2533, - [SMALL_STATE(98)] = 2549, - [SMALL_STATE(99)] = 2569, - [SMALL_STATE(100)] = 2589, - [SMALL_STATE(101)] = 2607, - [SMALL_STATE(102)] = 2623, - [SMALL_STATE(103)] = 2643, - [SMALL_STATE(104)] = 2659, - [SMALL_STATE(105)] = 2675, - [SMALL_STATE(106)] = 2693, - [SMALL_STATE(107)] = 2713, - [SMALL_STATE(108)] = 2729, - [SMALL_STATE(109)] = 2746, - [SMALL_STATE(110)] = 2763, - [SMALL_STATE(111)] = 2780, - [SMALL_STATE(112)] = 2797, - [SMALL_STATE(113)] = 2814, - [SMALL_STATE(114)] = 2831, - [SMALL_STATE(115)] = 2848, - [SMALL_STATE(116)] = 2865, - [SMALL_STATE(117)] = 2880, - [SMALL_STATE(118)] = 2895, - [SMALL_STATE(119)] = 2910, - [SMALL_STATE(120)] = 2925, - [SMALL_STATE(121)] = 2942, - [SMALL_STATE(122)] = 2959, - [SMALL_STATE(123)] = 2976, - [SMALL_STATE(124)] = 2991, - [SMALL_STATE(125)] = 3006, - [SMALL_STATE(126)] = 3021, - [SMALL_STATE(127)] = 3038, - [SMALL_STATE(128)] = 3055, - [SMALL_STATE(129)] = 3072, - [SMALL_STATE(130)] = 3089, - [SMALL_STATE(131)] = 3106, - [SMALL_STATE(132)] = 3123, - [SMALL_STATE(133)] = 3140, - [SMALL_STATE(134)] = 3157, - [SMALL_STATE(135)] = 3174, - [SMALL_STATE(136)] = 3189, - [SMALL_STATE(137)] = 3206, - [SMALL_STATE(138)] = 3221, - [SMALL_STATE(139)] = 3238, - [SMALL_STATE(140)] = 3255, - [SMALL_STATE(141)] = 3269, - [SMALL_STATE(142)] = 3283, - [SMALL_STATE(143)] = 3297, - [SMALL_STATE(144)] = 3311, - [SMALL_STATE(145)] = 3325, - [SMALL_STATE(146)] = 3339, - [SMALL_STATE(147)] = 3353, - [SMALL_STATE(148)] = 3367, - [SMALL_STATE(149)] = 3381, - [SMALL_STATE(150)] = 3395, - [SMALL_STATE(151)] = 3409, - [SMALL_STATE(152)] = 3423, - [SMALL_STATE(153)] = 3437, - [SMALL_STATE(154)] = 3451, - [SMALL_STATE(155)] = 3465, - [SMALL_STATE(156)] = 3479, - [SMALL_STATE(157)] = 3493, - [SMALL_STATE(158)] = 3507, - [SMALL_STATE(159)] = 3521, - [SMALL_STATE(160)] = 3535, - [SMALL_STATE(161)] = 3549, - [SMALL_STATE(162)] = 3563, - [SMALL_STATE(163)] = 3577, - [SMALL_STATE(164)] = 3591, - [SMALL_STATE(165)] = 3605, - [SMALL_STATE(166)] = 3619, - [SMALL_STATE(167)] = 3633, - [SMALL_STATE(168)] = 3647, - [SMALL_STATE(169)] = 3661, - [SMALL_STATE(170)] = 3675, - [SMALL_STATE(171)] = 3689, - [SMALL_STATE(172)] = 3703, - [SMALL_STATE(173)] = 3717, - [SMALL_STATE(174)] = 3731, - [SMALL_STATE(175)] = 3745, - [SMALL_STATE(176)] = 3759, - [SMALL_STATE(177)] = 3773, - [SMALL_STATE(178)] = 3787, - [SMALL_STATE(179)] = 3801, - [SMALL_STATE(180)] = 3815, - [SMALL_STATE(181)] = 3829, - [SMALL_STATE(182)] = 3843, - [SMALL_STATE(183)] = 3847, + [SMALL_STATE(19)] = 738, + [SMALL_STATE(20)] = 769, + [SMALL_STATE(21)] = 812, + [SMALL_STATE(22)] = 843, + [SMALL_STATE(23)] = 871, + [SMALL_STATE(24)] = 895, + [SMALL_STATE(25)] = 921, + [SMALL_STATE(26)] = 946, + [SMALL_STATE(27)] = 969, + [SMALL_STATE(28)] = 992, + [SMALL_STATE(29)] = 1015, + [SMALL_STATE(30)] = 1038, + [SMALL_STATE(31)] = 1061, + [SMALL_STATE(32)] = 1086, + [SMALL_STATE(33)] = 1111, + [SMALL_STATE(34)] = 1134, + [SMALL_STATE(35)] = 1157, + [SMALL_STATE(36)] = 1180, + [SMALL_STATE(37)] = 1203, + [SMALL_STATE(38)] = 1228, + [SMALL_STATE(39)] = 1251, + [SMALL_STATE(40)] = 1274, + [SMALL_STATE(41)] = 1297, + [SMALL_STATE(42)] = 1320, + [SMALL_STATE(43)] = 1342, + [SMALL_STATE(44)] = 1364, + [SMALL_STATE(45)] = 1386, + [SMALL_STATE(46)] = 1408, + [SMALL_STATE(47)] = 1444, + [SMALL_STATE(48)] = 1466, + [SMALL_STATE(49)] = 1488, + [SMALL_STATE(50)] = 1510, + [SMALL_STATE(51)] = 1532, + [SMALL_STATE(52)] = 1554, + [SMALL_STATE(53)] = 1576, + [SMALL_STATE(54)] = 1598, + [SMALL_STATE(55)] = 1620, + [SMALL_STATE(56)] = 1642, + [SMALL_STATE(57)] = 1664, + [SMALL_STATE(58)] = 1686, + [SMALL_STATE(59)] = 1708, + [SMALL_STATE(60)] = 1730, + [SMALL_STATE(61)] = 1752, + [SMALL_STATE(62)] = 1774, + [SMALL_STATE(63)] = 1796, + [SMALL_STATE(64)] = 1818, + [SMALL_STATE(65)] = 1840, + [SMALL_STATE(66)] = 1874, + [SMALL_STATE(67)] = 1896, + [SMALL_STATE(68)] = 1918, + [SMALL_STATE(69)] = 1940, + [SMALL_STATE(70)] = 1962, + [SMALL_STATE(71)] = 1984, + [SMALL_STATE(72)] = 2006, + [SMALL_STATE(73)] = 2028, + [SMALL_STATE(74)] = 2050, + [SMALL_STATE(75)] = 2072, + [SMALL_STATE(76)] = 2094, + [SMALL_STATE(77)] = 2130, + [SMALL_STATE(78)] = 2152, + [SMALL_STATE(79)] = 2174, + [SMALL_STATE(80)] = 2203, + [SMALL_STATE(81)] = 2236, + [SMALL_STATE(82)] = 2265, + [SMALL_STATE(83)] = 2300, + [SMALL_STATE(84)] = 2330, + [SMALL_STATE(85)] = 2360, + [SMALL_STATE(86)] = 2389, + [SMALL_STATE(87)] = 2418, + [SMALL_STATE(88)] = 2445, + [SMALL_STATE(89)] = 2469, + [SMALL_STATE(90)] = 2493, + [SMALL_STATE(91)] = 2517, + [SMALL_STATE(92)] = 2535, + [SMALL_STATE(93)] = 2559, + [SMALL_STATE(94)] = 2585, + [SMALL_STATE(95)] = 2609, + [SMALL_STATE(96)] = 2633, + [SMALL_STATE(97)] = 2651, + [SMALL_STATE(98)] = 2674, + [SMALL_STATE(99)] = 2697, + [SMALL_STATE(100)] = 2720, + [SMALL_STATE(101)] = 2743, + [SMALL_STATE(102)] = 2766, + [SMALL_STATE(103)] = 2789, + [SMALL_STATE(104)] = 2807, + [SMALL_STATE(105)] = 2827, + [SMALL_STATE(106)] = 2847, + [SMALL_STATE(107)] = 2863, + [SMALL_STATE(108)] = 2883, + [SMALL_STATE(109)] = 2903, + [SMALL_STATE(110)] = 2923, + [SMALL_STATE(111)] = 2943, + [SMALL_STATE(112)] = 2963, + [SMALL_STATE(113)] = 2983, + [SMALL_STATE(114)] = 2999, + [SMALL_STATE(115)] = 3019, + [SMALL_STATE(116)] = 3039, + [SMALL_STATE(117)] = 3059, + [SMALL_STATE(118)] = 3075, + [SMALL_STATE(119)] = 3095, + [SMALL_STATE(120)] = 3111, + [SMALL_STATE(121)] = 3131, + [SMALL_STATE(122)] = 3151, + [SMALL_STATE(123)] = 3169, + [SMALL_STATE(124)] = 3187, + [SMALL_STATE(125)] = 3204, + [SMALL_STATE(126)] = 3219, + [SMALL_STATE(127)] = 3234, + [SMALL_STATE(128)] = 3249, + [SMALL_STATE(129)] = 3266, + [SMALL_STATE(130)] = 3283, + [SMALL_STATE(131)] = 3300, + [SMALL_STATE(132)] = 3317, + [SMALL_STATE(133)] = 3334, + [SMALL_STATE(134)] = 3351, + [SMALL_STATE(135)] = 3366, + [SMALL_STATE(136)] = 3381, + [SMALL_STATE(137)] = 3398, + [SMALL_STATE(138)] = 3415, + [SMALL_STATE(139)] = 3430, + [SMALL_STATE(140)] = 3447, + [SMALL_STATE(141)] = 3464, + [SMALL_STATE(142)] = 3479, + [SMALL_STATE(143)] = 3496, + [SMALL_STATE(144)] = 3511, + [SMALL_STATE(145)] = 3528, + [SMALL_STATE(146)] = 3545, + [SMALL_STATE(147)] = 3562, + [SMALL_STATE(148)] = 3579, + [SMALL_STATE(149)] = 3596, + [SMALL_STATE(150)] = 3613, + [SMALL_STATE(151)] = 3628, + [SMALL_STATE(152)] = 3645, + [SMALL_STATE(153)] = 3662, + [SMALL_STATE(154)] = 3679, + [SMALL_STATE(155)] = 3696, + [SMALL_STATE(156)] = 3713, + [SMALL_STATE(157)] = 3730, + [SMALL_STATE(158)] = 3747, + [SMALL_STATE(159)] = 3764, + [SMALL_STATE(160)] = 3781, + [SMALL_STATE(161)] = 3796, + [SMALL_STATE(162)] = 3813, + [SMALL_STATE(163)] = 3830, + [SMALL_STATE(164)] = 3847, + [SMALL_STATE(165)] = 3864, + [SMALL_STATE(166)] = 3879, + [SMALL_STATE(167)] = 3894, + [SMALL_STATE(168)] = 3909, + [SMALL_STATE(169)] = 3924, + [SMALL_STATE(170)] = 3941, + [SMALL_STATE(171)] = 3958, + [SMALL_STATE(172)] = 3975, + [SMALL_STATE(173)] = 3992, + [SMALL_STATE(174)] = 4009, + [SMALL_STATE(175)] = 4026, + [SMALL_STATE(176)] = 4043, + [SMALL_STATE(177)] = 4060, + [SMALL_STATE(178)] = 4075, + [SMALL_STATE(179)] = 4092, + [SMALL_STATE(180)] = 4109, + [SMALL_STATE(181)] = 4123, + [SMALL_STATE(182)] = 4137, + [SMALL_STATE(183)] = 4151, + [SMALL_STATE(184)] = 4165, + [SMALL_STATE(185)] = 4179, + [SMALL_STATE(186)] = 4193, + [SMALL_STATE(187)] = 4207, + [SMALL_STATE(188)] = 4221, + [SMALL_STATE(189)] = 4235, + [SMALL_STATE(190)] = 4249, + [SMALL_STATE(191)] = 4263, + [SMALL_STATE(192)] = 4277, + [SMALL_STATE(193)] = 4291, + [SMALL_STATE(194)] = 4305, + [SMALL_STATE(195)] = 4319, + [SMALL_STATE(196)] = 4333, + [SMALL_STATE(197)] = 4347, + [SMALL_STATE(198)] = 4361, + [SMALL_STATE(199)] = 4375, + [SMALL_STATE(200)] = 4389, + [SMALL_STATE(201)] = 4403, + [SMALL_STATE(202)] = 4417, + [SMALL_STATE(203)] = 4431, + [SMALL_STATE(204)] = 4445, + [SMALL_STATE(205)] = 4459, + [SMALL_STATE(206)] = 4473, + [SMALL_STATE(207)] = 4487, + [SMALL_STATE(208)] = 4501, + [SMALL_STATE(209)] = 4515, + [SMALL_STATE(210)] = 4529, + [SMALL_STATE(211)] = 4543, + [SMALL_STATE(212)] = 4557, + [SMALL_STATE(213)] = 4571, + [SMALL_STATE(214)] = 4585, + [SMALL_STATE(215)] = 4599, + [SMALL_STATE(216)] = 4613, + [SMALL_STATE(217)] = 4627, + [SMALL_STATE(218)] = 4641, + [SMALL_STATE(219)] = 4655, + [SMALL_STATE(220)] = 4669, + [SMALL_STATE(221)] = 4683, + [SMALL_STATE(222)] = 4697, + [SMALL_STATE(223)] = 4711, + [SMALL_STATE(224)] = 4725, + [SMALL_STATE(225)] = 4729, }; 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(140), - [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167), + [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT(214), + [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(208), [7] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 0), - [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), - [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), - [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4), - [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(172), - [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(10), - [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(70), - [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(71), - [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(32), - [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(34), - [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(69), - [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(27), - [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(25), - [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(21), + [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), + [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), + [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3), + [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(189), + [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(15), + [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(60), + [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(61), + [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(37), + [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(25), + [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(64), + [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(35), + [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(34), + [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(33), [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(68), - [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(11), - [39] = {.entry = {.count = 1, .reusable = false}}, SHIFT(67), - [41] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174), - [43] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_identifier, 3), - [45] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier, 3), - [47] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_identifier, 1), - [49] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier, 1), - [51] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_definition, 2, .production_id = 1), - [53] = {.entry = {.count = 1, .reusable = true}}, SHIFT(175), - [55] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), - [57] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), - [59] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), - [61] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), - [63] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), - [65] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), - [67] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_definition, 3, .production_id = 1), - [69] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), - [71] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__foreign_key_references, 2), - [73] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), - [75] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), - [77] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_column_definition_repeat1, 2), - [79] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_column_definition_repeat1, 2), SHIFT_REPEAT(175), - [82] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_column_definition_repeat1, 2), SHIFT_REPEAT(61), - [85] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_column_definition_repeat1, 2), SHIFT_REPEAT(98), - [88] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_column_definition_repeat1, 2), SHIFT_REPEAT(72), - [91] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_column_definition_repeat1, 2), SHIFT_REPEAT(19), - [94] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_column_definition_repeat1, 2), SHIFT_REPEAT(160), - [97] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_column_definition_repeat1, 2), SHIFT_REPEAT(84), - [100] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__foreign_key_references, 5, .production_id = 12), - [102] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_time, 1), - [104] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138), - [106] = {.entry = {.count = 1, .reusable = false}}, SHIFT(136), - [108] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_timestamp, 1), - [110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146), - [112] = {.entry = {.count = 1, .reusable = false}}, SHIFT(91), - [114] = {.entry = {.count = 1, .reusable = false}}, SHIFT(19), - [116] = {.entry = {.count = 1, .reusable = false}}, SHIFT(160), - [118] = {.entry = {.count = 1, .reusable = false}}, SHIFT(164), - [120] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_reference, 1, .production_id = 1), - [122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), - [124] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_reference, 3, .production_id = 2), - [126] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__foreign_key_references, 3), - [128] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__foreign_key_references, 6, .production_id = 12), - [130] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), - [132] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_referencial_action, 2), + [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12), + [39] = {.entry = {.count = 1, .reusable = false}}, SHIFT(70), + [41] = {.entry = {.count = 1, .reusable = true}}, SHIFT(215), + [43] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_identifier, 1), + [45] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier, 1), + [47] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_identifier, 3), + [49] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier, 3), + [51] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), + [53] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 4, .production_id = 3), + [55] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), + [57] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), + [59] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 2), + [61] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 5, .production_id = 3), + [63] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_definition, 2, .production_id = 1), + [65] = {.entry = {.count = 1, .reusable = true}}, SHIFT(186), + [67] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), + [69] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), + [71] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), + [73] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), + [75] = {.entry = {.count = 1, .reusable = true}}, SHIFT(181), + [77] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), + [79] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_column_definition_repeat1, 2), + [81] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_column_definition_repeat1, 2), SHIFT_REPEAT(186), + [84] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_column_definition_repeat1, 2), SHIFT_REPEAT(43), + [87] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_column_definition_repeat1, 2), SHIFT_REPEAT(114), + [90] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_column_definition_repeat1, 2), SHIFT_REPEAT(81), + [93] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_column_definition_repeat1, 2), SHIFT_REPEAT(22), + [96] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_column_definition_repeat1, 2), SHIFT_REPEAT(181), + [99] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_column_definition_repeat1, 2), SHIFT_REPEAT(101), + [102] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 3), + [104] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_definition, 3, .production_id = 1), + [106] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_timestamp, 1), + [108] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148), + [110] = {.entry = {.count = 1, .reusable = false}}, SHIFT(145), + [112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(187), + [114] = {.entry = {.count = 1, .reusable = false}}, SHIFT(108), + [116] = {.entry = {.count = 1, .reusable = false}}, SHIFT(22), + [118] = {.entry = {.count = 1, .reusable = false}}, SHIFT(181), + [120] = {.entry = {.count = 1, .reusable = false}}, SHIFT(185), + [122] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_reference, 1, .production_id = 1), + [124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), + [126] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_time, 1), + [128] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_reference, 3, .production_id = 2), + [130] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 4), + [132] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 6, .production_id = 3), [134] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__unique_constraint, 1), [136] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__unique_constraint, 1), - [138] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), - [140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), - [142] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), - [144] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_varchar, 1), - [146] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_referencial_action, 6), - [148] = {.entry = {.count = 1, .reusable = true}}, SHIFT(169), - [150] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_varchar, 1), - [152] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__foreign_key_on_update, 3), - [154] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_char, 1), - [156] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_keyword_char, 1), REDUCE(sym_keyword_varchar, 1), - [159] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__unique_constraint, 4), - [161] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__foreign_key_match, 2), - [163] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__unique_constraint, 3), - [165] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_referencial_action, 1), - [167] = {.entry = {.count = 1, .reusable = true}}, SHIFT(179), - [169] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decimal, 1), - [171] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__primary_key, 2), - [173] = {.entry = {.count = 1, .reusable = true}}, SHIFT(178), - [175] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_numeric, 1), - [177] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_referencial_action, 5), - [179] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__foreign_key_on_delete, 3), - [181] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171), - [183] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_char, 1), - [185] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 3, .production_id = 5), - [187] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__with_time_zone, 2), - [189] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__foreign_key_references, 8, .production_id = 12), - [191] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__foreign_key_references, 7, .production_id = 12), - [193] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_numeric, 6, .production_id = 13), - [195] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decimal, 6, .production_id = 13), - [197] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__foreign_key_references, 5), - [199] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_literal_string, 3), - [201] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 4, .production_id = 5), - [203] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__foreign_key_references, 4), - [205] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_varchar, 4, .production_id = 11), - [207] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_char, 4, .production_id = 11), - [209] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 3, .production_id = 10), - [211] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_numeric, 4, .production_id = 9), - [213] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decimal, 4, .production_id = 9), - [215] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__keyword_time_zone, 2), - [217] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression, 1), - [219] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 2), - [221] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_literal, 1), - [223] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__not_null, 2), - [225] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__without_time_zone, 2), - [227] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 1, .production_id = 4), - [229] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_column_definition_repeat1, 1), - [231] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 1), - [233] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_timestamptz, 2), - [235] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_timestamp, 2), - [237] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_time, 2), - [239] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_double, 2), - [241] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 1, .production_id = 1), + [138] = {.entry = {.count = 1, .reusable = true}}, SHIFT(172), + [140] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ref_column, 3, .production_id = 3), + [142] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), + [144] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_referencial_action, 2), + [146] = {.entry = {.count = 1, .reusable = true}}, SHIFT(200), + [148] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_numeric, 1), + [150] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__foreign_key_on_update, 3), + [152] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_referencial_action, 5), + [154] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_referencial_action, 6), + [156] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__unique_constraint, 3), + [158] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__foreign_key_match, 2), + [160] = {.entry = {.count = 1, .reusable = true}}, SHIFT(206), + [162] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_varchar, 1), + [164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(205), + [166] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_char, 1), + [168] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_varchar, 1), + [170] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_char, 1), + [172] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_keyword_char, 1), REDUCE(sym_keyword_varchar, 1), + [175] = {.entry = {.count = 1, .reusable = true}}, SHIFT(199), + [177] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decimal, 1), + [179] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__primary_key, 2), + [181] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_referencial_action, 1), + [183] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__unique_constraint, 4), + [185] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__foreign_key_on_delete, 3), + [187] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 1), + [189] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 5), + [191] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__without_time_zone, 2), + [193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), + [195] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_constraint, 4), + [197] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_numeric, 6, .production_id = 10), + [199] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decimal, 6, .production_id = 10), + [201] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__keyword_time_zone, 2), + [203] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decimal, 4, .production_id = 7), + [205] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 8, .production_id = 3), + [207] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_numeric, 4, .production_id = 7), + [209] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_timestamp, 2), + [211] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_time, 2), + [213] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_literal_string, 3), + [215] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 3, .production_id = 3), + [217] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_column_definition_repeat1, 1), + [219] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 7, .production_id = 3), + [221] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 1), + [223] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_numeric, 1), + [225] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__not_null, 2), + [227] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__with_time_zone, 2), + [229] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_character, 1), + [231] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), + [233] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), + [235] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), + [237] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_double, 2), + [239] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_datetime, 1), + [241] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_char, 4, .production_id = 8), [243] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_timestamptz, 1), - [245] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_datetime, 1), - [247] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_character, 1), - [249] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 1), - [251] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_numeric, 1), - [253] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), - [255] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165), - [257] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1), - [259] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), - [261] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(92), - [264] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(81), - [267] = {.entry = {.count = 1, .reusable = false}}, SHIFT(176), - [269] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164), - [271] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), - [273] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), - [275] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), - [277] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), - [279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158), - [281] = {.entry = {.count = 1, .reusable = false}}, SHIFT(158), - [283] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166), - [285] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), - [287] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), - [289] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), - [291] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), - [293] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), - [295] = {.entry = {.count = 1, .reusable = true}}, SHIFT(181), - [297] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 1), - [299] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), - [301] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), - [303] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_referencial_action_repeat1, 2), SHIFT_REPEAT(93), - [306] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_referencial_action_repeat1, 2), - [308] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), - [310] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_column_list_repeat1, 2, .production_id = 8), SHIFT_REPEAT(85), - [313] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_column_list_repeat1, 2, .production_id = 8), - [315] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_list, 4, .production_id = 7), - [317] = {.entry = {.count = 1, .reusable = true}}, SHIFT(180), - [319] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 2), - [321] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 1), - [323] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_column_definitions_repeat1, 2), SHIFT_REPEAT(14), - [326] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_column_definitions_repeat1, 2), - [328] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), - [330] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_list, 3, .production_id = 5), - [332] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), - [334] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), - [336] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), - [338] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), - [340] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161), - [342] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), - [344] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_constraint, 3, .production_id = 3), - [346] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), - [348] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), - [350] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), - [352] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_constraint, 4, .production_id = 5), - [354] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_constraint, 5, .production_id = 6), - [356] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_column_list_repeat1, 2, .production_id = 5), - [358] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), - [360] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), - [362] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148), - [364] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), - [366] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__if_not_exists, 3), - [368] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168), - [370] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_constraint, 2), - [372] = {.entry = {.count = 1, .reusable = false}}, SHIFT(140), - [374] = {.entry = {.count = 1, .reusable = true}}, SHIFT(183), - [376] = {.entry = {.count = 1, .reusable = false}}, SHIFT(167), - [378] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__create_statement, 1), - [380] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), - [382] = {.entry = {.count = 1, .reusable = true}}, SHIFT(154), - [384] = {.entry = {.count = 1, .reusable = false}}, SHIFT(182), - [386] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), - [388] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_definitions, 2), - [390] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_create_table, 6), - [392] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), - [394] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), - [396] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), - [398] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_create_table, 4), - [400] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), - [402] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), - [404] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), - [406] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), - [408] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_temporary, 1), - [410] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), - [412] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), - [414] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155), - [416] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__ddl_statement, 1), - [418] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), - [420] = {.entry = {.count = 1, .reusable = true}}, SHIFT(177), - [422] = {.entry = {.count = 1, .reusable = false}}, SHIFT(142), - [424] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), - [426] = {.entry = {.count = 1, .reusable = false}}, SHIFT(144), - [428] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), - [430] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149), - [432] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [434] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150), - [436] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), - [438] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_create_table, 5), - [440] = {.entry = {.count = 1, .reusable = false}}, SHIFT(156), - [442] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), - [444] = {.entry = {.count = 1, .reusable = true}}, SHIFT(157), - [446] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__foreign_key, 2), - [448] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), - [450] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), - [452] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_definitions, 3), - [454] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_definitions, 4), - [456] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block_comment, 3), - [458] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_line_comment, 2), + [245] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_timestamptz, 2), + [247] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_literal, 1), + [249] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 6), + [251] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 1, .production_id = 1), + [253] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_constraint, 6, .production_id = 3), + [255] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression, 1), + [257] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_varchar, 4, .production_id = 8), + [259] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), + [261] = {.entry = {.count = 1, .reusable = true}}, SHIFT(204), + [263] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), + [265] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(119), + [268] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(93), + [271] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1), + [273] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_constraint, 7, .production_id = 9), + [275] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_constraint, 5, .production_id = 6), + [277] = {.entry = {.count = 1, .reusable = false}}, SHIFT(207), + [279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(185), + [281] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_constraint, 7, .production_id = 3), + [283] = {.entry = {.count = 1, .reusable = true}}, SHIFT(203), + [285] = {.entry = {.count = 1, .reusable = true}}, SHIFT(177), + [287] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), + [289] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_list, 4, .production_id = 4), + [291] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_constraint, 8, .production_id = 9), + [293] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), + [295] = {.entry = {.count = 1, .reusable = true}}, SHIFT(216), + [297] = {.entry = {.count = 1, .reusable = false}}, SHIFT(216), + [299] = {.entry = {.count = 1, .reusable = true}}, SHIFT(213), + [301] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_constraint, 6, .production_id = 6), + [303] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_constraint, 5), + [305] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_list, 3, .production_id = 3), + [307] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), + [309] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_referencial_action_repeat1, 2), SHIFT_REPEAT(115), + [312] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_referencial_action_repeat1, 2), + [314] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), + [316] = {.entry = {.count = 1, .reusable = true}}, SHIFT(183), + [318] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 1), + [320] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), + [322] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), + [324] = {.entry = {.count = 1, .reusable = true}}, SHIFT(198), + [326] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), + [328] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), + [330] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), + [332] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), + [334] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 2), + [336] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 1), + [338] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), + [340] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_column_definitions_repeat1, 2), SHIFT_REPEAT(20), + [343] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_column_definitions_repeat1, 2), + [345] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_column_list_repeat1, 2, .production_id = 5), SHIFT_REPEAT(105), + [348] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_column_list_repeat1, 2, .production_id = 5), + [350] = {.entry = {.count = 1, .reusable = true}}, SHIFT(211), + [352] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), + [354] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_constraint, 8, .production_id = 3), + [356] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_constraint, 10, .production_id = 9), + [358] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), + [360] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), + [362] = {.entry = {.count = 1, .reusable = true}}, SHIFT(192), + [364] = {.entry = {.count = 1, .reusable = true}}, SHIFT(193), + [366] = {.entry = {.count = 1, .reusable = true}}, SHIFT(209), + [368] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), + [370] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_constraint, 9, .production_id = 3), + [372] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_constraint, 9, .production_id = 9), + [374] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_constraint, 4, .production_id = 3), + [376] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_constraint, 8, .production_id = 6), + [378] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), + [380] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_column_list_repeat1, 2, .production_id = 3), + [382] = {.entry = {.count = 1, .reusable = true}}, SHIFT(212), + [384] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_constraint, 6), + [386] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__if_not_exists, 3), + [388] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_constraint, 2), + [390] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_constraint, 7), + [392] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_constraint, 7, .production_id = 6), + [394] = {.entry = {.count = 1, .reusable = true}}, SHIFT(197), + [396] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), + [398] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), + [400] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), + [402] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), + [404] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__foreign_key, 2), + [406] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_definitions, 3), + [408] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), + [410] = {.entry = {.count = 1, .reusable = true}}, SHIFT(182), + [412] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), + [414] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_definitions, 2), + [416] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), + [418] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), + [420] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), + [422] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), + [424] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_create_table, 4), + [426] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), + [428] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_create_table, 6), + [430] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), + [432] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_definitions, 4), + [434] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), + [436] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), + [438] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165), + [440] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [442] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), + [444] = {.entry = {.count = 1, .reusable = false}}, SHIFT(214), + [446] = {.entry = {.count = 1, .reusable = false}}, SHIFT(208), + [448] = {.entry = {.count = 1, .reusable = false}}, SHIFT(180), + [450] = {.entry = {.count = 1, .reusable = true}}, SHIFT(223), + [452] = {.entry = {.count = 1, .reusable = true}}, SHIFT(217), + [454] = {.entry = {.count = 1, .reusable = true}}, SHIFT(201), + [456] = {.entry = {.count = 1, .reusable = false}}, SHIFT(218), + [458] = {.entry = {.count = 1, .reusable = true}}, SHIFT(190), + [460] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), + [462] = {.entry = {.count = 1, .reusable = true}}, SHIFT(191), + [464] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), + [466] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), + [468] = {.entry = {.count = 1, .reusable = true}}, SHIFT(224), + [470] = {.entry = {.count = 1, .reusable = false}}, SHIFT(195), + [472] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_temporary, 1), + [474] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), + [476] = {.entry = {.count = 1, .reusable = false}}, SHIFT(225), + [478] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_create_table, 5), + [480] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__create_statement, 1), + [482] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__ddl_statement, 1), + [484] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), + [486] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), + [488] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_line_comment, 2), + [490] = {.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 f8e9e35..d390d10 100644 --- a/test/corpus/create/table.txt +++ b/test/corpus/create/table.txt @@ -267,7 +267,9 @@ create table foo ( (table_reference name: (identifier) ) - refcolumn: (identifier) + (ref_column + name: (identifier) + ) (keyword_on) (keyword_update) (referencial_action @@ -370,3 +372,310 @@ create table foo ( ) ) ) + +================================================================================ +Create a table with table constraints +================================================================================ +create table foo ( + id uuid, + primary key (id), + c1 text not null, + c2 text null, + c3 text not null default 'hello', + unique (c1, c3) +); +-------------------------------------------------------------------------------- + +(source_file + (statement + (create_table + (keyword_create) + (keyword_table) + (table_reference + name: (identifier) + ) + (column_definitions + (column_definition + name: (identifier) + (type (keyword_uuid)) + ) + (table_constraint + (keyword_primary) + (keyword_key) + (column_list + name: (identifier) + ) + ) + (column_definition + name: (identifier) + (type (keyword_text)) + (column_constraint + (keyword_not) + (keyword_null) + ) + ) + (column_definition + name: (identifier) + (type (keyword_text)) + (column_constraint + (keyword_null) + ) + ) + (column_definition + name: (identifier) + (type (keyword_text)) + (column_constraint + (keyword_not) + (keyword_null) + ) + (column_constraint + (keyword_default) + (literal + (literal_string) + ) + ) + ) + (table_constraint + (keyword_unique) + (column_list + name: (identifier) + name: (identifier) + ) + ) + ) + ) + ) +) + +================================================================================ +Create a table with primary key and foreign key +================================================================================ +create table foo ( + id uuid primary key, + bar_id uuid null references bar (id) on update set null on delete cascade +); +-------------------------------------------------------------------------------- + +(source_file + (statement + (create_table + (keyword_create) + (keyword_table) + (table_reference + name: (identifier) + ) + (column_definitions + (column_definition + name: (identifier) + (type (keyword_uuid)) + (column_constraint + (keyword_primary) + (keyword_key) + ) + ) + (column_definition + name: (identifier) + (type (keyword_uuid)) + (column_constraint + (keyword_null) + ) + (column_constraint + (keyword_references) + (table_reference + name: (identifier) + ) + (ref_column + name: (identifier) + ) + (keyword_on) + (keyword_update) + (referencial_action + (keyword_set) + (keyword_null) + ) + (keyword_on) + (keyword_delete) + (referencial_action + (keyword_cascade) + ) + ) + ) + ) + ) + ) +) + +================================================================================ +Create a table with named column constraints +================================================================================ +create table foo ( + id uuid constraint foo_pkey primary key, + 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', + c4 text constraint "c4 unique" unique nulls not distinct +); +-------------------------------------------------------------------------------- + +(source_file + (statement + (create_table + (keyword_create) + (keyword_table) + (table_reference + name: (identifier) + ) + (column_definitions + (column_definition + name: (identifier) + (type (keyword_uuid)) + (column_constraint + (keyword_constraint) + name: (identifier) + (keyword_primary) + (keyword_key) + ) + ) + (column_definition + name: (identifier) + (type (keyword_text)) + (column_constraint + (keyword_constraint) + name: (identifier) + (keyword_not) + (keyword_null) + ) + ) + (column_definition + name: (identifier) + (type (keyword_text)) + (column_constraint + (keyword_constraint) + name: (identifier) + (keyword_null) + ) + ) + (column_definition + name: (identifier) + (type (keyword_text)) + (column_constraint + (keyword_constraint) + name: (identifier) + (keyword_not) + (keyword_null) + ) + (column_constraint + (keyword_constraint) + name: (identifier) + (keyword_default) + (literal + (literal_string) + ) + ) + ) + (column_definition + name: (identifier) + (type (keyword_text)) + (column_constraint + (keyword_constraint) + name: (identifier) + (keyword_unique) + (keyword_nulls) + (keyword_not) + (keyword_distinct) + ) + ) + ) + ) + ) +) + +================================================================================ +Create a table with named table constraints +================================================================================ +create table foo ( + id uuid, + constraint foo_pkey primary key (id), + c3 uuid not null, + constraint foo_c3_fkey foreign key (c3) references bar (id) on update set null on delete cascade, + c4 text, + constraint "c4 unique" unique nulls not distinct (c4) +); +-------------------------------------------------------------------------------- + +(source_file + (statement + (create_table + (keyword_create) + (keyword_table) + (table_reference + name: (identifier) + ) + (column_definitions + (column_definition + name: (identifier) + (type (keyword_uuid)) + ) + (table_constraint + (keyword_constraint) + name: (identifier) + (keyword_primary) + (keyword_key) + (column_list + name: (identifier) + ) + ) + (column_definition + name: (identifier) + (type (keyword_uuid)) + (column_constraint + (keyword_not) + (keyword_null) + ) + ) + (table_constraint + (keyword_constraint) + name: (identifier) + (keyword_foreign) + (keyword_key) + (column_list + name: (identifier) + ) + (keyword_references) + (table_reference + name: (identifier) + ) + (ref_column_list + name: (identifier) + ) + (keyword_on) + (keyword_update) + (referencial_action + (keyword_set) + (keyword_null) + ) + (keyword_on) + (keyword_delete) + (referencial_action + (keyword_cascade) + ) + ) + (column_definition + name: (identifier) + (type (keyword_text)) + ) + (table_constraint + (keyword_constraint) + name: (identifier) + (keyword_unique) + (keyword_nulls) + (keyword_not) + (keyword_distinct) + (column_list + name: (identifier) + ) + ) + ) + ) + ) +) diff --git a/tree-sitter-plpgsql.wasm b/tree-sitter-plpgsql.wasm deleted file mode 100755 index e2cd634..0000000 Binary files a/tree-sitter-plpgsql.wasm and /dev/null differ diff --git a/tree-sitter-psql.wasm b/tree-sitter-psql.wasm index 95de4dd..144db6a 100755 Binary files a/tree-sitter-psql.wasm and b/tree-sitter-psql.wasm differ