From 7078106124cafbf59fa11b22483c1f0aada1fadf Mon Sep 17 00:00:00 2001 From: Karl Horky Date: Sun, 5 Jan 2025 13:41:19 +0100 Subject: [PATCH 1/2] Add more keywords and phrases --- src/languages/postgresql/postgresql.formatter.ts | 8 ++++++-- src/languages/postgresql/postgresql.keywords.ts | 1 + 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/languages/postgresql/postgresql.formatter.ts b/src/languages/postgresql/postgresql.formatter.ts index 8b117b82cc..499ea98682 100644 --- a/src/languages/postgresql/postgresql.formatter.ts +++ b/src/languages/postgresql/postgresql.formatter.ts @@ -172,7 +172,7 @@ const tabularOnelineClauses = expandPhrases([ 'DROP IDENTITY', 'DROP INDEX', 'DROP LANGUAGE', - 'DROP MATERIALIZED VIEW', + 'DROP MATERIALIZED VIEW [IF EXISTS]', 'DROP OPERATOR', 'DROP OPERATOR CLASS', 'DROP OPERATOR FAMILY', @@ -216,7 +216,7 @@ const tabularOnelineClauses = expandPhrases([ 'REFRESH MATERIALIZED VIEW', 'REINDEX', 'RELEASE SAVEPOINT', - 'RESET', + 'RESET [ALL|ROLE|SESSION AUTHORIZATION]', 'REVOKE', 'ROLLBACK', 'ROLLBACK PREPARED', @@ -252,11 +252,15 @@ const reservedPhrases = expandPhrases([ 'PRIMARY KEY', 'GENERATED {ALWAYS | BY DEFAULT} AS IDENTITY', 'ON {UPDATE | DELETE} [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', ]); // https://www.postgresql.org/docs/14/index.html diff --git a/src/languages/postgresql/postgresql.keywords.ts b/src/languages/postgresql/postgresql.keywords.ts index 91a54c9f85..776cda04f1 100644 --- a/src/languages/postgresql/postgresql.keywords.ts +++ b/src/languages/postgresql/postgresql.keywords.ts @@ -98,6 +98,7 @@ export const keywords: string[] = [ 'SYMMETRIC', // reserved 'TABLE', // reserved 'TABLESAMPLE', // reserved (can be function or type) + 'TEMPLATE', // non-reserved, used in CREATE DATABASE to specify a template database 'THEN', // reserved 'TO', // reserved, requires AS 'TRAILING', // reserved From 2e0079b5154a65a282eadb763be17151317bd279 Mon Sep 17 00:00:00 2001 From: Karl Horky Date: Sun, 5 Jan 2025 16:18:21 +0100 Subject: [PATCH 2/2] Discard changes to src/languages/postgresql/postgresql.keywords.ts --- src/languages/postgresql/postgresql.keywords.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/languages/postgresql/postgresql.keywords.ts b/src/languages/postgresql/postgresql.keywords.ts index 776cda04f1..91a54c9f85 100644 --- a/src/languages/postgresql/postgresql.keywords.ts +++ b/src/languages/postgresql/postgresql.keywords.ts @@ -98,7 +98,6 @@ export const keywords: string[] = [ 'SYMMETRIC', // reserved 'TABLE', // reserved 'TABLESAMPLE', // reserved (can be function or type) - 'TEMPLATE', // non-reserved, used in CREATE DATABASE to specify a template database 'THEN', // reserved 'TO', // reserved, requires AS 'TRAILING', // reserved