Skip to content

Commit dd386a2

Browse files
committed
Avoid breaking up ON UPDATE and ON DELETE
Fixes #215
1 parent aeab8ce commit dd386a2

15 files changed

+49
-1
lines changed

src/core/Tokenizer.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -218,8 +218,8 @@ export default class Tokenizer {
218218
TokenType.RESERVED_BINARY_COMMAND,
219219
TokenType.RESERVED_DEPENDENT_CLAUSE,
220220
TokenType.RESERVED_LOGICAL_OPERATOR,
221-
TokenType.RESERVED_JOIN_CONDITION,
222221
TokenType.RESERVED_KEYWORD,
222+
TokenType.RESERVED_JOIN_CONDITION,
223223
];
224224

225225
return reservedTokenList.reduce(

src/languages/db2.formatter.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -457,6 +457,8 @@ const reservedKeywords = {
457457
'OBID',
458458
'OF',
459459
'OLD',
460+
'ON DELETE',
461+
'ON UPDATE',
460462
'OPTIMIZATION',
461463
'OPTIMIZE',
462464
'ORDER',

src/languages/mariadb.formatter.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -614,6 +614,8 @@ const reservedKeywords = [
614614
'OF',
615615
'OFFSET',
616616
'OLD_PASSWORD',
617+
'ON DELETE',
618+
'ON UPDATE',
617619
'ONE',
618620
'ONLINE',
619621
'ONLY',

src/languages/mysql.formatter.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -789,6 +789,8 @@ const reservedKeywords = [
789789
'OFFSET',
790790
'OJ',
791791
'OLD',
792+
'ON DELETE',
793+
'ON UPDATE',
792794
'ONE',
793795
'ONLY',
794796
'OPEN',

src/languages/plsql.formatter.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,8 @@ const reservedKeywords = [
204204
'OCITYPE',
205205
'OF',
206206
'OLD',
207+
'ON DELETE',
208+
'ON UPDATE',
207209
'ONLY',
208210
'OPAQUE',
209211
'OPEN',

src/languages/postgresql.formatter.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1097,6 +1097,9 @@ const reservedKeywords = [
10971097
'OIDS',
10981098
'OLD',
10991099
'OMIT',
1100+
'ON COMMIT',
1101+
'ON DELETE',
1102+
'ON UPDATE',
11001103
'ONE',
11011104
'ONLY',
11021105
'OPEN',

src/languages/standardsql.formatter.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,8 @@ const reservedKeywords = [
180180
'OCTET_LENGTH',
181181
'OF',
182182
'OLD',
183+
'ON DELETE',
184+
'ON UPDATE',
183185
'ONLY',
184186
'OPEN',
185187
'ORDER',

src/languages/tsql.formatter.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -420,6 +420,8 @@ const reservedKeywords = {
420420
'OF',
421421
'OFF',
422422
'OFFSETS',
423+
'ON DELETE',
424+
'ON UPDATE',
423425
'OPEN',
424426
'OPENDATASOURCE',
425427
'OPENQUERY',

test/behavesLikeMariaDbFormatter.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import supportsCreateTable from './features/createTable';
66
import supportsAlterTable from './features/alterTable';
77
import supportsBetween from './features/between';
88
import supportsJoin from './features/join';
9+
import supportsConstraints from './features/constraints';
910
import { FormatFn, SqlLanguage } from '../src/sqlFormatter';
1011

1112
/**
@@ -15,6 +16,7 @@ export default function behavesLikeMariaDbFormatter(language: SqlLanguage, forma
1516
behavesLikeSqlFormatter(language, format);
1617
supportsCase(language, format);
1718
supportsCreateTable(language, format);
19+
supportsConstraints(language, format);
1820
supportsAlterTable(language, format);
1921
supportsBetween(language, format);
2022
supportsJoin(language, format, {

test/db2.test.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,15 @@ import supportsJoin from './features/join';
1010
import supportsOperators from './features/operators';
1111
import supportsSchema from './features/schema';
1212
import supportsStrings from './features/strings';
13+
import supportsConstraints from './features/constraints';
1314

1415
describe('Db2Formatter', () => {
1516
const language = 'db2';
1617
const format: FormatFn = (query, cfg = {}) => originalFormat(query, { ...cfg, language });
1718

1819
behavesLikeSqlFormatter(language, format);
1920
supportsCreateTable(language, format);
21+
supportsConstraints(language, format);
2022
supportsAlterTable(language, format);
2123
supportsStrings(language, format, Db2Formatter.stringTypes);
2224
supportsBetween(language, format);

0 commit comments

Comments
 (0)