Skip to content

Commit ee3898f

Browse files
authored
Merge PR #410: Add support for @@variables in MariaDB-like databases
2 parents 267a2a4 + 08629d2 commit ee3898f

File tree

5 files changed

+15
-16
lines changed

5 files changed

+15
-16
lines changed

src/languages/mariadb/mariadb.formatter.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -274,7 +274,7 @@ export default class MariaDbFormatter extends Formatter {
274274
identTypes: ['``'],
275275
identChars: { first: '$', rest: '$', allowFirstCharNumber: true },
276276
variableTypes: [
277-
{ regex: '@[A-Za-z0-9_.$]+' },
277+
{ regex: '@@?[A-Za-z0-9_.$]+' },
278278
{ quote: '""', prefixes: ['@'], requirePrefix: true },
279279
{ quote: "''", prefixes: ['@'], requirePrefix: true },
280280
{ quote: '``', prefixes: ['@'], requirePrefix: true },

src/languages/mysql/mysql.formatter.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,7 @@ export default class MySqlFormatter extends Formatter {
243243
identTypes: ['``'],
244244
identChars: { first: '$', rest: '$', allowFirstCharNumber: true },
245245
variableTypes: [
246-
{ regex: '@[A-Za-z0-9_.$]+' },
246+
{ regex: '@@?[A-Za-z0-9_.$]+' },
247247
{ quote: '""', prefixes: ['@'], requirePrefix: true },
248248
{ quote: "''", prefixes: ['@'], requirePrefix: true },
249249
{ quote: '``', prefixes: ['@'], requirePrefix: true },

src/languages/singlestoredb/singlestoredb.formatter.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,7 @@ export default class SingleStoreDbFormatter extends Formatter {
242242
identTypes: ['``'],
243243
identChars: { first: '$', rest: '$', allowFirstCharNumber: true },
244244
variableTypes: [
245-
{ regex: '@[A-Za-z0-9_$]+' },
245+
{ regex: '@@?[A-Za-z0-9_$]+' },
246246
{ quote: '``', prefixes: ['@'], requirePrefix: true },
247247
],
248248
lineCommentTypes: ['--', '#'],

test/behavesLikeMariaDbFormatter.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,18 @@ export default function behavesLikeMariaDbFormatter(format: FormatFn) {
8989
`);
9090
});
9191

92+
it('supports @@ system variables', () => {
93+
const result = format('SELECT @@GLOBAL.time, @@SYSTEM.date, @@hour FROM foo;');
94+
expect(result).toBe(dedent`
95+
SELECT
96+
@@GLOBAL.time,
97+
@@SYSTEM.date,
98+
@@hour
99+
FROM
100+
foo;
101+
`);
102+
});
103+
92104
// Issue #181
93105
it('does not wrap CHARACTER SET to multiple lines', () => {
94106
expect(format('ALTER TABLE t MODIFY col1 VARCHAR(50) CHARACTER SET greek')).toBe(dedent`

test/mysql.test.ts

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -53,19 +53,6 @@ describe('MySqlFormatter', () => {
5353
`);
5454
});
5555

56-
// TODO: disabled for now
57-
it.skip('supports @@ system variables', () => {
58-
const result = format('SELECT @@GLOBAL.time, @@SYSTEM.date, @@hour FROM foo;');
59-
expect(result).toBe(dedent`
60-
SELECT
61-
@@GLOBAL.time,
62-
@@SYSTEM.date,
63-
@@hour
64-
FROM
65-
foo;
66-
`);
67-
});
68-
6956
it('formats ALTER TABLE ... ALTER COLUMN', () => {
7057
expect(
7158
format(

0 commit comments

Comments
 (0)