From 8a50f066aba9158ae7197a156d34c8197ec63801 Mon Sep 17 00:00:00 2001 From: Dmitriy Pleshevskiy Date: Sat, 7 Jan 2023 02:13:17 +0300 Subject: [PATCH] grammar: add column constraints --- grammar.js | 62 +- src/grammar.json | 172 +- src/node-types.json | 103 +- src/parser.c | 4268 ++++++++++++++++++++-------------- test/corpus/create/table.txt | 110 + tree-sitter-plpgsql.wasm | Bin 21897 -> 26578 bytes 6 files changed, 2994 insertions(+), 1721 deletions(-) diff --git a/grammar.js b/grammar.js index b9cebb8..1e54a01 100644 --- a/grammar.js +++ b/grammar.js @@ -25,19 +25,45 @@ module.exports = grammar({ optional($._if_not_exists), $.table_reference, $.column_definitions + // TODO: INHERITS + // TODO: PARTITION BY + // TODO: USING + // TODO: WITH + // TODO: ON COMMIT + // TODO: TABLESPACE ), column_definitions: ($) => seq( "(", - optional(commaSepRepeat1(choice($.column_definition /*$.constraint*/))), + optional( + commaSepRepeat1(choice($.column_definition /*, $.table_constraint*/)) + ), ")" ), column_definition: ($) => - seq(field("name", $.identifier), field("datatype", $._type)), + seq( + field("name", $.identifier), + field("datatype", $._type), + repeat($.column_constraint) + ), - //constraint: $ => seq(), + column_constraint: ($) => + seq( + optional(seq($.keyword_constraint, field("name", $.identifier))), + choice( + $._not_null, + $.keyword_null, + seq($.keyword_default, $._expression) + // TODO: CHECK + // TODO: GENERATED + // TODO: UNIQUE + // TODO: PRIMARY KEY + // TODO: FOREIGN KEY + ) + // TODO: DEFERRABLE + ), table_reference: ($) => seq( @@ -45,8 +71,24 @@ module.exports = grammar({ field("name", $.identifier) ), + _expression: ($) => + choice( + $.literal + // TODO: add more types + ), + + literal: ($) => + choice( + $._number, + $._literal_string, + $.keyword_true, + $.keyword_false, + $.keyword_null + ), + // keywords _if_not_exists: ($) => seq($.keyword_if, $.keyword_not, $.keyword_exists), + _not_null: ($) => seq($.keyword_not, $.keyword_null), keyword_create: (_) => mkKeyword("create"), keyword_table: (_) => mkKeyword("table"), @@ -55,6 +97,11 @@ module.exports = grammar({ keyword_if: (_) => mkKeyword("if"), keyword_not: (_) => mkKeyword("not"), keyword_exists: (_) => mkKeyword("exists"), + keyword_null: (_) => mkKeyword("null"), + keyword_constraint: (_) => mkKeyword("constraint"), + keyword_default: (_) => mkKeyword("default"), + keyword_true: (_) => mkKeyword("true"), + keyword_false: (_) => mkKeyword("false"), // References: https://www.postgresql.org/docs/15/datatype.html _type: ($) => @@ -177,10 +224,8 @@ module.exports = grammar({ seq(mkKeyword("timestamp"), $._with_time_zone) ), - _without_time_zone: ($) => seq($._keyword_without, $._keyword_time_zone), - _with_time_zone: ($) => seq($._keyword_with, $._keyword_time_zone), - _keyword_without: (_) => mkKeyword("without"), - _keyword_with: (_) => mkKeyword("with"), + _without_time_zone: ($) => seq(mkKeyword("without"), $._keyword_time_zone), + _with_time_zone: ($) => seq(mkKeyword("with"), $._keyword_time_zone), _keyword_time_zone: (_) => seq(mkKeyword("time"), mkKeyword("zone")), // References: https://www.postgresql.org/docs/15/datatype-uuid.html @@ -198,9 +243,10 @@ module.exports = grammar({ // https://stackoverflow.com/questions/13014947/regex-to-match-a-c-style-multiline-comment marginalia: (_) => seq("/*", /[^*]*\*+(?:[^/*][^*]*\*+)*/, "/"), + _literal_string: ($) => choice(seq("'", /[^']*/, "'")), _number: (_) => /\d+/, - identifier: ($) => choice($._identifier, seq('"', $._identifier, '"')), + identifier: ($) => choice($._identifier, seq('"', /[^"]+/, '"')), _identifier: (_) => /([a-zA-Z_][0-9a-zA-Z_]*)/, }, diff --git a/src/grammar.json b/src/grammar.json index c2aae80..42d46f3 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -181,6 +181,69 @@ "type": "SYMBOL", "name": "_type" } + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "column_constraint" + } + } + ] + }, + "column_constraint": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "keyword_constraint" + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_not_null" + }, + { + "type": "SYMBOL", + "name": "keyword_null" + }, + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "keyword_default" + }, + { + "type": "SYMBOL", + "name": "_expression" + } + ] + } + ] } ] }, @@ -222,6 +285,40 @@ } ] }, + "_expression": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "literal" + } + ] + }, + "literal": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_number" + }, + { + "type": "SYMBOL", + "name": "_literal_string" + }, + { + "type": "SYMBOL", + "name": "keyword_true" + }, + { + "type": "SYMBOL", + "name": "keyword_false" + }, + { + "type": "SYMBOL", + "name": "keyword_null" + } + ] + }, "_if_not_exists": { "type": "SEQ", "members": [ @@ -239,6 +336,19 @@ } ] }, + "_not_null": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "keyword_not" + }, + { + "type": "SYMBOL", + "name": "keyword_null" + } + ] + }, "keyword_create": { "type": "PATTERN", "value": "create|CREATE" @@ -276,6 +386,26 @@ "type": "PATTERN", "value": "exists|EXISTS" }, + "keyword_null": { + "type": "PATTERN", + "value": "null|NULL" + }, + "keyword_constraint": { + "type": "PATTERN", + "value": "constraint|CONSTRAINT" + }, + "keyword_default": { + "type": "PATTERN", + "value": "default|DEFAULT" + }, + "keyword_true": { + "type": "PATTERN", + "value": "true|TRUE" + }, + "keyword_false": { + "type": "PATTERN", + "value": "false|FALSE" + }, "_type": { "type": "CHOICE", "members": [ @@ -938,8 +1068,8 @@ "type": "SEQ", "members": [ { - "type": "SYMBOL", - "name": "_keyword_without" + "type": "PATTERN", + "value": "without|WITHOUT" }, { "type": "SYMBOL", @@ -951,8 +1081,8 @@ "type": "SEQ", "members": [ { - "type": "SYMBOL", - "name": "_keyword_with" + "type": "PATTERN", + "value": "with|WITH" }, { "type": "SYMBOL", @@ -960,14 +1090,6 @@ } ] }, - "_keyword_without": { - "type": "PATTERN", - "value": "without|WITHOUT" - }, - "_keyword_with": { - "type": "PATTERN", - "value": "with|WITH" - }, "_keyword_time_zone": { "type": "SEQ", "members": [ @@ -1027,6 +1149,28 @@ } ] }, + "_literal_string": { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "'" + }, + { + "type": "PATTERN", + "value": "[^']*" + }, + { + "type": "STRING", + "value": "'" + } + ] + } + ] + }, "_number": { "type": "PATTERN", "value": "\\d+" @@ -1046,8 +1190,8 @@ "value": "\"" }, { - "type": "SYMBOL", - "name": "_identifier" + "type": "PATTERN", + "value": "[^\"]+" }, { "type": "STRING", diff --git a/src/node-types.json b/src/node-types.json index c58c0df..7bb5ef8 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -25,6 +25,48 @@ ] } }, + { + "type": "column_constraint", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": false, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "keyword_constraint", + "named": true + }, + { + "type": "keyword_default", + "named": true + }, + { + "type": "keyword_not", + "named": true + }, + { + "type": "keyword_null", + "named": true + }, + { + "type": "literal", + "named": true + } + ] + } + }, { "type": "column_definition", "named": true, @@ -137,6 +179,16 @@ } ] } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "column_constraint", + "named": true + } + ] } }, { @@ -282,6 +334,29 @@ "named": true, "fields": {} }, + { + "type": "literal", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "keyword_false", + "named": true + }, + { + "type": "keyword_null", + "named": true + }, + { + "type": "keyword_true", + "named": true + } + ] + } + }, { "type": "marginalia", "named": true, @@ -409,6 +484,10 @@ "type": "\"", "named": false }, + { + "type": "'", + "named": false + }, { "type": "(", "named": false @@ -457,6 +536,10 @@ "type": "keyword_bytea", "named": true }, + { + "type": "keyword_constraint", + "named": true + }, { "type": "keyword_create", "named": true @@ -473,10 +556,18 @@ "type": "keyword_decimal", "named": true }, + { + "type": "keyword_default", + "named": true + }, { "type": "keyword_exists", "named": true }, + { + "type": "keyword_false", + "named": true + }, { "type": "keyword_if", "named": true @@ -501,6 +592,10 @@ "type": "keyword_not", "named": true }, + { + "type": "keyword_null", + "named": true + }, { "type": "keyword_numeric", "named": true @@ -529,6 +624,10 @@ "type": "keyword_text", "named": true }, + { + "type": "keyword_true", + "named": true + }, { "type": "keyword_unlogged", "named": true @@ -540,9 +639,5 @@ { "type": "keyword_xml", "named": true - }, - { - "type": "literal", - "named": true } ] \ No newline at end of file diff --git a/src/parser.c b/src/parser.c index 7ee0c79..c4c9d45 100644 --- a/src/parser.c +++ b/src/parser.c @@ -6,15 +6,15 @@ #endif #define LANGUAGE_VERSION 14 -#define STATE_COUNT 93 -#define LARGE_STATE_COUNT 3 -#define SYMBOL_COUNT 88 +#define STATE_COUNT 111 +#define LARGE_STATE_COUNT 2 +#define SYMBOL_COUNT 102 #define ALIAS_COUNT 0 -#define TOKEN_COUNT 52 +#define TOKEN_COUNT 60 #define EXTERNAL_TOKEN_COUNT 0 #define FIELD_COUNT 6 #define MAX_ALIAS_SEQUENCE_LENGTH 6 -#define PRODUCTION_ID_COUNT 7 +#define PRODUCTION_ID_COUNT 8 enum { sym__identifier = 1, @@ -31,79 +31,93 @@ enum { sym_keyword_if = 12, sym_keyword_not = 13, sym_keyword_exists = 14, - aux_sym_double_token1 = 15, - aux_sym_double_token2 = 16, - sym_keyword_boolean = 17, - sym_keyword_smallint = 18, - sym_keyword_integer = 19, - sym_keyword_bigint = 20, - sym_keyword_decimal = 21, - sym_keyword_numeric = 22, - sym_keyword_real = 23, - sym_keyword_smallserial = 24, - sym_keyword_serial = 25, - sym_keyword_bigserial = 26, - sym_keyword_money = 27, - sym_keyword_text = 28, - aux_sym_keyword_char_token1 = 29, - aux_sym_keyword_char_token2 = 30, - aux_sym_keyword_varchar_token1 = 31, - sym_keyword_bytea = 32, - sym_keyword_date = 33, - sym_keyword_datetime = 34, - aux_sym_keyword_time_token1 = 35, - aux_sym_keyword_timestamp_token1 = 36, - aux_sym_keyword_timestamptz_token1 = 37, - sym__keyword_without = 38, - sym__keyword_with = 39, - aux_sym__keyword_time_zone_token1 = 40, - sym_keyword_uuid = 41, - sym_keyword_xml = 42, - sym_keyword_json = 43, - sym_keyword_jsonb = 44, - anon_sym_DASH_DASH = 45, - aux_sym_comment_token1 = 46, - anon_sym_SLASH_STAR = 47, - aux_sym_marginalia_token1 = 48, - anon_sym_SLASH = 49, - sym__number = 50, - anon_sym_DQUOTE = 51, - sym_source_file = 52, - sym_statement = 53, - sym__ddl_statement = 54, - sym__create_statement = 55, - sym_create_table = 56, - sym_column_definitions = 57, - sym_column_definition = 58, - sym_table_reference = 59, - sym__if_not_exists = 60, - sym_keyword_temporary = 61, - sym__type = 62, - sym__type_numeric = 63, - sym_double = 64, - sym_decimal = 65, - sym_numeric = 66, - sym__type_character = 67, - sym_char = 68, - sym_varchar = 69, - sym__type_datetime = 70, - sym__type_geometric = 71, - sym__type_net = 72, - sym__type_bit_string = 73, - sym__type_text_search = 74, - sym_keyword_char = 75, - sym_keyword_varchar = 76, - sym_keyword_time = 77, - sym_keyword_timestamp = 78, - sym_keyword_timestamptz = 79, - sym__without_time_zone = 80, - sym__with_time_zone = 81, - sym__keyword_time_zone = 82, - sym_comment = 83, - sym_marginalia = 84, - sym_identifier = 85, - aux_sym_source_file_repeat1 = 86, - aux_sym_column_definitions_repeat1 = 87, + sym_keyword_null = 15, + sym_keyword_constraint = 16, + sym_keyword_default = 17, + sym_keyword_true = 18, + sym_keyword_false = 19, + aux_sym_double_token1 = 20, + aux_sym_double_token2 = 21, + sym_keyword_boolean = 22, + sym_keyword_smallint = 23, + sym_keyword_integer = 24, + sym_keyword_bigint = 25, + sym_keyword_decimal = 26, + sym_keyword_numeric = 27, + sym_keyword_real = 28, + sym_keyword_smallserial = 29, + sym_keyword_serial = 30, + sym_keyword_bigserial = 31, + sym_keyword_money = 32, + sym_keyword_text = 33, + aux_sym_keyword_char_token1 = 34, + aux_sym_keyword_char_token2 = 35, + aux_sym_keyword_varchar_token1 = 36, + sym_keyword_bytea = 37, + sym_keyword_date = 38, + sym_keyword_datetime = 39, + aux_sym_keyword_time_token1 = 40, + aux_sym_keyword_timestamp_token1 = 41, + aux_sym_keyword_timestamptz_token1 = 42, + aux_sym__without_time_zone_token1 = 43, + aux_sym__with_time_zone_token1 = 44, + aux_sym__keyword_time_zone_token1 = 45, + sym_keyword_uuid = 46, + sym_keyword_xml = 47, + sym_keyword_json = 48, + sym_keyword_jsonb = 49, + anon_sym_DASH_DASH = 50, + aux_sym_comment_token1 = 51, + anon_sym_SLASH_STAR = 52, + aux_sym_marginalia_token1 = 53, + anon_sym_SLASH = 54, + anon_sym_SQUOTE = 55, + aux_sym__literal_string_token1 = 56, + sym__number = 57, + anon_sym_DQUOTE = 58, + aux_sym_identifier_token1 = 59, + sym_source_file = 60, + sym_statement = 61, + sym__ddl_statement = 62, + sym__create_statement = 63, + sym_create_table = 64, + sym_column_definitions = 65, + sym_column_definition = 66, + sym_column_constraint = 67, + sym_table_reference = 68, + sym__expression = 69, + sym_literal = 70, + sym__if_not_exists = 71, + sym__not_null = 72, + sym_keyword_temporary = 73, + sym__type = 74, + sym__type_numeric = 75, + sym_double = 76, + sym_decimal = 77, + sym_numeric = 78, + sym__type_character = 79, + sym_char = 80, + sym_varchar = 81, + sym__type_datetime = 82, + sym__type_geometric = 83, + sym__type_net = 84, + sym__type_bit_string = 85, + sym__type_text_search = 86, + sym_keyword_char = 87, + sym_keyword_varchar = 88, + sym_keyword_time = 89, + sym_keyword_timestamp = 90, + sym_keyword_timestamptz = 91, + sym__without_time_zone = 92, + sym__with_time_zone = 93, + sym__keyword_time_zone = 94, + sym_comment = 95, + sym_marginalia = 96, + sym__literal_string = 97, + sym_identifier = 98, + aux_sym_source_file_repeat1 = 99, + aux_sym_column_definitions_repeat1 = 100, + aux_sym_column_definition_repeat1 = 101, }; static const char * const ts_symbol_names[] = { @@ -122,6 +136,11 @@ static const char * const ts_symbol_names[] = { [sym_keyword_if] = "keyword_if", [sym_keyword_not] = "keyword_not", [sym_keyword_exists] = "keyword_exists", + [sym_keyword_null] = "keyword_null", + [sym_keyword_constraint] = "keyword_constraint", + [sym_keyword_default] = "keyword_default", + [sym_keyword_true] = "keyword_true", + [sym_keyword_false] = "keyword_false", [aux_sym_double_token1] = "double_token1", [aux_sym_double_token2] = "double_token2", [sym_keyword_boolean] = "keyword_boolean", @@ -145,8 +164,8 @@ static const char * const ts_symbol_names[] = { [aux_sym_keyword_time_token1] = "keyword_time_token1", [aux_sym_keyword_timestamp_token1] = "keyword_timestamp_token1", [aux_sym_keyword_timestamptz_token1] = "keyword_timestamptz_token1", - [sym__keyword_without] = "_keyword_without", - [sym__keyword_with] = "_keyword_with", + [aux_sym__without_time_zone_token1] = "_without_time_zone_token1", + [aux_sym__with_time_zone_token1] = "_with_time_zone_token1", [aux_sym__keyword_time_zone_token1] = "_keyword_time_zone_token1", [sym_keyword_uuid] = "keyword_uuid", [sym_keyword_xml] = "keyword_xml", @@ -157,8 +176,11 @@ static const char * const ts_symbol_names[] = { [anon_sym_SLASH_STAR] = "/*", [aux_sym_marginalia_token1] = "marginalia_token1", [anon_sym_SLASH] = "/", - [sym__number] = "literal", + [anon_sym_SQUOTE] = "'", + [aux_sym__literal_string_token1] = "_literal_string_token1", + [sym__number] = "_number", [anon_sym_DQUOTE] = "\"", + [aux_sym_identifier_token1] = "identifier_token1", [sym_source_file] = "source_file", [sym_statement] = "statement", [sym__ddl_statement] = "_ddl_statement", @@ -166,8 +188,12 @@ static const char * const ts_symbol_names[] = { [sym_create_table] = "create_table", [sym_column_definitions] = "column_definitions", [sym_column_definition] = "column_definition", + [sym_column_constraint] = "column_constraint", [sym_table_reference] = "table_reference", + [sym__expression] = "_expression", + [sym_literal] = "literal", [sym__if_not_exists] = "_if_not_exists", + [sym__not_null] = "_not_null", [sym_keyword_temporary] = "keyword_temporary", [sym__type] = "_type", [sym__type_numeric] = "_type_numeric", @@ -192,9 +218,11 @@ static const char * const ts_symbol_names[] = { [sym__keyword_time_zone] = "_keyword_time_zone", [sym_comment] = "comment", [sym_marginalia] = "marginalia", + [sym__literal_string] = "_literal_string", [sym_identifier] = "identifier", [aux_sym_source_file_repeat1] = "source_file_repeat1", [aux_sym_column_definitions_repeat1] = "column_definitions_repeat1", + [aux_sym_column_definition_repeat1] = "column_definition_repeat1", }; static const TSSymbol ts_symbol_map[] = { @@ -213,6 +241,11 @@ static const TSSymbol ts_symbol_map[] = { [sym_keyword_if] = sym_keyword_if, [sym_keyword_not] = sym_keyword_not, [sym_keyword_exists] = sym_keyword_exists, + [sym_keyword_null] = sym_keyword_null, + [sym_keyword_constraint] = sym_keyword_constraint, + [sym_keyword_default] = sym_keyword_default, + [sym_keyword_true] = sym_keyword_true, + [sym_keyword_false] = sym_keyword_false, [aux_sym_double_token1] = aux_sym_double_token1, [aux_sym_double_token2] = aux_sym_double_token2, [sym_keyword_boolean] = sym_keyword_boolean, @@ -236,8 +269,8 @@ static const TSSymbol ts_symbol_map[] = { [aux_sym_keyword_time_token1] = aux_sym_keyword_time_token1, [aux_sym_keyword_timestamp_token1] = aux_sym_keyword_timestamp_token1, [aux_sym_keyword_timestamptz_token1] = aux_sym_keyword_timestamptz_token1, - [sym__keyword_without] = sym__keyword_without, - [sym__keyword_with] = sym__keyword_with, + [aux_sym__without_time_zone_token1] = aux_sym__without_time_zone_token1, + [aux_sym__with_time_zone_token1] = aux_sym__with_time_zone_token1, [aux_sym__keyword_time_zone_token1] = aux_sym__keyword_time_zone_token1, [sym_keyword_uuid] = sym_keyword_uuid, [sym_keyword_xml] = sym_keyword_xml, @@ -248,8 +281,11 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_SLASH_STAR] = anon_sym_SLASH_STAR, [aux_sym_marginalia_token1] = aux_sym_marginalia_token1, [anon_sym_SLASH] = anon_sym_SLASH, + [anon_sym_SQUOTE] = anon_sym_SQUOTE, + [aux_sym__literal_string_token1] = aux_sym__literal_string_token1, [sym__number] = sym__number, [anon_sym_DQUOTE] = anon_sym_DQUOTE, + [aux_sym_identifier_token1] = aux_sym_identifier_token1, [sym_source_file] = sym_source_file, [sym_statement] = sym_statement, [sym__ddl_statement] = sym__ddl_statement, @@ -257,8 +293,12 @@ static const TSSymbol ts_symbol_map[] = { [sym_create_table] = sym_create_table, [sym_column_definitions] = sym_column_definitions, [sym_column_definition] = sym_column_definition, + [sym_column_constraint] = sym_column_constraint, [sym_table_reference] = sym_table_reference, + [sym__expression] = sym__expression, + [sym_literal] = sym_literal, [sym__if_not_exists] = sym__if_not_exists, + [sym__not_null] = sym__not_null, [sym_keyword_temporary] = sym_keyword_temporary, [sym__type] = sym__type, [sym__type_numeric] = sym__type_numeric, @@ -283,9 +323,11 @@ static const TSSymbol ts_symbol_map[] = { [sym__keyword_time_zone] = sym__keyword_time_zone, [sym_comment] = sym_comment, [sym_marginalia] = sym_marginalia, + [sym__literal_string] = sym__literal_string, [sym_identifier] = sym_identifier, [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, }; static const TSSymbolMetadata ts_symbol_metadata[] = { @@ -349,6 +391,26 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_keyword_null] = { + .visible = true, + .named = true, + }, + [sym_keyword_constraint] = { + .visible = true, + .named = true, + }, + [sym_keyword_default] = { + .visible = true, + .named = true, + }, + [sym_keyword_true] = { + .visible = true, + .named = true, + }, + [sym_keyword_false] = { + .visible = true, + .named = true, + }, [aux_sym_double_token1] = { .visible = false, .named = false, @@ -441,13 +503,13 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = false, }, - [sym__keyword_without] = { + [aux_sym__without_time_zone_token1] = { .visible = false, - .named = true, + .named = false, }, - [sym__keyword_with] = { + [aux_sym__with_time_zone_token1] = { .visible = false, - .named = true, + .named = false, }, [aux_sym__keyword_time_zone_token1] = { .visible = false, @@ -489,14 +551,26 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, - [sym__number] = { + [anon_sym_SQUOTE] = { .visible = true, + .named = false, + }, + [aux_sym__literal_string_token1] = { + .visible = false, + .named = false, + }, + [sym__number] = { + .visible = false, .named = true, }, [anon_sym_DQUOTE] = { .visible = true, .named = false, }, + [aux_sym_identifier_token1] = { + .visible = false, + .named = false, + }, [sym_source_file] = { .visible = true, .named = true, @@ -525,14 +599,30 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_column_constraint] = { + .visible = true, + .named = true, + }, [sym_table_reference] = { .visible = true, .named = true, }, + [sym__expression] = { + .visible = false, + .named = true, + }, + [sym_literal] = { + .visible = true, + .named = true, + }, [sym__if_not_exists] = { .visible = false, .named = true, }, + [sym__not_null] = { + .visible = false, + .named = true, + }, [sym_keyword_temporary] = { .visible = true, .named = true, @@ -629,6 +719,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym__literal_string] = { + .visible = false, + .named = true, + }, [sym_identifier] = { .visible = true, .named = true, @@ -641,6 +735,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = false, }, + [aux_sym_column_definition_repeat1] = { + .visible = false, + .named = false, + }, }; enum { @@ -668,7 +766,8 @@ static const TSFieldMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { [3] = {.index = 3, .length = 2}, [4] = {.index = 5, .length = 1}, [5] = {.index = 6, .length = 1}, - [6] = {.index = 7, .length = 2}, + [6] = {.index = 7, .length = 1}, + [7] = {.index = 8, .length = 2}, }; static const TSFieldMapEntry ts_field_map_entries[] = { @@ -683,14 +782,26 @@ static const TSFieldMapEntry ts_field_map_entries[] = { [5] = {field_precision, 2}, [6] = - {field_size, 2}, + {field_name, 1}, [7] = + {field_size, 2}, + [8] = {field_precision, 2}, {field_scale, 4}, }; static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = { [0] = {0}, + [4] = { + [2] = sym_literal, + }, + [6] = { + [2] = sym_literal, + }, + [7] = { + [2] = sym_literal, + [4] = sym_literal, + }, }; static const uint16_t ts_non_terminal_alias_map[] = { @@ -791,6 +902,24 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [90] = 90, [91] = 91, [92] = 92, + [93] = 93, + [94] = 94, + [95] = 95, + [96] = 96, + [97] = 97, + [98] = 98, + [99] = 99, + [100] = 100, + [101] = 101, + [102] = 102, + [103] = 103, + [104] = 104, + [105] = 105, + [106] = 106, + [107] = 107, + [108] = 108, + [109] = 109, + [110] = 110, }; static bool ts_lex(TSLexer *lexer, TSStateId state) { @@ -798,26 +927,27 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { eof = lexer->eof(lexer); switch (state) { case 0: - if (eof) ADVANCE(12); - if (lookahead == '"') ADVANCE(29); - if (lookahead == '(') ADVANCE(14); - if (lookahead == ')') ADVANCE(16); - if (lookahead == ',') ADVANCE(15); + if (eof) ADVANCE(13); + if (lookahead == '"') ADVANCE(40); + if (lookahead == '\'') ADVANCE(33); + if (lookahead == '(') ADVANCE(15); + if (lookahead == ')') ADVANCE(17); + if (lookahead == ',') ADVANCE(16); if (lookahead == '-') ADVANCE(9); - if (lookahead == '.') ADVANCE(17); - if (lookahead == '/') ADVANCE(27); - if (lookahead == ';') ADVANCE(13); + if (lookahead == '.') ADVANCE(18); + if (lookahead == '/') ADVANCE(32); + if (lookahead == ';') ADVANCE(14); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') SKIP(11) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(28); + lookahead == ' ') SKIP(12) + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(39); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(30); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(45); END_STATE(); case 1: - if (lookahead == '\n') ADVANCE(22); + if (lookahead == '\n') ADVANCE(25); if (lookahead == '-') ADVANCE(3); if (lookahead == '/') ADVANCE(2); if (lookahead == '\t' || @@ -826,111 +956,132 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead != 0) ADVANCE(4); END_STATE(); case 2: - if (lookahead == '\n') ADVANCE(21); - if (lookahead == '*') ADVANCE(24); + if (lookahead == '\n') ADVANCE(24); + if (lookahead == '*') ADVANCE(27); if (lookahead != 0) ADVANCE(4); END_STATE(); case 3: - if (lookahead == '\n') ADVANCE(21); - if (lookahead == '-') ADVANCE(19); + if (lookahead == '\n') ADVANCE(24); + if (lookahead == '-') ADVANCE(20); if (lookahead != 0) ADVANCE(4); END_STATE(); case 4: - if (lookahead == '\n') ADVANCE(21); + if (lookahead == '\n') ADVANCE(24); if (lookahead != 0) ADVANCE(4); END_STATE(); case 5: - if (lookahead == '*') ADVANCE(26); + if (lookahead == '*') ADVANCE(31); if (lookahead == '-') ADVANCE(6); if (lookahead == '/') ADVANCE(8); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') ADVANCE(10); + lookahead == ' ') ADVANCE(11); if (lookahead != 0) ADVANCE(7); END_STATE(); case 6: - if (lookahead == '*') ADVANCE(26); - if (lookahead == '-') ADVANCE(20); + if (lookahead == '*') ADVANCE(31); + if (lookahead == '-') ADVANCE(21); if (lookahead != 0) ADVANCE(7); END_STATE(); case 7: - if (lookahead == '*') ADVANCE(26); + if (lookahead == '*') ADVANCE(31); if (lookahead != 0) ADVANCE(7); END_STATE(); case 8: - if (lookahead == '*') ADVANCE(25); + if (lookahead == '*') ADVANCE(28); if (lookahead != 0) ADVANCE(7); END_STATE(); case 9: - if (lookahead == '-') ADVANCE(18); + if (lookahead == '-') ADVANCE(19); END_STATE(); case 10: + if (lookahead == '-') ADVANCE(42); + if (lookahead == '/') ADVANCE(41); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') ADVANCE(10); - if (lookahead == '*') ADVANCE(26); + lookahead == ' ') ADVANCE(43); + if (lookahead != 0 && + lookahead != '"') ADVANCE(44); + END_STATE(); + case 11: + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') ADVANCE(11); + if (lookahead == '*') ADVANCE(31); if (lookahead == '-') ADVANCE(6); if (lookahead == '/') ADVANCE(8); if (lookahead != 0) ADVANCE(7); END_STATE(); - case 11: - if (eof) ADVANCE(12); + case 12: + if (eof) ADVANCE(13); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') SKIP(11) - if (lookahead == '"') ADVANCE(29); - if (lookahead == '(') ADVANCE(14); - if (lookahead == ')') ADVANCE(16); - if (lookahead == ',') ADVANCE(15); + lookahead == ' ') SKIP(12) + if (lookahead == '"') ADVANCE(40); + if (lookahead == '\'') ADVANCE(33); + if (lookahead == '(') ADVANCE(15); + if (lookahead == ')') ADVANCE(17); + if (lookahead == ',') ADVANCE(16); if (lookahead == '-') ADVANCE(9); - if (lookahead == '.') ADVANCE(17); - if (lookahead == '/') ADVANCE(27); - if (lookahead == ';') ADVANCE(13); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(28); + if (lookahead == '.') ADVANCE(18); + if (lookahead == '/') ADVANCE(32); + if (lookahead == ';') ADVANCE(14); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(39); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(30); - END_STATE(); - case 12: - ACCEPT_TOKEN(ts_builtin_sym_end); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(45); END_STATE(); case 13: - ACCEPT_TOKEN(anon_sym_SEMI); + ACCEPT_TOKEN(ts_builtin_sym_end); END_STATE(); case 14: - ACCEPT_TOKEN(anon_sym_LPAREN); + ACCEPT_TOKEN(anon_sym_SEMI); END_STATE(); case 15: - ACCEPT_TOKEN(anon_sym_COMMA); + ACCEPT_TOKEN(anon_sym_LPAREN); END_STATE(); case 16: - ACCEPT_TOKEN(anon_sym_RPAREN); + ACCEPT_TOKEN(anon_sym_COMMA); END_STATE(); case 17: - ACCEPT_TOKEN(anon_sym_DOT); + ACCEPT_TOKEN(anon_sym_RPAREN); END_STATE(); case 18: - ACCEPT_TOKEN(anon_sym_DASH_DASH); + ACCEPT_TOKEN(anon_sym_DOT); END_STATE(); case 19: ACCEPT_TOKEN(anon_sym_DASH_DASH); - if (lookahead == '\n') ADVANCE(21); - if (lookahead != 0) ADVANCE(4); END_STATE(); case 20: ACCEPT_TOKEN(anon_sym_DASH_DASH); - if (lookahead == '*') ADVANCE(26); - if (lookahead != 0) ADVANCE(7); + if (lookahead == '\n') ADVANCE(24); + if (lookahead != 0) ADVANCE(4); END_STATE(); case 21: - ACCEPT_TOKEN(aux_sym_comment_token1); + ACCEPT_TOKEN(anon_sym_DASH_DASH); + if (lookahead == '*') ADVANCE(31); + if (lookahead != 0) ADVANCE(7); END_STATE(); case 22: + ACCEPT_TOKEN(anon_sym_DASH_DASH); + if (lookahead != 0 && + lookahead != '"') ADVANCE(44); + END_STATE(); + case 23: + ACCEPT_TOKEN(anon_sym_DASH_DASH); + if (lookahead != 0 && + lookahead != '\'') ADVANCE(38); + END_STATE(); + case 24: ACCEPT_TOKEN(aux_sym_comment_token1); - if (lookahead == '\n') ADVANCE(22); + END_STATE(); + case 25: + ACCEPT_TOKEN(aux_sym_comment_token1); + if (lookahead == '\n') ADVANCE(25); if (lookahead == '-') ADVANCE(3); if (lookahead == '/') ADVANCE(2); if (lookahead == '\t' || @@ -938,43 +1089,123 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { lookahead == ' ') ADVANCE(1); if (lookahead != 0) ADVANCE(4); END_STATE(); - case 23: - ACCEPT_TOKEN(anon_sym_SLASH_STAR); - END_STATE(); - case 24: - ACCEPT_TOKEN(anon_sym_SLASH_STAR); - if (lookahead == '\n') ADVANCE(21); - if (lookahead != 0) ADVANCE(4); - END_STATE(); - case 25: - ACCEPT_TOKEN(anon_sym_SLASH_STAR); - if (lookahead == '*') ADVANCE(26); - if (lookahead != 0 && - lookahead != '/') ADVANCE(7); - END_STATE(); case 26: - ACCEPT_TOKEN(aux_sym_marginalia_token1); - if (lookahead == '*') ADVANCE(26); - if (lookahead != 0 && - lookahead != '/') ADVANCE(7); + ACCEPT_TOKEN(anon_sym_SLASH_STAR); END_STATE(); case 27: - ACCEPT_TOKEN(anon_sym_SLASH); - if (lookahead == '*') ADVANCE(23); + ACCEPT_TOKEN(anon_sym_SLASH_STAR); + if (lookahead == '\n') ADVANCE(24); + if (lookahead != 0) ADVANCE(4); END_STATE(); case 28: - ACCEPT_TOKEN(sym__number); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(28); + ACCEPT_TOKEN(anon_sym_SLASH_STAR); + if (lookahead == '*') ADVANCE(31); + if (lookahead != 0 && + lookahead != '/') ADVANCE(7); END_STATE(); case 29: - ACCEPT_TOKEN(anon_sym_DQUOTE); + ACCEPT_TOKEN(anon_sym_SLASH_STAR); + if (lookahead != 0 && + lookahead != '"') ADVANCE(44); END_STATE(); case 30: + ACCEPT_TOKEN(anon_sym_SLASH_STAR); + if (lookahead != 0 && + lookahead != '\'') ADVANCE(38); + END_STATE(); + case 31: + ACCEPT_TOKEN(aux_sym_marginalia_token1); + if (lookahead == '*') ADVANCE(31); + if (lookahead != 0 && + lookahead != '/') ADVANCE(7); + END_STATE(); + case 32: + ACCEPT_TOKEN(anon_sym_SLASH); + if (lookahead == '*') ADVANCE(26); + END_STATE(); + case 33: + ACCEPT_TOKEN(anon_sym_SQUOTE); + END_STATE(); + case 34: + ACCEPT_TOKEN(aux_sym__literal_string_token1); + if (lookahead == '*') ADVANCE(30); + if (lookahead != 0 && + lookahead != '\'') ADVANCE(38); + END_STATE(); + case 35: + ACCEPT_TOKEN(aux_sym__literal_string_token1); + if (lookahead == '-') ADVANCE(36); + if (lookahead == '/') ADVANCE(34); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') ADVANCE(37); + if (lookahead != 0 && + lookahead != '\'') ADVANCE(38); + END_STATE(); + case 36: + ACCEPT_TOKEN(aux_sym__literal_string_token1); + if (lookahead == '-') ADVANCE(23); + if (lookahead != 0 && + lookahead != '\'') ADVANCE(38); + END_STATE(); + case 37: + ACCEPT_TOKEN(aux_sym__literal_string_token1); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') ADVANCE(37); + if (lookahead == '-') ADVANCE(36); + if (lookahead == '/') ADVANCE(34); + if (lookahead != 0 && + lookahead != '\'') ADVANCE(38); + END_STATE(); + case 38: + ACCEPT_TOKEN(aux_sym__literal_string_token1); + if (lookahead != 0 && + lookahead != '\'') ADVANCE(38); + END_STATE(); + case 39: + ACCEPT_TOKEN(sym__number); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(39); + END_STATE(); + case 40: + ACCEPT_TOKEN(anon_sym_DQUOTE); + END_STATE(); + case 41: + ACCEPT_TOKEN(aux_sym_identifier_token1); + if (lookahead == '*') ADVANCE(29); + if (lookahead != 0 && + lookahead != '"') ADVANCE(44); + END_STATE(); + case 42: + ACCEPT_TOKEN(aux_sym_identifier_token1); + if (lookahead == '-') ADVANCE(22); + if (lookahead != 0 && + lookahead != '"') ADVANCE(44); + END_STATE(); + case 43: + ACCEPT_TOKEN(aux_sym_identifier_token1); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') ADVANCE(43); + if (lookahead == '-') ADVANCE(42); + if (lookahead == '/') ADVANCE(41); + if (lookahead != 0 && + lookahead != '"') ADVANCE(44); + END_STATE(); + case 44: + ACCEPT_TOKEN(aux_sym_identifier_token1); + if (lookahead != 0 && + lookahead != '"') ADVANCE(44); + END_STATE(); + case 45: ACCEPT_TOKEN(sym__identifier); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(30); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(45); END_STATE(); default: return false; @@ -990,1090 +1221,1231 @@ static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) { if (lookahead == 'C') ADVANCE(2); if (lookahead == 'D') ADVANCE(3); if (lookahead == 'E') ADVANCE(4); - if (lookahead == 'I') ADVANCE(5); - if (lookahead == 'J') ADVANCE(6); - if (lookahead == 'M') ADVANCE(7); - if (lookahead == 'N') ADVANCE(8); - if (lookahead == 'P') ADVANCE(9); - if (lookahead == 'R') ADVANCE(10); - if (lookahead == 'S') ADVANCE(11); - if (lookahead == 'T') ADVANCE(12); - if (lookahead == 'U') ADVANCE(13); - if (lookahead == 'V') ADVANCE(14); - if (lookahead == 'W') ADVANCE(15); - if (lookahead == 'X') ADVANCE(16); - if (lookahead == 'Z') ADVANCE(17); - if (lookahead == 'b') ADVANCE(18); - if (lookahead == 'c') ADVANCE(19); - if (lookahead == 'd') ADVANCE(20); - if (lookahead == 'e') ADVANCE(21); - if (lookahead == 'i') ADVANCE(22); - if (lookahead == 'j') ADVANCE(23); - if (lookahead == 'm') ADVANCE(24); - if (lookahead == 'n') ADVANCE(25); - if (lookahead == 'p') ADVANCE(26); - if (lookahead == 'r') ADVANCE(27); - if (lookahead == 's') ADVANCE(28); - if (lookahead == 't') ADVANCE(29); - if (lookahead == 'u') ADVANCE(30); - if (lookahead == 'v') ADVANCE(31); - if (lookahead == 'w') ADVANCE(32); - if (lookahead == 'x') ADVANCE(33); - if (lookahead == 'z') ADVANCE(34); + if (lookahead == 'F') ADVANCE(5); + if (lookahead == 'I') ADVANCE(6); + if (lookahead == 'J') ADVANCE(7); + if (lookahead == 'M') ADVANCE(8); + if (lookahead == 'N') ADVANCE(9); + if (lookahead == 'P') ADVANCE(10); + if (lookahead == 'R') ADVANCE(11); + if (lookahead == 'S') ADVANCE(12); + if (lookahead == 'T') ADVANCE(13); + if (lookahead == 'U') ADVANCE(14); + if (lookahead == 'V') ADVANCE(15); + if (lookahead == 'W') ADVANCE(16); + if (lookahead == 'X') ADVANCE(17); + if (lookahead == 'Z') ADVANCE(18); + if (lookahead == 'b') ADVANCE(19); + if (lookahead == 'c') ADVANCE(20); + if (lookahead == 'd') ADVANCE(21); + if (lookahead == 'e') ADVANCE(22); + if (lookahead == 'f') ADVANCE(23); + if (lookahead == 'i') ADVANCE(24); + if (lookahead == 'j') ADVANCE(25); + if (lookahead == 'm') ADVANCE(26); + if (lookahead == 'n') ADVANCE(27); + if (lookahead == 'p') ADVANCE(28); + if (lookahead == 'r') ADVANCE(29); + if (lookahead == 's') ADVANCE(30); + if (lookahead == 't') ADVANCE(31); + if (lookahead == 'u') ADVANCE(32); + if (lookahead == 'v') ADVANCE(33); + if (lookahead == 'w') ADVANCE(34); + if (lookahead == 'x') ADVANCE(35); + if (lookahead == 'z') ADVANCE(36); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') SKIP(35) + lookahead == ' ') SKIP(37) END_STATE(); case 1: - if (lookahead == 'I') ADVANCE(36); - if (lookahead == 'O') ADVANCE(37); - if (lookahead == 'Y') ADVANCE(38); + if (lookahead == 'I') ADVANCE(38); + if (lookahead == 'O') ADVANCE(39); + if (lookahead == 'Y') ADVANCE(40); END_STATE(); case 2: - if (lookahead == 'H') ADVANCE(39); - if (lookahead == 'R') ADVANCE(40); + if (lookahead == 'H') ADVANCE(41); + if (lookahead == 'O') ADVANCE(42); + if (lookahead == 'R') ADVANCE(43); END_STATE(); case 3: - if (lookahead == 'A') ADVANCE(41); - if (lookahead == 'E') ADVANCE(42); - if (lookahead == 'O') ADVANCE(43); + if (lookahead == 'A') ADVANCE(44); + if (lookahead == 'E') ADVANCE(45); + if (lookahead == 'O') ADVANCE(46); END_STATE(); case 4: - if (lookahead == 'X') ADVANCE(44); + if (lookahead == 'X') ADVANCE(47); END_STATE(); case 5: - if (lookahead == 'F') ADVANCE(45); - if (lookahead == 'N') ADVANCE(46); + if (lookahead == 'A') ADVANCE(48); END_STATE(); case 6: - if (lookahead == 'S') ADVANCE(47); + if (lookahead == 'F') ADVANCE(49); + if (lookahead == 'N') ADVANCE(50); END_STATE(); case 7: - if (lookahead == 'O') ADVANCE(48); + if (lookahead == 'S') ADVANCE(51); END_STATE(); case 8: - if (lookahead == 'O') ADVANCE(49); - if (lookahead == 'U') ADVANCE(50); + if (lookahead == 'O') ADVANCE(52); END_STATE(); case 9: - if (lookahead == 'R') ADVANCE(51); + if (lookahead == 'O') ADVANCE(53); + if (lookahead == 'U') ADVANCE(54); END_STATE(); case 10: - if (lookahead == 'E') ADVANCE(52); + if (lookahead == 'R') ADVANCE(55); END_STATE(); case 11: - if (lookahead == 'E') ADVANCE(53); - if (lookahead == 'M') ADVANCE(54); + if (lookahead == 'E') ADVANCE(56); END_STATE(); case 12: - if (lookahead == 'A') ADVANCE(55); - if (lookahead == 'E') ADVANCE(56); - if (lookahead == 'I') ADVANCE(57); + if (lookahead == 'E') ADVANCE(57); + if (lookahead == 'M') ADVANCE(58); END_STATE(); case 13: - if (lookahead == 'N') ADVANCE(58); - if (lookahead == 'U') ADVANCE(59); + if (lookahead == 'A') ADVANCE(59); + if (lookahead == 'E') ADVANCE(60); + if (lookahead == 'I') ADVANCE(61); + if (lookahead == 'R') ADVANCE(62); END_STATE(); case 14: - if (lookahead == 'A') ADVANCE(60); + if (lookahead == 'N') ADVANCE(63); + if (lookahead == 'U') ADVANCE(64); END_STATE(); case 15: - if (lookahead == 'I') ADVANCE(61); + if (lookahead == 'A') ADVANCE(65); END_STATE(); case 16: - if (lookahead == 'M') ADVANCE(62); + if (lookahead == 'I') ADVANCE(66); END_STATE(); case 17: - if (lookahead == 'O') ADVANCE(63); + if (lookahead == 'M') ADVANCE(67); END_STATE(); case 18: - if (lookahead == 'i') ADVANCE(64); - if (lookahead == 'o') ADVANCE(65); - if (lookahead == 'y') ADVANCE(66); + if (lookahead == 'O') ADVANCE(68); END_STATE(); case 19: - if (lookahead == 'h') ADVANCE(67); - if (lookahead == 'r') ADVANCE(68); + if (lookahead == 'i') ADVANCE(69); + if (lookahead == 'o') ADVANCE(70); + if (lookahead == 'y') ADVANCE(71); END_STATE(); case 20: - if (lookahead == 'a') ADVANCE(69); - if (lookahead == 'e') ADVANCE(70); - if (lookahead == 'o') ADVANCE(71); + if (lookahead == 'h') ADVANCE(72); + if (lookahead == 'o') ADVANCE(73); + if (lookahead == 'r') ADVANCE(74); END_STATE(); case 21: - if (lookahead == 'x') ADVANCE(72); + if (lookahead == 'a') ADVANCE(75); + if (lookahead == 'e') ADVANCE(76); + if (lookahead == 'o') ADVANCE(77); END_STATE(); case 22: - if (lookahead == 'f') ADVANCE(45); - if (lookahead == 'n') ADVANCE(73); + if (lookahead == 'x') ADVANCE(78); END_STATE(); case 23: - if (lookahead == 's') ADVANCE(74); + if (lookahead == 'a') ADVANCE(79); END_STATE(); case 24: - if (lookahead == 'o') ADVANCE(75); + if (lookahead == 'f') ADVANCE(49); + if (lookahead == 'n') ADVANCE(80); END_STATE(); case 25: - if (lookahead == 'o') ADVANCE(76); - if (lookahead == 'u') ADVANCE(77); + if (lookahead == 's') ADVANCE(81); END_STATE(); case 26: - if (lookahead == 'r') ADVANCE(78); + if (lookahead == 'o') ADVANCE(82); END_STATE(); case 27: - if (lookahead == 'e') ADVANCE(79); + if (lookahead == 'o') ADVANCE(83); + if (lookahead == 'u') ADVANCE(84); END_STATE(); case 28: - if (lookahead == 'e') ADVANCE(80); - if (lookahead == 'm') ADVANCE(81); + if (lookahead == 'r') ADVANCE(85); END_STATE(); case 29: - if (lookahead == 'a') ADVANCE(82); - if (lookahead == 'e') ADVANCE(83); - if (lookahead == 'i') ADVANCE(84); + if (lookahead == 'e') ADVANCE(86); END_STATE(); case 30: - if (lookahead == 'n') ADVANCE(85); - if (lookahead == 'u') ADVANCE(86); + if (lookahead == 'e') ADVANCE(87); + if (lookahead == 'm') ADVANCE(88); END_STATE(); case 31: - if (lookahead == 'a') ADVANCE(87); + if (lookahead == 'a') ADVANCE(89); + if (lookahead == 'e') ADVANCE(90); + if (lookahead == 'i') ADVANCE(91); + if (lookahead == 'r') ADVANCE(92); END_STATE(); case 32: - if (lookahead == 'i') ADVANCE(88); + if (lookahead == 'n') ADVANCE(93); + if (lookahead == 'u') ADVANCE(94); END_STATE(); case 33: - if (lookahead == 'm') ADVANCE(89); + if (lookahead == 'a') ADVANCE(95); END_STATE(); case 34: - if (lookahead == 'o') ADVANCE(90); + if (lookahead == 'i') ADVANCE(96); END_STATE(); case 35: + if (lookahead == 'm') ADVANCE(97); + END_STATE(); + case 36: + if (lookahead == 'o') ADVANCE(98); + END_STATE(); + case 37: if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') SKIP(35) + lookahead == ' ') SKIP(37) if (lookahead == 'B') ADVANCE(1); if (lookahead == 'C') ADVANCE(2); if (lookahead == 'D') ADVANCE(3); if (lookahead == 'E') ADVANCE(4); - if (lookahead == 'I') ADVANCE(5); - if (lookahead == 'J') ADVANCE(6); - if (lookahead == 'M') ADVANCE(7); - if (lookahead == 'N') ADVANCE(8); - if (lookahead == 'P') ADVANCE(9); - if (lookahead == 'R') ADVANCE(10); - if (lookahead == 'S') ADVANCE(11); - if (lookahead == 'T') ADVANCE(12); - if (lookahead == 'U') ADVANCE(13); - if (lookahead == 'V') ADVANCE(14); - if (lookahead == 'W') ADVANCE(15); - if (lookahead == 'X') ADVANCE(16); - if (lookahead == 'Z') ADVANCE(17); - if (lookahead == 'b') ADVANCE(18); - if (lookahead == 'c') ADVANCE(19); - if (lookahead == 'd') ADVANCE(20); - if (lookahead == 'e') ADVANCE(21); - if (lookahead == 'i') ADVANCE(22); - if (lookahead == 'j') ADVANCE(23); - if (lookahead == 'm') ADVANCE(24); - if (lookahead == 'n') ADVANCE(25); - if (lookahead == 'p') ADVANCE(26); - if (lookahead == 'r') ADVANCE(27); - if (lookahead == 's') ADVANCE(28); - if (lookahead == 't') ADVANCE(29); - if (lookahead == 'u') ADVANCE(30); - if (lookahead == 'v') ADVANCE(31); - if (lookahead == 'w') ADVANCE(32); - if (lookahead == 'x') ADVANCE(33); - if (lookahead == 'z') ADVANCE(34); - END_STATE(); - case 36: - if (lookahead == 'G') ADVANCE(91); - END_STATE(); - case 37: - if (lookahead == 'O') ADVANCE(92); + if (lookahead == 'F') ADVANCE(5); + if (lookahead == 'I') ADVANCE(6); + if (lookahead == 'J') ADVANCE(7); + if (lookahead == 'M') ADVANCE(8); + if (lookahead == 'N') ADVANCE(9); + if (lookahead == 'P') ADVANCE(10); + if (lookahead == 'R') ADVANCE(11); + if (lookahead == 'S') ADVANCE(12); + if (lookahead == 'T') ADVANCE(13); + if (lookahead == 'U') ADVANCE(14); + if (lookahead == 'V') ADVANCE(15); + if (lookahead == 'W') ADVANCE(16); + if (lookahead == 'X') ADVANCE(17); + if (lookahead == 'Z') ADVANCE(18); + if (lookahead == 'b') ADVANCE(19); + if (lookahead == 'c') ADVANCE(20); + if (lookahead == 'd') ADVANCE(21); + if (lookahead == 'e') ADVANCE(22); + if (lookahead == 'f') ADVANCE(23); + if (lookahead == 'i') ADVANCE(24); + if (lookahead == 'j') ADVANCE(25); + if (lookahead == 'm') ADVANCE(26); + if (lookahead == 'n') ADVANCE(27); + if (lookahead == 'p') ADVANCE(28); + if (lookahead == 'r') ADVANCE(29); + if (lookahead == 's') ADVANCE(30); + if (lookahead == 't') ADVANCE(31); + if (lookahead == 'u') ADVANCE(32); + if (lookahead == 'v') ADVANCE(33); + if (lookahead == 'w') ADVANCE(34); + if (lookahead == 'x') ADVANCE(35); + if (lookahead == 'z') ADVANCE(36); END_STATE(); case 38: - if (lookahead == 'T') ADVANCE(93); + if (lookahead == 'G') ADVANCE(99); END_STATE(); case 39: - if (lookahead == 'A') ADVANCE(94); + if (lookahead == 'O') ADVANCE(100); END_STATE(); case 40: - if (lookahead == 'E') ADVANCE(95); + if (lookahead == 'T') ADVANCE(101); END_STATE(); case 41: - if (lookahead == 'T') ADVANCE(96); + if (lookahead == 'A') ADVANCE(102); END_STATE(); case 42: - if (lookahead == 'C') ADVANCE(97); + if (lookahead == 'N') ADVANCE(103); END_STATE(); case 43: - if (lookahead == 'U') ADVANCE(98); + if (lookahead == 'E') ADVANCE(104); END_STATE(); case 44: - if (lookahead == 'I') ADVANCE(99); + if (lookahead == 'T') ADVANCE(105); END_STATE(); case 45: - ACCEPT_TOKEN(sym_keyword_if); + if (lookahead == 'C') ADVANCE(106); + if (lookahead == 'F') ADVANCE(107); END_STATE(); case 46: - if (lookahead == 'T') ADVANCE(100); + if (lookahead == 'U') ADVANCE(108); END_STATE(); case 47: - if (lookahead == 'O') ADVANCE(101); + if (lookahead == 'I') ADVANCE(109); END_STATE(); case 48: - if (lookahead == 'N') ADVANCE(102); + if (lookahead == 'L') ADVANCE(110); END_STATE(); case 49: - if (lookahead == 'T') ADVANCE(103); + ACCEPT_TOKEN(sym_keyword_if); END_STATE(); case 50: - if (lookahead == 'M') ADVANCE(104); + if (lookahead == 'T') ADVANCE(111); END_STATE(); case 51: - if (lookahead == 'E') ADVANCE(105); + if (lookahead == 'O') ADVANCE(112); END_STATE(); case 52: - if (lookahead == 'A') ADVANCE(106); + if (lookahead == 'N') ADVANCE(113); END_STATE(); case 53: - if (lookahead == 'R') ADVANCE(107); + if (lookahead == 'T') ADVANCE(114); END_STATE(); case 54: - if (lookahead == 'A') ADVANCE(108); + if (lookahead == 'L') ADVANCE(115); + if (lookahead == 'M') ADVANCE(116); END_STATE(); case 55: - if (lookahead == 'B') ADVANCE(109); + if (lookahead == 'E') ADVANCE(117); END_STATE(); case 56: - if (lookahead == 'M') ADVANCE(110); - if (lookahead == 'X') ADVANCE(111); + if (lookahead == 'A') ADVANCE(118); END_STATE(); case 57: - if (lookahead == 'M') ADVANCE(112); + if (lookahead == 'R') ADVANCE(119); END_STATE(); case 58: - if (lookahead == 'L') ADVANCE(113); + if (lookahead == 'A') ADVANCE(120); END_STATE(); case 59: - if (lookahead == 'I') ADVANCE(114); + if (lookahead == 'B') ADVANCE(121); END_STATE(); case 60: - if (lookahead == 'R') ADVANCE(115); + if (lookahead == 'M') ADVANCE(122); + if (lookahead == 'X') ADVANCE(123); END_STATE(); case 61: - if (lookahead == 'T') ADVANCE(116); + if (lookahead == 'M') ADVANCE(124); END_STATE(); case 62: - if (lookahead == 'L') ADVANCE(117); + if (lookahead == 'U') ADVANCE(125); END_STATE(); case 63: - if (lookahead == 'N') ADVANCE(118); + if (lookahead == 'L') ADVANCE(126); END_STATE(); case 64: - if (lookahead == 'g') ADVANCE(119); + if (lookahead == 'I') ADVANCE(127); END_STATE(); case 65: - if (lookahead == 'o') ADVANCE(120); + if (lookahead == 'R') ADVANCE(128); END_STATE(); case 66: - if (lookahead == 't') ADVANCE(121); + if (lookahead == 'T') ADVANCE(129); END_STATE(); case 67: - if (lookahead == 'a') ADVANCE(122); + if (lookahead == 'L') ADVANCE(130); END_STATE(); case 68: - if (lookahead == 'e') ADVANCE(123); + if (lookahead == 'N') ADVANCE(131); END_STATE(); case 69: - if (lookahead == 't') ADVANCE(124); + if (lookahead == 'g') ADVANCE(132); END_STATE(); case 70: - if (lookahead == 'c') ADVANCE(125); + if (lookahead == 'o') ADVANCE(133); END_STATE(); case 71: - if (lookahead == 'u') ADVANCE(126); + if (lookahead == 't') ADVANCE(134); END_STATE(); case 72: - if (lookahead == 'i') ADVANCE(127); - END_STATE(); - case 73: - if (lookahead == 't') ADVANCE(128); - END_STATE(); - case 74: - if (lookahead == 'o') ADVANCE(129); - END_STATE(); - case 75: - if (lookahead == 'n') ADVANCE(130); - END_STATE(); - case 76: - if (lookahead == 't') ADVANCE(103); - END_STATE(); - case 77: - if (lookahead == 'm') ADVANCE(131); - END_STATE(); - case 78: - if (lookahead == 'e') ADVANCE(132); - END_STATE(); - case 79: - if (lookahead == 'a') ADVANCE(133); - END_STATE(); - case 80: - if (lookahead == 'r') ADVANCE(134); - END_STATE(); - case 81: if (lookahead == 'a') ADVANCE(135); END_STATE(); + case 73: + if (lookahead == 'n') ADVANCE(136); + END_STATE(); + case 74: + if (lookahead == 'e') ADVANCE(137); + END_STATE(); + case 75: + if (lookahead == 't') ADVANCE(138); + END_STATE(); + case 76: + if (lookahead == 'c') ADVANCE(139); + if (lookahead == 'f') ADVANCE(140); + END_STATE(); + case 77: + if (lookahead == 'u') ADVANCE(141); + END_STATE(); + case 78: + if (lookahead == 'i') ADVANCE(142); + END_STATE(); + case 79: + if (lookahead == 'l') ADVANCE(143); + END_STATE(); + case 80: + if (lookahead == 't') ADVANCE(144); + END_STATE(); + case 81: + if (lookahead == 'o') ADVANCE(145); + END_STATE(); case 82: - if (lookahead == 'b') ADVANCE(136); + if (lookahead == 'n') ADVANCE(146); END_STATE(); case 83: - if (lookahead == 'm') ADVANCE(137); - if (lookahead == 'x') ADVANCE(138); + if (lookahead == 't') ADVANCE(114); END_STATE(); case 84: - if (lookahead == 'm') ADVANCE(139); + if (lookahead == 'l') ADVANCE(147); + if (lookahead == 'm') ADVANCE(148); END_STATE(); case 85: - if (lookahead == 'l') ADVANCE(140); + if (lookahead == 'e') ADVANCE(149); END_STATE(); case 86: - if (lookahead == 'i') ADVANCE(141); + if (lookahead == 'a') ADVANCE(150); END_STATE(); case 87: - if (lookahead == 'r') ADVANCE(142); + if (lookahead == 'r') ADVANCE(151); END_STATE(); case 88: - if (lookahead == 't') ADVANCE(143); + if (lookahead == 'a') ADVANCE(152); END_STATE(); case 89: - if (lookahead == 'l') ADVANCE(117); + if (lookahead == 'b') ADVANCE(153); END_STATE(); case 90: - if (lookahead == 'n') ADVANCE(144); + if (lookahead == 'm') ADVANCE(154); + if (lookahead == 'x') ADVANCE(155); END_STATE(); case 91: - if (lookahead == 'I') ADVANCE(145); - if (lookahead == 'S') ADVANCE(146); + if (lookahead == 'm') ADVANCE(156); END_STATE(); case 92: - if (lookahead == 'L') ADVANCE(147); + if (lookahead == 'u') ADVANCE(157); END_STATE(); case 93: - if (lookahead == 'E') ADVANCE(148); + if (lookahead == 'l') ADVANCE(158); END_STATE(); case 94: - if (lookahead == 'R') ADVANCE(149); + if (lookahead == 'i') ADVANCE(159); END_STATE(); case 95: - if (lookahead == 'A') ADVANCE(150); + if (lookahead == 'r') ADVANCE(160); END_STATE(); case 96: - if (lookahead == 'E') ADVANCE(151); + if (lookahead == 't') ADVANCE(161); END_STATE(); case 97: - if (lookahead == 'I') ADVANCE(152); + if (lookahead == 'l') ADVANCE(130); END_STATE(); case 98: - if (lookahead == 'B') ADVANCE(153); + if (lookahead == 'n') ADVANCE(162); END_STATE(); case 99: - if (lookahead == 'S') ADVANCE(154); + if (lookahead == 'I') ADVANCE(163); + if (lookahead == 'S') ADVANCE(164); END_STATE(); case 100: - if (lookahead == 'E') ADVANCE(155); + if (lookahead == 'L') ADVANCE(165); END_STATE(); case 101: - if (lookahead == 'N') ADVANCE(156); - END_STATE(); - case 102: - if (lookahead == 'E') ADVANCE(157); - END_STATE(); - case 103: - ACCEPT_TOKEN(sym_keyword_not); - END_STATE(); - case 104: - if (lookahead == 'E') ADVANCE(158); - END_STATE(); - case 105: - if (lookahead == 'C') ADVANCE(159); - END_STATE(); - case 106: - if (lookahead == 'L') ADVANCE(160); - END_STATE(); - case 107: - if (lookahead == 'I') ADVANCE(161); - END_STATE(); - case 108: - if (lookahead == 'L') ADVANCE(162); - END_STATE(); - case 109: - if (lookahead == 'L') ADVANCE(163); - END_STATE(); - case 110: - if (lookahead == 'P') ADVANCE(164); - END_STATE(); - case 111: - if (lookahead == 'T') ADVANCE(165); - END_STATE(); - case 112: if (lookahead == 'E') ADVANCE(166); END_STATE(); + case 102: + if (lookahead == 'R') ADVANCE(167); + END_STATE(); + case 103: + if (lookahead == 'S') ADVANCE(168); + END_STATE(); + case 104: + if (lookahead == 'A') ADVANCE(169); + END_STATE(); + case 105: + if (lookahead == 'E') ADVANCE(170); + END_STATE(); + case 106: + if (lookahead == 'I') ADVANCE(171); + END_STATE(); + case 107: + if (lookahead == 'A') ADVANCE(172); + END_STATE(); + case 108: + if (lookahead == 'B') ADVANCE(173); + END_STATE(); + case 109: + if (lookahead == 'S') ADVANCE(174); + END_STATE(); + case 110: + if (lookahead == 'S') ADVANCE(175); + END_STATE(); + case 111: + if (lookahead == 'E') ADVANCE(176); + END_STATE(); + case 112: + if (lookahead == 'N') ADVANCE(177); + END_STATE(); case 113: - if (lookahead == 'O') ADVANCE(167); + if (lookahead == 'E') ADVANCE(178); END_STATE(); case 114: - if (lookahead == 'D') ADVANCE(168); + ACCEPT_TOKEN(sym_keyword_not); END_STATE(); case 115: - if (lookahead == 'C') ADVANCE(169); + if (lookahead == 'L') ADVANCE(179); END_STATE(); case 116: - if (lookahead == 'H') ADVANCE(170); + if (lookahead == 'E') ADVANCE(180); END_STATE(); case 117: - ACCEPT_TOKEN(sym_keyword_xml); + if (lookahead == 'C') ADVANCE(181); END_STATE(); case 118: - if (lookahead == 'E') ADVANCE(171); + if (lookahead == 'L') ADVANCE(182); END_STATE(); case 119: - if (lookahead == 'i') ADVANCE(172); - if (lookahead == 's') ADVANCE(173); + if (lookahead == 'I') ADVANCE(183); END_STATE(); case 120: - if (lookahead == 'l') ADVANCE(174); + if (lookahead == 'L') ADVANCE(184); END_STATE(); case 121: - if (lookahead == 'e') ADVANCE(175); + if (lookahead == 'L') ADVANCE(185); END_STATE(); case 122: - if (lookahead == 'r') ADVANCE(176); + if (lookahead == 'P') ADVANCE(186); END_STATE(); case 123: - if (lookahead == 'a') ADVANCE(177); + if (lookahead == 'T') ADVANCE(187); END_STATE(); case 124: - if (lookahead == 'e') ADVANCE(178); + if (lookahead == 'E') ADVANCE(188); END_STATE(); case 125: - if (lookahead == 'i') ADVANCE(179); + if (lookahead == 'E') ADVANCE(189); END_STATE(); case 126: - if (lookahead == 'b') ADVANCE(180); + if (lookahead == 'O') ADVANCE(190); END_STATE(); case 127: - if (lookahead == 's') ADVANCE(181); + if (lookahead == 'D') ADVANCE(191); END_STATE(); case 128: - if (lookahead == 'e') ADVANCE(182); + if (lookahead == 'C') ADVANCE(192); END_STATE(); case 129: - if (lookahead == 'n') ADVANCE(183); + if (lookahead == 'H') ADVANCE(193); END_STATE(); case 130: - if (lookahead == 'e') ADVANCE(184); + ACCEPT_TOKEN(sym_keyword_xml); END_STATE(); case 131: - if (lookahead == 'e') ADVANCE(185); + if (lookahead == 'E') ADVANCE(194); END_STATE(); case 132: - if (lookahead == 'c') ADVANCE(186); + if (lookahead == 'i') ADVANCE(195); + if (lookahead == 's') ADVANCE(196); END_STATE(); case 133: - if (lookahead == 'l') ADVANCE(160); + if (lookahead == 'l') ADVANCE(197); END_STATE(); case 134: - if (lookahead == 'i') ADVANCE(187); + if (lookahead == 'e') ADVANCE(198); END_STATE(); case 135: - if (lookahead == 'l') ADVANCE(188); + if (lookahead == 'r') ADVANCE(199); END_STATE(); case 136: - if (lookahead == 'l') ADVANCE(189); + if (lookahead == 's') ADVANCE(200); END_STATE(); case 137: - if (lookahead == 'p') ADVANCE(190); + if (lookahead == 'a') ADVANCE(201); END_STATE(); case 138: - if (lookahead == 't') ADVANCE(165); + if (lookahead == 'e') ADVANCE(202); END_STATE(); case 139: - if (lookahead == 'e') ADVANCE(191); + if (lookahead == 'i') ADVANCE(203); END_STATE(); case 140: - if (lookahead == 'o') ADVANCE(192); + if (lookahead == 'a') ADVANCE(204); END_STATE(); case 141: - if (lookahead == 'd') ADVANCE(168); + if (lookahead == 'b') ADVANCE(205); END_STATE(); case 142: - if (lookahead == 'c') ADVANCE(193); + if (lookahead == 's') ADVANCE(206); END_STATE(); case 143: - if (lookahead == 'h') ADVANCE(194); + if (lookahead == 's') ADVANCE(207); END_STATE(); case 144: - if (lookahead == 'e') ADVANCE(171); + if (lookahead == 'e') ADVANCE(208); END_STATE(); case 145: - if (lookahead == 'N') ADVANCE(195); + if (lookahead == 'n') ADVANCE(209); END_STATE(); case 146: - if (lookahead == 'E') ADVANCE(196); + if (lookahead == 'e') ADVANCE(210); END_STATE(); case 147: - if (lookahead == 'E') ADVANCE(197); + if (lookahead == 'l') ADVANCE(179); END_STATE(); case 148: - if (lookahead == 'A') ADVANCE(198); + if (lookahead == 'e') ADVANCE(211); END_STATE(); case 149: - ACCEPT_TOKEN(aux_sym_keyword_char_token2); - if (lookahead == 'A') ADVANCE(199); + if (lookahead == 'c') ADVANCE(212); END_STATE(); case 150: - if (lookahead == 'T') ADVANCE(200); + if (lookahead == 'l') ADVANCE(182); END_STATE(); case 151: - ACCEPT_TOKEN(sym_keyword_date); - if (lookahead == 'T') ADVANCE(201); + if (lookahead == 'i') ADVANCE(213); END_STATE(); case 152: - if (lookahead == 'M') ADVANCE(202); + if (lookahead == 'l') ADVANCE(214); END_STATE(); case 153: - if (lookahead == 'L') ADVANCE(203); + if (lookahead == 'l') ADVANCE(215); END_STATE(); case 154: - if (lookahead == 'T') ADVANCE(204); + if (lookahead == 'p') ADVANCE(216); END_STATE(); case 155: - if (lookahead == 'G') ADVANCE(205); + if (lookahead == 't') ADVANCE(187); END_STATE(); case 156: - ACCEPT_TOKEN(sym_keyword_json); - if (lookahead == 'B') ADVANCE(206); + if (lookahead == 'e') ADVANCE(217); END_STATE(); case 157: - if (lookahead == 'Y') ADVANCE(207); + if (lookahead == 'e') ADVANCE(189); END_STATE(); case 158: - if (lookahead == 'R') ADVANCE(208); + if (lookahead == 'o') ADVANCE(218); END_STATE(); case 159: - if (lookahead == 'I') ADVANCE(209); + if (lookahead == 'd') ADVANCE(191); END_STATE(); case 160: - ACCEPT_TOKEN(sym_keyword_real); + if (lookahead == 'c') ADVANCE(219); END_STATE(); case 161: - if (lookahead == 'A') ADVANCE(210); + if (lookahead == 'h') ADVANCE(220); END_STATE(); case 162: - if (lookahead == 'L') ADVANCE(211); + if (lookahead == 'e') ADVANCE(194); END_STATE(); case 163: - if (lookahead == 'E') ADVANCE(212); + if (lookahead == 'N') ADVANCE(221); END_STATE(); case 164: - ACCEPT_TOKEN(aux_sym_keyword_temporary_token2); - if (lookahead == 'O') ADVANCE(213); + if (lookahead == 'E') ADVANCE(222); END_STATE(); case 165: - ACCEPT_TOKEN(sym_keyword_text); + if (lookahead == 'E') ADVANCE(223); END_STATE(); case 166: - ACCEPT_TOKEN(aux_sym_keyword_time_token1); - if (lookahead == 'S') ADVANCE(214); + if (lookahead == 'A') ADVANCE(224); END_STATE(); case 167: - if (lookahead == 'G') ADVANCE(215); + ACCEPT_TOKEN(aux_sym_keyword_char_token2); + if (lookahead == 'A') ADVANCE(225); END_STATE(); case 168: - ACCEPT_TOKEN(sym_keyword_uuid); + if (lookahead == 'T') ADVANCE(226); END_STATE(); case 169: - if (lookahead == 'H') ADVANCE(216); + if (lookahead == 'T') ADVANCE(227); END_STATE(); case 170: - ACCEPT_TOKEN(sym__keyword_with); - if (lookahead == 'O') ADVANCE(217); + ACCEPT_TOKEN(sym_keyword_date); + if (lookahead == 'T') ADVANCE(228); END_STATE(); case 171: - ACCEPT_TOKEN(aux_sym__keyword_time_zone_token1); + if (lookahead == 'M') ADVANCE(229); END_STATE(); case 172: - if (lookahead == 'n') ADVANCE(218); + if (lookahead == 'U') ADVANCE(230); END_STATE(); case 173: - if (lookahead == 'e') ADVANCE(219); + if (lookahead == 'L') ADVANCE(231); END_STATE(); case 174: - if (lookahead == 'e') ADVANCE(220); + if (lookahead == 'T') ADVANCE(232); END_STATE(); case 175: - if (lookahead == 'a') ADVANCE(198); + if (lookahead == 'E') ADVANCE(233); END_STATE(); case 176: - ACCEPT_TOKEN(aux_sym_keyword_char_token2); - if (lookahead == 'a') ADVANCE(221); + if (lookahead == 'G') ADVANCE(234); END_STATE(); case 177: - if (lookahead == 't') ADVANCE(222); + ACCEPT_TOKEN(sym_keyword_json); + if (lookahead == 'B') ADVANCE(235); END_STATE(); case 178: - ACCEPT_TOKEN(sym_keyword_date); - if (lookahead == 't') ADVANCE(223); + if (lookahead == 'Y') ADVANCE(236); END_STATE(); case 179: - if (lookahead == 'm') ADVANCE(224); + ACCEPT_TOKEN(sym_keyword_null); END_STATE(); case 180: - if (lookahead == 'l') ADVANCE(225); + if (lookahead == 'R') ADVANCE(237); END_STATE(); case 181: - if (lookahead == 't') ADVANCE(226); + if (lookahead == 'I') ADVANCE(238); END_STATE(); case 182: - if (lookahead == 'g') ADVANCE(227); + ACCEPT_TOKEN(sym_keyword_real); END_STATE(); case 183: - ACCEPT_TOKEN(sym_keyword_json); - if (lookahead == 'b') ADVANCE(206); - END_STATE(); - case 184: - if (lookahead == 'y') ADVANCE(207); - END_STATE(); - case 185: - if (lookahead == 'r') ADVANCE(228); - END_STATE(); - case 186: - if (lookahead == 'i') ADVANCE(229); - END_STATE(); - case 187: - if (lookahead == 'a') ADVANCE(230); - END_STATE(); - case 188: - if (lookahead == 'l') ADVANCE(231); - END_STATE(); - case 189: - if (lookahead == 'e') ADVANCE(212); - END_STATE(); - case 190: - ACCEPT_TOKEN(aux_sym_keyword_temporary_token2); - if (lookahead == 'o') ADVANCE(232); - END_STATE(); - case 191: - ACCEPT_TOKEN(aux_sym_keyword_time_token1); - if (lookahead == 's') ADVANCE(233); - END_STATE(); - case 192: - if (lookahead == 'g') ADVANCE(234); - END_STATE(); - case 193: - if (lookahead == 'h') ADVANCE(235); - END_STATE(); - case 194: - ACCEPT_TOKEN(sym__keyword_with); - if (lookahead == 'o') ADVANCE(236); - END_STATE(); - case 195: - if (lookahead == 'T') ADVANCE(237); - END_STATE(); - case 196: - if (lookahead == 'R') ADVANCE(238); - END_STATE(); - case 197: if (lookahead == 'A') ADVANCE(239); END_STATE(); - case 198: - ACCEPT_TOKEN(sym_keyword_bytea); + case 184: + if (lookahead == 'L') ADVANCE(240); END_STATE(); - case 199: - if (lookahead == 'C') ADVANCE(240); - END_STATE(); - case 200: + case 185: if (lookahead == 'E') ADVANCE(241); END_STATE(); + case 186: + ACCEPT_TOKEN(aux_sym_keyword_temporary_token2); + if (lookahead == 'O') ADVANCE(242); + END_STATE(); + case 187: + ACCEPT_TOKEN(sym_keyword_text); + END_STATE(); + case 188: + ACCEPT_TOKEN(aux_sym_keyword_time_token1); + if (lookahead == 'S') ADVANCE(243); + END_STATE(); + case 189: + ACCEPT_TOKEN(sym_keyword_true); + END_STATE(); + case 190: + if (lookahead == 'G') ADVANCE(244); + END_STATE(); + case 191: + ACCEPT_TOKEN(sym_keyword_uuid); + END_STATE(); + case 192: + if (lookahead == 'H') ADVANCE(245); + END_STATE(); + case 193: + ACCEPT_TOKEN(aux_sym__with_time_zone_token1); + if (lookahead == 'O') ADVANCE(246); + END_STATE(); + case 194: + ACCEPT_TOKEN(aux_sym__keyword_time_zone_token1); + END_STATE(); + case 195: + if (lookahead == 'n') ADVANCE(247); + END_STATE(); + case 196: + if (lookahead == 'e') ADVANCE(248); + END_STATE(); + case 197: + if (lookahead == 'e') ADVANCE(249); + END_STATE(); + case 198: + if (lookahead == 'a') ADVANCE(224); + END_STATE(); + case 199: + ACCEPT_TOKEN(aux_sym_keyword_char_token2); + if (lookahead == 'a') ADVANCE(250); + END_STATE(); + case 200: + if (lookahead == 't') ADVANCE(251); + END_STATE(); case 201: - if (lookahead == 'I') ADVANCE(242); + if (lookahead == 't') ADVANCE(252); END_STATE(); case 202: - if (lookahead == 'A') ADVANCE(243); + ACCEPT_TOKEN(sym_keyword_date); + if (lookahead == 't') ADVANCE(253); END_STATE(); case 203: - if (lookahead == 'E') ADVANCE(244); + if (lookahead == 'm') ADVANCE(254); END_STATE(); case 204: - if (lookahead == 'S') ADVANCE(245); + if (lookahead == 'u') ADVANCE(255); END_STATE(); case 205: - if (lookahead == 'E') ADVANCE(246); + if (lookahead == 'l') ADVANCE(256); END_STATE(); case 206: - ACCEPT_TOKEN(sym_keyword_jsonb); + if (lookahead == 't') ADVANCE(257); END_STATE(); case 207: - ACCEPT_TOKEN(sym_keyword_money); + if (lookahead == 'e') ADVANCE(233); END_STATE(); case 208: - if (lookahead == 'I') ADVANCE(247); + if (lookahead == 'g') ADVANCE(258); END_STATE(); case 209: - if (lookahead == 'S') ADVANCE(248); + ACCEPT_TOKEN(sym_keyword_json); + if (lookahead == 'b') ADVANCE(235); END_STATE(); case 210: - if (lookahead == 'L') ADVANCE(249); + if (lookahead == 'y') ADVANCE(236); END_STATE(); case 211: - if (lookahead == 'I') ADVANCE(250); - if (lookahead == 'S') ADVANCE(251); + if (lookahead == 'r') ADVANCE(259); END_STATE(); case 212: - ACCEPT_TOKEN(sym_keyword_table); - END_STATE(); - case 213: - if (lookahead == 'R') ADVANCE(252); - END_STATE(); - case 214: - if (lookahead == 'T') ADVANCE(253); - END_STATE(); - case 215: - if (lookahead == 'G') ADVANCE(254); - END_STATE(); - case 216: - if (lookahead == 'A') ADVANCE(255); - END_STATE(); - case 217: - if (lookahead == 'U') ADVANCE(256); - END_STATE(); - case 218: - if (lookahead == 't') ADVANCE(237); - END_STATE(); - case 219: - if (lookahead == 'r') ADVANCE(257); - END_STATE(); - case 220: - if (lookahead == 'a') ADVANCE(258); - END_STATE(); - case 221: - if (lookahead == 'c') ADVANCE(259); - END_STATE(); - case 222: - if (lookahead == 'e') ADVANCE(241); - END_STATE(); - case 223: if (lookahead == 'i') ADVANCE(260); END_STATE(); - case 224: + case 213: if (lookahead == 'a') ADVANCE(261); END_STATE(); - case 225: - if (lookahead == 'e') ADVANCE(244); + case 214: + if (lookahead == 'l') ADVANCE(262); END_STATE(); - case 226: - if (lookahead == 's') ADVANCE(245); + case 215: + if (lookahead == 'e') ADVANCE(241); END_STATE(); - case 227: - if (lookahead == 'e') ADVANCE(262); + case 216: + ACCEPT_TOKEN(aux_sym_keyword_temporary_token2); + if (lookahead == 'o') ADVANCE(263); END_STATE(); - case 228: - if (lookahead == 'i') ADVANCE(263); - END_STATE(); - case 229: + case 217: + ACCEPT_TOKEN(aux_sym_keyword_time_token1); if (lookahead == 's') ADVANCE(264); END_STATE(); + case 218: + if (lookahead == 'g') ADVANCE(265); + END_STATE(); + case 219: + if (lookahead == 'h') ADVANCE(266); + END_STATE(); + case 220: + ACCEPT_TOKEN(aux_sym__with_time_zone_token1); + if (lookahead == 'o') ADVANCE(267); + END_STATE(); + case 221: + if (lookahead == 'T') ADVANCE(268); + END_STATE(); + case 222: + if (lookahead == 'R') ADVANCE(269); + END_STATE(); + case 223: + if (lookahead == 'A') ADVANCE(270); + END_STATE(); + case 224: + ACCEPT_TOKEN(sym_keyword_bytea); + END_STATE(); + case 225: + if (lookahead == 'C') ADVANCE(271); + END_STATE(); + case 226: + if (lookahead == 'R') ADVANCE(272); + END_STATE(); + case 227: + if (lookahead == 'E') ADVANCE(273); + END_STATE(); + case 228: + if (lookahead == 'I') ADVANCE(274); + END_STATE(); + case 229: + if (lookahead == 'A') ADVANCE(275); + END_STATE(); case 230: - if (lookahead == 'l') ADVANCE(249); - END_STATE(); - case 231: - if (lookahead == 'i') ADVANCE(265); - if (lookahead == 's') ADVANCE(266); - END_STATE(); - case 232: - if (lookahead == 'r') ADVANCE(267); - END_STATE(); - case 233: - if (lookahead == 't') ADVANCE(268); - END_STATE(); - case 234: - if (lookahead == 'g') ADVANCE(269); - END_STATE(); - case 235: - if (lookahead == 'a') ADVANCE(270); - END_STATE(); - case 236: - if (lookahead == 'u') ADVANCE(271); - END_STATE(); - case 237: - ACCEPT_TOKEN(sym_keyword_bigint); - END_STATE(); - case 238: - if (lookahead == 'I') ADVANCE(272); - END_STATE(); - case 239: - if (lookahead == 'N') ADVANCE(273); - END_STATE(); - case 240: - if (lookahead == 'T') ADVANCE(274); - END_STATE(); - case 241: - ACCEPT_TOKEN(sym_keyword_create); - END_STATE(); - case 242: - if (lookahead == 'M') ADVANCE(275); - END_STATE(); - case 243: if (lookahead == 'L') ADVANCE(276); END_STATE(); - case 244: - ACCEPT_TOKEN(aux_sym_double_token1); + case 231: + if (lookahead == 'E') ADVANCE(277); END_STATE(); - case 245: - ACCEPT_TOKEN(sym_keyword_exists); + case 232: + if (lookahead == 'S') ADVANCE(278); END_STATE(); - case 246: - if (lookahead == 'R') ADVANCE(277); + case 233: + ACCEPT_TOKEN(sym_keyword_false); END_STATE(); - case 247: - if (lookahead == 'C') ADVANCE(278); + case 234: + if (lookahead == 'E') ADVANCE(279); END_STATE(); - case 248: - if (lookahead == 'I') ADVANCE(279); + case 235: + ACCEPT_TOKEN(sym_keyword_jsonb); END_STATE(); - case 249: - ACCEPT_TOKEN(sym_keyword_serial); + case 236: + ACCEPT_TOKEN(sym_keyword_money); END_STATE(); - case 250: - if (lookahead == 'N') ADVANCE(280); + case 237: + if (lookahead == 'I') ADVANCE(280); END_STATE(); - case 251: - if (lookahead == 'E') ADVANCE(281); + case 238: + if (lookahead == 'S') ADVANCE(281); END_STATE(); - case 252: - if (lookahead == 'A') ADVANCE(282); + case 239: + if (lookahead == 'L') ADVANCE(282); END_STATE(); - case 253: - if (lookahead == 'A') ADVANCE(283); + case 240: + if (lookahead == 'I') ADVANCE(283); + if (lookahead == 'S') ADVANCE(284); END_STATE(); - case 254: - if (lookahead == 'E') ADVANCE(284); + case 241: + ACCEPT_TOKEN(sym_keyword_table); END_STATE(); - case 255: + case 242: if (lookahead == 'R') ADVANCE(285); END_STATE(); - case 256: + case 243: if (lookahead == 'T') ADVANCE(286); END_STATE(); + case 244: + if (lookahead == 'G') ADVANCE(287); + END_STATE(); + case 245: + if (lookahead == 'A') ADVANCE(288); + END_STATE(); + case 246: + if (lookahead == 'U') ADVANCE(289); + END_STATE(); + case 247: + if (lookahead == 't') ADVANCE(268); + END_STATE(); + case 248: + if (lookahead == 'r') ADVANCE(290); + END_STATE(); + case 249: + if (lookahead == 'a') ADVANCE(291); + END_STATE(); + case 250: + if (lookahead == 'c') ADVANCE(292); + END_STATE(); + case 251: + if (lookahead == 'r') ADVANCE(293); + END_STATE(); + case 252: + if (lookahead == 'e') ADVANCE(273); + END_STATE(); + case 253: + if (lookahead == 'i') ADVANCE(294); + END_STATE(); + case 254: + if (lookahead == 'a') ADVANCE(295); + END_STATE(); + case 255: + if (lookahead == 'l') ADVANCE(296); + END_STATE(); + case 256: + if (lookahead == 'e') ADVANCE(277); + END_STATE(); case 257: - if (lookahead == 'i') ADVANCE(287); + if (lookahead == 's') ADVANCE(278); END_STATE(); case 258: - if (lookahead == 'n') ADVANCE(273); + if (lookahead == 'e') ADVANCE(297); END_STATE(); case 259: - if (lookahead == 't') ADVANCE(288); + if (lookahead == 'i') ADVANCE(298); END_STATE(); case 260: - if (lookahead == 'm') ADVANCE(289); + if (lookahead == 's') ADVANCE(299); END_STATE(); case 261: - if (lookahead == 'l') ADVANCE(276); + if (lookahead == 'l') ADVANCE(282); END_STATE(); case 262: - if (lookahead == 'r') ADVANCE(277); + if (lookahead == 'i') ADVANCE(300); + if (lookahead == 's') ADVANCE(301); END_STATE(); case 263: - if (lookahead == 'c') ADVANCE(278); + if (lookahead == 'r') ADVANCE(302); END_STATE(); case 264: - if (lookahead == 'i') ADVANCE(290); + if (lookahead == 't') ADVANCE(303); END_STATE(); case 265: - if (lookahead == 'n') ADVANCE(291); + if (lookahead == 'g') ADVANCE(304); END_STATE(); case 266: - if (lookahead == 'e') ADVANCE(292); - END_STATE(); - case 267: - if (lookahead == 'a') ADVANCE(293); - END_STATE(); - case 268: - if (lookahead == 'a') ADVANCE(294); - END_STATE(); - case 269: - if (lookahead == 'e') ADVANCE(295); - END_STATE(); - case 270: - if (lookahead == 'r') ADVANCE(285); - END_STATE(); - case 271: - if (lookahead == 't') ADVANCE(286); - END_STATE(); - case 272: - if (lookahead == 'A') ADVANCE(296); - END_STATE(); - case 273: - ACCEPT_TOKEN(sym_keyword_boolean); - END_STATE(); - case 274: - if (lookahead == 'E') ADVANCE(297); - END_STATE(); - case 275: - if (lookahead == 'E') ADVANCE(298); - END_STATE(); - case 276: - ACCEPT_TOKEN(sym_keyword_decimal); - END_STATE(); - case 277: - ACCEPT_TOKEN(sym_keyword_integer); - END_STATE(); - case 278: - ACCEPT_TOKEN(sym_keyword_numeric); - END_STATE(); - case 279: - if (lookahead == 'O') ADVANCE(299); - END_STATE(); - case 280: - if (lookahead == 'T') ADVANCE(300); - END_STATE(); - case 281: - if (lookahead == 'R') ADVANCE(301); - END_STATE(); - case 282: - if (lookahead == 'R') ADVANCE(302); - END_STATE(); - case 283: - if (lookahead == 'M') ADVANCE(303); - END_STATE(); - case 284: - if (lookahead == 'D') ADVANCE(304); - END_STATE(); - case 285: - ACCEPT_TOKEN(aux_sym_keyword_varchar_token1); - END_STATE(); - case 286: - ACCEPT_TOKEN(sym__keyword_without); - END_STATE(); - case 287: if (lookahead == 'a') ADVANCE(305); END_STATE(); - case 288: - if (lookahead == 'e') ADVANCE(306); + case 267: + if (lookahead == 'u') ADVANCE(306); END_STATE(); - case 289: - if (lookahead == 'e') ADVANCE(298); + case 268: + ACCEPT_TOKEN(sym_keyword_bigint); END_STATE(); - case 290: - if (lookahead == 'o') ADVANCE(307); + case 269: + if (lookahead == 'I') ADVANCE(307); END_STATE(); - case 291: - if (lookahead == 't') ADVANCE(300); + case 270: + if (lookahead == 'N') ADVANCE(308); END_STATE(); - case 292: - if (lookahead == 'r') ADVANCE(308); + case 271: + if (lookahead == 'T') ADVANCE(309); END_STATE(); - case 293: - if (lookahead == 'r') ADVANCE(309); + case 272: + if (lookahead == 'A') ADVANCE(310); END_STATE(); - case 294: - if (lookahead == 'm') ADVANCE(310); + case 273: + ACCEPT_TOKEN(sym_keyword_create); END_STATE(); - case 295: - if (lookahead == 'd') ADVANCE(304); + case 274: + if (lookahead == 'M') ADVANCE(311); END_STATE(); - case 296: - if (lookahead == 'L') ADVANCE(311); + case 275: + if (lookahead == 'L') ADVANCE(312); END_STATE(); - case 297: - if (lookahead == 'R') ADVANCE(312); + case 276: + if (lookahead == 'T') ADVANCE(313); END_STATE(); - case 298: - ACCEPT_TOKEN(sym_keyword_datetime); + case 277: + ACCEPT_TOKEN(aux_sym_double_token1); END_STATE(); - case 299: - if (lookahead == 'N') ADVANCE(313); + case 278: + ACCEPT_TOKEN(sym_keyword_exists); END_STATE(); - case 300: - ACCEPT_TOKEN(sym_keyword_smallint); + case 279: + if (lookahead == 'R') ADVANCE(314); END_STATE(); - case 301: - if (lookahead == 'I') ADVANCE(314); + case 280: + if (lookahead == 'C') ADVANCE(315); END_STATE(); - case 302: - if (lookahead == 'Y') ADVANCE(315); + case 281: + if (lookahead == 'I') ADVANCE(316); END_STATE(); - case 303: - if (lookahead == 'P') ADVANCE(316); + case 282: + ACCEPT_TOKEN(sym_keyword_serial); END_STATE(); - case 304: - ACCEPT_TOKEN(sym_keyword_unlogged); + case 283: + if (lookahead == 'N') ADVANCE(317); END_STATE(); - case 305: - if (lookahead == 'l') ADVANCE(311); + case 284: + if (lookahead == 'E') ADVANCE(318); END_STATE(); - case 306: - if (lookahead == 'r') ADVANCE(312); - END_STATE(); - case 307: - if (lookahead == 'n') ADVANCE(313); - END_STATE(); - case 308: - if (lookahead == 'i') ADVANCE(317); - END_STATE(); - case 309: - if (lookahead == 'y') ADVANCE(315); - END_STATE(); - case 310: - if (lookahead == 'p') ADVANCE(318); - END_STATE(); - case 311: - ACCEPT_TOKEN(sym_keyword_bigserial); - END_STATE(); - case 312: - ACCEPT_TOKEN(aux_sym_keyword_char_token1); - END_STATE(); - case 313: - ACCEPT_TOKEN(aux_sym_double_token2); - END_STATE(); - case 314: + case 285: if (lookahead == 'A') ADVANCE(319); END_STATE(); + case 286: + if (lookahead == 'A') ADVANCE(320); + END_STATE(); + case 287: + if (lookahead == 'E') ADVANCE(321); + END_STATE(); + case 288: + if (lookahead == 'R') ADVANCE(322); + END_STATE(); + case 289: + if (lookahead == 'T') ADVANCE(323); + END_STATE(); + case 290: + if (lookahead == 'i') ADVANCE(324); + END_STATE(); + case 291: + if (lookahead == 'n') ADVANCE(308); + END_STATE(); + case 292: + if (lookahead == 't') ADVANCE(325); + END_STATE(); + case 293: + if (lookahead == 'a') ADVANCE(326); + END_STATE(); + case 294: + if (lookahead == 'm') ADVANCE(327); + END_STATE(); + case 295: + if (lookahead == 'l') ADVANCE(312); + END_STATE(); + case 296: + if (lookahead == 't') ADVANCE(313); + END_STATE(); + case 297: + if (lookahead == 'r') ADVANCE(314); + END_STATE(); + case 298: + if (lookahead == 'c') ADVANCE(315); + END_STATE(); + case 299: + if (lookahead == 'i') ADVANCE(328); + END_STATE(); + case 300: + if (lookahead == 'n') ADVANCE(329); + END_STATE(); + case 301: + if (lookahead == 'e') ADVANCE(330); + END_STATE(); + case 302: + if (lookahead == 'a') ADVANCE(331); + END_STATE(); + case 303: + if (lookahead == 'a') ADVANCE(332); + END_STATE(); + case 304: + if (lookahead == 'e') ADVANCE(333); + END_STATE(); + case 305: + if (lookahead == 'r') ADVANCE(322); + END_STATE(); + case 306: + if (lookahead == 't') ADVANCE(323); + END_STATE(); + case 307: + if (lookahead == 'A') ADVANCE(334); + END_STATE(); + case 308: + ACCEPT_TOKEN(sym_keyword_boolean); + END_STATE(); + case 309: + if (lookahead == 'E') ADVANCE(335); + END_STATE(); + case 310: + if (lookahead == 'I') ADVANCE(336); + END_STATE(); + case 311: + if (lookahead == 'E') ADVANCE(337); + END_STATE(); + case 312: + ACCEPT_TOKEN(sym_keyword_decimal); + END_STATE(); + case 313: + ACCEPT_TOKEN(sym_keyword_default); + END_STATE(); + case 314: + ACCEPT_TOKEN(sym_keyword_integer); + END_STATE(); case 315: - ACCEPT_TOKEN(aux_sym_keyword_temporary_token1); + ACCEPT_TOKEN(sym_keyword_numeric); END_STATE(); case 316: - ACCEPT_TOKEN(aux_sym_keyword_timestamp_token1); - if (lookahead == 'T') ADVANCE(320); + if (lookahead == 'O') ADVANCE(338); END_STATE(); case 317: - if (lookahead == 'a') ADVANCE(321); + if (lookahead == 'T') ADVANCE(339); END_STATE(); case 318: - ACCEPT_TOKEN(aux_sym_keyword_timestamp_token1); - if (lookahead == 't') ADVANCE(322); + if (lookahead == 'R') ADVANCE(340); END_STATE(); case 319: - if (lookahead == 'L') ADVANCE(323); + if (lookahead == 'R') ADVANCE(341); END_STATE(); case 320: - if (lookahead == 'Z') ADVANCE(324); + if (lookahead == 'M') ADVANCE(342); END_STATE(); case 321: - if (lookahead == 'l') ADVANCE(323); + if (lookahead == 'D') ADVANCE(343); END_STATE(); case 322: - if (lookahead == 'z') ADVANCE(324); + ACCEPT_TOKEN(aux_sym_keyword_varchar_token1); END_STATE(); case 323: - ACCEPT_TOKEN(sym_keyword_smallserial); + ACCEPT_TOKEN(aux_sym__without_time_zone_token1); END_STATE(); case 324: + if (lookahead == 'a') ADVANCE(344); + END_STATE(); + case 325: + if (lookahead == 'e') ADVANCE(345); + END_STATE(); + case 326: + if (lookahead == 'i') ADVANCE(346); + END_STATE(); + case 327: + if (lookahead == 'e') ADVANCE(337); + END_STATE(); + case 328: + if (lookahead == 'o') ADVANCE(347); + END_STATE(); + case 329: + if (lookahead == 't') ADVANCE(339); + END_STATE(); + case 330: + if (lookahead == 'r') ADVANCE(348); + END_STATE(); + case 331: + if (lookahead == 'r') ADVANCE(349); + END_STATE(); + case 332: + if (lookahead == 'm') ADVANCE(350); + END_STATE(); + case 333: + if (lookahead == 'd') ADVANCE(343); + END_STATE(); + case 334: + if (lookahead == 'L') ADVANCE(351); + END_STATE(); + case 335: + if (lookahead == 'R') ADVANCE(352); + END_STATE(); + case 336: + if (lookahead == 'N') ADVANCE(353); + END_STATE(); + case 337: + ACCEPT_TOKEN(sym_keyword_datetime); + END_STATE(); + case 338: + if (lookahead == 'N') ADVANCE(354); + END_STATE(); + case 339: + ACCEPT_TOKEN(sym_keyword_smallint); + END_STATE(); + case 340: + if (lookahead == 'I') ADVANCE(355); + END_STATE(); + case 341: + if (lookahead == 'Y') ADVANCE(356); + END_STATE(); + case 342: + if (lookahead == 'P') ADVANCE(357); + END_STATE(); + case 343: + ACCEPT_TOKEN(sym_keyword_unlogged); + END_STATE(); + case 344: + if (lookahead == 'l') ADVANCE(351); + END_STATE(); + case 345: + if (lookahead == 'r') ADVANCE(352); + END_STATE(); + case 346: + if (lookahead == 'n') ADVANCE(358); + END_STATE(); + case 347: + if (lookahead == 'n') ADVANCE(354); + END_STATE(); + case 348: + if (lookahead == 'i') ADVANCE(359); + END_STATE(); + case 349: + if (lookahead == 'y') ADVANCE(356); + END_STATE(); + case 350: + if (lookahead == 'p') ADVANCE(360); + END_STATE(); + case 351: + ACCEPT_TOKEN(sym_keyword_bigserial); + END_STATE(); + case 352: + ACCEPT_TOKEN(aux_sym_keyword_char_token1); + END_STATE(); + case 353: + if (lookahead == 'T') ADVANCE(361); + END_STATE(); + case 354: + ACCEPT_TOKEN(aux_sym_double_token2); + END_STATE(); + case 355: + if (lookahead == 'A') ADVANCE(362); + END_STATE(); + case 356: + ACCEPT_TOKEN(aux_sym_keyword_temporary_token1); + END_STATE(); + case 357: + ACCEPT_TOKEN(aux_sym_keyword_timestamp_token1); + if (lookahead == 'T') ADVANCE(363); + END_STATE(); + case 358: + if (lookahead == 't') ADVANCE(361); + END_STATE(); + case 359: + if (lookahead == 'a') ADVANCE(364); + END_STATE(); + case 360: + ACCEPT_TOKEN(aux_sym_keyword_timestamp_token1); + if (lookahead == 't') ADVANCE(365); + END_STATE(); + case 361: + ACCEPT_TOKEN(sym_keyword_constraint); + END_STATE(); + case 362: + if (lookahead == 'L') ADVANCE(366); + END_STATE(); + case 363: + if (lookahead == 'Z') ADVANCE(367); + END_STATE(); + case 364: + if (lookahead == 'l') ADVANCE(366); + END_STATE(); + case 365: + if (lookahead == 'z') ADVANCE(367); + END_STATE(); + case 366: + ACCEPT_TOKEN(sym_keyword_smallserial); + END_STATE(); + case 367: ACCEPT_TOKEN(aux_sym_keyword_timestamptz_token1); END_STATE(); default: @@ -2146,8 +2518,8 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [61] = {.lex_state = 0}, [62] = {.lex_state = 0}, [63] = {.lex_state = 0}, - [64] = {.lex_state = 5}, - [65] = {.lex_state = 1}, + [64] = {.lex_state = 0}, + [65] = {.lex_state = 0}, [66] = {.lex_state = 0}, [67] = {.lex_state = 0}, [68] = {.lex_state = 0}, @@ -2167,14 +2539,32 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [82] = {.lex_state = 0}, [83] = {.lex_state = 0}, [84] = {.lex_state = 0}, - [85] = {.lex_state = 0}, + [85] = {.lex_state = 1}, [86] = {.lex_state = 0}, [87] = {.lex_state = 0}, [88] = {.lex_state = 0}, - [89] = {.lex_state = 0}, + [89] = {.lex_state = 35}, [90] = {.lex_state = 0}, - [91] = {(TSStateId)(-1)}, - [92] = {(TSStateId)(-1)}, + [91] = {.lex_state = 0}, + [92] = {.lex_state = 10}, + [93] = {.lex_state = 0}, + [94] = {.lex_state = 0}, + [95] = {.lex_state = 0}, + [96] = {.lex_state = 0}, + [97] = {.lex_state = 0}, + [98] = {.lex_state = 5}, + [99] = {.lex_state = 0}, + [100] = {.lex_state = 0}, + [101] = {.lex_state = 0}, + [102] = {.lex_state = 0}, + [103] = {.lex_state = 0}, + [104] = {.lex_state = 0}, + [105] = {.lex_state = 0}, + [106] = {.lex_state = 0}, + [107] = {.lex_state = 0}, + [108] = {.lex_state = 0}, + [109] = {(TSStateId)(-1)}, + [110] = {(TSStateId)(-1)}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -2196,6 +2586,11 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_keyword_if] = ACTIONS(1), [sym_keyword_not] = ACTIONS(1), [sym_keyword_exists] = ACTIONS(1), + [sym_keyword_null] = ACTIONS(1), + [sym_keyword_constraint] = ACTIONS(1), + [sym_keyword_default] = ACTIONS(1), + [sym_keyword_true] = ACTIONS(1), + [sym_keyword_false] = ACTIONS(1), [aux_sym_double_token1] = ACTIONS(1), [aux_sym_double_token2] = ACTIONS(1), [sym_keyword_boolean] = ACTIONS(1), @@ -2219,8 +2614,8 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_keyword_time_token1] = ACTIONS(1), [aux_sym_keyword_timestamp_token1] = ACTIONS(1), [aux_sym_keyword_timestamptz_token1] = ACTIONS(1), - [sym__keyword_without] = ACTIONS(1), - [sym__keyword_with] = ACTIONS(1), + [aux_sym__without_time_zone_token1] = ACTIONS(1), + [aux_sym__with_time_zone_token1] = ACTIONS(1), [aux_sym__keyword_time_zone_token1] = ACTIONS(1), [sym_keyword_uuid] = ACTIONS(1), [sym_keyword_xml] = ACTIONS(1), @@ -2229,76 +2624,100 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_DASH_DASH] = ACTIONS(3), [anon_sym_SLASH_STAR] = ACTIONS(5), [anon_sym_SLASH] = ACTIONS(1), + [anon_sym_SQUOTE] = ACTIONS(1), [sym__number] = ACTIONS(1), [anon_sym_DQUOTE] = ACTIONS(1), }, [1] = { - [sym_source_file] = STATE(61), - [sym_statement] = STATE(25), - [sym__ddl_statement] = STATE(84), - [sym__create_statement] = STATE(68), - [sym_create_table] = STATE(69), + [sym_source_file] = STATE(103), + [sym_statement] = STATE(57), + [sym__ddl_statement] = STATE(108), + [sym__create_statement] = STATE(107), + [sym_create_table] = STATE(104), [sym_comment] = STATE(1), [sym_marginalia] = STATE(1), - [aux_sym_source_file_repeat1] = STATE(5), + [aux_sym_source_file_repeat1] = STATE(10), [ts_builtin_sym_end] = ACTIONS(7), [anon_sym_SEMI] = ACTIONS(9), [sym_keyword_create] = ACTIONS(11), [anon_sym_DASH_DASH] = ACTIONS(3), [anon_sym_SLASH_STAR] = ACTIONS(5), }, - [2] = { - [sym__type] = STATE(58), - [sym__type_numeric] = STATE(46), - [sym_double] = STATE(30), - [sym_decimal] = STATE(30), - [sym_numeric] = STATE(30), - [sym__type_character] = STATE(46), - [sym_char] = STATE(50), - [sym_varchar] = STATE(50), - [sym__type_datetime] = STATE(46), - [sym__type_geometric] = STATE(46), - [sym__type_net] = STATE(46), - [sym__type_bit_string] = STATE(46), - [sym__type_text_search] = STATE(46), - [sym_keyword_char] = STATE(27), - [sym_keyword_varchar] = STATE(29), - [sym_keyword_time] = STATE(54), - [sym_keyword_timestamp] = STATE(54), - [sym_keyword_timestamptz] = STATE(54), - [sym_comment] = STATE(2), - [sym_marginalia] = STATE(2), - [aux_sym_double_token1] = ACTIONS(13), - [sym_keyword_boolean] = ACTIONS(15), - [sym_keyword_smallint] = ACTIONS(17), - [sym_keyword_integer] = ACTIONS(17), - [sym_keyword_bigint] = ACTIONS(17), - [sym_keyword_decimal] = ACTIONS(19), - [sym_keyword_numeric] = ACTIONS(21), - [sym_keyword_real] = ACTIONS(17), - [sym_keyword_smallserial] = ACTIONS(17), - [sym_keyword_serial] = ACTIONS(17), - [sym_keyword_bigserial] = ACTIONS(17), - [sym_keyword_money] = ACTIONS(15), - [sym_keyword_text] = ACTIONS(23), - [aux_sym_keyword_char_token1] = ACTIONS(25), - [aux_sym_keyword_char_token2] = ACTIONS(27), - [aux_sym_keyword_varchar_token1] = ACTIONS(29), - [sym_keyword_bytea] = ACTIONS(15), - [sym_keyword_date] = ACTIONS(31), - [sym_keyword_datetime] = ACTIONS(33), - [aux_sym_keyword_time_token1] = ACTIONS(35), - [aux_sym_keyword_timestamp_token1] = ACTIONS(37), - [aux_sym_keyword_timestamptz_token1] = ACTIONS(39), - [sym_keyword_uuid] = ACTIONS(15), - [sym_keyword_xml] = ACTIONS(15), - [anon_sym_DASH_DASH] = ACTIONS(3), - [anon_sym_SLASH_STAR] = ACTIONS(5), - }, }; static const uint16_t ts_small_parse_table[] = { - [0] = 5, + [0] = 24, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(13), 1, + aux_sym_double_token1, + ACTIONS(19), 1, + sym_keyword_decimal, + ACTIONS(21), 1, + sym_keyword_numeric, + ACTIONS(23), 1, + sym_keyword_text, + ACTIONS(25), 1, + aux_sym_keyword_char_token1, + ACTIONS(27), 1, + aux_sym_keyword_char_token2, + ACTIONS(29), 1, + aux_sym_keyword_varchar_token1, + ACTIONS(31), 1, + sym_keyword_date, + ACTIONS(33), 1, + sym_keyword_datetime, + ACTIONS(35), 1, + aux_sym_keyword_time_token1, + ACTIONS(37), 1, + aux_sym_keyword_timestamp_token1, + ACTIONS(39), 1, + aux_sym_keyword_timestamptz_token1, + STATE(8), 1, + sym__type, + STATE(19), 1, + sym_keyword_varchar, + STATE(20), 1, + sym_keyword_char, + STATE(2), 2, + sym_comment, + sym_marginalia, + STATE(49), 2, + sym_char, + sym_varchar, + STATE(41), 3, + sym_keyword_time, + sym_keyword_timestamp, + sym_keyword_timestamptz, + STATE(46), 3, + sym_double, + sym_decimal, + sym_numeric, + ACTIONS(15), 5, + sym_keyword_boolean, + sym_keyword_money, + sym_keyword_bytea, + sym_keyword_uuid, + sym_keyword_xml, + ACTIONS(17), 7, + sym_keyword_smallint, + sym_keyword_integer, + sym_keyword_bigint, + sym_keyword_real, + sym_keyword_smallserial, + sym_keyword_serial, + sym_keyword_bigserial, + STATE(45), 7, + sym__type_numeric, + sym__type_character, + sym__type_datetime, + sym__type_geometric, + sym__type_net, + sym__type_bit_string, + sym__type_text_search, + [95] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -2311,9 +2730,12 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_date, aux_sym_keyword_time_token1, aux_sym_keyword_timestamp_token1, - ACTIONS(41), 22, + ACTIONS(41), 25, anon_sym_LPAREN, anon_sym_DOT, + sym_keyword_not, + sym_keyword_null, + sym_keyword_default, aux_sym_double_token1, sym_keyword_boolean, sym_keyword_smallint, @@ -2334,7 +2756,7 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_keyword_timestamptz_token1, sym_keyword_uuid, sym_keyword_xml, - [41] = 5, + [139] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -2347,9 +2769,12 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_date, aux_sym_keyword_time_token1, aux_sym_keyword_timestamp_token1, - ACTIONS(45), 22, + ACTIONS(45), 25, anon_sym_LPAREN, anon_sym_DOT, + sym_keyword_not, + sym_keyword_null, + sym_keyword_default, aux_sym_double_token1, sym_keyword_boolean, sym_keyword_smallint, @@ -2370,7 +2795,126 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_keyword_timestamptz_token1, sym_keyword_uuid, sym_keyword_xml, - [82] = 11, + [183] = 8, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(51), 1, + aux_sym__without_time_zone_token1, + ACTIONS(53), 1, + aux_sym__with_time_zone_token1, + STATE(38), 1, + sym__without_time_zone, + STATE(44), 1, + sym__with_time_zone, + STATE(5), 2, + sym_comment, + sym_marginalia, + ACTIONS(49), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + [214] = 7, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(51), 1, + aux_sym__without_time_zone_token1, + ACTIONS(53), 1, + aux_sym__with_time_zone_token1, + STATE(6), 2, + sym_comment, + sym_marginalia, + STATE(24), 2, + sym__without_time_zone, + sym__with_time_zone, + ACTIONS(55), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + [243] = 11, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(59), 1, + sym_keyword_not, + ACTIONS(61), 1, + sym_keyword_null, + ACTIONS(63), 1, + sym_keyword_constraint, + ACTIONS(65), 1, + sym_keyword_default, + STATE(9), 1, + aux_sym_column_definition_repeat1, + STATE(22), 1, + sym__not_null, + STATE(39), 1, + sym_column_constraint, + ACTIONS(57), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + STATE(7), 2, + sym_comment, + sym_marginalia, + [279] = 11, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(59), 1, + sym_keyword_not, + ACTIONS(61), 1, + sym_keyword_null, + ACTIONS(63), 1, + sym_keyword_constraint, + ACTIONS(65), 1, + sym_keyword_default, + STATE(7), 1, + aux_sym_column_definition_repeat1, + STATE(22), 1, + sym__not_null, + STATE(39), 1, + sym_column_constraint, + ACTIONS(67), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + STATE(8), 2, + sym_comment, + sym_marginalia, + [315] = 10, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(71), 1, + sym_keyword_not, + ACTIONS(74), 1, + sym_keyword_null, + ACTIONS(77), 1, + sym_keyword_constraint, + ACTIONS(80), 1, + sym_keyword_default, + STATE(22), 1, + sym__not_null, + STATE(39), 1, + sym_column_constraint, + ACTIONS(69), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + STATE(9), 3, + sym_comment, + sym_marginalia, + aux_sym_column_definition_repeat1, + [349] = 11, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -2379,206 +2923,119 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_SEMI, ACTIONS(11), 1, sym_keyword_create, - ACTIONS(49), 1, + ACTIONS(83), 1, ts_builtin_sym_end, - STATE(6), 1, + STATE(13), 1, aux_sym_source_file_repeat1, - STATE(25), 1, + STATE(57), 1, sym_statement, - STATE(68), 1, - sym__create_statement, - STATE(69), 1, + STATE(104), 1, sym_create_table, - STATE(84), 1, - sym__ddl_statement, - STATE(5), 2, - sym_comment, - sym_marginalia, - [117] = 10, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(51), 1, - ts_builtin_sym_end, - ACTIONS(53), 1, - anon_sym_SEMI, - ACTIONS(56), 1, - sym_keyword_create, - STATE(25), 1, - sym_statement, - STATE(68), 1, + STATE(107), 1, sym__create_statement, - STATE(69), 1, - sym_create_table, - STATE(84), 1, + STATE(108), 1, sym__ddl_statement, - STATE(6), 3, - sym_comment, - sym_marginalia, - aux_sym_source_file_repeat1, - [150] = 9, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(59), 1, - sym__identifier, - ACTIONS(61), 1, - sym_keyword_if, - ACTIONS(63), 1, - anon_sym_DQUOTE, - STATE(14), 1, - sym__if_not_exists, - STATE(38), 1, - sym_identifier, - STATE(42), 1, - sym_table_reference, - STATE(7), 2, - sym_comment, - sym_marginalia, - [179] = 9, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(59), 1, - sym__identifier, - ACTIONS(61), 1, - sym_keyword_if, - ACTIONS(63), 1, - anon_sym_DQUOTE, - STATE(15), 1, - sym__if_not_exists, - STATE(32), 1, - sym_table_reference, - STATE(38), 1, - sym_identifier, - STATE(8), 2, - sym_comment, - sym_marginalia, - [208] = 8, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(67), 1, - sym__keyword_without, - ACTIONS(69), 1, - sym__keyword_with, - STATE(49), 1, - sym__with_time_zone, - STATE(51), 1, - sym__without_time_zone, - ACTIONS(65), 2, - anon_sym_COMMA, - anon_sym_RPAREN, - STATE(9), 2, - sym_comment, - sym_marginalia, - [235] = 7, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(67), 1, - sym__keyword_without, - ACTIONS(69), 1, - sym__keyword_with, - ACTIONS(71), 2, - anon_sym_COMMA, - anon_sym_RPAREN, STATE(10), 2, sym_comment, sym_marginalia, - STATE(52), 2, - sym__without_time_zone, - sym__with_time_zone, - [260] = 8, + [384] = 8, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(63), 1, - anon_sym_DQUOTE, - ACTIONS(73), 1, - sym__identifier, - ACTIONS(75), 1, - anon_sym_RPAREN, - STATE(2), 1, - sym_identifier, - STATE(26), 1, - sym_column_definition, + ACTIONS(87), 1, + anon_sym_SQUOTE, + STATE(25), 1, + sym__literal_string, + STATE(42), 1, + sym_literal, + STATE(43), 1, + sym__expression, STATE(11), 2, sym_comment, sym_marginalia, - [286] = 8, + ACTIONS(85), 4, + sym_keyword_null, + sym_keyword_true, + sym_keyword_false, + sym__number, + [413] = 8, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(77), 1, - sym_keyword_table, - ACTIONS(79), 1, - aux_sym_keyword_temporary_token1, - ACTIONS(81), 1, - aux_sym_keyword_temporary_token2, - ACTIONS(83), 1, - sym_keyword_unlogged, - STATE(75), 1, - sym_keyword_temporary, + ACTIONS(87), 1, + anon_sym_SQUOTE, + STATE(23), 1, + sym__expression, + STATE(25), 1, + sym__literal_string, + STATE(42), 1, + sym_literal, STATE(12), 2, sym_comment, sym_marginalia, - [312] = 7, + ACTIONS(85), 4, + sym_keyword_null, + sym_keyword_true, + sym_keyword_false, + sym__number, + [442] = 10, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(63), 1, - anon_sym_DQUOTE, - ACTIONS(73), 1, - sym__identifier, - STATE(2), 1, - sym_identifier, - STATE(31), 1, - sym_column_definition, - STATE(13), 2, + ACTIONS(89), 1, + ts_builtin_sym_end, + ACTIONS(91), 1, + anon_sym_SEMI, + ACTIONS(94), 1, + sym_keyword_create, + STATE(57), 1, + sym_statement, + STATE(104), 1, + sym_create_table, + STATE(107), 1, + sym__create_statement, + STATE(108), 1, + sym__ddl_statement, + STATE(13), 3, sym_comment, sym_marginalia, - [335] = 7, + aux_sym_source_file_repeat1, + [475] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(63), 1, - anon_sym_DQUOTE, - ACTIONS(73), 1, - sym__identifier, - STATE(32), 1, - sym_table_reference, - STATE(38), 1, - sym_identifier, STATE(14), 2, sym_comment, sym_marginalia, - [358] = 7, + ACTIONS(97), 7, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + [495] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(63), 1, - anon_sym_DQUOTE, - ACTIONS(73), 1, - sym__identifier, - STATE(38), 1, - sym_identifier, - STATE(41), 1, - sym_table_reference, STATE(15), 2, sym_comment, sym_marginalia, - [381] = 4, + ACTIONS(99), 7, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + [515] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -2586,62 +3043,83 @@ static const uint16_t ts_small_parse_table[] = { STATE(16), 2, sym_comment, sym_marginalia, - ACTIONS(85), 3, + ACTIONS(101), 7, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, - [397] = 5, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + [535] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(88), 1, + ACTIONS(104), 1, anon_sym_LPAREN, - ACTIONS(90), 2, - anon_sym_COMMA, - anon_sym_RPAREN, STATE(17), 2, sym_comment, sym_marginalia, - [415] = 5, + ACTIONS(106), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + [557] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(92), 1, + ACTIONS(108), 1, anon_sym_LPAREN, - ACTIONS(94), 2, - anon_sym_COMMA, - anon_sym_RPAREN, STATE(18), 2, sym_comment, sym_marginalia, - [433] = 4, + ACTIONS(110), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + [579] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, + ACTIONS(112), 1, + anon_sym_LPAREN, STATE(19), 2, sym_comment, sym_marginalia, - ACTIONS(96), 3, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_keyword_create, - [449] = 5, + ACTIONS(114), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + [601] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(98), 1, - anon_sym_COMMA, - ACTIONS(101), 1, - anon_sym_RPAREN, - STATE(20), 3, + ACTIONS(116), 1, + anon_sym_LPAREN, + STATE(20), 2, sym_comment, sym_marginalia, - aux_sym_column_definitions_repeat1, - [467] = 4, + ACTIONS(118), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + [623] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -2649,39 +3127,44 @@ static const uint16_t ts_small_parse_table[] = { STATE(21), 2, sym_comment, sym_marginalia, - ACTIONS(103), 3, - anon_sym_LPAREN, + ACTIONS(120), 6, anon_sym_COMMA, anon_sym_RPAREN, - [483] = 6, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + [642] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(105), 1, - anon_sym_COMMA, - ACTIONS(107), 1, - anon_sym_RPAREN, - STATE(20), 1, - aux_sym_column_definitions_repeat1, STATE(22), 2, sym_comment, sym_marginalia, - [503] = 6, + ACTIONS(122), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + [661] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(63), 1, - anon_sym_DQUOTE, - ACTIONS(73), 1, - sym__identifier, - STATE(86), 1, - sym_identifier, STATE(23), 2, sym_comment, sym_marginalia, - [523] = 4, + ACTIONS(124), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + [680] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -2689,11 +3172,14 @@ static const uint16_t ts_small_parse_table[] = { STATE(24), 2, sym_comment, sym_marginalia, - ACTIONS(109), 3, - anon_sym_LPAREN, + ACTIONS(126), 6, anon_sym_COMMA, anon_sym_RPAREN, - [539] = 4, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + [699] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -2701,38 +3187,49 @@ static const uint16_t ts_small_parse_table[] = { STATE(25), 2, sym_comment, sym_marginalia, - ACTIONS(111), 3, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_keyword_create, - [555] = 6, + ACTIONS(128), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + [718] = 9, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(105), 1, - anon_sym_COMMA, - ACTIONS(113), 1, - anon_sym_RPAREN, - STATE(22), 1, - aux_sym_column_definitions_repeat1, + ACTIONS(130), 1, + sym__identifier, + ACTIONS(132), 1, + sym_keyword_if, + ACTIONS(134), 1, + anon_sym_DQUOTE, + STATE(54), 1, + sym__if_not_exists, + STATE(67), 1, + sym_identifier, + STATE(71), 1, + sym_table_reference, STATE(26), 2, sym_comment, sym_marginalia, - [575] = 5, + [747] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(115), 1, - anon_sym_LPAREN, - ACTIONS(117), 2, - anon_sym_COMMA, - anon_sym_RPAREN, STATE(27), 2, sym_comment, sym_marginalia, - [593] = 4, + ACTIONS(136), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + [766] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -2740,588 +3237,485 @@ static const uint16_t ts_small_parse_table[] = { STATE(28), 2, sym_comment, sym_marginalia, - ACTIONS(119), 3, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_keyword_create, - [609] = 5, + ACTIONS(138), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + [785] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(121), 1, - anon_sym_LPAREN, - ACTIONS(123), 2, - anon_sym_COMMA, - anon_sym_RPAREN, STATE(29), 2, sym_comment, sym_marginalia, - [627] = 4, + ACTIONS(140), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + [804] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(125), 2, - anon_sym_COMMA, - anon_sym_RPAREN, STATE(30), 2, sym_comment, sym_marginalia, - [642] = 4, + ACTIONS(142), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + [823] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(101), 2, - anon_sym_COMMA, - anon_sym_RPAREN, STATE(31), 2, sym_comment, sym_marginalia, - [657] = 5, + ACTIONS(144), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + [842] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(127), 1, - anon_sym_LPAREN, - STATE(87), 1, - sym_column_definitions, STATE(32), 2, sym_comment, sym_marginalia, - [674] = 4, + ACTIONS(146), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + [861] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(129), 2, - anon_sym_COMMA, - anon_sym_RPAREN, STATE(33), 2, sym_comment, sym_marginalia, - [689] = 4, + ACTIONS(148), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + [880] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(131), 2, - anon_sym_DQUOTE, - sym__identifier, STATE(34), 2, sym_comment, sym_marginalia, - [704] = 4, + ACTIONS(150), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + [899] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(133), 2, - anon_sym_COMMA, - anon_sym_RPAREN, STATE(35), 2, sym_comment, sym_marginalia, - [719] = 4, + ACTIONS(152), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + [918] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(135), 2, - anon_sym_COMMA, - anon_sym_RPAREN, STATE(36), 2, sym_comment, sym_marginalia, - [734] = 4, + ACTIONS(154), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + [937] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(137), 2, - anon_sym_COMMA, - anon_sym_RPAREN, STATE(37), 2, sym_comment, sym_marginalia, - [749] = 5, + ACTIONS(156), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + [956] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(139), 1, - anon_sym_LPAREN, - ACTIONS(141), 1, - anon_sym_DOT, STATE(38), 2, sym_comment, sym_marginalia, - [766] = 4, + ACTIONS(158), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + [975] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(143), 2, - anon_sym_COMMA, - anon_sym_RPAREN, STATE(39), 2, sym_comment, sym_marginalia, - [781] = 4, + ACTIONS(160), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + [994] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(145), 2, - anon_sym_COMMA, - anon_sym_RPAREN, STATE(40), 2, sym_comment, sym_marginalia, - [796] = 5, + ACTIONS(162), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + [1013] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(127), 1, - anon_sym_LPAREN, - STATE(62), 1, - sym_column_definitions, STATE(41), 2, sym_comment, sym_marginalia, - [813] = 5, + ACTIONS(164), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + [1032] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(127), 1, - anon_sym_LPAREN, - STATE(79), 1, - sym_column_definitions, STATE(42), 2, sym_comment, sym_marginalia, - [830] = 4, + ACTIONS(166), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + [1051] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(147), 2, - anon_sym_COMMA, - anon_sym_RPAREN, STATE(43), 2, sym_comment, sym_marginalia, - [845] = 4, + ACTIONS(168), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + [1070] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(149), 2, - anon_sym_COMMA, - anon_sym_RPAREN, STATE(44), 2, sym_comment, sym_marginalia, - [860] = 4, + ACTIONS(170), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + [1089] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(151), 2, - anon_sym_COMMA, - anon_sym_RPAREN, STATE(45), 2, sym_comment, sym_marginalia, - [875] = 4, + ACTIONS(172), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + [1108] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(153), 2, - anon_sym_COMMA, - anon_sym_RPAREN, STATE(46), 2, sym_comment, sym_marginalia, - [890] = 5, + ACTIONS(174), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + [1127] = 9, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(155), 1, - anon_sym_COMMA, - ACTIONS(157), 1, - anon_sym_RPAREN, + ACTIONS(130), 1, + sym__identifier, + ACTIONS(132), 1, + sym_keyword_if, + ACTIONS(134), 1, + anon_sym_DQUOTE, + STATE(53), 1, + sym__if_not_exists, + STATE(66), 1, + sym_table_reference, + STATE(67), 1, + sym_identifier, STATE(47), 2, sym_comment, sym_marginalia, - [907] = 5, + [1156] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(159), 1, - anon_sym_COMMA, - ACTIONS(161), 1, - anon_sym_RPAREN, STATE(48), 2, sym_comment, sym_marginalia, - [924] = 4, + ACTIONS(176), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + [1175] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(163), 2, - anon_sym_COMMA, - anon_sym_RPAREN, STATE(49), 2, sym_comment, sym_marginalia, - [939] = 4, + ACTIONS(178), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, + sym_keyword_null, + sym_keyword_constraint, + sym_keyword_default, + [1194] = 8, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(165), 2, - anon_sym_COMMA, - anon_sym_RPAREN, + ACTIONS(180), 1, + sym_keyword_table, + ACTIONS(182), 1, + aux_sym_keyword_temporary_token1, + ACTIONS(184), 1, + aux_sym_keyword_temporary_token2, + ACTIONS(186), 1, + sym_keyword_unlogged, + STATE(99), 1, + sym_keyword_temporary, STATE(50), 2, sym_comment, sym_marginalia, - [954] = 4, + [1220] = 8, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(167), 2, - anon_sym_COMMA, + ACTIONS(134), 1, + anon_sym_DQUOTE, + ACTIONS(188), 1, + sym__identifier, + ACTIONS(190), 1, anon_sym_RPAREN, + STATE(2), 1, + sym_identifier, + STATE(59), 1, + sym_column_definition, STATE(51), 2, sym_comment, sym_marginalia, - [969] = 4, + [1246] = 7, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(169), 2, - anon_sym_COMMA, - anon_sym_RPAREN, + ACTIONS(134), 1, + anon_sym_DQUOTE, + ACTIONS(188), 1, + sym__identifier, + STATE(2), 1, + sym_identifier, + STATE(70), 1, + sym_column_definition, STATE(52), 2, sym_comment, sym_marginalia, - [984] = 5, + [1269] = 7, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(171), 1, - aux_sym_keyword_time_token1, - STATE(44), 1, - sym__keyword_time_zone, + ACTIONS(134), 1, + anon_sym_DQUOTE, + ACTIONS(188), 1, + sym__identifier, + STATE(67), 1, + sym_identifier, + STATE(71), 1, + sym_table_reference, STATE(53), 2, sym_comment, sym_marginalia, - [1001] = 4, + [1292] = 7, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(173), 2, - anon_sym_COMMA, - anon_sym_RPAREN, + ACTIONS(134), 1, + anon_sym_DQUOTE, + ACTIONS(188), 1, + sym__identifier, + STATE(65), 1, + sym_table_reference, + STATE(67), 1, + sym_identifier, STATE(54), 2, sym_comment, sym_marginalia, - [1016] = 5, + [1315] = 7, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(171), 1, - aux_sym_keyword_time_token1, - STATE(45), 1, - sym__keyword_time_zone, + ACTIONS(59), 1, + sym_keyword_not, + ACTIONS(192), 1, + sym_keyword_null, + ACTIONS(194), 1, + sym_keyword_default, + STATE(48), 1, + sym__not_null, STATE(55), 2, sym_comment, sym_marginalia, - [1033] = 4, + [1338] = 6, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(175), 2, + ACTIONS(196), 1, anon_sym_COMMA, + ACTIONS(198), 1, anon_sym_RPAREN, + STATE(62), 1, + aux_sym_column_definitions_repeat1, STATE(56), 2, sym_comment, sym_marginalia, - [1048] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(177), 2, - anon_sym_COMMA, - anon_sym_RPAREN, - STATE(57), 2, - sym_comment, - sym_marginalia, - [1063] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(179), 2, - anon_sym_COMMA, - anon_sym_RPAREN, - STATE(58), 2, - sym_comment, - sym_marginalia, - [1078] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(181), 1, - aux_sym_double_token2, - STATE(59), 2, - sym_comment, - sym_marginalia, - [1092] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(183), 1, - sym__number, - STATE(60), 2, - sym_comment, - sym_marginalia, - [1106] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(185), 1, - ts_builtin_sym_end, - STATE(61), 2, - sym_comment, - sym_marginalia, - [1120] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(187), 1, - anon_sym_SEMI, - STATE(62), 2, - sym_comment, - sym_marginalia, - [1134] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(189), 1, - anon_sym_SEMI, - STATE(63), 2, - sym_comment, - sym_marginalia, - [1148] = 4, - ACTIONS(191), 1, - anon_sym_DASH_DASH, - ACTIONS(193), 1, - anon_sym_SLASH_STAR, - ACTIONS(195), 1, - aux_sym_marginalia_token1, - STATE(64), 2, - sym_comment, - sym_marginalia, - [1162] = 4, - ACTIONS(191), 1, - anon_sym_DASH_DASH, - ACTIONS(193), 1, - anon_sym_SLASH_STAR, - ACTIONS(197), 1, - aux_sym_comment_token1, - STATE(65), 2, - sym_comment, - sym_marginalia, - [1176] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(199), 1, - sym__number, - STATE(66), 2, - sym_comment, - sym_marginalia, - [1190] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(201), 1, - sym__number, - STATE(67), 2, - sym_comment, - sym_marginalia, - [1204] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(203), 1, - anon_sym_SEMI, - STATE(68), 2, - sym_comment, - sym_marginalia, - [1218] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(205), 1, - anon_sym_SEMI, - STATE(69), 2, - sym_comment, - sym_marginalia, - [1232] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(207), 1, - anon_sym_DQUOTE, - STATE(70), 2, - sym_comment, - sym_marginalia, - [1246] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(209), 1, - anon_sym_SLASH, - STATE(71), 2, - sym_comment, - sym_marginalia, - [1260] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(211), 1, - sym_keyword_table, - STATE(72), 2, - sym_comment, - sym_marginalia, - [1274] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(213), 1, - sym__number, - STATE(73), 2, - sym_comment, - sym_marginalia, - [1288] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(215), 1, - sym__number, - STATE(74), 2, - sym_comment, - sym_marginalia, - [1302] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(217), 1, - sym_keyword_table, - STATE(75), 2, - sym_comment, - sym_marginalia, - [1316] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(219), 1, - anon_sym_SEMI, - STATE(76), 2, - sym_comment, - sym_marginalia, - [1330] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(221), 1, - aux_sym__keyword_time_zone_token1, - STATE(77), 2, - sym_comment, - sym_marginalia, - [1344] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(223), 1, - sym_keyword_not, - STATE(78), 2, - sym_comment, - sym_marginalia, [1358] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(225), 1, + STATE(57), 2, + sym_comment, + sym_marginalia, + ACTIONS(200), 3, + ts_builtin_sym_end, anon_sym_SEMI, - STATE(79), 2, - sym_comment, - sym_marginalia, - [1372] = 4, + sym_keyword_create, + [1374] = 6, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(227), 1, + ACTIONS(134), 1, + anon_sym_DQUOTE, + ACTIONS(188), 1, + sym__identifier, + STATE(55), 1, + sym_identifier, + STATE(58), 2, + sym_comment, + sym_marginalia, + [1394] = 6, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(196), 1, + anon_sym_COMMA, + ACTIONS(202), 1, anon_sym_RPAREN, - STATE(80), 2, - sym_comment, - sym_marginalia, - [1386] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(229), 1, - anon_sym_RPAREN, - STATE(81), 2, - sym_comment, - sym_marginalia, - [1400] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(231), 1, - sym__number, - STATE(82), 2, + STATE(56), 1, + aux_sym_column_definitions_repeat1, + STATE(59), 2, sym_comment, sym_marginalia, [1414] = 4, @@ -3329,308 +3723,792 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(233), 1, - sym__identifier, - STATE(83), 2, + STATE(60), 2, sym_comment, sym_marginalia, - [1428] = 4, + ACTIONS(204), 3, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_keyword_create, + [1430] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + STATE(61), 2, + sym_comment, + sym_marginalia, + ACTIONS(206), 3, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_keyword_create, + [1446] = 5, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(208), 1, + anon_sym_COMMA, + ACTIONS(211), 1, + anon_sym_RPAREN, + STATE(62), 3, + sym_comment, + sym_marginalia, + aux_sym_column_definitions_repeat1, + [1464] = 6, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(134), 1, + anon_sym_DQUOTE, + ACTIONS(188), 1, + sym__identifier, + STATE(77), 1, + sym_identifier, + STATE(63), 2, + sym_comment, + sym_marginalia, + [1484] = 5, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(213), 1, + anon_sym_COMMA, + ACTIONS(215), 1, + anon_sym_RPAREN, + STATE(64), 2, + sym_comment, + sym_marginalia, + [1501] = 5, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(217), 1, + anon_sym_LPAREN, + STATE(87), 1, + sym_column_definitions, + STATE(65), 2, + sym_comment, + sym_marginalia, + [1518] = 5, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(217), 1, + anon_sym_LPAREN, + STATE(86), 1, + sym_column_definitions, + STATE(66), 2, + sym_comment, + sym_marginalia, + [1535] = 5, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(219), 1, + anon_sym_LPAREN, + ACTIONS(221), 1, + anon_sym_DOT, + STATE(67), 2, + sym_comment, + sym_marginalia, + [1552] = 5, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(223), 1, + aux_sym_keyword_time_token1, + STATE(31), 1, + sym__keyword_time_zone, + STATE(68), 2, + sym_comment, + sym_marginalia, + [1569] = 5, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(223), 1, + aux_sym_keyword_time_token1, + STATE(30), 1, + sym__keyword_time_zone, + STATE(69), 2, + sym_comment, + sym_marginalia, + [1586] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(211), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + STATE(70), 2, + sym_comment, + sym_marginalia, + [1601] = 5, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(217), 1, + anon_sym_LPAREN, + STATE(78), 1, + sym_column_definitions, + STATE(71), 2, + sym_comment, + sym_marginalia, + [1618] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(225), 2, + anon_sym_DQUOTE, + sym__identifier, + STATE(72), 2, + sym_comment, + sym_marginalia, + [1633] = 5, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(227), 1, + anon_sym_COMMA, + ACTIONS(229), 1, + anon_sym_RPAREN, + STATE(73), 2, + sym_comment, + sym_marginalia, + [1650] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(231), 1, + anon_sym_DQUOTE, + STATE(74), 2, + sym_comment, + sym_marginalia, + [1664] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(233), 1, + anon_sym_RPAREN, + STATE(75), 2, + sym_comment, + sym_marginalia, + [1678] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(235), 1, anon_sym_SEMI, - STATE(84), 2, + STATE(76), 2, sym_comment, sym_marginalia, - [1442] = 4, + [1692] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(237), 1, - anon_sym_SEMI, - STATE(85), 2, + anon_sym_LPAREN, + STATE(77), 2, sym_comment, sym_marginalia, - [1456] = 4, + [1706] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(239), 1, - anon_sym_LPAREN, - STATE(86), 2, + anon_sym_SEMI, + STATE(78), 2, sym_comment, sym_marginalia, - [1470] = 4, + [1720] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(241), 1, - anon_sym_SEMI, - STATE(87), 2, + sym__number, + STATE(79), 2, sym_comment, sym_marginalia, - [1484] = 4, + [1734] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(243), 1, - sym_keyword_exists, - STATE(88), 2, + sym__number, + STATE(80), 2, sym_comment, sym_marginalia, - [1498] = 4, + [1748] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(245), 1, - anon_sym_RPAREN, - STATE(89), 2, + sym__number, + STATE(81), 2, sym_comment, sym_marginalia, - [1512] = 4, + [1762] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(247), 1, - anon_sym_RPAREN, + anon_sym_SEMI, + STATE(82), 2, + sym_comment, + sym_marginalia, + [1776] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(249), 1, + aux_sym__keyword_time_zone_token1, + STATE(83), 2, + sym_comment, + sym_marginalia, + [1790] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(251), 1, + sym_keyword_null, + STATE(84), 2, + sym_comment, + sym_marginalia, + [1804] = 4, + ACTIONS(253), 1, + anon_sym_DASH_DASH, + ACTIONS(255), 1, + aux_sym_comment_token1, + ACTIONS(257), 1, + anon_sym_SLASH_STAR, + STATE(85), 2, + sym_comment, + sym_marginalia, + [1818] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(259), 1, + anon_sym_SEMI, + STATE(86), 2, + sym_comment, + sym_marginalia, + [1832] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(261), 1, + anon_sym_SEMI, + STATE(87), 2, + sym_comment, + sym_marginalia, + [1846] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(263), 1, + sym_keyword_exists, + STATE(88), 2, + sym_comment, + sym_marginalia, + [1860] = 4, + ACTIONS(253), 1, + anon_sym_DASH_DASH, + ACTIONS(257), 1, + anon_sym_SLASH_STAR, + ACTIONS(265), 1, + aux_sym__literal_string_token1, + STATE(89), 2, + sym_comment, + sym_marginalia, + [1874] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(267), 1, + anon_sym_SEMI, STATE(90), 2, sym_comment, sym_marginalia, - [1526] = 1, - ACTIONS(249), 1, + [1888] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(269), 1, + sym__number, + STATE(91), 2, + sym_comment, + sym_marginalia, + [1902] = 4, + ACTIONS(253), 1, + anon_sym_DASH_DASH, + ACTIONS(257), 1, + anon_sym_SLASH_STAR, + ACTIONS(271), 1, + aux_sym_identifier_token1, + STATE(92), 2, + sym_comment, + sym_marginalia, + [1916] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(273), 1, + aux_sym_double_token2, + STATE(93), 2, + sym_comment, + sym_marginalia, + [1930] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(275), 1, + anon_sym_RPAREN, + STATE(94), 2, + sym_comment, + sym_marginalia, + [1944] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(277), 1, + sym__number, + STATE(95), 2, + sym_comment, + sym_marginalia, + [1958] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(279), 1, + sym_keyword_not, + STATE(96), 2, + sym_comment, + sym_marginalia, + [1972] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(281), 1, + sym__number, + STATE(97), 2, + sym_comment, + sym_marginalia, + [1986] = 4, + ACTIONS(253), 1, + anon_sym_DASH_DASH, + ACTIONS(257), 1, + anon_sym_SLASH_STAR, + ACTIONS(283), 1, + aux_sym_marginalia_token1, + STATE(98), 2, + sym_comment, + sym_marginalia, + [2000] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(285), 1, + sym_keyword_table, + STATE(99), 2, + sym_comment, + sym_marginalia, + [2014] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(287), 1, + sym_keyword_table, + STATE(100), 2, + sym_comment, + sym_marginalia, + [2028] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(289), 1, + anon_sym_SLASH, + STATE(101), 2, + sym_comment, + sym_marginalia, + [2042] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(291), 1, + anon_sym_SQUOTE, + STATE(102), 2, + sym_comment, + sym_marginalia, + [2056] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(293), 1, ts_builtin_sym_end, - [1530] = 1, - ACTIONS(251), 1, + STATE(103), 2, + sym_comment, + sym_marginalia, + [2070] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(295), 1, + anon_sym_SEMI, + STATE(104), 2, + sym_comment, + sym_marginalia, + [2084] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(297), 1, + anon_sym_RPAREN, + STATE(105), 2, + sym_comment, + sym_marginalia, + [2098] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(299), 1, + anon_sym_RPAREN, + STATE(106), 2, + sym_comment, + sym_marginalia, + [2112] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(301), 1, + anon_sym_SEMI, + STATE(107), 2, + sym_comment, + sym_marginalia, + [2126] = 4, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(303), 1, + anon_sym_SEMI, + STATE(108), 2, + sym_comment, + sym_marginalia, + [2140] = 1, + ACTIONS(305), 1, + ts_builtin_sym_end, + [2144] = 1, + ACTIONS(307), 1, ts_builtin_sym_end, }; static const uint32_t ts_small_parse_table_map[] = { - [SMALL_STATE(3)] = 0, - [SMALL_STATE(4)] = 41, - [SMALL_STATE(5)] = 82, - [SMALL_STATE(6)] = 117, - [SMALL_STATE(7)] = 150, - [SMALL_STATE(8)] = 179, - [SMALL_STATE(9)] = 208, - [SMALL_STATE(10)] = 235, - [SMALL_STATE(11)] = 260, - [SMALL_STATE(12)] = 286, - [SMALL_STATE(13)] = 312, - [SMALL_STATE(14)] = 335, - [SMALL_STATE(15)] = 358, - [SMALL_STATE(16)] = 381, - [SMALL_STATE(17)] = 397, - [SMALL_STATE(18)] = 415, - [SMALL_STATE(19)] = 433, - [SMALL_STATE(20)] = 449, - [SMALL_STATE(21)] = 467, - [SMALL_STATE(22)] = 483, - [SMALL_STATE(23)] = 503, - [SMALL_STATE(24)] = 523, - [SMALL_STATE(25)] = 539, - [SMALL_STATE(26)] = 555, - [SMALL_STATE(27)] = 575, - [SMALL_STATE(28)] = 593, - [SMALL_STATE(29)] = 609, - [SMALL_STATE(30)] = 627, - [SMALL_STATE(31)] = 642, - [SMALL_STATE(32)] = 657, - [SMALL_STATE(33)] = 674, - [SMALL_STATE(34)] = 689, - [SMALL_STATE(35)] = 704, - [SMALL_STATE(36)] = 719, - [SMALL_STATE(37)] = 734, - [SMALL_STATE(38)] = 749, - [SMALL_STATE(39)] = 766, - [SMALL_STATE(40)] = 781, - [SMALL_STATE(41)] = 796, - [SMALL_STATE(42)] = 813, - [SMALL_STATE(43)] = 830, - [SMALL_STATE(44)] = 845, - [SMALL_STATE(45)] = 860, - [SMALL_STATE(46)] = 875, - [SMALL_STATE(47)] = 890, - [SMALL_STATE(48)] = 907, - [SMALL_STATE(49)] = 924, - [SMALL_STATE(50)] = 939, - [SMALL_STATE(51)] = 954, - [SMALL_STATE(52)] = 969, - [SMALL_STATE(53)] = 984, - [SMALL_STATE(54)] = 1001, - [SMALL_STATE(55)] = 1016, - [SMALL_STATE(56)] = 1033, - [SMALL_STATE(57)] = 1048, - [SMALL_STATE(58)] = 1063, - [SMALL_STATE(59)] = 1078, - [SMALL_STATE(60)] = 1092, - [SMALL_STATE(61)] = 1106, - [SMALL_STATE(62)] = 1120, - [SMALL_STATE(63)] = 1134, - [SMALL_STATE(64)] = 1148, - [SMALL_STATE(65)] = 1162, - [SMALL_STATE(66)] = 1176, - [SMALL_STATE(67)] = 1190, - [SMALL_STATE(68)] = 1204, - [SMALL_STATE(69)] = 1218, - [SMALL_STATE(70)] = 1232, - [SMALL_STATE(71)] = 1246, - [SMALL_STATE(72)] = 1260, - [SMALL_STATE(73)] = 1274, - [SMALL_STATE(74)] = 1288, - [SMALL_STATE(75)] = 1302, - [SMALL_STATE(76)] = 1316, - [SMALL_STATE(77)] = 1330, - [SMALL_STATE(78)] = 1344, - [SMALL_STATE(79)] = 1358, - [SMALL_STATE(80)] = 1372, - [SMALL_STATE(81)] = 1386, - [SMALL_STATE(82)] = 1400, - [SMALL_STATE(83)] = 1414, - [SMALL_STATE(84)] = 1428, - [SMALL_STATE(85)] = 1442, - [SMALL_STATE(86)] = 1456, - [SMALL_STATE(87)] = 1470, - [SMALL_STATE(88)] = 1484, - [SMALL_STATE(89)] = 1498, - [SMALL_STATE(90)] = 1512, - [SMALL_STATE(91)] = 1526, - [SMALL_STATE(92)] = 1530, + [SMALL_STATE(2)] = 0, + [SMALL_STATE(3)] = 95, + [SMALL_STATE(4)] = 139, + [SMALL_STATE(5)] = 183, + [SMALL_STATE(6)] = 214, + [SMALL_STATE(7)] = 243, + [SMALL_STATE(8)] = 279, + [SMALL_STATE(9)] = 315, + [SMALL_STATE(10)] = 349, + [SMALL_STATE(11)] = 384, + [SMALL_STATE(12)] = 413, + [SMALL_STATE(13)] = 442, + [SMALL_STATE(14)] = 475, + [SMALL_STATE(15)] = 495, + [SMALL_STATE(16)] = 515, + [SMALL_STATE(17)] = 535, + [SMALL_STATE(18)] = 557, + [SMALL_STATE(19)] = 579, + [SMALL_STATE(20)] = 601, + [SMALL_STATE(21)] = 623, + [SMALL_STATE(22)] = 642, + [SMALL_STATE(23)] = 661, + [SMALL_STATE(24)] = 680, + [SMALL_STATE(25)] = 699, + [SMALL_STATE(26)] = 718, + [SMALL_STATE(27)] = 747, + [SMALL_STATE(28)] = 766, + [SMALL_STATE(29)] = 785, + [SMALL_STATE(30)] = 804, + [SMALL_STATE(31)] = 823, + [SMALL_STATE(32)] = 842, + [SMALL_STATE(33)] = 861, + [SMALL_STATE(34)] = 880, + [SMALL_STATE(35)] = 899, + [SMALL_STATE(36)] = 918, + [SMALL_STATE(37)] = 937, + [SMALL_STATE(38)] = 956, + [SMALL_STATE(39)] = 975, + [SMALL_STATE(40)] = 994, + [SMALL_STATE(41)] = 1013, + [SMALL_STATE(42)] = 1032, + [SMALL_STATE(43)] = 1051, + [SMALL_STATE(44)] = 1070, + [SMALL_STATE(45)] = 1089, + [SMALL_STATE(46)] = 1108, + [SMALL_STATE(47)] = 1127, + [SMALL_STATE(48)] = 1156, + [SMALL_STATE(49)] = 1175, + [SMALL_STATE(50)] = 1194, + [SMALL_STATE(51)] = 1220, + [SMALL_STATE(52)] = 1246, + [SMALL_STATE(53)] = 1269, + [SMALL_STATE(54)] = 1292, + [SMALL_STATE(55)] = 1315, + [SMALL_STATE(56)] = 1338, + [SMALL_STATE(57)] = 1358, + [SMALL_STATE(58)] = 1374, + [SMALL_STATE(59)] = 1394, + [SMALL_STATE(60)] = 1414, + [SMALL_STATE(61)] = 1430, + [SMALL_STATE(62)] = 1446, + [SMALL_STATE(63)] = 1464, + [SMALL_STATE(64)] = 1484, + [SMALL_STATE(65)] = 1501, + [SMALL_STATE(66)] = 1518, + [SMALL_STATE(67)] = 1535, + [SMALL_STATE(68)] = 1552, + [SMALL_STATE(69)] = 1569, + [SMALL_STATE(70)] = 1586, + [SMALL_STATE(71)] = 1601, + [SMALL_STATE(72)] = 1618, + [SMALL_STATE(73)] = 1633, + [SMALL_STATE(74)] = 1650, + [SMALL_STATE(75)] = 1664, + [SMALL_STATE(76)] = 1678, + [SMALL_STATE(77)] = 1692, + [SMALL_STATE(78)] = 1706, + [SMALL_STATE(79)] = 1720, + [SMALL_STATE(80)] = 1734, + [SMALL_STATE(81)] = 1748, + [SMALL_STATE(82)] = 1762, + [SMALL_STATE(83)] = 1776, + [SMALL_STATE(84)] = 1790, + [SMALL_STATE(85)] = 1804, + [SMALL_STATE(86)] = 1818, + [SMALL_STATE(87)] = 1832, + [SMALL_STATE(88)] = 1846, + [SMALL_STATE(89)] = 1860, + [SMALL_STATE(90)] = 1874, + [SMALL_STATE(91)] = 1888, + [SMALL_STATE(92)] = 1902, + [SMALL_STATE(93)] = 1916, + [SMALL_STATE(94)] = 1930, + [SMALL_STATE(95)] = 1944, + [SMALL_STATE(96)] = 1958, + [SMALL_STATE(97)] = 1972, + [SMALL_STATE(98)] = 1986, + [SMALL_STATE(99)] = 2000, + [SMALL_STATE(100)] = 2014, + [SMALL_STATE(101)] = 2028, + [SMALL_STATE(102)] = 2042, + [SMALL_STATE(103)] = 2056, + [SMALL_STATE(104)] = 2070, + [SMALL_STATE(105)] = 2084, + [SMALL_STATE(106)] = 2098, + [SMALL_STATE(107)] = 2112, + [SMALL_STATE(108)] = 2126, + [SMALL_STATE(109)] = 2140, + [SMALL_STATE(110)] = 2144, }; 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(65), - [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), + [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), + [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), [7] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 0), - [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), - [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), - [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), - [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), - [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), + [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), + [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), + [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), + [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), + [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), - [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), + [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), - [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(21), - [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), - [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(54), - [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), - [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(10), - [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9), - [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), - [41] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier, 3), - [43] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_identifier, 3), - [45] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier, 1), - [47] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_identifier, 1), - [49] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1), - [51] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), - [53] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(28), - [56] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(12), - [59] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4), - [61] = {.entry = {.count = 1, .reusable = false}}, SHIFT(78), - [63] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), - [65] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_timestamp, 1), - [67] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), - [69] = {.entry = {.count = 1, .reusable = false}}, SHIFT(53), - [71] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_time, 1), - [73] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), - [75] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), - [77] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), - [79] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), - [81] = {.entry = {.count = 1, .reusable = false}}, SHIFT(72), - [83] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), - [85] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_keyword_char, 1), REDUCE(sym_keyword_varchar, 1), - [88] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), - [90] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_numeric, 1), - [92] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), - [94] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decimal, 1), - [96] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 2), - [98] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_column_definitions_repeat1, 2), SHIFT_REPEAT(13), - [101] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_column_definitions_repeat1, 2), - [103] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_char, 1), - [105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), - [107] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), - [109] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_varchar, 1), - [111] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 1), - [113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), - [115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), - [117] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_char, 1), - [119] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 1), - [121] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), - [123] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_varchar, 1), - [125] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_numeric, 1), - [127] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), - [129] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_numeric, 6, .production_id = 6), - [131] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__if_not_exists, 3), - [133] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decimal, 6, .production_id = 6), - [135] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_varchar, 4, .production_id = 5), - [137] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_char, 4, .production_id = 5), - [139] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_reference, 1, .production_id = 1), - [141] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), - [143] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__keyword_time_zone, 2), - [145] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_numeric, 4, .production_id = 4), - [147] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decimal, 4, .production_id = 4), - [149] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__with_time_zone, 2), - [151] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__without_time_zone, 2), - [153] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type, 1), - [155] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), - [157] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), - [159] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), - [161] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), - [163] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_timestamptz, 2), - [165] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_character, 1), - [167] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_timestamp, 2), - [169] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_time, 2), - [171] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), - [173] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_datetime, 1), - [175] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_double, 2), - [177] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_timestamptz, 1), - [179] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_definition, 2, .production_id = 3), - [181] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), - [183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), - [185] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [187] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_create_table, 6), - [189] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_definitions, 4), - [191] = {.entry = {.count = 1, .reusable = false}}, SHIFT(65), - [193] = {.entry = {.count = 1, .reusable = false}}, SHIFT(64), - [195] = {.entry = {.count = 1, .reusable = false}}, SHIFT(71), - [197] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), - [199] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), - [201] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), - [203] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__ddl_statement, 1), - [205] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__create_statement, 1), - [207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), - [209] = {.entry = {.count = 1, .reusable = false}}, SHIFT(91), - [211] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_temporary, 1), - [213] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), - [215] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), - [217] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), - [219] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_definitions, 2), - [221] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), - [223] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), - [225] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_create_table, 4), - [227] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), - [229] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), - [231] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), - [233] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), - [235] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), - [237] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_definitions, 3), - [239] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_reference, 3, .production_id = 2), - [241] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_create_table, 5), - [243] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), - [245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), - [247] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), - [249] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_marginalia, 3), - [251] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 2), + [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(15), + [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), + [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(41), + [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), + [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6), + [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5), + [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), + [41] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier, 1), + [43] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_identifier, 1), + [45] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier, 3), + [47] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_identifier, 3), + [49] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_timestamp, 1), + [51] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), + [53] = {.entry = {.count = 1, .reusable = false}}, SHIFT(69), + [55] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_time, 1), + [57] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_definition, 3, .production_id = 3), + [59] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), + [61] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), + [63] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), + [65] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), + [67] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_definition, 2, .production_id = 3), + [69] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_column_definition_repeat1, 2), + [71] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_column_definition_repeat1, 2), SHIFT_REPEAT(84), + [74] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_column_definition_repeat1, 2), SHIFT_REPEAT(22), + [77] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_column_definition_repeat1, 2), SHIFT_REPEAT(58), + [80] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_column_definition_repeat1, 2), SHIFT_REPEAT(12), + [83] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1), + [85] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), + [87] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), + [89] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), + [91] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(61), + [94] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(50), + [97] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_varchar, 1), + [99] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_char, 1), + [101] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_keyword_char, 1), REDUCE(sym_keyword_varchar, 1), + [104] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), + [106] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_numeric, 1), + [108] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), + [110] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decimal, 1), + [112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), + [114] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_varchar, 1), + [116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), + [118] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_char, 1), + [120] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_numeric, 4, .production_id = 4), + [122] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 1), + [124] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 2), + [126] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_time, 2), + [128] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_literal, 1), + [130] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3), + [132] = {.entry = {.count = 1, .reusable = false}}, SHIFT(96), + [134] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), + [136] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_double, 2), + [138] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__not_null, 2), + [140] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_varchar, 4, .production_id = 6), + [142] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__with_time_zone, 2), + [144] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__without_time_zone, 2), + [146] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decimal, 6, .production_id = 7), + [148] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_char, 4, .production_id = 6), + [150] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_numeric, 6, .production_id = 7), + [152] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decimal, 4, .production_id = 4), + [154] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_timestamptz, 1), + [156] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__literal_string, 3), + [158] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_timestamp, 2), + [160] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_column_definition_repeat1, 1), + [162] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__keyword_time_zone, 2), + [164] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_datetime, 1), + [166] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression, 1), + [168] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 4, .production_id = 5), + [170] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_timestamptz, 2), + [172] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type, 1), + [174] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_numeric, 1), + [176] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 3, .production_id = 5), + [178] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_character, 1), + [180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), + [182] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), + [184] = {.entry = {.count = 1, .reusable = false}}, SHIFT(100), + [186] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), + [188] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), + [190] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), + [192] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), + [194] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), + [196] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), + [198] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), + [200] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 1), + [202] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), + [204] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 2), + [206] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 1), + [208] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_column_definitions_repeat1, 2), SHIFT_REPEAT(52), + [211] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_column_definitions_repeat1, 2), + [213] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), + [215] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), + [217] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), + [219] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_reference, 1, .production_id = 1), + [221] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), + [223] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), + [225] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__if_not_exists, 3), + [227] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), + [229] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [231] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), + [233] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), + [235] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_definitions, 3), + [237] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_reference, 3, .production_id = 2), + [239] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_create_table, 5), + [241] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), + [243] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), + [245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), + [247] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_definitions, 2), + [249] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), + [251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), + [253] = {.entry = {.count = 1, .reusable = false}}, SHIFT(85), + [255] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), + [257] = {.entry = {.count = 1, .reusable = false}}, SHIFT(98), + [259] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_create_table, 4), + [261] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_create_table, 6), + [263] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), + [265] = {.entry = {.count = 1, .reusable = false}}, SHIFT(102), + [267] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_definitions, 4), + [269] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), + [271] = {.entry = {.count = 1, .reusable = false}}, SHIFT(74), + [273] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), + [275] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), + [277] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), + [279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), + [281] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), + [283] = {.entry = {.count = 1, .reusable = false}}, SHIFT(101), + [285] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), + [287] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_temporary, 1), + [289] = {.entry = {.count = 1, .reusable = false}}, SHIFT(110), + [291] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), + [293] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [295] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__create_statement, 1), + [297] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [299] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), + [301] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__ddl_statement, 1), + [303] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), + [305] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 2), + [307] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_marginalia, 3), }; #ifdef __cplusplus diff --git a/test/corpus/create/table.txt b/test/corpus/create/table.txt index fa79501..d312c46 100644 --- a/test/corpus/create/table.txt +++ b/test/corpus/create/table.txt @@ -167,3 +167,113 @@ create table foo ( ) ) ) + +================================================================================ +Create a table with column constraints +================================================================================ +create table foo ( + c1 text not null, + c2 text null, + c2 text not null default 'hello' +); +-------------------------------------------------------------------------------- + +(source_file + (statement + (create_table + (keyword_create) + (keyword_table) + (table_reference + name: (identifier) + ) + (column_definitions + (column_definition + name: (identifier) + datatype: (keyword_text) + (column_constraint + (keyword_not) + (keyword_null) + ) + ) + (column_definition + name: (identifier) + datatype: (keyword_text) + (column_constraint + (keyword_null) + ) + ) + (column_definition + name: (identifier) + datatype: (keyword_text) + (column_constraint + (keyword_not) + (keyword_null) + ) + (column_constraint + (keyword_default) + (literal) + ) + ) + ) + ) + ) +) + +================================================================================ +Create a table with named column constraints +================================================================================ +create table foo ( + c1 text constraint strong_c1 not null, + c2 text constraint weak_c2 null, + c3 text constraint "c3 with power" not null constraint "c2 set default hello" default 'hello' +); +-------------------------------------------------------------------------------- + +(source_file + (statement + (create_table + (keyword_create) + (keyword_table) + (table_reference + name: (identifier) + ) + (column_definitions + (column_definition + name: (identifier) + datatype: (keyword_text) + (column_constraint + (keyword_constraint) + name: (identifier) + (keyword_not) + (keyword_null) + ) + ) + (column_definition + name: (identifier) + datatype: (keyword_text) + (column_constraint + (keyword_constraint) + name: (identifier) + (keyword_null) + ) + ) + (column_definition + name: (identifier) + datatype: (keyword_text) + (column_constraint + (keyword_constraint) + name: (identifier) + (keyword_not) + (keyword_null) + ) + (column_constraint + (keyword_constraint) + name: (identifier) + (keyword_default) + (literal) + ) + ) + ) + ) + ) +) diff --git a/tree-sitter-plpgsql.wasm b/tree-sitter-plpgsql.wasm index 118f141555c265d2c530b603c8685ac5a59f6a2a..6661301ef061ceddbf4e0bc6faf2b106c311f321 100755 GIT binary patch literal 26578 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 D3QCa5 literal 21897 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