Skip to content

Commit

Permalink
Merge pull request #259 from matthias-Q/alter_column_set
Browse files Browse the repository at this point in the history
add: `ALTER COLUMN` `SET` variations
  • Loading branch information
matthias-Q authored Jun 7, 2024
2 parents 70ba8a5 + 6bca30d commit df7a773
Show file tree
Hide file tree
Showing 3 changed files with 168 additions and 2 deletions.
34 changes: 32 additions & 2 deletions grammar.js
Original file line number Diff line number Diff line change
Expand Up @@ -261,6 +261,11 @@ module.exports = grammar({
keyword_header: _ => make_keyword("header"),
keyword_match: _ => make_keyword("match"),
keyword_program: _ => make_keyword("program"),
keyword_plain: _ => make_keyword("plain"),
keyword_extended: _ => make_keyword("extended"),
keyword_main: _ => make_keyword("main"),
keyword_storage: _ => make_keyword("storage"),
keyword_compression: _ => make_keyword("compression"),

keyword_trigger: _ => make_keyword('trigger'),
keyword_function: _ => make_keyword("function"),
Expand Down Expand Up @@ -1725,8 +1730,33 @@ module.exports = grammar({
),
seq(
$.keyword_set,
$.keyword_default,
$._expression,
choice(
seq(
$.keyword_statistics,
field('statistics', $._integer)
),
seq(
$.keyword_storage,
choice(
$.keyword_plain,
$.keyword_external,
$.keyword_extended,
$.keyword_main,
$.keyword_default,
),
),
seq(
$.keyword_compression,
field('compression_method', $._identifier)
),
seq(
paren_list($._key_value_pair, true),
),
seq(
$.keyword_default,
$._expression,
),
)
),
seq(
$.keyword_drop,
Expand Down
5 changes: 5 additions & 0 deletions queries/highlights.scm
Original file line number Diff line number Diff line change
Expand Up @@ -317,6 +317,11 @@
(keyword_program)
(keyword_quote)
(keyword_stdin)
(keyword_extended)
(keyword_main)
(keyword_plain)
(keyword_storage)
(keyword_compression)
] @keyword

[
Expand Down
131 changes: 131 additions & 0 deletions test/corpus/alter.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1199,3 +1199,134 @@ ALTER TABLE table_name
(identifier))
(column
(identifier))))))))


================================================================================
Alter Column Set Storage
================================================================================

ALTER TABLE table_name
ALTER COLUMN col1 SET STORAGE PLAIN;
ALTER TABLE table_name
ALTER COLUMN col1 SET STORAGE EXTERNAL;
ALTER TABLE table_name
ALTER COLUMN col1 SET STORAGE EXTENDED;
ALTER TABLE table_name
ALTER COLUMN col1 SET STORAGE MAIN;
ALTER TABLE table_name
ALTER COLUMN col1 SET STORAGE DEFAULT;

--------------------------------------------------------------------------------

(program
(statement
(alter_table
(keyword_alter)
(keyword_table)
(object_reference
(identifier))
(alter_column
(keyword_alter)
(keyword_column)
(identifier)
(keyword_set)
(keyword_storage)
(keyword_plain))))
(statement
(alter_table
(keyword_alter)
(keyword_table)
(object_reference
(identifier))
(alter_column
(keyword_alter)
(keyword_column)
(identifier)
(keyword_set)
(keyword_storage)
(keyword_external))))
(statement
(alter_table
(keyword_alter)
(keyword_table)
(object_reference
(identifier))
(alter_column
(keyword_alter)
(keyword_column)
(identifier)
(keyword_set)
(keyword_storage)
(keyword_extended))))
(statement
(alter_table
(keyword_alter)
(keyword_table)
(object_reference
(identifier))
(alter_column
(keyword_alter)
(keyword_column)
(identifier)
(keyword_set)
(keyword_storage)
(keyword_main))))
(statement
(alter_table
(keyword_alter)
(keyword_table)
(object_reference
(identifier))
(alter_column
(keyword_alter)
(keyword_column)
(identifier)
(keyword_set)
(keyword_storage)
(keyword_default)))))

================================================================================
Alter Column Set Compression
================================================================================

ALTER TABLE table_name
ALTER COLUMN col1 SET COMPRESSION lz4;

--------------------------------------------------------------------------------

(program
(statement
(alter_table
(keyword_alter)
(keyword_table)
(object_reference
(identifier))
(alter_column
(keyword_alter)
(keyword_column)
(identifier)
(keyword_set)
(keyword_compression)))))

================================================================================
Alter Column Set Statistics
================================================================================

ALTER TABLE table_name
ALTER COLUMN col1 SET STATISTICS 100;

--------------------------------------------------------------------------------

(program
(statement
(alter_table
(keyword_alter)
(keyword_table)
(object_reference
(identifier))
(alter_column
(keyword_alter)
(keyword_column)
(identifier)
(keyword_set)
(keyword_statistics)))))

0 comments on commit df7a773

Please sign in to comment.