Skip to content

Commit d57af57

Browse files
committed
Merge branch 'separate-data-types' of github.com:karlhorky/sql-formatter into add-datatypeformat-option
2 parents f8df2f6 + 971fcd3 commit d57af57

File tree

10 files changed

+117
-202
lines changed

10 files changed

+117
-202
lines changed

src/languages/bigquery/bigquery.keywords.ts

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -45,13 +45,11 @@ export const keywords: string[] = [
4545
'IN',
4646
'INNER',
4747
'INTERSECT',
48-
'INTERVAL',
4948
'INTO',
5049
'IS',
5150
'JOIN',
5251
'LATERAL',
5352
'LEFT',
54-
'LIKE',
5553
'LIMIT',
5654
'LOOKUP',
5755
'MERGE',
@@ -94,6 +92,22 @@ export const keywords: string[] = [
9492
'WINDOW',
9593
'WITH',
9694
'WITHIN',
95+
96+
// misc
97+
'SAFE',
98+
99+
// https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language
100+
'LIKE', // CREATE TABLE LIKE
101+
'COPY', // CREATE TABLE COPY
102+
'CLONE', // CREATE TABLE CLONE
103+
'IN',
104+
'OUT',
105+
'INOUT',
106+
'RETURNS',
107+
'LANGUAGE',
108+
'CASCADE',
109+
'RESTRICT',
110+
'DETERMINISTIC',
97111
];
98112

99113
export const dataTypes: string[] = [
@@ -128,20 +142,4 @@ export const dataTypes: string[] = [
128142
'ASCII',
129143
'UTF-8',
130144
'UTF8',
131-
132-
// misc
133-
'SAFE',
134-
135-
// https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language
136-
'LIKE', // CREATE TABLE LIKE
137-
'COPY', // CREATE TABLE COPY
138-
'CLONE', // CREATE TABLE CLONE
139-
'IN',
140-
'OUT',
141-
'INOUT',
142-
'RETURNS',
143-
'LANGUAGE',
144-
'CASCADE',
145-
'RESTRICT',
146-
'DETERMINISTIC',
147145
];

src/languages/db2/db2.formatter.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { DialectOptions } from '../../dialect.js';
22
import { expandPhrases } from '../../expandPhrases.js';
33
import { functions } from './db2.functions.js';
4-
import { keywords } from './db2.keywords.js';
4+
import { dataTypes, keywords } from './db2.keywords.js';
55

66
const reservedSelect = expandPhrases(['SELECT [ALL | DISTINCT]']);
77

@@ -265,7 +265,9 @@ export const db2: DialectOptions = {
265265
reservedSetOperations,
266266
reservedJoins,
267267
reservedPhrases,
268-
reservedKeywords: keywords,
268+
reservedKeywords:
269+
// Temporary, will be replaced by reservedDataTypes
270+
[...new Set(keywords.concat(dataTypes))],
269271
reservedFunctionNames: functions,
270272
extraParens: ['[]'],
271273
stringTypes: [

src/languages/db2/db2.keywords.ts

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,6 @@ export const keywords: string[] = [
3434
'CASCADED',
3535
'CASE',
3636
'CAST',
37-
'CCSID',
38-
'CHAR',
39-
'CHARACTER',
4037
'CHECK',
4138
'CLONE',
4239
'CLOSE',
@@ -73,7 +70,6 @@ export const keywords: string[] = [
7370
'DATABASE',
7471
'DATAPARTITIONNAME',
7572
'DATAPARTITIONNUM',
76-
'DATE',
7773
'DAY',
7874
'DAYS',
7975
'DB2GENERAL',
@@ -100,7 +96,6 @@ export const keywords: string[] = [
10096
'DISTINCT',
10197
'DO',
10298
'DOCUMENT',
103-
'DOUBLE',
10499
'DROP',
105100
'DSSIZE',
106101
'DYNAMIC',
@@ -208,7 +203,6 @@ export const keywords: string[] = [
208203
'LOCK',
209204
'LOCKMAX',
210205
'LOCKSIZE',
211-
'LONG',
212206
'LOOP',
213207
'MAINTAINED',
214208
'MATERIALIZED',
@@ -368,8 +362,6 @@ export const keywords: string[] = [
368362
'TABLE',
369363
'TABLESPACE',
370364
'THEN',
371-
'TIME',
372-
'TIMESTAMP',
373365
'TO',
374366
'TRANSACTION',
375367
'TRIGGER',
@@ -408,3 +400,15 @@ export const keywords: string[] = [
408400
'YEAR',
409401
'YEARS',
410402
];
403+
404+
export const dataTypes: string[] = [
405+
// https://www.ibm.com/docs/en/db2-for-zos/12?topic=columns-data-types
406+
'CCSID',
407+
'CHAR',
408+
'CHARACTER',
409+
'DATE',
410+
'DOUBLE',
411+
'LONG',
412+
'TIME',
413+
'TIMESTAMP',
414+
];

src/languages/postgresql/postgresql.keywords.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
export const keywords = [
1+
export const keywords: string[] = [
22
// https://www.postgresql.org/docs/14/sql-keywords-appendix.html
33
'ABORT',
44
'ABSOLUTE',

src/languages/singlestoredb/singlestoredb.formatter.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { DialectOptions } from '../../dialect.js';
22
import { expandPhrases } from '../../expandPhrases.js';
33
import { postProcess } from '../mariadb/likeMariaDb.js';
4-
import { keywords } from './singlestoredb.keywords.js';
4+
import { dataTypes, keywords } from './singlestoredb.keywords.js';
55
import { functions } from './singlestoredb.functions.js';
66

77
const reservedSelect = expandPhrases(['SELECT [ALL | DISTINCT | DISTINCTROW]']);
@@ -240,7 +240,9 @@ export const singlestoredb: DialectOptions = {
240240
reservedSetOperations,
241241
reservedJoins,
242242
reservedPhrases,
243-
reservedKeywords: keywords,
243+
reservedKeywords:
244+
// Temporary, will be replaced by reservedDataTypes
245+
[...new Set(keywords.concat(dataTypes))],
244246
reservedFunctionNames: functions,
245247
// TODO: support _binary"some string" prefix
246248
stringTypes: [

src/languages/singlestoredb/singlestoredb.keywords.ts

Lines changed: 41 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -14,18 +14,13 @@ export const keywords: string[] = [
1414
'ASENSITIVE',
1515
'BEFORE',
1616
'BETWEEN',
17-
'BIGINT',
18-
'BINARY',
1917
'_BINARY',
20-
'BLOB',
2118
'BOTH',
2219
'BY',
2320
'CALL',
2421
'CASCADE',
2522
'CASE',
2623
'CHANGE',
27-
'CHAR',
28-
'CHARACTER',
2924
'CHECK',
3025
'COLLATE',
3126
'COLUMN',
@@ -46,8 +41,6 @@ export const keywords: string[] = [
4641
'DAY_MICROSECOND',
4742
'DAY_MINUTE',
4843
'DAY_SECOND',
49-
'DEC',
50-
'DECIMAL',
5144
'DECLARE',
5245
'DEFAULT',
5346
'DELAYED',
@@ -58,7 +51,6 @@ export const keywords: string[] = [
5851
'DISTINCT',
5952
'DISTINCTROW',
6053
'DIV',
61-
'DOUBLE',
6254
'DROP',
6355
'DUAL',
6456
'EACH',
@@ -73,9 +65,6 @@ export const keywords: string[] = [
7365
'EXTRA_JOIN',
7466
'FALSE',
7567
'FETCH',
76-
'FLOAT',
77-
'FLOAT4',
78-
'FLOAT8',
7968
'FOR',
8069
'FORCE',
8170
'FORCE_COMPILED_MODE',
@@ -102,13 +91,6 @@ export const keywords: string[] = [
10291
'INSENSITIVE',
10392
'INSERT',
10493
'IN',
105-
'INT',
106-
'INT1',
107-
'INT2',
108-
'INT3',
109-
'INT4',
110-
'INT8',
111-
'INTEGER',
11294
'_INTERNAL_DYNAMIC_TYPECAST',
11395
'INTERSECT',
11496
'INTERVAL',
@@ -128,17 +110,10 @@ export const keywords: string[] = [
128110
'LOCALTIME',
129111
'LOCALTIMESTAMP',
130112
'LOCK',
131-
'LONG',
132-
'LONGBLOB',
133-
'LONGTEXT',
134113
'LOOP',
135114
'LOW_PRIORITY',
136115
'MATCH',
137116
'MAXVALUE',
138-
'MEDIUMBLOB',
139-
'MEDIUMINT',
140-
'MEDIUMTEXT',
141-
'MIDDLEINT',
142117
'MINUS',
143118
'MINUTE_MICROSECOND',
144119
'MINUTE_SECOND',
@@ -150,7 +125,6 @@ export const keywords: string[] = [
150125
'NO_WRITE_TO_BINLOG',
151126
'NO_QUERY_REWRITE',
152127
'NULL',
153-
'NUMERIC',
154128
'ON',
155129
'OPTIMIZE',
156130
'OPTION',
@@ -161,14 +135,12 @@ export const keywords: string[] = [
161135
'OUTER',
162136
'OUTFILE',
163137
'OVER',
164-
'PRECISION',
165138
'PRIMARY',
166139
'PROCEDURE',
167140
'PURGE',
168141
'RANGE',
169142
'READ',
170143
'READS',
171-
'REAL',
172144
'REFERENCES',
173145
'REGEXP',
174146
'RELEASE',
@@ -194,7 +166,6 @@ export const keywords: string[] = [
194166
'SET',
195167
'SHOW',
196168
'SIGNAL',
197-
'SMALLINT',
198169
'SPATIAL',
199170
'SPECIFIC',
200171
'SQL',
@@ -212,9 +183,6 @@ export const keywords: string[] = [
212183
'TABLE',
213184
'TERMINATED',
214185
'THEN',
215-
'TINYBLOB',
216-
'TINYINT',
217-
'TINYTEXT',
218186
'TO',
219187
'TRAILING',
220188
'TRIGGER',
@@ -224,7 +192,6 @@ export const keywords: string[] = [
224192
'UNION',
225193
'UNIQUE',
226194
'UNLOCK',
227-
'UNSIGNED',
228195
'UPDATE',
229196
'USAGE',
230197
'USE',
@@ -234,10 +201,6 @@ export const keywords: string[] = [
234201
'UTC_TIMESTAMP',
235202
'_UTF8',
236203
'VALUES',
237-
'VARBINARY',
238-
'VARCHAR',
239-
'VARCHARACTER',
240-
'VARYING',
241204
'WHEN',
242205
'WHERE',
243206
'WHILE',
@@ -249,3 +212,44 @@ export const keywords: string[] = [
249212
'YEAR_MONTH',
250213
'ZEROFILL',
251214
];
215+
216+
export const dataTypes: string[] = [
217+
// https://docs.singlestore.com/cloud/reference/sql-reference/data-types/
218+
'BIGINT',
219+
'BINARY',
220+
'BLOB',
221+
'CHAR',
222+
'CHARACTER',
223+
'DEC',
224+
'DECIMAL',
225+
'DOUBLE',
226+
'FLOAT',
227+
'FLOAT4',
228+
'FLOAT8',
229+
'INT',
230+
'INT1',
231+
'INT2',
232+
'INT3',
233+
'INT4',
234+
'INT8',
235+
'INTEGER',
236+
'LONG',
237+
'LONGBLOB',
238+
'LONGTEXT',
239+
'MEDIUMBLOB',
240+
'MEDIUMINT',
241+
'MEDIUMTEXT',
242+
'MIDDLEINT',
243+
'NUMERIC',
244+
'PRECISION',
245+
'REAL',
246+
'SMALLINT',
247+
'TINYBLOB',
248+
'TINYINT',
249+
'TINYTEXT',
250+
'UNSIGNED',
251+
'VARBINARY',
252+
'VARCHAR',
253+
'VARCHARACTER',
254+
'VARYING',
255+
];

src/languages/spark/spark.keywords.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ export const keywords: string[] = [
5050
'DATA',
5151
'DATABASE',
5252
'DATABASES',
53+
'DAY',
5354
'DBPROPERTIES',
5455
'DEFINED',
5556
'DELETE',
@@ -91,6 +92,7 @@ export const keywords: string[] = [
9192
'GRANT',
9293
'GROUP',
9394
'GROUPING',
95+
'HOUR',
9496
'IF',
9597
'IGNORE',
9698
'IMPORT',
@@ -122,6 +124,8 @@ export const keywords: string[] = [
122124
'MACRO',
123125
'MATCHED',
124126
'MERGE',
127+
'MINUTE',
128+
'MONTH',
125129
'MSCK',
126130
'NAMESPACE',
127131
'NAMESPACES',
@@ -177,6 +181,7 @@ export const keywords: string[] = [
177181
'ROW',
178182
'ROWS',
179183
'SCHEMA',
184+
'SECOND',
180185
'SELECT',
181186
'SEMI',
182187
'SEPARATED',
@@ -221,6 +226,7 @@ export const keywords: string[] = [
221226
'USING',
222227
'VIEW',
223228
'WINDOW',
229+
'YEAR',
224230
// other
225231
'ANALYSE',
226232
'ARRAY_ZIP',
@@ -285,12 +291,6 @@ export const dataTypes: string[] = [
285291
'DEC',
286292
'NUMERIC',
287293
'INTERVAL',
288-
'YEAR',
289-
'MONTH',
290-
'DAY',
291-
'HOUR',
292-
'MINUTE',
293-
'SECOND',
294294
'ARRAY',
295295
'STRUCT',
296296
'MAP',

0 commit comments

Comments
 (0)