diff --git a/grammar.js b/grammar.js index f217d04..35edd99 100644 --- a/grammar.js +++ b/grammar.js @@ -92,26 +92,6 @@ module.exports = grammar({ $.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"), - keyword_temporary: (_) => choice(mkKeyword("temporary"), mkKeyword("temp")), - keyword_unlogged: (_) => mkKeyword("unlogged"), - 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"), - keyword_nulls: (_) => mkKeyword("nulls"), - keyword_distinct: (_) => mkKeyword("distinct"), - keyword_unique: (_) => mkKeyword("unique"), - // References: https://www.postgresql.org/docs/15/datatype.html _type: ($) => choice( @@ -193,8 +173,35 @@ module.exports = grammar({ // References: https://www.postgresql.org/docs/15/datatype-json.html _type_json: ($) => choice($.keyword_json, $.keyword_jsonb), - keyword_boolean: (_) => mkKeyword("boolean"), + // keywords + _if_not_exists: ($) => seq($.keyword_if, $.keyword_not, $.keyword_exists), + _not_null: ($) => seq($.keyword_not, $.keyword_null), + _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")), + keyword_create: (_) => mkKeyword("create"), + keyword_table: (_) => mkKeyword("table"), + keyword_temporary: (_) => choice(mkKeyword("temporary"), mkKeyword("temp")), + keyword_unlogged: (_) => mkKeyword("unlogged"), + 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"), + keyword_nulls: (_) => mkKeyword("nulls"), + keyword_distinct: (_) => mkKeyword("distinct"), + keyword_unique: (_) => mkKeyword("unique"), + // References: https://www.postgresql.org/docs/15/datatype-xml.html + keyword_xml: (_) => mkKeyword("xml"), + // References: https://www.postgresql.org/docs/15/datatype-uuid.html + keyword_uuid: (_) => mkKeyword("uuid"), + keyword_json: (_) => mkKeyword("json"), + keyword_jsonb: (_) => mkKeyword("jsonb"), + keyword_boolean: (_) => mkKeyword("boolean"), keyword_smallint: (_) => mkKeyword("smallint"), keyword_integer: (_) => mkKeyword("integer"), keyword_bigint: (_) => mkKeyword("bigint"), @@ -204,10 +211,8 @@ module.exports = grammar({ keyword_smallserial: (_) => mkKeyword("smallserial"), keyword_serial: (_) => mkKeyword("serial"), keyword_bigserial: (_) => mkKeyword("bigserial"), - // References: https://www.postgresql.org/docs/15/datatype-money.html keyword_money: (_) => mkKeyword("money"), - keyword_text: (_) => mkKeyword("text"), keyword_char: (_) => choice(mkKeyword("character"), mkKeyword("char")), keyword_varchar: (_) => @@ -215,9 +220,7 @@ module.exports = grammar({ mkKeyword("varchar"), seq(mkKeyword("character", mkKeyword("varying"))) ), - keyword_bytea: (_) => mkKeyword("bytea"), - keyword_date: (_) => mkKeyword("date"), keyword_datetime: (_) => mkKeyword("datetime"), keyword_time: ($) => @@ -233,19 +236,6 @@ module.exports = grammar({ seq(mkKeyword("timestamp"), $._with_time_zone) ), - _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 - keyword_uuid: (_) => mkKeyword("uuid"), - - // References: https://www.postgresql.org/docs/15/datatype-xml.html - keyword_xml: (_) => mkKeyword("xml"), - - keyword_json: (_) => mkKeyword("json"), - keyword_jsonb: (_) => mkKeyword("jsonb"), - // ------- line_comment: (_) => seq("--", /.*\n/), diff --git a/src/grammar.json b/src/grammar.json index fbd53ba..f8091c3 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -361,105 +361,6 @@ } ] }, - "_if_not_exists": { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "keyword_if" - }, - { - "type": "SYMBOL", - "name": "keyword_not" - }, - { - "type": "SYMBOL", - "name": "keyword_exists" - } - ] - }, - "_not_null": { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "keyword_not" - }, - { - "type": "SYMBOL", - "name": "keyword_null" - } - ] - }, - "keyword_create": { - "type": "PATTERN", - "value": "create|CREATE" - }, - "keyword_table": { - "type": "PATTERN", - "value": "table|TABLE" - }, - "keyword_temporary": { - "type": "CHOICE", - "members": [ - { - "type": "PATTERN", - "value": "temporary|TEMPORARY" - }, - { - "type": "PATTERN", - "value": "temp|TEMP" - } - ] - }, - "keyword_unlogged": { - "type": "PATTERN", - "value": "unlogged|UNLOGGED" - }, - "keyword_if": { - "type": "PATTERN", - "value": "if|IF" - }, - "keyword_not": { - "type": "PATTERN", - "value": "not|NOT" - }, - "keyword_exists": { - "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" - }, - "keyword_nulls": { - "type": "PATTERN", - "value": "nulls|NULLS" - }, - "keyword_distinct": { - "type": "PATTERN", - "value": "distinct|DISTINCT" - }, - "keyword_unique": { - "type": "PATTERN", - "value": "unique|UNIQUE" - }, "_type": { "type": "CHOICE", "members": [ @@ -954,6 +855,160 @@ } ] }, + "_if_not_exists": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "keyword_if" + }, + { + "type": "SYMBOL", + "name": "keyword_not" + }, + { + "type": "SYMBOL", + "name": "keyword_exists" + } + ] + }, + "_not_null": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "keyword_not" + }, + { + "type": "SYMBOL", + "name": "keyword_null" + } + ] + }, + "_without_time_zone": { + "type": "SEQ", + "members": [ + { + "type": "PATTERN", + "value": "without|WITHOUT" + }, + { + "type": "SYMBOL", + "name": "_keyword_time_zone" + } + ] + }, + "_with_time_zone": { + "type": "SEQ", + "members": [ + { + "type": "PATTERN", + "value": "with|WITH" + }, + { + "type": "SYMBOL", + "name": "_keyword_time_zone" + } + ] + }, + "_keyword_time_zone": { + "type": "SEQ", + "members": [ + { + "type": "PATTERN", + "value": "time|TIME" + }, + { + "type": "PATTERN", + "value": "zone|ZONE" + } + ] + }, + "keyword_create": { + "type": "PATTERN", + "value": "create|CREATE" + }, + "keyword_table": { + "type": "PATTERN", + "value": "table|TABLE" + }, + "keyword_temporary": { + "type": "CHOICE", + "members": [ + { + "type": "PATTERN", + "value": "temporary|TEMPORARY" + }, + { + "type": "PATTERN", + "value": "temp|TEMP" + } + ] + }, + "keyword_unlogged": { + "type": "PATTERN", + "value": "unlogged|UNLOGGED" + }, + "keyword_if": { + "type": "PATTERN", + "value": "if|IF" + }, + "keyword_not": { + "type": "PATTERN", + "value": "not|NOT" + }, + "keyword_exists": { + "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" + }, + "keyword_nulls": { + "type": "PATTERN", + "value": "nulls|NULLS" + }, + "keyword_distinct": { + "type": "PATTERN", + "value": "distinct|DISTINCT" + }, + "keyword_unique": { + "type": "PATTERN", + "value": "unique|UNIQUE" + }, + "keyword_xml": { + "type": "PATTERN", + "value": "xml|XML" + }, + "keyword_uuid": { + "type": "PATTERN", + "value": "uuid|UUID" + }, + "keyword_json": { + "type": "PATTERN", + "value": "json|JSON" + }, + "keyword_jsonb": { + "type": "PATTERN", + "value": "jsonb|JSONB" + }, "keyword_boolean": { "type": "PATTERN", "value": "boolean|BOOLEAN" @@ -1118,61 +1173,6 @@ } ] }, - "_without_time_zone": { - "type": "SEQ", - "members": [ - { - "type": "PATTERN", - "value": "without|WITHOUT" - }, - { - "type": "SYMBOL", - "name": "_keyword_time_zone" - } - ] - }, - "_with_time_zone": { - "type": "SEQ", - "members": [ - { - "type": "PATTERN", - "value": "with|WITH" - }, - { - "type": "SYMBOL", - "name": "_keyword_time_zone" - } - ] - }, - "_keyword_time_zone": { - "type": "SEQ", - "members": [ - { - "type": "PATTERN", - "value": "time|TIME" - }, - { - "type": "PATTERN", - "value": "zone|ZONE" - } - ] - }, - "keyword_uuid": { - "type": "PATTERN", - "value": "uuid|UUID" - }, - "keyword_xml": { - "type": "PATTERN", - "value": "xml|XML" - }, - "keyword_json": { - "type": "PATTERN", - "value": "json|JSON" - }, - "keyword_jsonb": { - "type": "PATTERN", - "value": "jsonb|JSONB" - }, "line_comment": { "type": "SEQ", "members": [ diff --git a/src/parser.c b/src/parser.c index 7a9e548..1919019 100644 --- a/src/parser.c +++ b/src/parser.c @@ -23,52 +23,52 @@ enum { anon_sym_COMMA = 4, anon_sym_RPAREN = 5, anon_sym_DOT = 6, - sym_keyword_create = 7, - sym_keyword_table = 8, - aux_sym_keyword_temporary_token1 = 9, - aux_sym_keyword_temporary_token2 = 10, - sym_keyword_unlogged = 11, - sym_keyword_if = 12, - sym_keyword_not = 13, - sym_keyword_exists = 14, - sym_keyword_null = 15, - sym_keyword_constraint = 16, - sym_keyword_default = 17, - sym_keyword_true = 18, - sym_keyword_false = 19, - sym_keyword_nulls = 20, - sym_keyword_distinct = 21, - sym_keyword_unique = 22, - aux_sym_double_token1 = 23, - aux_sym_double_token2 = 24, - sym_keyword_boolean = 25, - sym_keyword_smallint = 26, - sym_keyword_integer = 27, - sym_keyword_bigint = 28, - sym_keyword_decimal = 29, - sym_keyword_numeric = 30, - sym_keyword_real = 31, - sym_keyword_smallserial = 32, - sym_keyword_serial = 33, - sym_keyword_bigserial = 34, - sym_keyword_money = 35, - sym_keyword_text = 36, - aux_sym_keyword_char_token1 = 37, - aux_sym_keyword_char_token2 = 38, - aux_sym_keyword_varchar_token1 = 39, - sym_keyword_bytea = 40, - sym_keyword_date = 41, - sym_keyword_datetime = 42, - aux_sym_keyword_time_token1 = 43, - aux_sym_keyword_timestamp_token1 = 44, - aux_sym_keyword_timestamptz_token1 = 45, - aux_sym__without_time_zone_token1 = 46, - aux_sym__with_time_zone_token1 = 47, - aux_sym__keyword_time_zone_token1 = 48, - sym_keyword_uuid = 49, - sym_keyword_xml = 50, - sym_keyword_json = 51, - sym_keyword_jsonb = 52, + aux_sym_double_token1 = 7, + aux_sym_double_token2 = 8, + aux_sym__without_time_zone_token1 = 9, + aux_sym__with_time_zone_token1 = 10, + aux_sym__keyword_time_zone_token1 = 11, + aux_sym__keyword_time_zone_token2 = 12, + sym_keyword_create = 13, + sym_keyword_table = 14, + aux_sym_keyword_temporary_token1 = 15, + aux_sym_keyword_temporary_token2 = 16, + sym_keyword_unlogged = 17, + sym_keyword_if = 18, + sym_keyword_not = 19, + sym_keyword_exists = 20, + sym_keyword_null = 21, + sym_keyword_constraint = 22, + sym_keyword_default = 23, + sym_keyword_true = 24, + sym_keyword_false = 25, + sym_keyword_nulls = 26, + sym_keyword_distinct = 27, + sym_keyword_unique = 28, + sym_keyword_xml = 29, + sym_keyword_uuid = 30, + sym_keyword_json = 31, + sym_keyword_jsonb = 32, + sym_keyword_boolean = 33, + sym_keyword_smallint = 34, + sym_keyword_integer = 35, + sym_keyword_bigint = 36, + sym_keyword_decimal = 37, + sym_keyword_numeric = 38, + sym_keyword_real = 39, + sym_keyword_smallserial = 40, + sym_keyword_serial = 41, + sym_keyword_bigserial = 42, + sym_keyword_money = 43, + sym_keyword_text = 44, + aux_sym_keyword_char_token1 = 45, + aux_sym_keyword_char_token2 = 46, + aux_sym_keyword_varchar_token1 = 47, + sym_keyword_bytea = 48, + sym_keyword_date = 49, + sym_keyword_datetime = 50, + aux_sym_keyword_timestamp_token1 = 51, + aux_sym_keyword_timestamptz_token1 = 52, anon_sym_DASH_DASH = 53, aux_sym_line_comment_token1 = 54, anon_sym_SLASH_STAR = 55, @@ -90,30 +90,30 @@ enum { sym_table_reference = 71, sym__expression = 72, sym_literal = 73, - sym__if_not_exists = 74, - sym__not_null = 75, - sym_keyword_temporary = 76, - sym__type = 77, - sym__type_numeric = 78, - sym_double = 79, - sym_decimal = 80, - sym_numeric = 81, - sym__type_character = 82, - sym_char = 83, - sym_varchar = 84, - sym__type_datetime = 85, - sym__type_geometric = 86, - sym__type_net = 87, - sym__type_bit_string = 88, - sym__type_text_search = 89, - sym_keyword_char = 90, - sym_keyword_varchar = 91, - sym_keyword_time = 92, - sym_keyword_timestamp = 93, - sym_keyword_timestamptz = 94, - sym__without_time_zone = 95, - sym__with_time_zone = 96, - sym__keyword_time_zone = 97, + sym__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__if_not_exists = 87, + sym__not_null = 88, + sym__without_time_zone = 89, + sym__with_time_zone = 90, + sym__keyword_time_zone = 91, + sym_keyword_temporary = 92, + sym_keyword_char = 93, + sym_keyword_varchar = 94, + sym_keyword_time = 95, + sym_keyword_timestamp = 96, + sym_keyword_timestamptz = 97, sym_line_comment = 98, sym_block_comment = 99, sym__literal_string = 100, @@ -131,6 +131,12 @@ static const char * const ts_symbol_names[] = { [anon_sym_COMMA] = ",", [anon_sym_RPAREN] = ")", [anon_sym_DOT] = ".", + [aux_sym_double_token1] = "double_token1", + [aux_sym_double_token2] = "double_token2", + [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", + [aux_sym__keyword_time_zone_token2] = "_keyword_time_zone_token2", [sym_keyword_create] = "keyword_create", [sym_keyword_table] = "keyword_table", [aux_sym_keyword_temporary_token1] = "keyword_temporary_token1", @@ -147,8 +153,10 @@ static const char * const ts_symbol_names[] = { [sym_keyword_nulls] = "keyword_nulls", [sym_keyword_distinct] = "keyword_distinct", [sym_keyword_unique] = "keyword_unique", - [aux_sym_double_token1] = "double_token1", - [aux_sym_double_token2] = "double_token2", + [sym_keyword_xml] = "keyword_xml", + [sym_keyword_uuid] = "keyword_uuid", + [sym_keyword_json] = "keyword_json", + [sym_keyword_jsonb] = "keyword_jsonb", [sym_keyword_boolean] = "keyword_boolean", [sym_keyword_smallint] = "keyword_smallint", [sym_keyword_integer] = "keyword_integer", @@ -167,16 +175,8 @@ static const char * const ts_symbol_names[] = { [sym_keyword_bytea] = "keyword_bytea", [sym_keyword_date] = "keyword_date", [sym_keyword_datetime] = "keyword_datetime", - [aux_sym_keyword_time_token1] = "keyword_time_token1", [aux_sym_keyword_timestamp_token1] = "keyword_timestamp_token1", [aux_sym_keyword_timestamptz_token1] = "keyword_timestamptz_token1", - [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", - [sym_keyword_json] = "keyword_json", - [sym_keyword_jsonb] = "keyword_jsonb", [anon_sym_DASH_DASH] = "--", [aux_sym_line_comment_token1] = "line_comment_token1", [anon_sym_SLASH_STAR] = "/*", @@ -198,9 +198,6 @@ static const char * const ts_symbol_names[] = { [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", [sym_double] = "double", @@ -214,14 +211,17 @@ static const char * const ts_symbol_names[] = { [sym__type_net] = "_type_net", [sym__type_bit_string] = "_type_bit_string", [sym__type_text_search] = "_type_text_search", + [sym__if_not_exists] = "_if_not_exists", + [sym__not_null] = "_not_null", + [sym__without_time_zone] = "_without_time_zone", + [sym__with_time_zone] = "_with_time_zone", + [sym__keyword_time_zone] = "_keyword_time_zone", + [sym_keyword_temporary] = "keyword_temporary", [sym_keyword_char] = "keyword_char", [sym_keyword_varchar] = "keyword_varchar", [sym_keyword_time] = "keyword_time", [sym_keyword_timestamp] = "keyword_timestamp", [sym_keyword_timestamptz] = "keyword_timestamptz", - [sym__without_time_zone] = "_without_time_zone", - [sym__with_time_zone] = "_with_time_zone", - [sym__keyword_time_zone] = "_keyword_time_zone", [sym_line_comment] = "line_comment", [sym_block_comment] = "block_comment", [sym__literal_string] = "_literal_string", @@ -239,6 +239,12 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_COMMA] = anon_sym_COMMA, [anon_sym_RPAREN] = anon_sym_RPAREN, [anon_sym_DOT] = anon_sym_DOT, + [aux_sym_double_token1] = aux_sym_double_token1, + [aux_sym_double_token2] = aux_sym_double_token2, + [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, + [aux_sym__keyword_time_zone_token2] = aux_sym__keyword_time_zone_token2, [sym_keyword_create] = sym_keyword_create, [sym_keyword_table] = sym_keyword_table, [aux_sym_keyword_temporary_token1] = aux_sym_keyword_temporary_token1, @@ -255,8 +261,10 @@ static const TSSymbol ts_symbol_map[] = { [sym_keyword_nulls] = sym_keyword_nulls, [sym_keyword_distinct] = sym_keyword_distinct, [sym_keyword_unique] = sym_keyword_unique, - [aux_sym_double_token1] = aux_sym_double_token1, - [aux_sym_double_token2] = aux_sym_double_token2, + [sym_keyword_xml] = sym_keyword_xml, + [sym_keyword_uuid] = sym_keyword_uuid, + [sym_keyword_json] = sym_keyword_json, + [sym_keyword_jsonb] = sym_keyword_jsonb, [sym_keyword_boolean] = sym_keyword_boolean, [sym_keyword_smallint] = sym_keyword_smallint, [sym_keyword_integer] = sym_keyword_integer, @@ -275,16 +283,8 @@ static const TSSymbol ts_symbol_map[] = { [sym_keyword_bytea] = sym_keyword_bytea, [sym_keyword_date] = sym_keyword_date, [sym_keyword_datetime] = sym_keyword_datetime, - [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, - [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, - [sym_keyword_json] = sym_keyword_json, - [sym_keyword_jsonb] = sym_keyword_jsonb, [anon_sym_DASH_DASH] = anon_sym_DASH_DASH, [aux_sym_line_comment_token1] = aux_sym_line_comment_token1, [anon_sym_SLASH_STAR] = anon_sym_SLASH_STAR, @@ -306,9 +306,6 @@ static const TSSymbol ts_symbol_map[] = { [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, [sym_double] = sym_double, @@ -322,14 +319,17 @@ static const TSSymbol ts_symbol_map[] = { [sym__type_net] = sym__type_net, [sym__type_bit_string] = sym__type_bit_string, [sym__type_text_search] = sym__type_text_search, + [sym__if_not_exists] = sym__if_not_exists, + [sym__not_null] = sym__not_null, + [sym__without_time_zone] = sym__without_time_zone, + [sym__with_time_zone] = sym__with_time_zone, + [sym__keyword_time_zone] = sym__keyword_time_zone, + [sym_keyword_temporary] = sym_keyword_temporary, [sym_keyword_char] = sym_keyword_char, [sym_keyword_varchar] = sym_keyword_varchar, [sym_keyword_time] = sym_keyword_time, [sym_keyword_timestamp] = sym_keyword_timestamp, [sym_keyword_timestamptz] = sym_keyword_timestamptz, - [sym__without_time_zone] = sym__without_time_zone, - [sym__with_time_zone] = sym__with_time_zone, - [sym__keyword_time_zone] = sym__keyword_time_zone, [sym_line_comment] = sym_line_comment, [sym_block_comment] = sym_block_comment, [sym__literal_string] = sym__literal_string, @@ -368,6 +368,30 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, + [aux_sym_double_token1] = { + .visible = false, + .named = false, + }, + [aux_sym_double_token2] = { + .visible = false, + .named = false, + }, + [aux_sym__without_time_zone_token1] = { + .visible = false, + .named = false, + }, + [aux_sym__with_time_zone_token1] = { + .visible = false, + .named = false, + }, + [aux_sym__keyword_time_zone_token1] = { + .visible = false, + .named = false, + }, + [aux_sym__keyword_time_zone_token2] = { + .visible = false, + .named = false, + }, [sym_keyword_create] = { .visible = true, .named = true, @@ -432,13 +456,21 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, - [aux_sym_double_token1] = { - .visible = false, - .named = false, + [sym_keyword_xml] = { + .visible = true, + .named = true, }, - [aux_sym_double_token2] = { - .visible = false, - .named = false, + [sym_keyword_uuid] = { + .visible = true, + .named = true, + }, + [sym_keyword_json] = { + .visible = true, + .named = true, + }, + [sym_keyword_jsonb] = { + .visible = true, + .named = true, }, [sym_keyword_boolean] = { .visible = true, @@ -512,10 +544,6 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, - [aux_sym_keyword_time_token1] = { - .visible = false, - .named = false, - }, [aux_sym_keyword_timestamp_token1] = { .visible = false, .named = false, @@ -524,34 +552,6 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = false, }, - [aux_sym__without_time_zone_token1] = { - .visible = false, - .named = false, - }, - [aux_sym__with_time_zone_token1] = { - .visible = false, - .named = false, - }, - [aux_sym__keyword_time_zone_token1] = { - .visible = false, - .named = false, - }, - [sym_keyword_uuid] = { - .visible = true, - .named = true, - }, - [sym_keyword_xml] = { - .visible = true, - .named = true, - }, - [sym_keyword_json] = { - .visible = true, - .named = true, - }, - [sym_keyword_jsonb] = { - .visible = true, - .named = true, - }, [anon_sym_DASH_DASH] = { .visible = true, .named = false, @@ -636,18 +636,6 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .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, - }, [sym__type] = { .visible = false, .named = true, @@ -700,6 +688,30 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = true, }, + [sym__if_not_exists] = { + .visible = false, + .named = true, + }, + [sym__not_null] = { + .visible = false, + .named = true, + }, + [sym__without_time_zone] = { + .visible = false, + .named = true, + }, + [sym__with_time_zone] = { + .visible = false, + .named = true, + }, + [sym__keyword_time_zone] = { + .visible = false, + .named = true, + }, + [sym_keyword_temporary] = { + .visible = true, + .named = true, + }, [sym_keyword_char] = { .visible = true, .named = true, @@ -720,18 +732,6 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, - [sym__without_time_zone] = { - .visible = false, - .named = true, - }, - [sym__with_time_zone] = { - .visible = false, - .named = true, - }, - [sym__keyword_time_zone] = { - .visible = false, - .named = true, - }, [sym_line_comment] = { .visible = true, .named = true, @@ -1954,7 +1954,7 @@ static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) { ACCEPT_TOKEN(sym_keyword_text); END_STATE(); case 195: - ACCEPT_TOKEN(aux_sym_keyword_time_token1); + ACCEPT_TOKEN(aux_sym__keyword_time_zone_token1); if (lookahead == 'S') ADVANCE(256); END_STATE(); case 196: @@ -1977,7 +1977,7 @@ static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) { if (lookahead == 'O') ADVANCE(260); END_STATE(); case 202: - ACCEPT_TOKEN(aux_sym__keyword_time_zone_token1); + ACCEPT_TOKEN(aux_sym__keyword_time_zone_token2); END_STATE(); case 203: if (lookahead == 'n') ADVANCE(261); @@ -2057,7 +2057,7 @@ static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) { if (lookahead == 'o') ADVANCE(278); END_STATE(); case 227: - ACCEPT_TOKEN(aux_sym_keyword_time_token1); + ACCEPT_TOKEN(aux_sym__keyword_time_zone_token1); if (lookahead == 's') ADVANCE(279); END_STATE(); case 228: @@ -2691,6 +2691,12 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_COMMA] = ACTIONS(1), [anon_sym_RPAREN] = ACTIONS(1), [anon_sym_DOT] = ACTIONS(1), + [aux_sym_double_token1] = ACTIONS(1), + [aux_sym_double_token2] = 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), + [aux_sym__keyword_time_zone_token2] = ACTIONS(1), [sym_keyword_create] = ACTIONS(1), [sym_keyword_table] = ACTIONS(1), [aux_sym_keyword_temporary_token1] = ACTIONS(1), @@ -2707,8 +2713,10 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_keyword_nulls] = ACTIONS(1), [sym_keyword_distinct] = ACTIONS(1), [sym_keyword_unique] = ACTIONS(1), - [aux_sym_double_token1] = ACTIONS(1), - [aux_sym_double_token2] = ACTIONS(1), + [sym_keyword_xml] = ACTIONS(1), + [sym_keyword_uuid] = ACTIONS(1), + [sym_keyword_json] = ACTIONS(1), + [sym_keyword_jsonb] = ACTIONS(1), [sym_keyword_boolean] = ACTIONS(1), [sym_keyword_smallint] = ACTIONS(1), [sym_keyword_integer] = ACTIONS(1), @@ -2727,16 +2735,8 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_keyword_bytea] = ACTIONS(1), [sym_keyword_date] = ACTIONS(1), [sym_keyword_datetime] = ACTIONS(1), - [aux_sym_keyword_time_token1] = ACTIONS(1), [aux_sym_keyword_timestamp_token1] = ACTIONS(1), [aux_sym_keyword_timestamptz_token1] = 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), - [sym_keyword_json] = ACTIONS(1), - [sym_keyword_jsonb] = ACTIONS(1), [anon_sym_DASH_DASH] = ACTIONS(3), [anon_sym_SLASH_STAR] = ACTIONS(5), [anon_sym_SLASH] = ACTIONS(1), @@ -2746,10 +2746,10 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { }, [1] = { [sym_source_file] = STATE(91), - [sym_statement] = STATE(66), - [sym__ddl_statement] = STATE(88), + [sym_statement] = STATE(69), + [sym__ddl_statement] = STATE(110), [sym__create_statement] = STATE(85), - [sym_create_table] = STATE(100), + [sym_create_table] = STATE(99), [sym_line_comment] = STATE(1), [sym_block_comment] = STATE(1), [aux_sym_source_file_repeat1] = STATE(11), @@ -2769,24 +2769,24 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_SLASH_STAR, ACTIONS(13), 1, aux_sym_double_token1, - ACTIONS(19), 1, - sym_keyword_decimal, + ACTIONS(15), 1, + aux_sym__keyword_time_zone_token1, ACTIONS(21), 1, - sym_keyword_numeric, + sym_keyword_decimal, ACTIONS(23), 1, - sym_keyword_text, + sym_keyword_numeric, ACTIONS(25), 1, - aux_sym_keyword_char_token1, + sym_keyword_text, ACTIONS(27), 1, - aux_sym_keyword_char_token2, + aux_sym_keyword_char_token1, ACTIONS(29), 1, - aux_sym_keyword_varchar_token1, + aux_sym_keyword_char_token2, ACTIONS(31), 1, - sym_keyword_date, + aux_sym_keyword_varchar_token1, ACTIONS(33), 1, - sym_keyword_datetime, + sym_keyword_date, ACTIONS(35), 1, - aux_sym_keyword_time_token1, + sym_keyword_datetime, ACTIONS(37), 1, aux_sym_keyword_timestamp_token1, ACTIONS(39), 1, @@ -2803,21 +2803,21 @@ static const uint16_t ts_small_parse_table[] = { STATE(52), 2, sym_char, sym_varchar, + STATE(46), 3, + sym_keyword_time, + sym_keyword_timestamp, + sym_keyword_timestamptz, STATE(51), 3, sym_double, sym_decimal, sym_numeric, - STATE(53), 3, - sym_keyword_time, - sym_keyword_timestamp, - sym_keyword_timestamptz, - ACTIONS(15), 5, + ACTIONS(17), 5, + sym_keyword_xml, + sym_keyword_uuid, sym_keyword_boolean, sym_keyword_money, sym_keyword_bytea, - sym_keyword_uuid, - sym_keyword_xml, - ACTIONS(17), 7, + ACTIONS(19), 7, sym_keyword_smallint, sym_keyword_integer, sym_keyword_bigint, @@ -2842,18 +2842,20 @@ static const uint16_t ts_small_parse_table[] = { sym_line_comment, sym_block_comment, ACTIONS(43), 4, + aux_sym__keyword_time_zone_token1, aux_sym_keyword_char_token2, sym_keyword_date, - aux_sym_keyword_time_token1, aux_sym_keyword_timestamp_token1, ACTIONS(41), 26, anon_sym_LPAREN, anon_sym_DOT, + aux_sym_double_token1, sym_keyword_not, sym_keyword_null, sym_keyword_default, sym_keyword_unique, - aux_sym_double_token1, + sym_keyword_xml, + sym_keyword_uuid, sym_keyword_boolean, sym_keyword_smallint, sym_keyword_integer, @@ -2871,8 +2873,6 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_bytea, sym_keyword_datetime, aux_sym_keyword_timestamptz_token1, - sym_keyword_uuid, - sym_keyword_xml, [140] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, @@ -2882,18 +2882,20 @@ static const uint16_t ts_small_parse_table[] = { sym_line_comment, sym_block_comment, ACTIONS(47), 4, + aux_sym__keyword_time_zone_token1, aux_sym_keyword_char_token2, sym_keyword_date, - aux_sym_keyword_time_token1, aux_sym_keyword_timestamp_token1, ACTIONS(45), 26, anon_sym_LPAREN, anon_sym_DOT, + aux_sym_double_token1, sym_keyword_not, sym_keyword_null, sym_keyword_default, sym_keyword_unique, - aux_sym_double_token1, + sym_keyword_xml, + sym_keyword_uuid, sym_keyword_boolean, sym_keyword_smallint, sym_keyword_integer, @@ -2911,8 +2913,6 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_bytea, sym_keyword_datetime, aux_sym_keyword_timestamptz_token1, - sym_keyword_uuid, - sym_keyword_xml, [185] = 7, ACTIONS(3), 1, anon_sym_DASH_DASH, @@ -2925,7 +2925,7 @@ static const uint16_t ts_small_parse_table[] = { STATE(5), 2, sym_line_comment, sym_block_comment, - STATE(38), 2, + STATE(42), 2, sym__without_time_zone, sym__with_time_zone, ACTIONS(49), 7, @@ -2945,10 +2945,10 @@ static const uint16_t ts_small_parse_table[] = { aux_sym__without_time_zone_token1, ACTIONS(53), 1, aux_sym__with_time_zone_token1, - STATE(35), 1, - sym__with_time_zone, - STATE(37), 1, + STATE(24), 1, sym__without_time_zone, + STATE(41), 1, + sym__with_time_zone, STATE(6), 2, sym_line_comment, sym_block_comment, @@ -2975,9 +2975,9 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_default, ACTIONS(71), 1, sym_keyword_unique, - STATE(31), 1, + STATE(37), 1, sym_column_constraint, - STATE(32), 1, + STATE(40), 1, sym__not_null, ACTIONS(57), 2, anon_sym_COMMA, @@ -3003,9 +3003,9 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, STATE(7), 1, aux_sym_column_definition_repeat1, - STATE(31), 1, + STATE(37), 1, sym_column_constraint, - STATE(32), 1, + STATE(40), 1, sym__not_null, ACTIONS(74), 2, anon_sym_COMMA, @@ -3030,9 +3030,9 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_unique, STATE(8), 1, aux_sym_column_definition_repeat1, - STATE(31), 1, + STATE(37), 1, sym_column_constraint, - STATE(32), 1, + STATE(40), 1, sym__not_null, ACTIONS(86), 2, anon_sym_COMMA, @@ -3071,14 +3071,14 @@ static const uint16_t ts_small_parse_table[] = { ts_builtin_sym_end, STATE(18), 1, aux_sym_source_file_repeat1, - STATE(66), 1, + STATE(69), 1, sym_statement, STATE(85), 1, sym__create_statement, - STATE(88), 1, - sym__ddl_statement, - STATE(100), 1, + STATE(99), 1, sym_create_table, + STATE(110), 1, + sym__ddl_statement, STATE(11), 2, sym_line_comment, sym_block_comment, @@ -3119,28 +3119,24 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_constraint, sym_keyword_default, sym_keyword_unique, - [468] = 8, + [468] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(106), 1, - anon_sym_SQUOTE, - STATE(23), 1, - sym__expression, - STATE(24), 1, - sym_literal, - STATE(39), 1, - sym__literal_string, STATE(14), 2, sym_line_comment, sym_block_comment, - ACTIONS(104), 4, + ACTIONS(104), 8, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RPAREN, + sym_keyword_not, sym_keyword_null, - sym_keyword_true, - sym_keyword_false, - sym__number, - [497] = 4, + sym_keyword_constraint, + sym_keyword_default, + sym_keyword_unique, + [489] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -3148,7 +3144,7 @@ static const uint16_t ts_small_parse_table[] = { STATE(15), 2, sym_line_comment, sym_block_comment, - ACTIONS(108), 8, + ACTIONS(106), 8, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, @@ -3157,17 +3153,17 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_constraint, sym_keyword_default, sym_keyword_unique, - [518] = 5, + [510] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(110), 1, + ACTIONS(108), 1, anon_sym_LPAREN, STATE(16), 2, sym_line_comment, sym_block_comment, - ACTIONS(112), 7, + ACTIONS(110), 7, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, @@ -3175,23 +3171,27 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_constraint, sym_keyword_default, sym_keyword_unique, - [541] = 4, + [533] = 8, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, + ACTIONS(114), 1, + anon_sym_SQUOTE, + STATE(23), 1, + sym__expression, + STATE(45), 1, + sym__literal_string, + STATE(48), 1, + sym_literal, STATE(17), 2, sym_line_comment, sym_block_comment, - ACTIONS(114), 8, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_RPAREN, - sym_keyword_not, + ACTIONS(112), 4, sym_keyword_null, - sym_keyword_constraint, - sym_keyword_default, - sym_keyword_unique, + sym_keyword_true, + sym_keyword_false, + sym__number, [562] = 10, ACTIONS(3), 1, anon_sym_DASH_DASH, @@ -3203,14 +3203,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_SEMI, ACTIONS(121), 1, sym_keyword_create, - STATE(66), 1, + STATE(69), 1, sym_statement, STATE(85), 1, sym__create_statement, - STATE(88), 1, - sym__ddl_statement, - STATE(100), 1, + STATE(99), 1, sym_create_table, + STATE(110), 1, + sym__ddl_statement, STATE(18), 3, sym_line_comment, sym_block_comment, @@ -3234,16 +3234,17 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_constraint, sym_keyword_default, sym_keyword_unique, - [620] = 4, + [620] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, + ACTIONS(130), 1, + anon_sym_LPAREN, STATE(20), 2, sym_line_comment, sym_block_comment, - ACTIONS(130), 8, - anon_sym_LPAREN, + ACTIONS(132), 7, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, @@ -3251,17 +3252,16 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_constraint, sym_keyword_default, sym_keyword_unique, - [641] = 5, + [643] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(133), 1, - anon_sym_LPAREN, STATE(21), 2, sym_line_comment, sym_block_comment, - ACTIONS(135), 7, + ACTIONS(134), 8, + anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, @@ -3274,18 +3274,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(106), 1, + ACTIONS(114), 1, anon_sym_SQUOTE, - STATE(24), 1, - sym_literal, - STATE(39), 1, - sym__literal_string, STATE(43), 1, sym__expression, + STATE(45), 1, + sym__literal_string, + STATE(48), 1, + sym_literal, STATE(22), 2, sym_line_comment, sym_block_comment, - ACTIONS(104), 4, + ACTIONS(112), 4, sym_keyword_null, sym_keyword_true, sym_keyword_false, @@ -3442,7 +3442,7 @@ static const uint16_t ts_small_parse_table[] = { STATE(32), 2, sym_line_comment, sym_block_comment, - ACTIONS(124), 7, + ACTIONS(155), 7, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, @@ -3458,7 +3458,7 @@ static const uint16_t ts_small_parse_table[] = { STATE(33), 2, sym_line_comment, sym_block_comment, - ACTIONS(155), 7, + ACTIONS(157), 7, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, @@ -3474,7 +3474,7 @@ static const uint16_t ts_small_parse_table[] = { STATE(34), 2, sym_line_comment, sym_block_comment, - ACTIONS(157), 7, + ACTIONS(159), 7, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, @@ -3490,7 +3490,7 @@ static const uint16_t ts_small_parse_table[] = { STATE(35), 2, sym_line_comment, sym_block_comment, - ACTIONS(159), 7, + ACTIONS(161), 7, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, @@ -3506,7 +3506,7 @@ static const uint16_t ts_small_parse_table[] = { STATE(36), 2, sym_line_comment, sym_block_comment, - ACTIONS(161), 7, + ACTIONS(163), 7, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, @@ -3522,7 +3522,7 @@ static const uint16_t ts_small_parse_table[] = { STATE(37), 2, sym_line_comment, sym_block_comment, - ACTIONS(163), 7, + ACTIONS(165), 7, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, @@ -3538,7 +3538,7 @@ static const uint16_t ts_small_parse_table[] = { STATE(38), 2, sym_line_comment, sym_block_comment, - ACTIONS(165), 7, + ACTIONS(167), 7, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, @@ -3554,7 +3554,7 @@ static const uint16_t ts_small_parse_table[] = { STATE(39), 2, sym_line_comment, sym_block_comment, - ACTIONS(167), 7, + ACTIONS(169), 7, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, @@ -3570,7 +3570,7 @@ static const uint16_t ts_small_parse_table[] = { STATE(40), 2, sym_line_comment, sym_block_comment, - ACTIONS(169), 7, + ACTIONS(124), 7, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, @@ -3698,7 +3698,7 @@ static const uint16_t ts_small_parse_table[] = { STATE(48), 2, sym_line_comment, sym_block_comment, - ACTIONS(94), 7, + ACTIONS(185), 7, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, @@ -3714,7 +3714,7 @@ static const uint16_t ts_small_parse_table[] = { STATE(49), 2, sym_line_comment, sym_block_comment, - ACTIONS(185), 7, + ACTIONS(187), 7, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, @@ -3730,7 +3730,7 @@ static const uint16_t ts_small_parse_table[] = { STATE(50), 2, sym_line_comment, sym_block_comment, - ACTIONS(187), 7, + ACTIONS(189), 7, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, @@ -3746,7 +3746,7 @@ static const uint16_t ts_small_parse_table[] = { STATE(51), 2, sym_line_comment, sym_block_comment, - ACTIONS(189), 7, + ACTIONS(191), 7, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, @@ -3762,7 +3762,7 @@ static const uint16_t ts_small_parse_table[] = { STATE(52), 2, sym_line_comment, sym_block_comment, - ACTIONS(191), 7, + ACTIONS(193), 7, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, @@ -3778,7 +3778,7 @@ static const uint16_t ts_small_parse_table[] = { STATE(53), 2, sym_line_comment, sym_block_comment, - ACTIONS(193), 7, + ACTIONS(94), 7, anon_sym_COMMA, anon_sym_RPAREN, sym_keyword_not, @@ -3797,11 +3797,11 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_if, ACTIONS(199), 1, anon_sym_DQUOTE, - STATE(60), 1, + STATE(61), 1, sym__if_not_exists, - STATE(75), 1, + STATE(78), 1, sym_identifier, - STATE(80), 1, + STATE(81), 1, sym_table_reference, STATE(54), 2, sym_line_comment, @@ -3817,11 +3817,11 @@ static const uint16_t ts_small_parse_table[] = { sym_keyword_if, ACTIONS(199), 1, anon_sym_DQUOTE, - STATE(61), 1, + STATE(60), 1, sym__if_not_exists, - STATE(71), 1, + STATE(77), 1, sym_table_reference, - STATE(75), 1, + STATE(78), 1, sym_identifier, STATE(55), 2, sym_line_comment, @@ -3831,16 +3831,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, + ACTIONS(76), 1, + sym_keyword_not, ACTIONS(201), 1, - sym_keyword_table, + sym_keyword_null, ACTIONS(203), 1, - aux_sym_keyword_temporary_token1, + sym_keyword_default, ACTIONS(205), 1, - aux_sym_keyword_temporary_token2, - ACTIONS(207), 1, - sym_keyword_unlogged, - STATE(109), 1, - sym_keyword_temporary, + sym_keyword_unique, + STATE(53), 1, + sym__not_null, STATE(56), 2, sym_line_comment, sym_block_comment, @@ -3849,16 +3849,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(76), 1, - sym_keyword_not, + ACTIONS(199), 1, + anon_sym_DQUOTE, + ACTIONS(207), 1, + sym__identifier, ACTIONS(209), 1, - sym_keyword_null, - ACTIONS(211), 1, - sym_keyword_default, - ACTIONS(213), 1, - sym_keyword_unique, - STATE(48), 1, - sym__not_null, + anon_sym_RPAREN, + STATE(2), 1, + sym_identifier, + STATE(67), 1, + sym_column_definition, STATE(57), 2, sym_line_comment, sym_block_comment, @@ -3867,16 +3867,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(199), 1, - anon_sym_DQUOTE, + ACTIONS(211), 1, + sym_keyword_table, + ACTIONS(213), 1, + aux_sym_keyword_temporary_token1, ACTIONS(215), 1, - sym__identifier, + aux_sym_keyword_temporary_token2, ACTIONS(217), 1, - anon_sym_RPAREN, - STATE(2), 1, - sym_identifier, - STATE(65), 1, - sym_column_definition, + sym_keyword_unlogged, + STATE(109), 1, + sym_keyword_temporary, STATE(58), 2, sym_line_comment, sym_block_comment, @@ -3887,11 +3887,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_SLASH_STAR, ACTIONS(199), 1, anon_sym_DQUOTE, - ACTIONS(215), 1, + ACTIONS(207), 1, sym__identifier, STATE(2), 1, sym_identifier, - STATE(79), 1, + STATE(73), 1, sym_column_definition, STATE(59), 2, sym_line_comment, @@ -3903,11 +3903,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_SLASH_STAR, ACTIONS(199), 1, anon_sym_DQUOTE, - ACTIONS(215), 1, + ACTIONS(207), 1, sym__identifier, - STATE(71), 1, + STATE(74), 1, sym_table_reference, - STATE(75), 1, + STATE(78), 1, sym_identifier, STATE(60), 2, sym_line_comment, @@ -3919,11 +3919,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_SLASH_STAR, ACTIONS(199), 1, anon_sym_DQUOTE, - ACTIONS(215), 1, + ACTIONS(207), 1, sym__identifier, - STATE(72), 1, + STATE(77), 1, sym_table_reference, - STATE(75), 1, + STATE(78), 1, sym_identifier, STATE(61), 2, sym_line_comment, @@ -3935,28 +3935,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_SLASH_STAR, ACTIONS(199), 1, anon_sym_DQUOTE, - ACTIONS(215), 1, + ACTIONS(207), 1, sym__identifier, STATE(112), 1, sym_identifier, STATE(62), 2, sym_line_comment, sym_block_comment, - [1538] = 6, + [1538] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(219), 1, anon_sym_COMMA, - ACTIONS(221), 1, + ACTIONS(222), 1, anon_sym_RPAREN, - STATE(68), 1, - aux_sym_column_definitions_repeat1, - STATE(63), 2, + STATE(63), 3, sym_line_comment, sym_block_comment, - [1558] = 4, + aux_sym_column_definitions_repeat1, + [1556] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -3964,63 +3963,64 @@ static const uint16_t ts_small_parse_table[] = { STATE(64), 2, sym_line_comment, sym_block_comment, - ACTIONS(223), 3, + ACTIONS(224), 3, ts_builtin_sym_end, anon_sym_SEMI, sym_keyword_create, - [1574] = 6, + [1572] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(219), 1, - anon_sym_COMMA, - ACTIONS(225), 1, - anon_sym_RPAREN, - STATE(63), 1, - aux_sym_column_definitions_repeat1, STATE(65), 2, sym_line_comment, sym_block_comment, - [1594] = 4, + ACTIONS(226), 3, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_keyword_create, + [1588] = 6, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, + ACTIONS(228), 1, + anon_sym_COMMA, + ACTIONS(230), 1, + anon_sym_RPAREN, + STATE(63), 1, + aux_sym_column_definitions_repeat1, STATE(66), 2, sym_line_comment, sym_block_comment, - ACTIONS(227), 3, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_keyword_create, - [1610] = 6, + [1608] = 6, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(228), 1, + anon_sym_COMMA, + ACTIONS(232), 1, + anon_sym_RPAREN, + STATE(66), 1, + aux_sym_column_definitions_repeat1, + STATE(67), 2, + sym_line_comment, + sym_block_comment, + [1628] = 6, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(199), 1, anon_sym_DQUOTE, - ACTIONS(215), 1, + ACTIONS(207), 1, sym__identifier, - STATE(57), 1, + STATE(56), 1, sym_identifier, - STATE(67), 2, + STATE(68), 2, sym_line_comment, sym_block_comment, - [1630] = 5, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(229), 1, - anon_sym_COMMA, - ACTIONS(232), 1, - anon_sym_RPAREN, - STATE(68), 3, - sym_line_comment, - sym_block_comment, - aux_sym_column_definitions_repeat1, [1648] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, @@ -4039,9 +4039,9 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(236), 1, - aux_sym_keyword_time_token1, - STATE(30), 1, - sym__keyword_time_zone, + sym_keyword_not, + ACTIONS(238), 1, + sym_keyword_distinct, STATE(70), 2, sym_line_comment, sym_block_comment, @@ -4050,10 +4050,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(238), 1, - anon_sym_LPAREN, - STATE(113), 1, - sym_column_definitions, + ACTIONS(240), 1, + aux_sym__keyword_time_zone_token1, + STATE(31), 1, + sym__keyword_time_zone, STATE(71), 2, sym_line_comment, sym_block_comment, @@ -4062,33 +4062,33 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(238), 1, - anon_sym_LPAREN, - STATE(98), 1, - sym_column_definitions, + ACTIONS(240), 1, + aux_sym__keyword_time_zone_token1, + STATE(29), 1, + sym__keyword_time_zone, STATE(72), 2, sym_line_comment, sym_block_comment, - [1715] = 5, + [1715] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(236), 1, - aux_sym_keyword_time_token1, - STATE(29), 1, - sym__keyword_time_zone, + ACTIONS(222), 2, + anon_sym_COMMA, + anon_sym_RPAREN, STATE(73), 2, sym_line_comment, sym_block_comment, - [1732] = 4, + [1730] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(240), 2, - anon_sym_DQUOTE, - sym__identifier, + ACTIONS(242), 1, + anon_sym_LPAREN, + STATE(97), 1, + sym_column_definitions, STATE(74), 2, sym_line_comment, sym_block_comment, @@ -4097,38 +4097,49 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(242), 1, - anon_sym_LPAREN, ACTIONS(244), 1, - anon_sym_DOT, + sym_keyword_not, + ACTIONS(246), 1, + sym_keyword_distinct, STATE(75), 2, sym_line_comment, sym_block_comment, - [1764] = 5, + [1764] = 4, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(246), 1, - sym_keyword_not, - ACTIONS(248), 1, - sym_keyword_distinct, + ACTIONS(248), 2, + anon_sym_DQUOTE, + sym__identifier, STATE(76), 2, sym_line_comment, sym_block_comment, - [1781] = 5, + [1779] = 5, + ACTIONS(3), 1, + anon_sym_DASH_DASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(242), 1, + anon_sym_LPAREN, + STATE(113), 1, + sym_column_definitions, + STATE(77), 2, + sym_line_comment, + sym_block_comment, + [1796] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(250), 1, - anon_sym_COMMA, + anon_sym_LPAREN, ACTIONS(252), 1, - anon_sym_RPAREN, - STATE(77), 2, + anon_sym_DOT, + STATE(78), 2, sym_line_comment, sym_block_comment, - [1798] = 5, + [1813] = 5, ACTIONS(3), 1, anon_sym_DASH_DASH, ACTIONS(5), 1, @@ -4137,17 +4148,6 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COMMA, ACTIONS(256), 1, anon_sym_RPAREN, - STATE(78), 2, - sym_line_comment, - sym_block_comment, - [1815] = 4, - ACTIONS(3), 1, - anon_sym_DASH_DASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(232), 2, - anon_sym_COMMA, - anon_sym_RPAREN, STATE(79), 2, sym_line_comment, sym_block_comment, @@ -4156,10 +4156,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(238), 1, - anon_sym_LPAREN, - STATE(115), 1, - sym_column_definitions, + ACTIONS(258), 1, + anon_sym_COMMA, + ACTIONS(260), 1, + anon_sym_RPAREN, STATE(80), 2, sym_line_comment, sym_block_comment, @@ -4168,10 +4168,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_DASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(258), 1, - sym_keyword_not, - ACTIONS(260), 1, - sym_keyword_distinct, + ACTIONS(242), 1, + anon_sym_LPAREN, + STATE(115), 1, + sym_column_definitions, STATE(81), 2, sym_line_comment, sym_block_comment, @@ -4201,7 +4201,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(266), 1, - aux_sym__keyword_time_zone_token1, + sym_keyword_null, STATE(84), 2, sym_line_comment, sym_block_comment, @@ -4241,7 +4241,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(274), 1, - anon_sym_SEMI, + aux_sym__keyword_time_zone_token2, STATE(88), 2, sym_line_comment, sym_block_comment, @@ -4331,7 +4331,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(296), 1, - sym__number, + anon_sym_SEMI, STATE(97), 2, sym_line_comment, sym_block_comment, @@ -4341,7 +4341,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(298), 1, - anon_sym_SEMI, + sym__number, STATE(98), 2, sym_line_comment, sym_block_comment, @@ -4351,7 +4351,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(300), 1, - sym__number, + anon_sym_SEMI, STATE(99), 2, sym_line_comment, sym_block_comment, @@ -4361,7 +4361,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(302), 1, - anon_sym_SEMI, + sym__number, STATE(100), 2, sym_line_comment, sym_block_comment, @@ -4461,7 +4461,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(322), 1, - sym_keyword_null, + anon_sym_SEMI, STATE(110), 2, sym_line_comment, sym_block_comment, @@ -4567,13 +4567,13 @@ static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(12)] = 420, [SMALL_STATE(13)] = 445, [SMALL_STATE(14)] = 468, - [SMALL_STATE(15)] = 497, - [SMALL_STATE(16)] = 518, - [SMALL_STATE(17)] = 541, + [SMALL_STATE(15)] = 489, + [SMALL_STATE(16)] = 510, + [SMALL_STATE(17)] = 533, [SMALL_STATE(18)] = 562, [SMALL_STATE(19)] = 595, [SMALL_STATE(20)] = 620, - [SMALL_STATE(21)] = 641, + [SMALL_STATE(21)] = 643, [SMALL_STATE(22)] = 664, [SMALL_STATE(23)] = 693, [SMALL_STATE(24)] = 713, @@ -4616,22 +4616,22 @@ static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(61)] = 1495, [SMALL_STATE(62)] = 1518, [SMALL_STATE(63)] = 1538, - [SMALL_STATE(64)] = 1558, - [SMALL_STATE(65)] = 1574, - [SMALL_STATE(66)] = 1594, - [SMALL_STATE(67)] = 1610, - [SMALL_STATE(68)] = 1630, + [SMALL_STATE(64)] = 1556, + [SMALL_STATE(65)] = 1572, + [SMALL_STATE(66)] = 1588, + [SMALL_STATE(67)] = 1608, + [SMALL_STATE(68)] = 1628, [SMALL_STATE(69)] = 1648, [SMALL_STATE(70)] = 1664, [SMALL_STATE(71)] = 1681, [SMALL_STATE(72)] = 1698, [SMALL_STATE(73)] = 1715, - [SMALL_STATE(74)] = 1732, + [SMALL_STATE(74)] = 1730, [SMALL_STATE(75)] = 1747, [SMALL_STATE(76)] = 1764, - [SMALL_STATE(77)] = 1781, - [SMALL_STATE(78)] = 1798, - [SMALL_STATE(79)] = 1815, + [SMALL_STATE(77)] = 1779, + [SMALL_STATE(78)] = 1796, + [SMALL_STATE(79)] = 1813, [SMALL_STATE(80)] = 1830, [SMALL_STATE(81)] = 1847, [SMALL_STATE(82)] = 1864, @@ -4681,41 +4681,41 @@ static const TSParseActionEntry ts_parse_actions[] = { [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), [7] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 0), - [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), - [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), + [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), + [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), - [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), - [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), - [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), + [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5), + [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), + [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), - [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), - [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), - [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(17), - [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), - [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(53), - [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), - [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5), + [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), + [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), + [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), + [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(15), + [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), + [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(46), + [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6), - [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), + [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), [41] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier, 3), [43] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_identifier, 3), [45] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier, 1), [47] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_identifier, 1), [49] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_time, 1), - [51] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), - [53] = {.entry = {.count = 1, .reusable = false}}, SHIFT(73), + [51] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), + [53] = {.entry = {.count = 1, .reusable = false}}, SHIFT(72), [55] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_timestamp, 1), [57] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_column_definition_repeat1, 2), - [59] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_column_definition_repeat1, 2), SHIFT_REPEAT(110), - [62] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_column_definition_repeat1, 2), SHIFT_REPEAT(32), - [65] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_column_definition_repeat1, 2), SHIFT_REPEAT(67), - [68] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_column_definition_repeat1, 2), SHIFT_REPEAT(14), + [59] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_column_definition_repeat1, 2), SHIFT_REPEAT(84), + [62] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_column_definition_repeat1, 2), SHIFT_REPEAT(40), + [65] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_column_definition_repeat1, 2), SHIFT_REPEAT(68), + [68] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_column_definition_repeat1, 2), SHIFT_REPEAT(17), [71] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_column_definition_repeat1, 2), SHIFT_REPEAT(19), [74] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_definition, 3, .production_id = 3), - [76] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), - [78] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), - [80] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), - [82] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), + [76] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), + [78] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), + [80] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), + [82] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), [84] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), [86] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_definition, 2, .production_id = 3), [88] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), @@ -4723,107 +4723,107 @@ static const TSParseActionEntry ts_parse_actions[] = { [92] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1), [94] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 3, .production_id = 5), [96] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_column_constraint, 3, .production_id = 5), - [98] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), + [98] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), [100] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), [102] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_varchar, 1), - [104] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), - [106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), - [108] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_varchar, 1), - [110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), - [112] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_numeric, 1), - [114] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_char, 1), + [104] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_varchar, 1), + [106] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_char, 1), + [108] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), + [110] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decimal, 1), + [112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), + [114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), [116] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), - [118] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(69), - [121] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(56), + [118] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(64), + [121] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(58), [124] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 1), [126] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_column_constraint, 1), - [128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), - [130] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_keyword_char, 1), REDUCE(sym_keyword_varchar, 1), - [133] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), - [135] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decimal, 1), + [128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), + [130] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), + [132] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_numeric, 1), + [134] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_keyword_char, 1), REDUCE(sym_keyword_varchar, 1), [137] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 2), - [139] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression, 1), + [139] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_timestamp, 2), [141] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__not_null, 2), [143] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 6, .production_id = 5), [145] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 5, .production_id = 5), [147] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_numeric, 6, .production_id = 7), [149] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__with_time_zone, 2), - [151] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__without_time_zone, 2), - [153] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_column_definition_repeat1, 1), - [155] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decimal, 6, .production_id = 7), - [157] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 4), - [159] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_timestamptz, 2), - [161] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__literal_string, 3), - [163] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_timestamp, 2), - [165] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_time, 2), - [167] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_literal, 1), - [169] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_double, 2), - [171] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decimal, 4, .production_id = 4), - [173] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_numeric, 4, .production_id = 4), + [151] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_double, 2), + [153] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__without_time_zone, 2), + [155] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__keyword_time_zone, 2), + [157] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decimal, 6, .production_id = 7), + [159] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 4), + [161] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decimal, 4, .production_id = 4), + [163] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__literal_string, 3), + [165] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_column_definition_repeat1, 1), + [167] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_numeric, 4, .production_id = 4), + [169] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_timestamptz, 1), + [171] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_timestamptz, 2), + [173] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_time, 2), [175] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 4, .production_id = 5), [177] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_varchar, 4, .production_id = 6), - [179] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__keyword_time_zone, 2), - [181] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_timestamptz, 1), + [179] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_literal, 1), + [181] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_datetime, 1), [183] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_char, 4, .production_id = 6), - [185] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 3), - [187] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type, 1), - [189] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_numeric, 1), - [191] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_character, 1), - [193] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_datetime, 1), + [185] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression, 1), + [187] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_constraint, 3), + [189] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type, 1), + [191] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_numeric, 1), + [193] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_character, 1), [195] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4), [197] = {.entry = {.count = 1, .reusable = false}}, SHIFT(89), [199] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), - [201] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), - [203] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), - [205] = {.entry = {.count = 1, .reusable = false}}, SHIFT(103), - [207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), - [209] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), - [211] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), - [213] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), - [215] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), - [217] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), - [219] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), - [221] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), - [223] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 2), - [225] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), - [227] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 1), - [229] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_column_definitions_repeat1, 2), SHIFT_REPEAT(59), - [232] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_column_definitions_repeat1, 2), - [234] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 1), - [236] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), - [238] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), - [240] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__if_not_exists, 3), - [242] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_reference, 1, .production_id = 1), - [244] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), - [246] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), - [248] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), - [250] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), - [252] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), - [254] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), - [256] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), - [258] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), - [260] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), + [201] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), + [203] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), + [205] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), + [207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), + [209] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), + [211] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), + [213] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), + [215] = {.entry = {.count = 1, .reusable = false}}, SHIFT(103), + [217] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), + [219] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_column_definitions_repeat1, 2), SHIFT_REPEAT(59), + [222] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_column_definitions_repeat1, 2), + [224] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 1), + [226] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 2), + [228] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), + [230] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), + [232] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), + [234] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 1), + [236] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), + [238] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), + [240] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), + [242] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), + [244] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), + [246] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), + [248] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__if_not_exists, 3), + [250] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_reference, 1, .production_id = 1), + [252] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), + [254] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), + [256] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [258] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), + [260] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), [262] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_definitions, 3), [264] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), - [266] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), + [266] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), [268] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__ddl_statement, 1), [270] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), [272] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), - [274] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), + [274] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), [276] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), [278] = {.entry = {.count = 1, .reusable = false}}, SHIFT(107), [280] = {.entry = {.count = 1, .reusable = false}}, SHIFT(104), [282] = {.entry = {.count = 1, .reusable = false}}, SHIFT(105), [284] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [286] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), - [288] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), + [286] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), + [288] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), [290] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_definitions, 4), [292] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), [294] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), - [296] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), - [298] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_create_table, 6), - [300] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), - [302] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__create_statement, 1), + [296] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_create_table, 6), + [298] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), + [300] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__create_statement, 1), + [302] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), [304] = {.entry = {.count = 1, .reusable = false}}, SHIFT(116), [306] = {.entry = {.count = 1, .reusable = false}}, SHIFT(120), [308] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_temporary, 1), @@ -4831,16 +4831,16 @@ static const TSParseActionEntry ts_parse_actions[] = { [312] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), [314] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), [316] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), - [318] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), + [318] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), [320] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), - [322] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), + [322] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), [324] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), [326] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_reference, 3, .production_id = 2), [328] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_create_table, 5), [330] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_column_definitions, 2), [332] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_create_table, 4), [334] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), - [336] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), + [336] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), [338] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), [340] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_line_comment, 2), [342] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block_comment, 3), diff --git a/tree-sitter-plpgsql.wasm b/tree-sitter-plpgsql.wasm index 732163c..8944a90 100755 Binary files a/tree-sitter-plpgsql.wasm and b/tree-sitter-plpgsql.wasm differ