Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions src/languages/bigquery/bigquery.formatter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,7 @@ const reservedJoins = expandPhrases([
'{INNER | CROSS} JOIN',
]);

const reservedPhrases = expandPhrases([
const reservedKeywordPhrases = expandPhrases([
// https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax#tablesample_operator
'TABLESAMPLE SYSTEM',
// From DDL: https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language
Expand All @@ -158,6 +158,8 @@ const reservedPhrases = expandPhrases([
'IS [NOT] DISTINCT FROM',
]);

const reservedDataTypePhrases = expandPhrases([]);

// https://cloud.google.com/bigquery/docs/reference/#standard-sql-reference
export const bigquery: DialectOptions = {
name: 'bigquery',
Expand All @@ -166,7 +168,8 @@ export const bigquery: DialectOptions = {
reservedClauses: [...reservedClauses, ...tabularOnelineClauses, ...standardOnelineClauses],
reservedSetOperations,
reservedJoins,
reservedPhrases,
reservedKeywordPhrases,
reservedDataTypePhrases,
reservedKeywords: keywords,
reservedDataTypes: dataTypes,
reservedFunctionNames: functions,
Expand Down
7 changes: 5 additions & 2 deletions src/languages/db2/db2.formatter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -253,21 +253,24 @@ const reservedJoins = expandPhrases([
'{INNER | CROSS} JOIN',
]);

const reservedPhrases = expandPhrases([
const reservedKeywordPhrases = expandPhrases([
'ON DELETE',
'ON UPDATE',
'SET NULL',
'{ROWS | RANGE} BETWEEN',
]);

const reservedDataTypePhrases = expandPhrases([]);

export const db2: DialectOptions = {
name: 'db2',
tokenizerOptions: {
reservedSelect,
reservedClauses: [...reservedClauses, ...standardOnelineClauses, ...tabularOnelineClauses],
reservedSetOperations,
reservedJoins,
reservedPhrases,
reservedKeywordPhrases,
reservedDataTypePhrases,
reservedKeywords: keywords,
reservedDataTypes: dataTypes,
reservedFunctionNames: functions,
Expand Down
7 changes: 5 additions & 2 deletions src/languages/db2i/db2i.formatter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -146,13 +146,15 @@ const reservedJoins = expandPhrases([
'{INNER | CROSS} JOIN',
]);

const reservedPhrases = expandPhrases([
const reservedKeywordPhrases = expandPhrases([
'ON DELETE',
'ON UPDATE',
'SET NULL',
'{ROWS | RANGE} BETWEEN',
]);

const reservedDataTypePhrases = expandPhrases([]);

// https://www.ibm.com/docs/en/i/7.5?topic=reference-sql
export const db2i: DialectOptions = {
name: 'db2i',
Expand All @@ -161,7 +163,8 @@ export const db2i: DialectOptions = {
reservedClauses: [...reservedClauses, ...standardOnelineClauses, ...tabularOnelineClauses],
reservedSetOperations,
reservedJoins,
reservedPhrases,
reservedKeywordPhrases,
reservedDataTypePhrases,
reservedKeywords: keywords,
reservedDataTypes: dataTypes,
reservedFunctionNames: functions,
Expand Down
8 changes: 5 additions & 3 deletions src/languages/duckdb/duckdb.formatter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -134,21 +134,23 @@ const reservedJoins = expandPhrases([
'SEMI JOIN',
]);

const reservedPhrases = expandPhrases([
const reservedKeywordPhrases = expandPhrases([
'{ROWS | RANGE | GROUPS} BETWEEN',
'SIMILAR TO',
'IS [NOT] DISTINCT FROM',
'TIMESTAMP WITH TIME ZONE',
]);

const reservedDataTypePhrases = expandPhrases(['TIMESTAMP WITH TIME ZONE']);

export const duckdb: DialectOptions = {
name: 'duckdb',
tokenizerOptions: {
reservedSelect,
reservedClauses: [...reservedClauses, ...standardOnelineClauses, ...tabularOnelineClauses],
reservedSetOperations,
reservedJoins,
reservedPhrases,
reservedKeywordPhrases,
reservedDataTypePhrases,
supportsXor: true,
reservedKeywords: keywords,
reservedDataTypes: dataTypes,
Expand Down
5 changes: 4 additions & 1 deletion src/languages/hive/hive.formatter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,8 @@ const reservedJoins = expandPhrases([

const reservedPhrases = expandPhrases(['{ROWS | RANGE} BETWEEN']);

const reservedDataTypePhrases = expandPhrases([]);

// https://cwiki.apache.org/confluence/display/Hive/LanguageManual
export const hive: DialectOptions = {
name: 'hive',
Expand All @@ -92,7 +94,8 @@ export const hive: DialectOptions = {
reservedClauses: [...reservedClauses, ...standardOnelineClauses, ...tabularOnelineClauses],
reservedSetOperations,
reservedJoins,
reservedPhrases,
reservedKeywordPhrases: reservedPhrases,
reservedDataTypePhrases,
reservedKeywords: keywords,
reservedDataTypes: dataTypes,
reservedFunctionNames: functions,
Expand Down
7 changes: 5 additions & 2 deletions src/languages/mariadb/mariadb.formatter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -260,13 +260,15 @@ const reservedJoins = expandPhrases([
'STRAIGHT_JOIN',
]);

const reservedPhrases = expandPhrases([
const reservedKeywordPhrases = expandPhrases([
'ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]',
'CHARACTER SET',
'{ROWS | RANGE} BETWEEN',
'IDENTIFIED BY',
]);

const reservedDataTypePhrases = expandPhrases([]);

// For reference: https://mariadb.com/kb/en/sql-statements-structure/
export const mariadb: DialectOptions = {
name: 'mariadb',
Expand All @@ -275,7 +277,8 @@ export const mariadb: DialectOptions = {
reservedClauses: [...reservedClauses, ...standardOnelineClauses, ...tabularOnelineClauses],
reservedSetOperations,
reservedJoins,
reservedPhrases,
reservedKeywordPhrases,
reservedDataTypePhrases,
supportsXor: true,
reservedKeywords: keywords,
reservedDataTypes: dataTypes,
Expand Down
7 changes: 5 additions & 2 deletions src/languages/mysql/mysql.formatter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -225,13 +225,15 @@ const reservedJoins = expandPhrases([
'STRAIGHT_JOIN',
]);

const reservedPhrases = expandPhrases([
const reservedKeywordPhrases = expandPhrases([
'ON {UPDATE | DELETE} [SET NULL]',
'CHARACTER SET',
'{ROWS | RANGE} BETWEEN',
'IDENTIFIED BY',
]);

const reservedDataTypePhrases = expandPhrases([]);

// https://dev.mysql.com/doc/refman/8.0/en/
export const mysql: DialectOptions = {
name: 'mysql',
Expand All @@ -240,7 +242,8 @@ export const mysql: DialectOptions = {
reservedClauses: [...reservedClauses, ...standardOnelineClauses, ...tabularOnelineClauses],
reservedSetOperations,
reservedJoins,
reservedPhrases,
reservedKeywordPhrases,
reservedDataTypePhrases,
supportsXor: true,
reservedKeywords: keywords,
reservedDataTypes: dataTypes,
Expand Down
7 changes: 5 additions & 2 deletions src/languages/n1ql/n1ql.formatter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,9 @@ const reservedSetOperations = expandPhrases(['UNION [ALL]', 'EXCEPT [ALL]', 'INT

const reservedJoins = expandPhrases(['JOIN', '{LEFT | RIGHT} [OUTER] JOIN', 'INNER JOIN']);

const reservedPhrases = expandPhrases(['{ROWS | RANGE | GROUPS} BETWEEN']);
const reservedKeywordPhrases = expandPhrases(['{ROWS | RANGE | GROUPS} BETWEEN']);

const reservedDataTypePhrases = expandPhrases([]);

// For reference: http://docs.couchbase.com.s3-website-us-west-1.amazonaws.com/server/6.0/n1ql/n1ql-language-reference/index.html
export const n1ql: DialectOptions = {
Expand All @@ -90,7 +92,8 @@ export const n1ql: DialectOptions = {
reservedClauses: [...reservedClauses, ...onelineClauses],
reservedSetOperations,
reservedJoins,
reservedPhrases,
reservedKeywordPhrases,
reservedDataTypePhrases,
supportsXor: true,
reservedKeywords: keywords,
reservedDataTypes: dataTypes,
Expand Down
7 changes: 5 additions & 2 deletions src/languages/plsql/plsql.formatter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -78,20 +78,23 @@ const reservedJoins = expandPhrases([
'{CROSS | OUTER} APPLY',
]);

const reservedPhrases = expandPhrases([
const reservedKeywordPhrases = expandPhrases([
'ON {UPDATE | DELETE} [SET NULL]',
'ON COMMIT',
'{ROWS | RANGE} BETWEEN',
]);

const reservedDataTypePhrases = expandPhrases([]);

export const plsql: DialectOptions = {
name: 'plsql',
tokenizerOptions: {
reservedSelect,
reservedClauses: [...reservedClauses, ...standardOnelineClauses, ...tabularOnelineClauses],
reservedSetOperations,
reservedJoins,
reservedPhrases,
reservedKeywordPhrases,
reservedDataTypePhrases,
supportsXor: true,
reservedKeywords: keywords,
reservedDataTypes: dataTypes,
Expand Down
12 changes: 8 additions & 4 deletions src/languages/postgresql/postgresql.formatter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -248,21 +248,24 @@ const reservedJoins = expandPhrases([
'NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN',
]);

const reservedPhrases = expandPhrases([
const reservedKeywordPhrases = expandPhrases([
'PRIMARY KEY',
'GENERATED {ALWAYS | BY DEFAULT} AS IDENTITY',
'ON {UPDATE | DELETE} [NO ACTION | RESTRICT | CASCADE | SET NULL | SET DEFAULT]',
'DO {NOTHING | UPDATE}',
'AS MATERIALIZED',
'{ROWS | RANGE | GROUPS} BETWEEN',
// https://www.postgresql.org/docs/current/datatype-datetime.html
'[TIMESTAMP | TIME] {WITH | WITHOUT} TIME ZONE',
// comparison operator
'IS [NOT] DISTINCT FROM',
'NULLS {FIRST | LAST}',
'WITH ORDINALITY',
]);

const reservedDataTypePhrases = expandPhrases([
// https://www.postgresql.org/docs/current/datatype-datetime.html
'[TIMESTAMP | TIME] {WITH | WITHOUT} TIME ZONE',
]);

// https://www.postgresql.org/docs/14/index.html
export const postgresql: DialectOptions = {
name: 'postgresql',
Expand All @@ -271,7 +274,8 @@ export const postgresql: DialectOptions = {
reservedClauses: [...reservedClauses, ...standardOnelineClauses, ...tabularOnelineClauses],
reservedSetOperations,
reservedJoins,
reservedPhrases,
reservedKeywordPhrases,
reservedDataTypePhrases,
reservedKeywords: keywords,
reservedDataTypes: dataTypes,
reservedFunctionNames: functions,
Expand Down
7 changes: 5 additions & 2 deletions src/languages/redshift/redshift.formatter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ const reservedJoins = expandPhrases([
'NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN',
]);

const reservedPhrases = expandPhrases([
const reservedKeywordPhrases = expandPhrases([
// https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-conversion.html
'NULL AS',
// https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_EXTERNAL_SCHEMA.html
Expand All @@ -142,6 +142,8 @@ const reservedPhrases = expandPhrases([
'{ROWS | RANGE} BETWEEN',
]);

const reservedDataTypePhrases = expandPhrases([]);

// https://docs.aws.amazon.com/redshift/latest/dg/cm_chap_SQLCommandRef.html
export const redshift: DialectOptions = {
name: 'redshift',
Expand All @@ -150,7 +152,8 @@ export const redshift: DialectOptions = {
reservedClauses: [...reservedClauses, ...standardOnelineClauses, ...tabularOnelineClauses],
reservedSetOperations,
reservedJoins,
reservedPhrases,
reservedKeywordPhrases,
reservedDataTypePhrases,
reservedKeywords: keywords,
reservedDataTypes: dataTypes,
reservedFunctionNames: functions,
Expand Down
7 changes: 5 additions & 2 deletions src/languages/singlestoredb/singlestoredb.formatter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -229,22 +229,25 @@ const reservedJoins = expandPhrases([
'STRAIGHT_JOIN',
]);

const reservedPhrases = expandPhrases([
const reservedKeywordPhrases = expandPhrases([
'ON DELETE',
'ON UPDATE',
'CHARACTER SET',
'{ROWS | RANGE} BETWEEN',
'IDENTIFIED BY',
]);

const reservedDataTypePhrases = expandPhrases([]);

export const singlestoredb: DialectOptions = {
name: 'singlestoredb',
tokenizerOptions: {
reservedSelect,
reservedClauses: [...reservedClauses, ...standardOnelineClauses, ...tabularOnelineClauses],
reservedSetOperations,
reservedJoins,
reservedPhrases,
reservedKeywordPhrases,
reservedDataTypePhrases,
reservedKeywords: keywords,
reservedDataTypes: dataTypes,
reservedFunctionNames: functions,
Expand Down
7 changes: 5 additions & 2 deletions src/languages/snowflake/snowflake.formatter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -292,19 +292,22 @@ const reservedJoins = expandPhrases([
'{CROSS | NATURAL} JOIN',
]);

const reservedPhrases = expandPhrases([
const reservedKeywordPhrases = expandPhrases([
'{ROWS | RANGE} BETWEEN',
'ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]',
]);

const reservedDataTypePhrases = expandPhrases([]);

export const snowflake: DialectOptions = {
name: 'snowflake',
tokenizerOptions: {
reservedSelect,
reservedClauses: [...reservedClauses, ...standardOnelineClauses, ...tabularOnelineClauses],
reservedSetOperations,
reservedJoins,
reservedPhrases,
reservedKeywordPhrases,
reservedDataTypePhrases,
reservedKeywords: keywords,
reservedDataTypes: dataTypes,
reservedFunctionNames: functions,
Expand Down
7 changes: 5 additions & 2 deletions src/languages/spark/spark.formatter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -111,13 +111,15 @@ const reservedJoins = expandPhrases([
'NATURAL [LEFT] {ANTI | SEMI} JOIN',
]);

const reservedPhrases = expandPhrases([
const reservedKeywordPhrases = expandPhrases([
'ON DELETE',
'ON UPDATE',
'CURRENT ROW',
'{ROWS | RANGE} BETWEEN',
]);

const reservedDataTypePhrases = expandPhrases([]);

// http://spark.apache.org/docs/latest/sql-programming-guide.html
export const spark: DialectOptions = {
name: 'spark',
Expand All @@ -126,7 +128,8 @@ export const spark: DialectOptions = {
reservedClauses: [...reservedClauses, ...standardOnelineClauses, ...tabularOnelineClauses],
reservedSetOperations,
reservedJoins,
reservedPhrases,
reservedKeywordPhrases,
reservedDataTypePhrases,
supportsXor: true,
reservedKeywords: keywords,
reservedDataTypes: dataTypes,
Expand Down
7 changes: 5 additions & 2 deletions src/languages/sql/sql.formatter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -69,19 +69,22 @@ const reservedJoins = expandPhrases([
'NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN',
]);

const reservedPhrases = expandPhrases([
const reservedKeywordPhrases = expandPhrases([
'ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]',
'{ROWS | RANGE} BETWEEN',
]);

const reservedDataTypePhrases = expandPhrases([]);

export const sql: DialectOptions = {
name: 'sql',
tokenizerOptions: {
reservedSelect,
reservedClauses: [...reservedClauses, ...standardOnelineClauses, ...tabularOnelineClauses],
reservedSetOperations,
reservedJoins,
reservedPhrases,
reservedKeywordPhrases,
reservedDataTypePhrases,
reservedKeywords: keywords,
reservedDataTypes: dataTypes,
reservedFunctionNames: functions,
Expand Down
Loading