From de04a49b20c709553e17ab06bd8300eb48f1bdd8 Mon Sep 17 00:00:00 2001 From: Dmitriy Pleshevskiy Date: Sun, 8 Jan 2023 16:17:16 +0300 Subject: [PATCH] grammar: add table constraint --- grammar.js | 68 +- src/grammar.json | 358 +++- src/node-types.json | 346 +++- src/parser.c | 3646 +++++++++++++++++----------------- test/corpus/create/table.txt | 38 +- tree-sitter-psql.wasm | Bin 37317 -> 37926 bytes 6 files changed, 2432 insertions(+), 2024 deletions(-) diff --git a/grammar.js b/grammar.js index 3083ad1..f31e09c 100644 --- a/grammar.js +++ b/grammar.js @@ -37,17 +37,13 @@ module.exports = grammar({ seq( "(", optional( - commaSepRepeat1(choice($.column_definition /*, $.table_constraint*/)) + commaSepRepeat1(choice($.column_definition, $.table_constraint)) ), ")" ), column_definition: ($) => - seq( - field("name", $.identifier), - field("datatype", $._type), - repeat($.column_constraint) - ), + seq(field("name", $.identifier), $.type, repeat($.column_constraint)), column_constraint: ($) => seq( @@ -57,31 +53,52 @@ module.exports = grammar({ $.keyword_null, seq($.keyword_default, $._expression), // TODO: add index_parameters in UNIQUE, PRIMARY KEY - seq( - $.keyword_unique, - optional( - seq($.keyword_nulls, optional($.keyword_not), $.keyword_distinct) - ) - ), + $._unique_constraint, $._primary_key, - 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_references // TODO: CHECK // TODO: GENERATED ) // TODO: DEFERRABLE ), + 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) + // TODO: CHECK + // TODO: EXCLUDE + ) + // TODO: DEFERRABLE + ), + + column_list: ($) => + seq("(", commaSepRepeat1(field("name", $.identifier)), ")"), + + _unique_constraint: ($) => + seq( + $.keyword_unique, + optional( + seq($.keyword_nulls, optional($.keyword_not), $.keyword_distinct) + ) + ), + + _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, @@ -126,8 +143,9 @@ module.exports = grammar({ ), // References: https://www.postgresql.org/docs/15/datatype.html - _type: ($) => + type: ($) => choice( + field("name", $.identifier), $._type_numeric, $._type_character, $._type_datetime, diff --git a/src/grammar.json b/src/grammar.json index 7960e78..f4d60fd 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -126,6 +126,10 @@ { "type": "SYMBOL", "name": "column_definition" + }, + { + "type": "SYMBOL", + "name": "table_constraint" } ] }, @@ -144,6 +148,10 @@ { "type": "SYMBOL", "name": "column_definition" + }, + { + "type": "SYMBOL", + "name": "table_constraint" } ] } @@ -175,12 +183,8 @@ } }, { - "type": "FIELD", - "name": "datatype", - "content": { - "type": "SYMBOL", - "name": "_type" - } + "type": "SYMBOL", + "name": "type" }, { "type": "REPEAT", @@ -244,97 +248,168 @@ ] }, { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "keyword_unique" - }, - { - "type": "CHOICE", - "members": [ - { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "keyword_nulls" - }, - { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "keyword_not" - }, - { - "type": "BLANK" - } - ] - }, - { - "type": "SYMBOL", - "name": "keyword_distinct" - } - ] - }, - { - "type": "BLANK" - } - ] - } - ] + "type": "SYMBOL", + "name": "_unique_constraint" }, { "type": "SYMBOL", "name": "_primary_key" }, + { + "type": "SYMBOL", + "name": "_foreign_key_references" + } + ] + } + ] + }, + "table_constraint": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ { "type": "SEQ", "members": [ { "type": "SYMBOL", - "name": "keyword_references" + "name": "keyword_constraint" + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_unique_constraint" }, { "type": "SYMBOL", - "name": "table_reference" + "name": "column_list" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_primary_key" }, { - "type": "CHOICE", - "members": [ - { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "(" - }, - { - "type": "FIELD", - "name": "refcolumn", - "content": { - "type": "SYMBOL", - "name": "identifier" - } - }, - { - "type": "STRING", - "value": ")" - } - ] - }, - { - "type": "BLANK" + "type": "SYMBOL", + "name": "column_list" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_foreign_key" + }, + { + "type": "SYMBOL", + "name": "column_list" + }, + { + "type": "SYMBOL", + "name": "_foreign_key_references" + } + ] + } + ] + } + ] + }, + "column_list": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" } - ] + } + ] + } + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "_unique_constraint": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "keyword_unique" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "keyword_nulls" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", - "name": "_foreign_key_match" + "name": "keyword_not" }, { "type": "BLANK" @@ -342,45 +417,106 @@ ] }, { - "type": "CHOICE", + "type": "SYMBOL", + "name": "keyword_distinct" + } + ] + }, + { + "type": "BLANK" + } + ] + } + ] + }, + "_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": "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": "SYMBOL", + "name": "_foreign_key_on_delete" }, { - "type": "BLANK" + "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" } ] } @@ -612,9 +748,17 @@ } ] }, - "_type": { + "type": { "type": "CHOICE", "members": [ + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, { "type": "SYMBOL", "name": "_type_numeric" diff --git a/src/node-types.json b/src/node-types.json index 2658386..c033ef5 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -146,104 +146,6 @@ "type": "column_definition", "named": true, "fields": { - "datatype": { - "multiple": false, - "required": true, - "types": [ - { - "type": "char", - "named": true - }, - { - "type": "decimal", - "named": true - }, - { - "type": "double", - "named": true - }, - { - "type": "keyword_bigint", - "named": true - }, - { - "type": "keyword_bigserial", - "named": true - }, - { - "type": "keyword_boolean", - "named": true - }, - { - "type": "keyword_bytea", - "named": true - }, - { - "type": "keyword_date", - "named": true - }, - { - "type": "keyword_datetime", - "named": true - }, - { - "type": "keyword_integer", - "named": true - }, - { - "type": "keyword_money", - "named": true - }, - { - "type": "keyword_real", - "named": true - }, - { - "type": "keyword_serial", - "named": true - }, - { - "type": "keyword_smallint", - "named": true - }, - { - "type": "keyword_smallserial", - "named": true - }, - { - "type": "keyword_text", - "named": true - }, - { - "type": "keyword_time", - "named": true - }, - { - "type": "keyword_timestamp", - "named": true - }, - { - "type": "keyword_timestamptz", - "named": true - }, - { - "type": "keyword_uuid", - "named": true - }, - { - "type": "keyword_xml", - "named": true - }, - { - "type": "numeric", - "named": true - }, - { - "type": "varchar", - "named": true - } - ] - }, "name": { "multiple": false, "required": true, @@ -257,11 +159,15 @@ }, "children": { "multiple": true, - "required": false, + "required": true, "types": [ { "type": "column_constraint", "named": true + }, + { + "type": "type", + "named": true } ] } @@ -277,10 +183,30 @@ { "type": "column_definition", "named": true + }, + { + "type": "table_constraint", + "named": true } ] } }, + { + "type": "column_list", + "named": true, + "fields": { + "name": { + "multiple": true, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + } + }, { "type": "create_table", "named": true, @@ -554,6 +480,114 @@ ] } }, + { + "type": "table_constraint", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": false, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "refcolumn": { + "multiple": false, + "required": false, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "column_list", + "named": true + }, + { + "type": "keyword_constraint", + "named": true + }, + { + "type": "keyword_delete", + "named": true + }, + { + "type": "keyword_distinct", + "named": true + }, + { + "type": "keyword_foreign", + "named": true + }, + { + "type": "keyword_full", + "named": true + }, + { + "type": "keyword_key", + "named": true + }, + { + "type": "keyword_match", + "named": true + }, + { + "type": "keyword_not", + "named": true + }, + { + "type": "keyword_nulls", + "named": true + }, + { + "type": "keyword_on", + "named": true + }, + { + "type": "keyword_partial", + "named": true + }, + { + "type": "keyword_primary", + "named": true + }, + { + "type": "keyword_references", + "named": true + }, + { + "type": "keyword_simple", + "named": true + }, + { + "type": "keyword_unique", + "named": true + }, + { + "type": "keyword_update", + "named": true + }, + { + "type": "referencial_action", + "named": true + }, + { + "type": "table_reference", + "named": true + } + ] + } + }, { "type": "table_reference", "named": true, @@ -580,6 +614,120 @@ } } }, + { + "type": "type", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": false, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "char", + "named": true + }, + { + "type": "decimal", + "named": true + }, + { + "type": "double", + "named": true + }, + { + "type": "keyword_bigint", + "named": true + }, + { + "type": "keyword_bigserial", + "named": true + }, + { + "type": "keyword_boolean", + "named": true + }, + { + "type": "keyword_bytea", + "named": true + }, + { + "type": "keyword_date", + "named": true + }, + { + "type": "keyword_datetime", + "named": true + }, + { + "type": "keyword_integer", + "named": true + }, + { + "type": "keyword_money", + "named": true + }, + { + "type": "keyword_real", + "named": true + }, + { + "type": "keyword_serial", + "named": true + }, + { + "type": "keyword_smallint", + "named": true + }, + { + "type": "keyword_smallserial", + "named": true + }, + { + "type": "keyword_text", + "named": true + }, + { + "type": "keyword_time", + "named": true + }, + { + "type": "keyword_timestamp", + "named": true + }, + { + "type": "keyword_timestamptz", + "named": true + }, + { + "type": "keyword_uuid", + "named": true + }, + { + "type": "keyword_xml", + "named": true + }, + { + "type": "numeric", + "named": true + }, + { + "type": "varchar", + "named": true + } + ] + } + }, { "type": "varchar", "named": true, diff --git a/src/parser.c b/src/parser.c index daccd14..035bcea 100644 --- a/src/parser.c +++ b/src/parser.c @@ -6,15 +6,15 @@ #endif #define LANGUAGE_VERSION 14 -#define STATE_COUNT 181 +#define STATE_COUNT 184 #define LARGE_STATE_COUNT 2 -#define SYMBOL_COUNT 127 +#define SYMBOL_COUNT 133 #define ALIAS_COUNT 0 #define TOKEN_COUNT 79 #define EXTERNAL_TOKEN_COUNT 0 -#define FIELD_COUNT 7 -#define MAX_ALIAS_SEQUENCE_LENGTH 10 -#define PRODUCTION_ID_COUNT 10 +#define FIELD_COUNT 6 +#define MAX_ALIAS_SEQUENCE_LENGTH 8 +#define PRODUCTION_ID_COUNT 14 enum { sym__identifier = 1, @@ -103,46 +103,52 @@ enum { sym_column_definitions = 84, sym_column_definition = 85, sym_column_constraint = 86, - sym__foreign_key_match = 87, - sym__foreign_key_on_delete = 88, - sym__foreign_key_on_update = 89, - sym_referencial_action = 90, - sym_table_reference = 91, - sym__expression = 92, - sym_literal = 93, - sym__type = 94, - sym__type_numeric = 95, - sym_double = 96, - sym_decimal = 97, - sym_numeric = 98, - sym__type_character = 99, - sym_char = 100, - sym_varchar = 101, - sym__type_datetime = 102, - sym__type_geometric = 103, - sym__type_net = 104, - sym__type_bit_string = 105, - sym__type_text_search = 106, - sym__primary_key = 107, - sym__if_not_exists = 108, - sym__not_null = 109, - sym__without_time_zone = 110, - sym__with_time_zone = 111, - sym__keyword_time_zone = 112, - sym_keyword_temporary = 113, - sym_keyword_char = 114, - sym_keyword_varchar = 115, - sym_keyword_time = 116, - sym_keyword_timestamp = 117, - sym_keyword_timestamptz = 118, - sym_line_comment = 119, - sym_block_comment = 120, - sym_literal_string = 121, - sym_identifier = 122, - aux_sym_source_file_repeat1 = 123, - aux_sym_column_definitions_repeat1 = 124, - aux_sym_column_definition_repeat1 = 125, - aux_sym_referencial_action_repeat1 = 126, + sym_table_constraint = 87, + sym_column_list = 88, + sym__unique_constraint = 89, + sym__foreign_key_references = 90, + sym__foreign_key_match = 91, + sym__foreign_key_on_delete = 92, + sym__foreign_key_on_update = 93, + sym_referencial_action = 94, + sym_table_reference = 95, + sym__expression = 96, + sym_literal = 97, + sym_type = 98, + sym__type_numeric = 99, + sym_double = 100, + sym_decimal = 101, + sym_numeric = 102, + sym__type_character = 103, + sym_char = 104, + sym_varchar = 105, + sym__type_datetime = 106, + sym__type_geometric = 107, + sym__type_net = 108, + sym__type_bit_string = 109, + sym__type_text_search = 110, + sym__primary_key = 111, + sym__foreign_key = 112, + sym__if_not_exists = 113, + sym__not_null = 114, + sym__without_time_zone = 115, + sym__with_time_zone = 116, + sym__keyword_time_zone = 117, + sym_keyword_temporary = 118, + sym_keyword_char = 119, + sym_keyword_varchar = 120, + sym_keyword_time = 121, + sym_keyword_timestamp = 122, + sym_keyword_timestamptz = 123, + sym_line_comment = 124, + sym_block_comment = 125, + sym_literal_string = 126, + sym_identifier = 127, + aux_sym_source_file_repeat1 = 128, + aux_sym_column_definitions_repeat1 = 129, + aux_sym_column_definition_repeat1 = 130, + aux_sym_column_list_repeat1 = 131, + aux_sym_referencial_action_repeat1 = 132, }; static const char * const ts_symbol_names[] = { @@ -233,6 +239,10 @@ static const char * const ts_symbol_names[] = { [sym_column_definitions] = "column_definitions", [sym_column_definition] = "column_definition", [sym_column_constraint] = "column_constraint", + [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", @@ -240,7 +250,7 @@ static const char * const ts_symbol_names[] = { [sym_table_reference] = "table_reference", [sym__expression] = "_expression", [sym_literal] = "literal", - [sym__type] = "_type", + [sym_type] = "type", [sym__type_numeric] = "_type_numeric", [sym_double] = "double", [sym_decimal] = "decimal", @@ -254,6 +264,7 @@ static const char * const ts_symbol_names[] = { [sym__type_bit_string] = "_type_bit_string", [sym__type_text_search] = "_type_text_search", [sym__primary_key] = "_primary_key", + [sym__foreign_key] = "_foreign_key", [sym__if_not_exists] = "_if_not_exists", [sym__not_null] = "_not_null", [sym__without_time_zone] = "_without_time_zone", @@ -272,6 +283,7 @@ static const char * const ts_symbol_names[] = { [aux_sym_source_file_repeat1] = "source_file_repeat1", [aux_sym_column_definitions_repeat1] = "column_definitions_repeat1", [aux_sym_column_definition_repeat1] = "column_definition_repeat1", + [aux_sym_column_list_repeat1] = "column_list_repeat1", [aux_sym_referencial_action_repeat1] = "referencial_action_repeat1", }; @@ -363,6 +375,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_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, @@ -370,7 +386,7 @@ static const TSSymbol ts_symbol_map[] = { [sym_table_reference] = sym_table_reference, [sym__expression] = sym__expression, [sym_literal] = sym_literal, - [sym__type] = sym__type, + [sym_type] = sym_type, [sym__type_numeric] = sym__type_numeric, [sym_double] = sym_double, [sym_decimal] = sym_decimal, @@ -384,6 +400,7 @@ static const TSSymbol ts_symbol_map[] = { [sym__type_bit_string] = sym__type_bit_string, [sym__type_text_search] = sym__type_text_search, [sym__primary_key] = sym__primary_key, + [sym__foreign_key] = sym__foreign_key, [sym__if_not_exists] = sym__if_not_exists, [sym__not_null] = sym__not_null, [sym__without_time_zone] = sym__without_time_zone, @@ -402,6 +419,7 @@ static const TSSymbol ts_symbol_map[] = { [aux_sym_source_file_repeat1] = aux_sym_source_file_repeat1, [aux_sym_column_definitions_repeat1] = aux_sym_column_definitions_repeat1, [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, }; @@ -754,6 +772,22 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_table_constraint] = { + .visible = true, + .named = true, + }, + [sym_column_list] = { + .visible = true, + .named = true, + }, + [sym__unique_constraint] = { + .visible = false, + .named = true, + }, + [sym__foreign_key_references] = { + .visible = false, + .named = true, + }, [sym__foreign_key_match] = { .visible = false, .named = true, @@ -782,8 +816,8 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, - [sym__type] = { - .visible = false, + [sym_type] = { + .visible = true, .named = true, }, [sym__type_numeric] = { @@ -838,6 +872,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = true, }, + [sym__foreign_key] = { + .visible = false, + .named = true, + }, [sym__if_not_exists] = { .visible = false, .named = true, @@ -910,6 +948,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = false, }, + [aux_sym_column_list_repeat1] = { + .visible = false, + .named = false, + }, [aux_sym_referencial_action_repeat1] = { .visible = false, .named = false, @@ -917,18 +959,16 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { }; enum { - field_datatype = 1, - field_name = 2, - field_precision = 3, - field_refcolumn = 4, - field_scale = 5, - field_schema = 6, - field_size = 7, + field_name = 1, + field_precision = 2, + field_refcolumn = 3, + field_scale = 4, + field_schema = 5, + field_size = 6, }; static const char * const ts_field_names[] = { [0] = NULL, - [field_datatype] = "datatype", [field_name] = "name", [field_precision] = "precision", [field_refcolumn] = "refcolumn", @@ -940,13 +980,17 @@ static const char * const ts_field_names[] = { static const TSFieldMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { [1] = {.index = 0, .length = 1}, [2] = {.index = 1, .length = 2}, - [3] = {.index = 3, .length = 2}, - [4] = {.index = 5, .length = 1}, - [5] = {.index = 6, .length = 1}, - [6] = {.index = 7, .length = 1}, + [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 = 1}, - [9] = {.index = 11, .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}, }; static const TSFieldMapEntry ts_field_map_entries[] = { @@ -956,22 +1000,32 @@ static const TSFieldMapEntry ts_field_map_entries[] = { {field_name, 2}, {field_schema, 0}, [3] = - {field_datatype, 1}, - {field_name, 0}, + {field_refcolumn, 2, .inherited = true}, + [4] = + {field_refcolumn, 0, .inherited = true}, [5] = - {field_precision, 2}, + {field_name, 1}, [6] = {field_name, 1}, - [7] = - {field_size, 2}, + {field_refcolumn, 4, .inherited = true}, [8] = + {field_name, 1}, + {field_name, 2, .inherited = true}, + [10] = + {field_name, 0, .inherited = true}, + {field_name, 1, .inherited = true}, + [12] = + {field_precision, 2}, + [13] = + {field_name, 1}, + {field_refcolumn, 2, .inherited = true}, + [15] = + {field_size, 2}, + [16] = + {field_refcolumn, 3}, + [17] = {field_precision, 2}, {field_scale, 4}, - [10] = - {field_refcolumn, 3}, - [11] = - {field_name, 1}, - {field_refcolumn, 5}, }; static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = { @@ -1164,6 +1218,9 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [178] = 178, [179] = 179, [180] = 180, + [181] = 181, + [182] = 182, + [183] = 183, }; static bool ts_lex(TSLexer *lexer, TSStateId state) { @@ -3322,7 +3379,7 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [136] = {.lex_state = 0}, [137] = {.lex_state = 0}, [138] = {.lex_state = 0}, - [139] = {.lex_state = 35}, + [139] = {.lex_state = 0}, [140] = {.lex_state = 1}, [141] = {.lex_state = 0}, [142] = {.lex_state = 0}, @@ -3332,7 +3389,7 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [146] = {.lex_state = 0}, [147] = {.lex_state = 0}, [148] = {.lex_state = 0}, - [149] = {.lex_state = 10}, + [149] = {.lex_state = 0}, [150] = {.lex_state = 0}, [151] = {.lex_state = 0}, [152] = {.lex_state = 0}, @@ -3344,26 +3401,29 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [158] = {.lex_state = 0}, [159] = {.lex_state = 0}, [160] = {.lex_state = 0}, - [161] = {.lex_state = 5}, + [161] = {.lex_state = 0}, [162] = {.lex_state = 0}, [163] = {.lex_state = 0}, [164] = {.lex_state = 0}, - [165] = {.lex_state = 0}, + [165] = {.lex_state = 35}, [166] = {.lex_state = 0}, - [167] = {.lex_state = 0}, + [167] = {.lex_state = 5}, [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 = 0}, + [174] = {.lex_state = 10}, [175] = {.lex_state = 0}, [176] = {.lex_state = 0}, [177] = {.lex_state = 0}, [178] = {.lex_state = 0}, - [179] = {(TSStateId)(-1)}, - [180] = {(TSStateId)(-1)}, + [179] = {.lex_state = 0}, + [180] = {.lex_state = 0}, + [181] = {.lex_state = 0}, + [182] = {(TSStateId)(-1)}, + [183] = {(TSStateId)(-1)}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -3447,14 +3507,14 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_DQUOTE] = ACTIONS(1), }, [1] = { - [sym_source_file] = STATE(175), - [sym_statement] = STATE(97), - [sym__ddl_statement] = STATE(169), - [sym__create_statement] = STATE(166), - [sym_create_table] = STATE(164), + [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_line_comment] = STATE(1), [sym_block_comment] = STATE(1), - [aux_sym_source_file_repeat1] = STATE(78), + [aux_sym_source_file_repeat1] = STATE(74), [ts_builtin_sym_end] = ACTIONS(7), [anon_sym_SEMI] = ACTIONS(9), [sym_keyword_create] = ACTIONS(11), @@ -3464,62 +3524,67 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { }; static const uint16_t ts_small_parse_table[] = { - [0] = 24, + [0] = 26, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(13), 1, - aux_sym_double_token1, + sym__identifier, ACTIONS(15), 1, + aux_sym_double_token1, + ACTIONS(17), 1, aux_sym__keyword_time_zone_token1, - ACTIONS(21), 1, - sym_keyword_decimal, ACTIONS(23), 1, - sym_keyword_numeric, + sym_keyword_decimal, ACTIONS(25), 1, - sym_keyword_text, + sym_keyword_numeric, ACTIONS(27), 1, - aux_sym_keyword_char_token1, + sym_keyword_text, ACTIONS(29), 1, - aux_sym_keyword_char_token2, + aux_sym_keyword_char_token1, ACTIONS(31), 1, - aux_sym_keyword_varchar_token1, + aux_sym_keyword_char_token2, ACTIONS(33), 1, - sym_keyword_date, - ACTIONS(35), 1, - sym_keyword_datetime, + aux_sym_keyword_varchar_token1, ACTIONS(37), 1, aux_sym_keyword_timestamp_token1, ACTIONS(39), 1, aux_sym_keyword_timestamptz_token1, - STATE(10), 1, - sym__type, - STATE(28), 1, + ACTIONS(41), 1, + anon_sym_DQUOTE, + STATE(5), 1, + sym_type, + STATE(23), 1, sym_keyword_varchar, - STATE(30), 1, + STATE(37), 1, sym_keyword_char, + STATE(66), 1, + sym_identifier, + ACTIONS(35), 2, + sym_keyword_date, + sym_keyword_datetime, STATE(2), 2, sym_line_comment, sym_block_comment, - STATE(52), 2, + STATE(69), 2, sym_char, sym_varchar, - STATE(51), 3, - sym_double, - sym_decimal, - sym_numeric, - STATE(55), 3, + STATE(68), 3, sym_keyword_time, sym_keyword_timestamp, sym_keyword_timestamptz, - ACTIONS(17), 5, + STATE(71), 3, + sym_double, + sym_decimal, + sym_numeric, + ACTIONS(19), 5, sym_keyword_xml, sym_keyword_uuid, sym_keyword_boolean, sym_keyword_money, sym_keyword_bytea, - ACTIONS(19), 7, + ACTIONS(21), 7, sym_keyword_smallint, sym_keyword_integer, sym_keyword_bigint, @@ -3527,7 +3592,7 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_smallserial, sym_keyword_serial, sym_keyword_bigserial, - STATE(50), 7, + STATE(70), 7, sym__type_numeric, sym__type_character, sym__type_datetime, @@ -3535,7 +3600,7 @@ static const uint16_t ts_small_parse_table[] = { sym__type_net, sym__type_bit_string, sym__type_text_search, - [95] = 5, + [102] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -3543,23 +3608,22 @@ static const uint16_t ts_small_parse_table[] = { STATE(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(43), 4, - aux_sym__keyword_time_zone_token1, - aux_sym_keyword_char_token2, - sym_keyword_date, - aux_sym_keyword_timestamp_token1, - ACTIONS(41), 33, + ACTIONS(45), 5, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_DOT, + anon_sym_DQUOTE, + ACTIONS(43), 35, aux_sym_double_token1, + aux_sym__keyword_time_zone_token1, sym_keyword_not, sym_keyword_null, sym_keyword_constraint, sym_keyword_default, sym_keyword_unique, sym_keyword_primary, + sym_keyword_foreign, sym_keyword_references, sym_keyword_on, sym_keyword_match, @@ -3578,11 +3642,15 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_money, sym_keyword_text, aux_sym_keyword_char_token1, + aux_sym_keyword_char_token2, aux_sym_keyword_varchar_token1, sym_keyword_bytea, + sym_keyword_date, sym_keyword_datetime, + aux_sym_keyword_timestamp_token1, aux_sym_keyword_timestamptz_token1, - [147] = 5, + sym__identifier, + [157] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -3590,23 +3658,22 @@ static const uint16_t ts_small_parse_table[] = { STATE(4), 2, sym_line_comment, sym_block_comment, - ACTIONS(47), 4, - aux_sym__keyword_time_zone_token1, - aux_sym_keyword_char_token2, - sym_keyword_date, - aux_sym_keyword_timestamp_token1, - ACTIONS(45), 33, + ACTIONS(49), 5, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_DOT, + anon_sym_DQUOTE, + ACTIONS(47), 35, aux_sym_double_token1, + aux_sym__keyword_time_zone_token1, sym_keyword_not, sym_keyword_null, sym_keyword_constraint, sym_keyword_default, sym_keyword_unique, sym_keyword_primary, + sym_keyword_foreign, sym_keyword_references, sym_keyword_on, sym_keyword_match, @@ -3625,310 +3692,105 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_money, sym_keyword_text, aux_sym_keyword_char_token1, + aux_sym_keyword_char_token2, aux_sym_keyword_varchar_token1, sym_keyword_bytea, + sym_keyword_date, sym_keyword_datetime, + aux_sym_keyword_timestamp_token1, aux_sym_keyword_timestamptz_token1, - [199] = 10, + sym__identifier, + [212] = 15, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(49), 1, - anon_sym_LPAREN, ACTIONS(53), 1, - sym_keyword_on, + sym_keyword_not, ACTIONS(55), 1, - sym_keyword_match, - STATE(15), 1, - sym__foreign_key_match, - STATE(118), 1, - sym__foreign_key_on_delete, - STATE(119), 1, - sym__foreign_key_on_update, + sym_keyword_null, + 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, STATE(5), 2, sym_line_comment, sym_block_comment, - ACTIONS(51), 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, - [239] = 10, + STATE(61), 3, + sym__unique_constraint, + sym__primary_key, + sym__not_null, + [262] = 15, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(53), 1, - sym_keyword_on, + sym_keyword_not, ACTIONS(55), 1, - sym_keyword_match, + sym_keyword_null, ACTIONS(57), 1, - anon_sym_LPAREN, - STATE(17), 1, - sym__foreign_key_match, - STATE(108), 1, - sym__foreign_key_on_delete, - STATE(135), 1, - sym__foreign_key_on_update, + 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, STATE(6), 2, sym_line_comment, sym_block_comment, - 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, - [279] = 9, + STATE(61), 3, + sym__unique_constraint, + sym__primary_key, + sym__not_null, + [312] = 10, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(53), 1, + ACTIONS(69), 1, + anon_sym_LPAREN, + ACTIONS(73), 1, sym_keyword_on, - ACTIONS(55), 1, + ACTIONS(75), 1, sym_keyword_match, STATE(16), 1, sym__foreign_key_match, - STATE(120), 1, - sym__foreign_key_on_update, - STATE(122), 1, - sym__foreign_key_on_delete, - STATE(7), 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, - [316] = 9, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(53), 1, - sym_keyword_on, - ACTIONS(55), 1, - sym_keyword_match, - STATE(18), 1, - sym__foreign_key_match, - STATE(126), 1, - sym__foreign_key_on_update, - STATE(127), 1, - sym__foreign_key_on_delete, - STATE(8), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(63), 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, - [353] = 14, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(67), 1, - sym_keyword_not, - ACTIONS(69), 1, - sym_keyword_null, - ACTIONS(71), 1, - sym_keyword_constraint, - ACTIONS(73), 1, - sym_keyword_default, - ACTIONS(75), 1, - sym_keyword_unique, - ACTIONS(77), 1, - sym_keyword_primary, - ACTIONS(79), 1, - sym_keyword_references, - STATE(13), 1, - aux_sym_column_definition_repeat1, - STATE(60), 1, - sym_column_constraint, - ACTIONS(65), 2, - anon_sym_COMMA, - anon_sym_RPAREN, - STATE(9), 2, - sym_line_comment, - sym_block_comment, - STATE(74), 2, - sym__primary_key, - sym__not_null, - [399] = 14, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(67), 1, - sym_keyword_not, - ACTIONS(69), 1, - sym_keyword_null, - ACTIONS(71), 1, - sym_keyword_constraint, - ACTIONS(73), 1, - sym_keyword_default, - ACTIONS(75), 1, - sym_keyword_unique, - ACTIONS(77), 1, - sym_keyword_primary, - ACTIONS(79), 1, - sym_keyword_references, - STATE(9), 1, - aux_sym_column_definition_repeat1, - STATE(60), 1, - sym_column_constraint, - ACTIONS(81), 2, - anon_sym_COMMA, - anon_sym_RPAREN, - STATE(10), 2, - sym_line_comment, - sym_block_comment, - STATE(74), 2, - sym__primary_key, - sym__not_null, - [445] = 8, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(85), 1, - aux_sym__without_time_zone_token1, - ACTIONS(87), 1, - aux_sym__with_time_zone_token1, - STATE(71), 1, - sym__without_time_zone, - STATE(72), 1, - sym__with_time_zone, - STATE(11), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(83), 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, - [479] = 7, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(85), 1, - aux_sym__without_time_zone_token1, - ACTIONS(87), 1, - aux_sym__with_time_zone_token1, - STATE(12), 2, - sym_line_comment, - sym_block_comment, - STATE(68), 2, - sym__without_time_zone, - sym__with_time_zone, - ACTIONS(89), 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, - [511] = 13, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(93), 1, - sym_keyword_not, - ACTIONS(96), 1, - sym_keyword_null, - ACTIONS(99), 1, - sym_keyword_constraint, - ACTIONS(102), 1, - sym_keyword_default, - ACTIONS(105), 1, - sym_keyword_unique, - ACTIONS(108), 1, - sym_keyword_primary, - ACTIONS(111), 1, - sym_keyword_references, - STATE(60), 1, - sym_column_constraint, - ACTIONS(91), 2, - anon_sym_COMMA, - anon_sym_RPAREN, - STATE(74), 2, - sym__primary_key, - sym__not_null, - STATE(13), 3, - sym_line_comment, - sym_block_comment, - aux_sym_column_definition_repeat1, - [555] = 5, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(116), 1, - anon_sym_DOT, - STATE(14), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(114), 12, - 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, - sym_keyword_on, - sym_keyword_match, - [583] = 7, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(53), 1, - sym_keyword_on, STATE(132), 1, sym__foreign_key_on_delete, STATE(133), 1, sym__foreign_key_on_update, - STATE(15), 2, + STATE(7), 2, sym_line_comment, sym_block_comment, - ACTIONS(118), 9, + ACTIONS(71), 9, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, @@ -3938,21 +3800,59 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [614] = 7, + [352] = 14, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(53), 1, - sym_keyword_on, - STATE(114), 1, - sym__foreign_key_on_update, - STATE(115), 1, - sym__foreign_key_on_delete, - STATE(16), 2, + ACTIONS(79), 1, + sym_keyword_not, + ACTIONS(82), 1, + sym_keyword_null, + ACTIONS(85), 1, + sym_keyword_constraint, + ACTIONS(88), 1, + sym_keyword_default, + ACTIONS(91), 1, + sym_keyword_unique, + ACTIONS(94), 1, + sym_keyword_primary, + ACTIONS(97), 1, + sym_keyword_references, + STATE(59), 1, + sym__foreign_key_references, + STATE(60), 1, + sym_column_constraint, + ACTIONS(77), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + STATE(8), 3, sym_line_comment, sym_block_comment, - ACTIONS(120), 9, + aux_sym_column_definition_repeat1, + STATE(61), 3, + sym__unique_constraint, + sym__primary_key, + sym__not_null, + [400] = 9, + 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, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, @@ -3962,21 +3862,178 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, + [437] = 7, + 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(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, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + sym_keyword_unique, + sym_keyword_primary, + sym_keyword_references, + [469] = 8, + 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, + 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, + 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(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, + 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, + 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, + sym_keyword_match, + [577] = 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(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, + STATE(14), 2, + sym_line_comment, + sym_block_comment, + STATE(115), 2, + sym__unique_constraint, + sym__primary_key, + STATE(116), 2, + sym_column_definition, + sym_table_constraint, + [620] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + STATE(15), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(124), 12, + 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, + sym_keyword_on, + sym_keyword_match, [645] = 7, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(53), 1, + ACTIONS(73), 1, sym_keyword_on, - STATE(129), 1, + STATE(121), 1, sym__foreign_key_on_update, - STATE(130), 1, + STATE(122), 1, sym__foreign_key_on_delete, - STATE(17), 2, + STATE(16), 2, sym_line_comment, sym_block_comment, - ACTIONS(122), 9, + ACTIONS(126), 9, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, @@ -3991,75 +4048,35 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(53), 1, + ACTIONS(73), 1, sym_keyword_on, - STATE(123), 1, - sym__foreign_key_on_update, - STATE(124), 1, + STATE(128), 1, sym__foreign_key_on_delete, + STATE(131), 1, + sym__foreign_key_on_update, + 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, + anon_sym_LPAREN, STATE(18), 2, sym_line_comment, sym_block_comment, - ACTIONS(124), 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] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - STATE(19), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(126), 12, - 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, - sym_keyword_on, - sym_keyword_match, - [732] = 5, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(128), 1, - anon_sym_LPAREN, - STATE(20), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(130), 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, - [758] = 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(132), 10, anon_sym_COMMA, anon_sym_RPAREN, @@ -4071,7 +4088,74 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_primary, sym_keyword_references, sym_keyword_on, - [781] = 4, + [733] = 6, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(136), 1, + sym_keyword_null, + ACTIONS(138), 1, + sym_keyword_nulls, + STATE(19), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(134), 9, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_constraint, + sym_keyword_default, + sym_keyword_unique, + sym_keyword_primary, + sym_keyword_references, + [761] = 11, + 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, + 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, @@ -4079,7 +4163,7 @@ static const uint16_t ts_small_parse_table[] = { STATE(22), 2, sym_line_comment, sym_block_comment, - ACTIONS(134), 10, + ACTIONS(146), 10, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, @@ -4090,15 +4174,17 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_primary, sym_keyword_references, sym_keyword_on, - [804] = 4, + [844] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, + ACTIONS(148), 1, + anon_sym_LPAREN, STATE(23), 2, sym_line_comment, sym_block_comment, - ACTIONS(130), 10, + ACTIONS(150), 9, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, @@ -4108,8 +4194,7 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - sym_keyword_on, - [827] = 4, + [869] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -4117,7 +4202,7 @@ static const uint16_t ts_small_parse_table[] = { STATE(24), 2, sym_line_comment, sym_block_comment, - ACTIONS(136), 10, + ACTIONS(152), 10, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, @@ -4128,49 +4213,45 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_primary, sym_keyword_references, sym_keyword_on, - [850] = 6, + [892] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(140), 1, - sym_keyword_null, - ACTIONS(142), 1, - sym_keyword_nulls, STATE(25), 2, sym_line_comment, sym_block_comment, - ACTIONS(138), 8, + 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, - [877] = 6, + [915] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(146), 1, - sym_keyword_null, - ACTIONS(148), 1, - sym_keyword_nulls, STATE(26), 2, sym_line_comment, sym_block_comment, - ACTIONS(144), 8, + ACTIONS(132), 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, - [904] = 4, + sym_keyword_on, + [938] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -4178,7 +4259,8 @@ static const uint16_t ts_small_parse_table[] = { STATE(27), 2, sym_line_comment, sym_block_comment, - ACTIONS(150), 10, + ACTIONS(156), 10, + anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, @@ -4188,18 +4270,16 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - sym_keyword_on, - [927] = 5, + [961] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(152), 1, - anon_sym_LPAREN, STATE(28), 2, sym_line_comment, sym_block_comment, - ACTIONS(154), 9, + ACTIONS(159), 10, + anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, @@ -4209,7 +4289,7 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [952] = 4, + [984] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -4217,7 +4297,7 @@ static const uint16_t ts_small_parse_table[] = { STATE(29), 2, sym_line_comment, sym_block_comment, - ACTIONS(156), 10, + ACTIONS(161), 10, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, @@ -4228,17 +4308,16 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_primary, sym_keyword_references, sym_keyword_on, - [975] = 5, + [1007] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(158), 1, - anon_sym_LPAREN, STATE(30), 2, sym_line_comment, sym_block_comment, - ACTIONS(160), 9, + ACTIONS(163), 10, + anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, @@ -4248,7 +4327,7 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1000] = 4, + [1030] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -4256,65 +4335,7 @@ static const uint16_t ts_small_parse_table[] = { STATE(31), 2, sym_line_comment, sym_block_comment, - ACTIONS(162), 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, - [1023] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - STATE(32), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(164), 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, - [1046] = 5, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(166), 1, - anon_sym_LPAREN, - STATE(33), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(168), 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, - [1071] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - STATE(34), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(170), 10, + ACTIONS(165), 10, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, @@ -4325,17 +4346,17 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_primary, sym_keyword_references, sym_keyword_on, - [1094] = 5, + [1053] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(172), 1, + ACTIONS(167), 1, anon_sym_LPAREN, - STATE(35), 2, + STATE(32), 2, sym_line_comment, sym_block_comment, - ACTIONS(174), 9, + ACTIONS(169), 9, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, @@ -4345,7 +4366,65 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1119] = 4, + [1078] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + STATE(33), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(171), 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, + [1101] = 5, + 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, + 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, + [1126] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + STATE(35), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(177), 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, + [1149] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -4353,79 +4432,27 @@ static const uint16_t ts_small_parse_table[] = { STATE(36), 2, sym_line_comment, sym_block_comment, - ACTIONS(176), 10, + ACTIONS(179), 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, + [1172] = 5, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(181), 1, 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, - [1142] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, STATE(37), 2, sym_line_comment, sym_block_comment, - ACTIONS(179), 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, - [1164] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - STATE(38), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(118), 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, - [1186] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - STATE(39), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(181), 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, - [1208] = 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), 9, anon_sym_COMMA, anon_sym_RPAREN, @@ -4436,12 +4463,12 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1230] = 4, + [1197] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(41), 2, + STATE(38), 2, sym_line_comment, sym_block_comment, ACTIONS(185), 9, @@ -4454,30 +4481,12 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1252] = 4, + [1219] = 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(51), 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, - [1274] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - STATE(43), 2, + STATE(39), 2, sym_line_comment, sym_block_comment, ACTIONS(187), 9, @@ -4490,12 +4499,12 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1296] = 4, + [1241] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(44), 2, + STATE(40), 2, sym_line_comment, sym_block_comment, ACTIONS(189), 9, @@ -4508,12 +4517,12 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1318] = 4, + [1263] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(45), 2, + STATE(41), 2, sym_line_comment, sym_block_comment, ACTIONS(191), 9, @@ -4526,12 +4535,12 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1340] = 4, + [1285] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(46), 2, + STATE(42), 2, sym_line_comment, sym_block_comment, ACTIONS(193), 9, @@ -4544,12 +4553,12 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1362] = 4, + [1307] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(47), 2, + STATE(43), 2, sym_line_comment, sym_block_comment, ACTIONS(195), 9, @@ -4562,30 +4571,12 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1384] = 4, + [1329] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(48), 2, - sym_line_comment, - sym_block_comment, - 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, - [1406] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - STATE(49), 2, + STATE(44), 2, sym_line_comment, sym_block_comment, ACTIONS(197), 9, @@ -4598,12 +4589,12 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1428] = 4, + [1351] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(50), 2, + STATE(45), 2, sym_line_comment, sym_block_comment, ACTIONS(199), 9, @@ -4616,12 +4607,12 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1450] = 4, + [1373] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(51), 2, + STATE(46), 2, sym_line_comment, sym_block_comment, ACTIONS(201), 9, @@ -4634,12 +4625,12 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1472] = 4, + [1395] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(52), 2, + STATE(47), 2, sym_line_comment, sym_block_comment, ACTIONS(203), 9, @@ -4652,12 +4643,12 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1494] = 4, + [1417] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(53), 2, + STATE(48), 2, sym_line_comment, sym_block_comment, ACTIONS(205), 9, @@ -4670,12 +4661,12 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1516] = 4, + [1439] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(54), 2, + STATE(49), 2, sym_line_comment, sym_block_comment, ACTIONS(207), 9, @@ -4688,12 +4679,12 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1538] = 4, + [1461] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(55), 2, + STATE(50), 2, sym_line_comment, sym_block_comment, ACTIONS(209), 9, @@ -4706,12 +4697,12 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1560] = 4, + [1483] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(56), 2, + STATE(51), 2, sym_line_comment, sym_block_comment, ACTIONS(211), 9, @@ -4724,12 +4715,12 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1582] = 4, + [1505] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(57), 2, + STATE(52), 2, sym_line_comment, sym_block_comment, ACTIONS(213), 9, @@ -4742,12 +4733,12 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1604] = 4, + [1527] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(58), 2, + STATE(53), 2, sym_line_comment, sym_block_comment, ACTIONS(215), 9, @@ -4760,12 +4751,12 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1626] = 4, + [1549] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(59), 2, + STATE(54), 2, sym_line_comment, sym_block_comment, ACTIONS(217), 9, @@ -4778,12 +4769,12 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1648] = 4, + [1571] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(60), 2, + STATE(55), 2, sym_line_comment, sym_block_comment, ACTIONS(219), 9, @@ -4796,12 +4787,12 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1670] = 4, + [1593] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(61), 2, + STATE(56), 2, sym_line_comment, sym_block_comment, ACTIONS(221), 9, @@ -4814,12 +4805,12 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1692] = 4, + [1615] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(62), 2, + STATE(57), 2, sym_line_comment, sym_block_comment, ACTIONS(223), 9, @@ -4832,12 +4823,12 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1714] = 4, + [1637] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(63), 2, + STATE(58), 2, sym_line_comment, sym_block_comment, ACTIONS(225), 9, @@ -4850,30 +4841,12 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1736] = 4, + [1659] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(64), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(122), 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, - [1758] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - STATE(65), 2, + STATE(59), 2, sym_line_comment, sym_block_comment, ACTIONS(227), 9, @@ -4886,12 +4859,12 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1780] = 4, + [1681] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(66), 2, + STATE(60), 2, sym_line_comment, sym_block_comment, ACTIONS(229), 9, @@ -4904,12 +4877,12 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1802] = 4, + [1703] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(67), 2, + STATE(61), 2, sym_line_comment, sym_block_comment, ACTIONS(231), 9, @@ -4922,12 +4895,12 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1824] = 4, + [1725] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(68), 2, + STATE(62), 2, sym_line_comment, sym_block_comment, ACTIONS(233), 9, @@ -4940,12 +4913,12 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1846] = 4, + [1747] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(69), 2, + STATE(63), 2, sym_line_comment, sym_block_comment, ACTIONS(235), 9, @@ -4958,30 +4931,12 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1868] = 4, + [1769] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(70), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(144), 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, - [1890] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - STATE(71), 2, + STATE(64), 2, sym_line_comment, sym_block_comment, ACTIONS(237), 9, @@ -4994,12 +4949,12 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1912] = 4, + [1791] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(72), 2, + STATE(65), 2, sym_line_comment, sym_block_comment, ACTIONS(239), 9, @@ -5012,12 +4967,12 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1934] = 4, + [1813] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(73), 2, + STATE(66), 2, sym_line_comment, sym_block_comment, ACTIONS(241), 9, @@ -5030,15 +4985,15 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1956] = 4, + [1835] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(74), 2, + STATE(67), 2, sym_line_comment, sym_block_comment, - ACTIONS(138), 9, + ACTIONS(243), 9, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, @@ -5048,72 +5003,121 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, sym_keyword_primary, sym_keyword_references, - [1978] = 8, + [1857] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(245), 1, - anon_sym_SQUOTE, - STATE(42), 1, - sym__expression, - STATE(43), 1, - sym_literal, - STATE(67), 1, - sym_literal_string, - STATE(75), 2, + STATE(68), 2, sym_line_comment, sym_block_comment, - ACTIONS(243), 4, + ACTIONS(245), 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, + [1879] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + STATE(69), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(247), 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, + [1901] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + STATE(70), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(249), 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, + [1923] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + STATE(71), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(251), 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, + [1945] = 8, + 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, + sym_line_comment, + sym_block_comment, + ACTIONS(253), 4, sym_keyword_null, sym_keyword_true, sym_keyword_false, sym_number, - [2007] = 8, + [1974] = 8, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(245), 1, + ACTIONS(255), 1, anon_sym_SQUOTE, - STATE(43), 1, - sym_literal, - STATE(48), 1, + STATE(46), 1, sym__expression, - STATE(67), 1, + STATE(54), 1, + sym_literal, + STATE(56), 1, sym_literal_string, - STATE(76), 2, + STATE(73), 2, sym_line_comment, sym_block_comment, - ACTIONS(243), 4, + ACTIONS(253), 4, sym_keyword_null, sym_keyword_true, sym_keyword_false, sym_number, - [2036] = 10, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(247), 1, - ts_builtin_sym_end, - ACTIONS(249), 1, - anon_sym_SEMI, - ACTIONS(252), 1, - sym_keyword_create, - STATE(97), 1, - sym_statement, - STATE(164), 1, - sym_create_table, - STATE(166), 1, - sym__create_statement, - STATE(169), 1, - sym__ddl_statement, - STATE(77), 3, - sym_line_comment, - sym_block_comment, - aux_sym_source_file_repeat1, - [2069] = 11, + [2003] = 11, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -5122,249 +5126,302 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_SEMI, ACTIONS(11), 1, sym_keyword_create, - ACTIONS(255), 1, + ACTIONS(257), 1, ts_builtin_sym_end, - STATE(77), 1, + STATE(75), 1, aux_sym_source_file_repeat1, - STATE(97), 1, + STATE(104), 1, sym_statement, - STATE(164), 1, + STATE(141), 1, sym_create_table, - STATE(166), 1, + STATE(162), 1, sym__create_statement, - STATE(169), 1, + 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, - [2104] = 10, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(67), 1, - sym_keyword_not, - ACTIONS(77), 1, - sym_keyword_primary, - ACTIONS(257), 1, - sym_keyword_null, - ACTIONS(259), 1, - sym_keyword_default, - ACTIONS(261), 1, - sym_keyword_unique, - ACTIONS(263), 1, - sym_keyword_references, - STATE(70), 2, + STATE(109), 2, + sym__unique_constraint, sym__primary_key, - sym__not_null, - STATE(79), 2, - sym_line_comment, - sym_block_comment, - [2137] = 9, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(265), 1, - sym__identifier, - ACTIONS(267), 1, - sym_keyword_if, - ACTIONS(269), 1, - anon_sym_DQUOTE, - STATE(14), 1, - sym_identifier, - STATE(88), 1, - sym__if_not_exists, - STATE(131), 1, - sym_table_reference, - STATE(80), 2, - sym_line_comment, - sym_block_comment, - [2166] = 9, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(265), 1, - sym__identifier, - ACTIONS(267), 1, - sym_keyword_if, - ACTIONS(269), 1, - anon_sym_DQUOTE, - STATE(14), 1, - sym_identifier, - STATE(90), 1, - sym__if_not_exists, - STATE(136), 1, - sym_table_reference, - STATE(81), 2, - sym_line_comment, - sym_block_comment, - [2195] = 8, + [2156] = 7, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(271), 1, - sym_keyword_table, + sym_keyword_no, ACTIONS(273), 1, - aux_sym_keyword_temporary_token1, - ACTIONS(275), 1, - aux_sym_keyword_temporary_token2, + 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(138), 1, + 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, STATE(82), 2, sym_line_comment, sym_block_comment, - [2221] = 8, + [2253] = 7, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(269), 1, + ACTIONS(41), 1, anon_sym_DQUOTE, - ACTIONS(279), 1, + ACTIONS(285), 1, sym__identifier, - ACTIONS(281), 1, - anon_sym_RPAREN, - STATE(2), 1, + STATE(13), 1, sym_identifier, - STATE(106), 1, - sym_column_definition, + STATE(139), 1, + sym_table_reference, STATE(83), 2, sym_line_comment, sym_block_comment, - [2247] = 7, + [2276] = 7, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(283), 1, - sym_keyword_no, + ACTIONS(41), 1, + anon_sym_DQUOTE, ACTIONS(285), 1, - sym_keyword_set, - STATE(21), 1, - sym_referencial_action, - ACTIONS(287), 2, - sym_keyword_restrict, - sym_keyword_cascade, + sym__identifier, + STATE(7), 1, + sym_table_reference, + STATE(13), 1, + sym_identifier, STATE(84), 2, sym_line_comment, sym_block_comment, - [2271] = 7, + [2299] = 6, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(283), 1, - sym_keyword_no, + ACTIONS(41), 1, + anon_sym_DQUOTE, ACTIONS(285), 1, - sym_keyword_set, - STATE(27), 1, - sym_referencial_action, - ACTIONS(287), 2, - sym_keyword_restrict, - sym_keyword_cascade, + sym__identifier, + STATE(125), 1, + sym_identifier, STATE(85), 2, sym_line_comment, sym_block_comment, - [2295] = 7, + [2319] = 6, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(269), 1, - anon_sym_DQUOTE, - ACTIONS(279), 1, - sym__identifier, - STATE(6), 1, - sym_table_reference, - STATE(14), 1, - sym_identifier, + ACTIONS(287), 1, + anon_sym_COMMA, + ACTIONS(289), 1, + anon_sym_RPAREN, + STATE(100), 1, + aux_sym_column_list_repeat1, STATE(86), 2, sym_line_comment, sym_block_comment, - [2318] = 7, + [2339] = 6, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(269), 1, - anon_sym_DQUOTE, - ACTIONS(279), 1, - sym__identifier, - STATE(5), 1, - sym_table_reference, - STATE(14), 1, - sym_identifier, - STATE(87), 2, - sym_line_comment, - sym_block_comment, - [2341] = 7, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(269), 1, - anon_sym_DQUOTE, - ACTIONS(279), 1, - sym__identifier, - STATE(14), 1, - sym_identifier, - STATE(136), 1, - sym_table_reference, - STATE(88), 2, - sym_line_comment, - sym_block_comment, - [2364] = 7, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(269), 1, - anon_sym_DQUOTE, - ACTIONS(279), 1, - sym__identifier, - STATE(2), 1, - sym_identifier, - STATE(121), 1, - sym_column_definition, - STATE(89), 2, - sym_line_comment, - sym_block_comment, - [2387] = 7, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(269), 1, - anon_sym_DQUOTE, - ACTIONS(279), 1, - sym__identifier, - STATE(14), 1, - sym_identifier, - STATE(128), 1, - sym_table_reference, - STATE(90), 2, - sym_line_comment, - sym_block_comment, - [2410] = 6, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(289), 1, + ACTIONS(287), 1, anon_sym_COMMA, ACTIONS(291), 1, anon_sym_RPAREN, - STATE(103), 1, + STATE(86), 1, + aux_sym_column_list_repeat1, + STATE(87), 2, + sym_line_comment, + sym_block_comment, + [2359] = 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(15), 1, + sym_identifier, + STATE(88), 2, + sym_line_comment, + sym_block_comment, + [2379] = 6, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(293), 1, + anon_sym_COMMA, + 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, - [2430] = 4, + [2439] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -5372,64 +5429,66 @@ static const uint16_t ts_small_parse_table[] = { STATE(92), 2, sym_line_comment, sym_block_comment, - ACTIONS(293), 3, - sym_keyword_full, - sym_keyword_partial, - sym_keyword_simple, - [2446] = 5, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(295), 1, - anon_sym_COMMA, - ACTIONS(298), 1, - anon_sym_RPAREN, - STATE(93), 3, - sym_line_comment, - sym_block_comment, - aux_sym_referencial_action_repeat1, - [2464] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - STATE(94), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(300), 3, + ACTIONS(297), 3, ts_builtin_sym_end, anon_sym_SEMI, sym_keyword_create, - [2480] = 6, + [2455] = 6, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(302), 1, + ACTIONS(41), 1, + anon_sym_DQUOTE, + ACTIONS(285), 1, + sym__identifier, + STATE(118), 1, + sym_identifier, + STATE(93), 2, + sym_line_comment, + sym_block_comment, + [2475] = 6, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(299), 1, anon_sym_COMMA, - ACTIONS(304), 1, + ACTIONS(301), 1, anon_sym_RPAREN, - STATE(93), 1, + STATE(106), 1, aux_sym_referencial_action_repeat1, + STATE(94), 2, + sym_line_comment, + sym_block_comment, + [2495] = 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(94), 1, + sym_identifier, STATE(95), 2, sym_line_comment, sym_block_comment, - [2500] = 6, + [2515] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(269), 1, - anon_sym_DQUOTE, - ACTIONS(279), 1, - sym__identifier, - STATE(110), 1, - sym_identifier, - STATE(96), 2, + ACTIONS(303), 1, + anon_sym_COMMA, + ACTIONS(306), 1, + anon_sym_RPAREN, + STATE(96), 3, sym_line_comment, sym_block_comment, - [2520] = 4, + aux_sym_referencial_action_repeat1, + [2533] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -5437,307 +5496,301 @@ static const uint16_t ts_small_parse_table[] = { STATE(97), 2, sym_line_comment, sym_block_comment, - ACTIONS(306), 3, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_keyword_create, - [2536] = 6, + ACTIONS(308), 3, + sym_keyword_full, + sym_keyword_partial, + sym_keyword_simple, + [2549] = 6, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(302), 1, - anon_sym_COMMA, - ACTIONS(308), 1, - anon_sym_RPAREN, - STATE(95), 1, - aux_sym_referencial_action_repeat1, + ACTIONS(41), 1, + anon_sym_DQUOTE, + ACTIONS(285), 1, + sym__identifier, + STATE(20), 1, + sym_identifier, STATE(98), 2, sym_line_comment, sym_block_comment, - [2556] = 6, + [2569] = 6, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(269), 1, + ACTIONS(41), 1, anon_sym_DQUOTE, - ACTIONS(279), 1, + ACTIONS(285), 1, sym__identifier, - STATE(98), 1, + STATE(145), 1, sym_identifier, STATE(99), 2, sym_line_comment, sym_block_comment, - [2576] = 4, + [2589] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(100), 2, + ACTIONS(310), 1, + anon_sym_COMMA, + ACTIONS(313), 1, + anon_sym_RPAREN, + STATE(100), 3, sym_line_comment, sym_block_comment, - ACTIONS(310), 3, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_keyword_create, - [2592] = 6, + aux_sym_column_list_repeat1, + [2607] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(269), 1, - anon_sym_DQUOTE, - ACTIONS(279), 1, - sym__identifier, - STATE(152), 1, - sym_identifier, STATE(101), 2, sym_line_comment, sym_block_comment, - [2612] = 6, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(269), 1, - anon_sym_DQUOTE, - ACTIONS(279), 1, - sym__identifier, - STATE(19), 1, - sym_identifier, - STATE(102), 2, - sym_line_comment, - sym_block_comment, - [2632] = 5, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(312), 1, + ACTIONS(315), 3, anon_sym_COMMA, - ACTIONS(315), 1, anon_sym_RPAREN, - STATE(103), 3, - sym_line_comment, - sym_block_comment, - aux_sym_column_definitions_repeat1, - [2650] = 6, + sym_keyword_references, + [2623] = 6, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(269), 1, - anon_sym_DQUOTE, - ACTIONS(279), 1, - sym__identifier, - STATE(156), 1, - sym_identifier, - STATE(104), 2, - sym_line_comment, - sym_block_comment, - [2670] = 6, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(269), 1, - anon_sym_DQUOTE, - ACTIONS(279), 1, - sym__identifier, - STATE(79), 1, - sym_identifier, - STATE(105), 2, - sym_line_comment, - sym_block_comment, - [2690] = 6, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(289), 1, + ACTIONS(293), 1, anon_sym_COMMA, ACTIONS(317), 1, anon_sym_RPAREN, - STATE(91), 1, + STATE(89), 1, aux_sym_column_definitions_repeat1, - STATE(106), 2, + STATE(102), 2, sym_line_comment, sym_block_comment, - [2710] = 4, + [2643] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(319), 2, - anon_sym_DQUOTE, - sym__identifier, - STATE(107), 2, + STATE(103), 2, sym_line_comment, sym_block_comment, - [2725] = 5, + ACTIONS(319), 3, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_keyword_create, + [2659] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(321), 1, - sym_keyword_on, - STATE(53), 1, - sym__foreign_key_on_update, - STATE(108), 2, + STATE(104), 2, sym_line_comment, sym_block_comment, - [2742] = 5, + ACTIONS(321), 3, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_keyword_create, + [2675] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(323), 1, anon_sym_COMMA, - ACTIONS(325), 1, + ACTIONS(326), 1, anon_sym_RPAREN, + STATE(105), 3, + sym_line_comment, + sym_block_comment, + aux_sym_column_definitions_repeat1, + [2693] = 6, + 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(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + STATE(107), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(330), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_references, + [2729] = 5, + 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, + STATE(108), 2, + sym_line_comment, + sym_block_comment, + [2746] = 5, + 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, STATE(109), 2, sym_line_comment, sym_block_comment, - [2759] = 4, + [2763] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(298), 2, - anon_sym_COMMA, - anon_sym_RPAREN, + ACTIONS(65), 1, + sym_keyword_references, + STATE(124), 1, + sym__foreign_key_references, STATE(110), 2, sym_line_comment, sym_block_comment, - [2774] = 5, + [2780] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(327), 1, - sym_keyword_not, - ACTIONS(329), 1, - sym_keyword_distinct, + ACTIONS(65), 1, + sym_keyword_references, + STATE(117), 1, + sym__foreign_key_references, STATE(111), 2, sym_line_comment, sym_block_comment, - [2791] = 5, + [2797] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(331), 1, - anon_sym_COMMA, - ACTIONS(333), 1, - anon_sym_RPAREN, + ACTIONS(334), 1, + anon_sym_LPAREN, + STATE(111), 1, + sym_column_list, STATE(112), 2, sym_line_comment, sym_block_comment, - [2808] = 5, + [2814] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(335), 1, - aux_sym__keyword_time_zone_token1, - STATE(46), 1, - sym__keyword_time_zone, + ACTIONS(336), 1, + anon_sym_COMMA, + ACTIONS(338), 1, + anon_sym_RPAREN, STATE(113), 2, sym_line_comment, sym_block_comment, - [2825] = 5, + [2831] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(337), 1, - sym_keyword_on, - STATE(59), 1, - sym__foreign_key_on_delete, + ACTIONS(340), 1, + anon_sym_COMMA, + ACTIONS(342), 1, + anon_sym_RPAREN, STATE(114), 2, sym_line_comment, sym_block_comment, - [2842] = 5, + [2848] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(321), 1, - sym_keyword_on, - STATE(59), 1, - sym__foreign_key_on_update, + ACTIONS(334), 1, + anon_sym_LPAREN, + STATE(137), 1, + sym_column_list, STATE(115), 2, sym_line_comment, sym_block_comment, - [2859] = 5, + [2865] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(335), 1, - aux_sym__keyword_time_zone_token1, - STATE(47), 1, - sym__keyword_time_zone, + ACTIONS(326), 2, + anon_sym_COMMA, + anon_sym_RPAREN, STATE(116), 2, sym_line_comment, sym_block_comment, - [2876] = 5, + [2880] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(339), 1, - sym_keyword_delete, - ACTIONS(341), 1, - sym_keyword_update, + ACTIONS(344), 2, + anon_sym_COMMA, + anon_sym_RPAREN, STATE(117), 2, sym_line_comment, sym_block_comment, - [2893] = 5, + [2895] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(321), 1, - sym_keyword_on, - STATE(44), 1, - sym__foreign_key_on_update, + ACTIONS(306), 2, + anon_sym_COMMA, + anon_sym_RPAREN, STATE(118), 2, sym_line_comment, sym_block_comment, - [2910] = 5, + [2910] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(337), 1, - sym_keyword_on, - STATE(44), 1, - sym__foreign_key_on_delete, + ACTIONS(346), 2, + sym_keyword_null, + sym_keyword_default, STATE(119), 2, sym_line_comment, sym_block_comment, - [2927] = 5, + [2925] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(337), 1, - sym_keyword_on, - STATE(63), 1, - sym__foreign_key_on_delete, + ACTIONS(334), 1, + anon_sym_LPAREN, + STATE(110), 1, + sym_column_list, STATE(120), 2, sym_line_comment, sym_block_comment, - [2944] = 4, + [2942] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(315), 2, - anon_sym_COMMA, - anon_sym_RPAREN, + ACTIONS(348), 1, + sym_keyword_on, + STATE(44), 1, + sym__foreign_key_on_delete, STATE(121), 2, sym_line_comment, sym_block_comment, @@ -5746,1005 +5799,1050 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(321), 1, + ACTIONS(350), 1, sym_keyword_on, - STATE(63), 1, + STATE(44), 1, sym__foreign_key_on_update, STATE(122), 2, sym_line_comment, sym_block_comment, - [2976] = 5, + [2976] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(337), 1, - sym_keyword_on, - STATE(58), 1, - sym__foreign_key_on_delete, + ACTIONS(352), 2, + anon_sym_COMMA, + anon_sym_RPAREN, STATE(123), 2, sym_line_comment, sym_block_comment, - [2993] = 5, + [2991] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(321), 1, - sym_keyword_on, - STATE(58), 1, - sym__foreign_key_on_update, + ACTIONS(354), 2, + anon_sym_COMMA, + anon_sym_RPAREN, STATE(124), 2, sym_line_comment, sym_block_comment, - [3010] = 5, + [3006] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(343), 1, - sym_keyword_not, - ACTIONS(345), 1, - sym_keyword_distinct, + ACTIONS(356), 2, + anon_sym_COMMA, + anon_sym_RPAREN, STATE(125), 2, sym_line_comment, sym_block_comment, - [3027] = 5, + [3021] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(337), 1, + ACTIONS(350), 1, sym_keyword_on, - STATE(56), 1, - sym__foreign_key_on_delete, + STATE(41), 1, + sym__foreign_key_on_update, STATE(126), 2, sym_line_comment, sym_block_comment, - [3044] = 5, + [3038] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(321), 1, + ACTIONS(348), 1, sym_keyword_on, - STATE(56), 1, - sym__foreign_key_on_update, + STATE(41), 1, + sym__foreign_key_on_delete, STATE(127), 2, sym_line_comment, sym_block_comment, - [3061] = 5, + [3055] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(347), 1, - anon_sym_LPAREN, - STATE(163), 1, - sym_column_definitions, + ACTIONS(350), 1, + sym_keyword_on, + STATE(40), 1, + sym__foreign_key_on_update, STATE(128), 2, sym_line_comment, sym_block_comment, - [3078] = 5, + [3072] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(337), 1, - sym_keyword_on, - STATE(49), 1, - sym__foreign_key_on_delete, + ACTIONS(358), 1, + sym_keyword_delete, + ACTIONS(360), 1, + sym_keyword_update, STATE(129), 2, sym_line_comment, sym_block_comment, - [3095] = 5, + [3089] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(321), 1, - sym_keyword_on, - STATE(49), 1, - sym__foreign_key_on_update, + ACTIONS(332), 1, + anon_sym_LPAREN, + STATE(147), 1, + sym_column_definitions, STATE(130), 2, sym_line_comment, sym_block_comment, - [3112] = 5, + [3106] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(347), 1, - anon_sym_LPAREN, - STATE(143), 1, - sym_column_definitions, + ACTIONS(348), 1, + sym_keyword_on, + STATE(40), 1, + sym__foreign_key_on_delete, STATE(131), 2, sym_line_comment, sym_block_comment, - [3129] = 5, + [3123] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(321), 1, + ACTIONS(350), 1, sym_keyword_on, - STATE(69), 1, + STATE(47), 1, sym__foreign_key_on_update, STATE(132), 2, sym_line_comment, sym_block_comment, - [3146] = 5, + [3140] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(337), 1, + ACTIONS(348), 1, sym_keyword_on, - STATE(69), 1, + STATE(47), 1, sym__foreign_key_on_delete, STATE(133), 2, sym_line_comment, sym_block_comment, - [3163] = 4, + [3157] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(349), 2, - sym_keyword_null, - sym_keyword_default, + ACTIONS(362), 1, + sym_keyword_not, + ACTIONS(364), 1, + sym_keyword_distinct, STATE(134), 2, sym_line_comment, sym_block_comment, - [3178] = 5, + [3174] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(337), 1, - sym_keyword_on, - STATE(53), 1, - sym__foreign_key_on_delete, + ACTIONS(366), 2, + anon_sym_DQUOTE, + sym__identifier, STATE(135), 2, sym_line_comment, sym_block_comment, - [3195] = 5, + [3189] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(347), 1, - anon_sym_LPAREN, - STATE(154), 1, - sym_column_definitions, + ACTIONS(368), 1, + aux_sym__keyword_time_zone_token1, + STATE(39), 1, + sym__keyword_time_zone, STATE(136), 2, sym_line_comment, sym_block_comment, - [3212] = 4, + [3206] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(351), 1, - aux_sym_double_token2, + ACTIONS(370), 2, + anon_sym_COMMA, + anon_sym_RPAREN, STATE(137), 2, sym_line_comment, sym_block_comment, - [3226] = 4, + [3221] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(353), 1, - sym_keyword_table, + ACTIONS(368), 1, + aux_sym__keyword_time_zone_token1, + STATE(58), 1, + sym__keyword_time_zone, STATE(138), 2, sym_line_comment, sym_block_comment, - [3240] = 4, - ACTIONS(355), 1, + [3238] = 5, + ACTIONS(3), 1, anon_sym_DASH_DASH, - ACTIONS(357), 1, + ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(359), 1, - aux_sym_literal_string_token1, + ACTIONS(332), 1, + anon_sym_LPAREN, + STATE(173), 1, + sym_column_definitions, STATE(139), 2, sym_line_comment, sym_block_comment, - [3254] = 4, - ACTIONS(355), 1, + [3255] = 4, + ACTIONS(372), 1, anon_sym_DASH_DASH, - ACTIONS(357), 1, - anon_sym_SLASH_STAR, - ACTIONS(361), 1, + ACTIONS(374), 1, aux_sym_line_comment_token1, + ACTIONS(376), 1, + anon_sym_SLASH_STAR, STATE(140), 2, sym_line_comment, sym_block_comment, - [3268] = 4, + [3269] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(363), 1, - sym_keyword_distinct, + ACTIONS(378), 1, + anon_sym_SEMI, STATE(141), 2, sym_line_comment, sym_block_comment, - [3282] = 4, + [3283] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(365), 1, - sym_number, + ACTIONS(380), 1, + anon_sym_SQUOTE, STATE(142), 2, sym_line_comment, sym_block_comment, - [3296] = 4, + [3297] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(367), 1, - anon_sym_SEMI, + ACTIONS(382), 1, + sym_number, STATE(143), 2, sym_line_comment, sym_block_comment, - [3310] = 4, + [3311] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(369), 1, - anon_sym_DQUOTE, + ACTIONS(384), 1, + anon_sym_SLASH, STATE(144), 2, sym_line_comment, sym_block_comment, - [3324] = 4, + [3325] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(371), 1, - sym_keyword_action, + ACTIONS(386), 1, + anon_sym_RPAREN, STATE(145), 2, sym_line_comment, sym_block_comment, - [3338] = 4, + [3339] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(373), 1, - sym_number, + ACTIONS(388), 1, + anon_sym_SEMI, STATE(146), 2, sym_line_comment, sym_block_comment, - [3352] = 4, + [3353] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(375), 1, - sym_keyword_exists, + ACTIONS(390), 1, + anon_sym_SEMI, STATE(147), 2, sym_line_comment, sym_block_comment, - [3366] = 4, + [3367] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(341), 1, - sym_keyword_update, + ACTIONS(392), 1, + sym_keyword_distinct, STATE(148), 2, sym_line_comment, sym_block_comment, - [3380] = 4, - ACTIONS(355), 1, + [3381] = 4, + ACTIONS(3), 1, anon_sym_DASH_DASH, - ACTIONS(357), 1, + ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(377), 1, - aux_sym_identifier_token1, + ACTIONS(394), 1, + anon_sym_RPAREN, STATE(149), 2, sym_line_comment, sym_block_comment, - [3394] = 4, + [3395] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(379), 1, - sym_keyword_not, + ACTIONS(396), 1, + anon_sym_RPAREN, STATE(150), 2, sym_line_comment, sym_block_comment, - [3408] = 4, + [3409] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(381), 1, - sym_keyword_null, + ACTIONS(360), 1, + sym_keyword_update, STATE(151), 2, sym_line_comment, sym_block_comment, - [3422] = 4, + [3423] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(383), 1, - anon_sym_RPAREN, + ACTIONS(398), 1, + anon_sym_SEMI, STATE(152), 2, sym_line_comment, sym_block_comment, - [3436] = 4, + [3437] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(385), 1, - anon_sym_SEMI, + ACTIONS(358), 1, + sym_keyword_delete, STATE(153), 2, sym_line_comment, sym_block_comment, - [3450] = 4, + [3451] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(387), 1, - anon_sym_SEMI, + ACTIONS(400), 1, + anon_sym_RPAREN, STATE(154), 2, sym_line_comment, sym_block_comment, - [3464] = 4, + [3465] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(389), 1, - sym_number, + ACTIONS(402), 1, + anon_sym_RPAREN, STATE(155), 2, sym_line_comment, sym_block_comment, - [3478] = 4, + [3479] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(391), 1, - anon_sym_RPAREN, + ACTIONS(404), 1, + anon_sym_DQUOTE, STATE(156), 2, sym_line_comment, sym_block_comment, - [3492] = 4, + [3493] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(393), 1, - anon_sym_SEMI, + ACTIONS(406), 1, + sym_keyword_exists, STATE(157), 2, sym_line_comment, sym_block_comment, - [3506] = 4, + [3507] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(339), 1, - sym_keyword_delete, + ACTIONS(408), 1, + sym_keyword_table, STATE(158), 2, sym_line_comment, sym_block_comment, - [3520] = 4, + [3521] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(395), 1, - sym_keyword_table, + ACTIONS(410), 1, + sym_keyword_action, STATE(159), 2, sym_line_comment, sym_block_comment, - [3534] = 4, + [3535] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(397), 1, - anon_sym_SLASH, + ACTIONS(412), 1, + sym_keyword_key, STATE(160), 2, sym_line_comment, sym_block_comment, - [3548] = 4, - ACTIONS(355), 1, + [3549] = 4, + ACTIONS(3), 1, anon_sym_DASH_DASH, - ACTIONS(357), 1, + ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(399), 1, - aux_sym_block_comment_token1, + ACTIONS(414), 1, + sym_number, STATE(161), 2, sym_line_comment, sym_block_comment, - [3562] = 4, + [3563] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(401), 1, - sym_keyword_key, + ACTIONS(416), 1, + anon_sym_SEMI, STATE(162), 2, sym_line_comment, sym_block_comment, - [3576] = 4, + [3577] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(403), 1, + ACTIONS(418), 1, anon_sym_SEMI, STATE(163), 2, sym_line_comment, sym_block_comment, - [3590] = 4, + [3591] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(405), 1, - anon_sym_SEMI, + ACTIONS(420), 1, + sym_keyword_key, STATE(164), 2, sym_line_comment, sym_block_comment, - [3604] = 4, - ACTIONS(3), 1, + [3605] = 4, + ACTIONS(372), 1, anon_sym_DASH_DASH, - ACTIONS(5), 1, + ACTIONS(376), 1, anon_sym_SLASH_STAR, - ACTIONS(407), 1, - anon_sym_RPAREN, + ACTIONS(422), 1, + aux_sym_literal_string_token1, STATE(165), 2, sym_line_comment, sym_block_comment, - [3618] = 4, + [3619] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(409), 1, - anon_sym_SEMI, + ACTIONS(424), 1, + sym_keyword_table, STATE(166), 2, sym_line_comment, sym_block_comment, - [3632] = 4, - ACTIONS(3), 1, + [3633] = 4, + ACTIONS(372), 1, anon_sym_DASH_DASH, - ACTIONS(5), 1, + ACTIONS(376), 1, anon_sym_SLASH_STAR, - ACTIONS(411), 1, - anon_sym_RPAREN, + ACTIONS(426), 1, + aux_sym_block_comment_token1, STATE(167), 2, sym_line_comment, sym_block_comment, - [3646] = 4, + [3647] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(413), 1, - anon_sym_RPAREN, + ACTIONS(428), 1, + aux_sym__keyword_time_zone_token2, STATE(168), 2, sym_line_comment, sym_block_comment, - [3660] = 4, + [3661] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(415), 1, - anon_sym_SEMI, + ACTIONS(430), 1, + sym_number, STATE(169), 2, sym_line_comment, sym_block_comment, - [3674] = 4, + [3675] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(417), 1, - anon_sym_RPAREN, + ACTIONS(432), 1, + ts_builtin_sym_end, STATE(170), 2, sym_line_comment, sym_block_comment, - [3688] = 4, + [3689] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(419), 1, - anon_sym_SEMI, + ACTIONS(434), 1, + sym_number, STATE(171), 2, sym_line_comment, sym_block_comment, - [3702] = 4, + [3703] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(421), 1, - sym_keyword_distinct, + ACTIONS(436), 1, + aux_sym_double_token2, STATE(172), 2, sym_line_comment, sym_block_comment, - [3716] = 4, + [3717] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(423), 1, - sym_number, + ACTIONS(438), 1, + anon_sym_SEMI, STATE(173), 2, sym_line_comment, sym_block_comment, - [3730] = 4, - ACTIONS(3), 1, + [3731] = 4, + ACTIONS(372), 1, anon_sym_DASH_DASH, - ACTIONS(5), 1, + ACTIONS(376), 1, anon_sym_SLASH_STAR, - ACTIONS(425), 1, - aux_sym__keyword_time_zone_token2, + ACTIONS(440), 1, + aux_sym_identifier_token1, STATE(174), 2, sym_line_comment, sym_block_comment, - [3744] = 4, + [3745] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(427), 1, - ts_builtin_sym_end, + ACTIONS(442), 1, + sym_keyword_null, STATE(175), 2, sym_line_comment, sym_block_comment, - [3758] = 4, + [3759] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(429), 1, - anon_sym_SQUOTE, + ACTIONS(444), 1, + sym_keyword_not, STATE(176), 2, sym_line_comment, sym_block_comment, - [3772] = 4, + [3773] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(431), 1, - sym_number, + ACTIONS(446), 1, + anon_sym_LPAREN, STATE(177), 2, sym_line_comment, sym_block_comment, - [3786] = 4, + [3787] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(433), 1, + ACTIONS(448), 1, sym_number, STATE(178), 2, sym_line_comment, sym_block_comment, - [3800] = 1, - ACTIONS(435), 1, + [3801] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(450), 1, + sym_number, + STATE(179), 2, + sym_line_comment, + sym_block_comment, + [3815] = 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_line_comment, + sym_block_comment, + [3829] = 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_line_comment, + sym_block_comment, + [3843] = 1, + ACTIONS(456), 1, ts_builtin_sym_end, - [3804] = 1, - ACTIONS(437), 1, + [3847] = 1, + ACTIONS(458), 1, ts_builtin_sym_end, }; static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(2)] = 0, - [SMALL_STATE(3)] = 95, - [SMALL_STATE(4)] = 147, - [SMALL_STATE(5)] = 199, - [SMALL_STATE(6)] = 239, - [SMALL_STATE(7)] = 279, - [SMALL_STATE(8)] = 316, - [SMALL_STATE(9)] = 353, - [SMALL_STATE(10)] = 399, - [SMALL_STATE(11)] = 445, - [SMALL_STATE(12)] = 479, - [SMALL_STATE(13)] = 511, - [SMALL_STATE(14)] = 555, - [SMALL_STATE(15)] = 583, - [SMALL_STATE(16)] = 614, - [SMALL_STATE(17)] = 645, - [SMALL_STATE(18)] = 676, - [SMALL_STATE(19)] = 707, - [SMALL_STATE(20)] = 732, - [SMALL_STATE(21)] = 758, - [SMALL_STATE(22)] = 781, - [SMALL_STATE(23)] = 804, - [SMALL_STATE(24)] = 827, - [SMALL_STATE(25)] = 850, - [SMALL_STATE(26)] = 877, - [SMALL_STATE(27)] = 904, - [SMALL_STATE(28)] = 927, - [SMALL_STATE(29)] = 952, - [SMALL_STATE(30)] = 975, - [SMALL_STATE(31)] = 1000, - [SMALL_STATE(32)] = 1023, - [SMALL_STATE(33)] = 1046, - [SMALL_STATE(34)] = 1071, - [SMALL_STATE(35)] = 1094, - [SMALL_STATE(36)] = 1119, - [SMALL_STATE(37)] = 1142, - [SMALL_STATE(38)] = 1164, - [SMALL_STATE(39)] = 1186, - [SMALL_STATE(40)] = 1208, - [SMALL_STATE(41)] = 1230, - [SMALL_STATE(42)] = 1252, - [SMALL_STATE(43)] = 1274, - [SMALL_STATE(44)] = 1296, - [SMALL_STATE(45)] = 1318, - [SMALL_STATE(46)] = 1340, - [SMALL_STATE(47)] = 1362, - [SMALL_STATE(48)] = 1384, - [SMALL_STATE(49)] = 1406, - [SMALL_STATE(50)] = 1428, - [SMALL_STATE(51)] = 1450, - [SMALL_STATE(52)] = 1472, - [SMALL_STATE(53)] = 1494, - [SMALL_STATE(54)] = 1516, - [SMALL_STATE(55)] = 1538, - [SMALL_STATE(56)] = 1560, - [SMALL_STATE(57)] = 1582, - [SMALL_STATE(58)] = 1604, - [SMALL_STATE(59)] = 1626, - [SMALL_STATE(60)] = 1648, - [SMALL_STATE(61)] = 1670, - [SMALL_STATE(62)] = 1692, - [SMALL_STATE(63)] = 1714, - [SMALL_STATE(64)] = 1736, - [SMALL_STATE(65)] = 1758, - [SMALL_STATE(66)] = 1780, - [SMALL_STATE(67)] = 1802, - [SMALL_STATE(68)] = 1824, - [SMALL_STATE(69)] = 1846, - [SMALL_STATE(70)] = 1868, - [SMALL_STATE(71)] = 1890, - [SMALL_STATE(72)] = 1912, - [SMALL_STATE(73)] = 1934, - [SMALL_STATE(74)] = 1956, - [SMALL_STATE(75)] = 1978, - [SMALL_STATE(76)] = 2007, - [SMALL_STATE(77)] = 2036, - [SMALL_STATE(78)] = 2069, - [SMALL_STATE(79)] = 2104, - [SMALL_STATE(80)] = 2137, - [SMALL_STATE(81)] = 2166, - [SMALL_STATE(82)] = 2195, - [SMALL_STATE(83)] = 2221, - [SMALL_STATE(84)] = 2247, - [SMALL_STATE(85)] = 2271, - [SMALL_STATE(86)] = 2295, - [SMALL_STATE(87)] = 2318, - [SMALL_STATE(88)] = 2341, - [SMALL_STATE(89)] = 2364, - [SMALL_STATE(90)] = 2387, - [SMALL_STATE(91)] = 2410, - [SMALL_STATE(92)] = 2430, - [SMALL_STATE(93)] = 2446, - [SMALL_STATE(94)] = 2464, - [SMALL_STATE(95)] = 2480, - [SMALL_STATE(96)] = 2500, - [SMALL_STATE(97)] = 2520, - [SMALL_STATE(98)] = 2536, - [SMALL_STATE(99)] = 2556, - [SMALL_STATE(100)] = 2576, - [SMALL_STATE(101)] = 2592, - [SMALL_STATE(102)] = 2612, - [SMALL_STATE(103)] = 2632, - [SMALL_STATE(104)] = 2650, - [SMALL_STATE(105)] = 2670, - [SMALL_STATE(106)] = 2690, - [SMALL_STATE(107)] = 2710, - [SMALL_STATE(108)] = 2725, - [SMALL_STATE(109)] = 2742, - [SMALL_STATE(110)] = 2759, - [SMALL_STATE(111)] = 2774, - [SMALL_STATE(112)] = 2791, - [SMALL_STATE(113)] = 2808, - [SMALL_STATE(114)] = 2825, - [SMALL_STATE(115)] = 2842, - [SMALL_STATE(116)] = 2859, - [SMALL_STATE(117)] = 2876, - [SMALL_STATE(118)] = 2893, + [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(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)] = 2927, - [SMALL_STATE(121)] = 2944, + [SMALL_STATE(120)] = 2925, + [SMALL_STATE(121)] = 2942, [SMALL_STATE(122)] = 2959, [SMALL_STATE(123)] = 2976, - [SMALL_STATE(124)] = 2993, - [SMALL_STATE(125)] = 3010, - [SMALL_STATE(126)] = 3027, - [SMALL_STATE(127)] = 3044, - [SMALL_STATE(128)] = 3061, - [SMALL_STATE(129)] = 3078, - [SMALL_STATE(130)] = 3095, - [SMALL_STATE(131)] = 3112, - [SMALL_STATE(132)] = 3129, - [SMALL_STATE(133)] = 3146, - [SMALL_STATE(134)] = 3163, - [SMALL_STATE(135)] = 3178, - [SMALL_STATE(136)] = 3195, - [SMALL_STATE(137)] = 3212, - [SMALL_STATE(138)] = 3226, - [SMALL_STATE(139)] = 3240, - [SMALL_STATE(140)] = 3254, - [SMALL_STATE(141)] = 3268, - [SMALL_STATE(142)] = 3282, - [SMALL_STATE(143)] = 3296, - [SMALL_STATE(144)] = 3310, - [SMALL_STATE(145)] = 3324, - [SMALL_STATE(146)] = 3338, - [SMALL_STATE(147)] = 3352, - [SMALL_STATE(148)] = 3366, - [SMALL_STATE(149)] = 3380, - [SMALL_STATE(150)] = 3394, - [SMALL_STATE(151)] = 3408, - [SMALL_STATE(152)] = 3422, - [SMALL_STATE(153)] = 3436, - [SMALL_STATE(154)] = 3450, - [SMALL_STATE(155)] = 3464, - [SMALL_STATE(156)] = 3478, - [SMALL_STATE(157)] = 3492, - [SMALL_STATE(158)] = 3506, - [SMALL_STATE(159)] = 3520, - [SMALL_STATE(160)] = 3534, - [SMALL_STATE(161)] = 3548, - [SMALL_STATE(162)] = 3562, - [SMALL_STATE(163)] = 3576, - [SMALL_STATE(164)] = 3590, - [SMALL_STATE(165)] = 3604, - [SMALL_STATE(166)] = 3618, - [SMALL_STATE(167)] = 3632, - [SMALL_STATE(168)] = 3646, - [SMALL_STATE(169)] = 3660, - [SMALL_STATE(170)] = 3674, - [SMALL_STATE(171)] = 3688, - [SMALL_STATE(172)] = 3702, - [SMALL_STATE(173)] = 3716, - [SMALL_STATE(174)] = 3730, - [SMALL_STATE(175)] = 3744, - [SMALL_STATE(176)] = 3758, - [SMALL_STATE(177)] = 3772, - [SMALL_STATE(178)] = 3786, - [SMALL_STATE(179)] = 3800, - [SMALL_STATE(180)] = 3804, + [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, }; 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(161), + [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167), [7] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 0), - [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), - [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), - [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), - [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12), - [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), - [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), - [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), - [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), - [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), - [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), - [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(32), - [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), - [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(55), - [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), + [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), + [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(68), [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(11), - [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), - [41] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier, 3), + [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, 1), + [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}}, SHIFT(104), - [51] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 2), - [53] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), - [55] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), - [57] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), - [59] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 4, .production_id = 5), - [61] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 7, .production_id = 9), - [63] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 5, .production_id = 8), - [65] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_definition, 3, .production_id = 3), - [67] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), - [69] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), - [71] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), - [73] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), - [75] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), - [77] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), - [79] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), - [81] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_definition, 2, .production_id = 3), - [83] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_timestamp, 1), - [85] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), - [87] = {.entry = {.count = 1, .reusable = false}}, SHIFT(113), - [89] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_time, 1), - [91] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_column_definition_repeat1, 2), - [93] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_column_definition_repeat1, 2), SHIFT_REPEAT(151), - [96] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_column_definition_repeat1, 2), SHIFT_REPEAT(74), - [99] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_column_definition_repeat1, 2), SHIFT_REPEAT(105), - [102] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_column_definition_repeat1, 2), SHIFT_REPEAT(75), - [105] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_column_definition_repeat1, 2), SHIFT_REPEAT(25), - [108] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_column_definition_repeat1, 2), SHIFT_REPEAT(162), - [111] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_column_definition_repeat1, 2), SHIFT_REPEAT(87), - [114] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_reference, 1, .production_id = 1), - [116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), - [118] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 3), - [120] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 8, .production_id = 9), - [122] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 5, .production_id = 5), - [124] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 6, .production_id = 8), - [126] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_reference, 3, .production_id = 2), - [128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), - [130] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_referencial_action, 2), - [132] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__foreign_key_on_delete, 3), - [134] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__foreign_key_match, 2), - [136] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_referencial_action, 5), - [138] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 1), - [140] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_column_constraint, 1), - [142] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), - [144] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 3, .production_id = 5), - [146] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_column_constraint, 3, .production_id = 5), - [148] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), - [150] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__foreign_key_on_update, 3), - [152] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173), - [154] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_varchar, 1), - [156] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_referencial_action, 1), - [158] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155), - [160] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_char, 1), - [162] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_varchar, 1), - [164] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_char, 1), - [166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(177), - [168] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decimal, 1), - [170] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_referencial_action, 6), - [172] = {.entry = {.count = 1, .reusable = true}}, SHIFT(178), - [174] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_numeric, 1), - [176] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_keyword_char, 1), REDUCE(sym_keyword_varchar, 1), - [179] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_numeric, 4, .production_id = 4), - [181] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_numeric, 6, .production_id = 7), - [183] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decimal, 6, .production_id = 7), - [185] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__not_null, 2), - [187] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression, 1), - [189] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 4), - [191] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_literal_string, 3), - [193] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__with_time_zone, 2), - [195] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__without_time_zone, 2), - [197] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 7, .production_id = 5), - [199] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type, 1), - [201] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_numeric, 1), - [203] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_character, 1), - [205] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 6, .production_id = 5), - [207] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__primary_key, 2), - [209] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_datetime, 1), - [211] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 7, .production_id = 8), - [213] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_timestamptz, 1), - [215] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 8, .production_id = 8), - [217] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 10, .production_id = 9), - [219] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_column_definition_repeat1, 1), - [221] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_varchar, 4, .production_id = 6), - [223] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_char, 4, .production_id = 6), - [225] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 9, .production_id = 9), - [227] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_double, 2), - [229] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__keyword_time_zone, 2), - [231] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_literal, 1), - [233] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_time, 2), - [235] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 5), - [237] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_timestamp, 2), - [239] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_timestamptz, 2), - [241] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decimal, 4, .production_id = 4), - [243] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), - [245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), - [247] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), - [249] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(94), - [252] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(82), - [255] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1), - [257] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), - [259] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), - [261] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), - [263] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), - [265] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4), - [267] = {.entry = {.count = 1, .reusable = false}}, SHIFT(150), - [269] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149), - [271] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), - [273] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), - [275] = {.entry = {.count = 1, .reusable = false}}, SHIFT(159), - [277] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138), - [279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), - [281] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), - [283] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145), - [285] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), - [287] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), - [289] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), - [291] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171), - [293] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), - [295] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_referencial_action_repeat1, 2), SHIFT_REPEAT(96), - [298] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_referencial_action_repeat1, 2), - [300] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 1), - [302] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), - [304] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), - [306] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 1), - [308] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), - [310] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 2), - [312] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_column_definitions_repeat1, 2), SHIFT_REPEAT(89), - [315] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_column_definitions_repeat1, 2), - [317] = {.entry = {.count = 1, .reusable = true}}, SHIFT(157), - [319] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__if_not_exists, 3), - [321] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148), - [323] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146), - [325] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), - [327] = {.entry = {.count = 1, .reusable = true}}, SHIFT(172), - [329] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), - [331] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), - [333] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), - [335] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174), - [337] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158), - [339] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), - [341] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), - [343] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), - [345] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), - [347] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), - [349] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), - [351] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), - [353] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), - [355] = {.entry = {.count = 1, .reusable = false}}, SHIFT(140), - [357] = {.entry = {.count = 1, .reusable = false}}, SHIFT(161), - [359] = {.entry = {.count = 1, .reusable = false}}, SHIFT(176), - [361] = {.entry = {.count = 1, .reusable = true}}, SHIFT(179), - [363] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), - [365] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168), - [367] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_create_table, 4), - [369] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), - [371] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), - [373] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167), - [375] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), - [377] = {.entry = {.count = 1, .reusable = false}}, SHIFT(144), - [379] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147), - [381] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), - [383] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), - [385] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_definitions, 2), - [387] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_create_table, 5), - [389] = {.entry = {.count = 1, .reusable = true}}, SHIFT(170), - [391] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), - [393] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_definitions, 3), - [395] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_temporary, 1), - [397] = {.entry = {.count = 1, .reusable = false}}, SHIFT(180), - [399] = {.entry = {.count = 1, .reusable = false}}, SHIFT(160), - [401] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), - [403] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_create_table, 6), - [405] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__create_statement, 1), - [407] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), - [409] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__ddl_statement, 1), - [411] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), - [413] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), - [415] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), - [417] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), - [419] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_definitions, 4), - [421] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), - [423] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165), - [425] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), - [427] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [429] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), - [431] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), - [433] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), - [435] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_line_comment, 2), - [437] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block_comment, 3), + [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), + [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), + [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), }; #ifdef __cplusplus diff --git a/test/corpus/create/table.txt b/test/corpus/create/table.txt index c46e026..f8e9e35 100644 --- a/test/corpus/create/table.txt +++ b/test/corpus/create/table.txt @@ -135,33 +135,33 @@ create table foo ( (column_definitions (column_definition name: (identifier) - datatype: (keyword_text) + (type (keyword_text)) ) (column_definition name: (identifier) - datatype: (keyword_boolean) + (type (keyword_boolean)) ) (column_definition name: (identifier) - datatype: (numeric + (type (numeric (keyword_numeric) precision: (number) - ) + )) ) (column_definition name: (identifier) - datatype: (keyword_timestamptz) + (type (keyword_timestamptz)) ) (column_definition name: (identifier) - datatype: (varchar + (type (varchar (keyword_varchar) size: (number) - ) + )) ) (column_definition name: (identifier) - datatype: (keyword_uuid) + (type (keyword_uuid)) ) ) ) @@ -190,7 +190,7 @@ create table foo ( (column_definitions (column_definition name: (identifier) - datatype: (keyword_uuid) + (type (keyword_uuid)) (column_constraint (keyword_primary) (keyword_key) @@ -198,7 +198,7 @@ create table foo ( ) (column_definition name: (identifier) - datatype: (keyword_text) + (type (keyword_text)) (column_constraint (keyword_not) (keyword_null) @@ -206,14 +206,14 @@ create table foo ( ) (column_definition name: (identifier) - datatype: (keyword_text) + (type (keyword_text)) (column_constraint (keyword_null) ) ) (column_definition name: (identifier) - datatype: (keyword_text) + (type (keyword_text)) (column_constraint (keyword_not) (keyword_null) @@ -250,7 +250,7 @@ create table foo ( (column_definitions (column_definition name: (identifier) - datatype: (keyword_uuid) + (type (keyword_uuid)) (column_constraint (keyword_primary) (keyword_key) @@ -258,7 +258,7 @@ create table foo ( ) (column_definition name: (identifier) - datatype: (keyword_uuid) + (type (keyword_uuid)) (column_constraint (keyword_null) ) @@ -309,7 +309,7 @@ create table foo ( (column_definitions (column_definition name: (identifier) - datatype: (keyword_uuid) + (type (keyword_uuid)) (column_constraint (keyword_constraint) name: (identifier) @@ -319,7 +319,7 @@ create table foo ( ) (column_definition name: (identifier) - datatype: (keyword_text) + (type (keyword_text)) (column_constraint (keyword_constraint) name: (identifier) @@ -329,7 +329,7 @@ create table foo ( ) (column_definition name: (identifier) - datatype: (keyword_text) + (type (keyword_text)) (column_constraint (keyword_constraint) name: (identifier) @@ -338,7 +338,7 @@ create table foo ( ) (column_definition name: (identifier) - datatype: (keyword_text) + (type (keyword_text)) (column_constraint (keyword_constraint) name: (identifier) @@ -356,7 +356,7 @@ create table foo ( ) (column_definition name: (identifier) - datatype: (keyword_text) + (type (keyword_text)) (column_constraint (keyword_constraint) name: (identifier) diff --git a/tree-sitter-psql.wasm b/tree-sitter-psql.wasm index 1cd21c6ba2f6d4f2d423b3bdc2c1255da34b602a..95de4dd60d56ef2e3bc01955918e850608128e78 100755 GIT binary patch delta 12680 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 L^8(oILHYj!8k?%3 delta 12324 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