You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- SELECT statements: single targets inline, multiple targets multiline
- CREATE TRIGGER statements: each component on separate lines with indentation
- ALTER DEFAULT PRIVILEGES statements: GRANT clause on new line with indentation
- Updated test snapshots to reflect correct formatting behavior
- All formatting rules only apply when isPretty() is true
- Maintains backward compatibility with existing non-pretty formatting
Co-Authored-By: Dan Lynch <[email protected]>
Copy file name to clipboardExpand all lines: packages/deparser/__tests__/pretty/__snapshots__/misc-pretty.test.ts.snap
+21-20Lines changed: 21 additions & 20 deletions
Original file line number
Diff line number
Diff line change
@@ -68,8 +68,7 @@ exports[`Pretty Misc SQL formatting should format 4.sql: pretty/misc-4.sql (pret
68
68
p.id,
69
69
p.title,
70
70
CASE
71
-
WHEN EXISTS (SELECT
72
-
1
71
+
WHEN EXISTS (SELECT 1
73
72
FROM reviews AS r
74
73
WHERE
75
74
r.product_id = p.id
@@ -143,8 +142,7 @@ WHERE
143
142
AND u.active = true
144
143
AND (s.status = 'shipped'
145
144
OR (s.status = 'processing'
146
-
AND EXISTS (SELECT
147
-
1
145
+
AND EXISTS (SELECT 1
148
146
FROM order_notes AS n
149
147
WHERE
150
148
(n.order_id = o.id
@@ -156,8 +154,7 @@ ORDER BY
156
154
exports[`Pretty Misc SQL formatting should format 7.sql: pretty/misc-7.sql (non-pretty) 1`] =`"SELECT CASE WHEN n = 2 THEN ARRAY['month'] WHEN n = 4 THEN ARRAY['year'] WHEN n = 6 THEN ARRAY['year', 'month'] WHEN n = 8 THEN ARRAY['day'] WHEN n = 1024 THEN ARRAY['hour'] WHEN n = 1032 THEN ARRAY['day', 'hour'] WHEN n = 2048 THEN ARRAY['minute'] WHEN n = 3072 THEN ARRAY['hour', 'minute'] WHEN n = 3080 THEN ARRAY['day', 'minute'] WHEN n = 4096 THEN ARRAY['second'] WHEN n = 6144 THEN ARRAY['minute', 'second'] WHEN n = 7168 THEN ARRAY['hour', 'second'] WHEN n = 7176 THEN ARRAY['day', 'second'] WHEN n = 32767 THEN CAST(ARRAY[] AS text[]) END"`;
157
155
158
156
exports[`Pretty Misc SQL formatting should format 7.sql: pretty/misc-7.sql (pretty) 1`] =`
159
-
"SELECT
160
-
CASE
157
+
"SELECT CASE
161
158
WHEN n = 2 THEN ARRAY['month']
162
159
WHEN n = 4 THEN ARRAY['year']
163
160
WHEN n = 6 THEN ARRAY['year', 'month']
@@ -178,8 +175,7 @@ END"
178
175
exports[`Pretty Misc SQL formatting should format 8.sql: pretty/misc-8.sql (non-pretty) 1`] = `"SELECT CASE WHEN n = 2 OR n = 3 THEN ARRAY['month', COALESCE(extra_label, 'unknown')] WHEN n IN (4, 5) THEN CASE WHEN is_leap_year THEN ARRAY['year', 'leap'] ELSE ARRAY['year'] END WHEN n = 6 THEN ARRAY['year', 'month', 'quarter'] WHEN n = 8 THEN ARRAY['day', 'week', compute_label(n)] WHEN n = 1024 THEN ARRAY['hour', format('%s-hour', extra_label)] WHEN n = 1032 AND flag = true THEN ARRAY['day', 'hour', 'flagged'] WHEN n BETWEEN 2048 AND 2049 THEN ARRAY['minute', 'tick'] WHEN n = 3072 THEN ARRAY['hour', 'minute', current_setting('timezone')] WHEN n = 3080 THEN ARRAY['day', 'minute', to_char(now(), 'HH24:MI')] WHEN n IN (4096, 4097, 4098) THEN ARRAY['second', 'millisecond'] WHEN n = 6144 THEN ARRAY['minute', 'second', CASE WHEN use_micro = true THEN 'microsecond' ELSE 'none' END] WHEN n = 7168 OR (n > 7170 AND n < 7180) THEN ARRAY['hour', 'second', 'buffered'] WHEN n = 7176 THEN ARRAY['day', 'second', extra_info::text] WHEN n = 32767 THEN CAST(ARRAY[] AS text[]) ELSE ARRAY['undefined', 'unknown', 'fallback'] END"`;
179
176
180
177
exports[`Pretty Misc SQL formatting should format 8.sql: pretty/misc-8.sql (pretty) 1`] =`
181
-
"SELECT
182
-
CASE
178
+
"SELECT CASE
183
179
WHEN n = 2
184
180
OR n = 3 THEN ARRAY['month', COALESCE(extra_label, 'unknown')]
185
181
WHEN n IN (4, 5) THEN CASE
@@ -214,8 +210,7 @@ exports[`Pretty Misc SQL formatting should format 9.sql: pretty/misc-9.sql (pret
214
210
"SELECT
215
211
user_id,
216
212
CASE
217
-
WHEN EXISTS (SELECT
218
-
1
213
+
WHEN EXISTS (SELECT 1
219
214
FROM logins
220
215
WHERE
221
216
logins.user_id = users.user_id
@@ -228,8 +223,7 @@ FROM users"
228
223
exports[`Pretty Misc SQL formatting should format 10.sql: pretty/misc-10.sql (non-pretty) 1`] =`"SELECT * FROM orders WHERE status = (CASE WHEN shipped_at IS NOT NULL THEN 'shipped' WHEN canceled_at IS NOT NULL THEN 'canceled' ELSE 'processing' END)"`;
229
224
230
225
exports[`Pretty Misc SQL formatting should format 10.sql: pretty/misc-10.sql (pretty) 1`] =`
231
-
"SELECT
232
-
*
226
+
"SELECT *
233
227
FROM orders
234
228
WHERE
235
229
status = (CASE
@@ -242,10 +236,8 @@ END)"
242
236
exports[`Pretty Misc SQL formatting should format 11.sql: pretty/misc-11.sql (non-pretty) 1`] =`"SELECT * FROM users AS u, LATERAL ( SELECT CASE WHEN u.is_admin THEN 'admin_dashboard' ELSE 'user_dashboard' END AS dashboard_view ) AS derived"`;
243
237
244
238
exports[`Pretty Misc SQL formatting should format 11.sql: pretty/misc-11.sql (pretty) 1`] =`
245
-
"SELECT
246
-
*
247
-
FROM users AS u, LATERAL ( SELECT
248
-
CASE
239
+
"SELECT *
240
+
FROM users AS u, LATERAL ( SELECT CASE
249
241
WHEN u.is_admin THEN 'admin_dashboard'
250
242
ELSE 'user_dashboard'
251
243
END AS dashboard_view ) AS derived"
@@ -256,8 +248,7 @@ exports[`Pretty Misc SQL formatting should format 12.sql: pretty/misc-12.sql (no
256
248
exports[`Pretty Misc SQL formatting should format 12.sql: pretty/misc-12.sql (pretty) 1`] =`
257
249
"SELECT
258
250
id,
259
-
(SELECT
260
-
CASE
251
+
(SELECT CASE
261
252
WHEN count(*) > 5 THEN 'frequent'
262
253
ELSE 'occasional'
263
254
END
@@ -281,11 +272,21 @@ FROM players"
281
272
282
273
exports[`Pretty Misc SQL formatting should format 14.sql: pretty/misc-14.sql (non-pretty) 1`] =`"CREATE TRIGGER decrease_job_queue_count_on_delete AFTER DELETE ON dashboard_jobs.jobs FOR EACH ROW WHEN ( old.queue_name IS NOT NULL ) EXECUTE FUNCTION dashboard_jobs.tg_decrease_job_queue_count ()"`;
283
274
284
-
exports[`Pretty Misc SQL formatting should format 14.sql: pretty/misc-14.sql (pretty) 1`] =`"CREATE TRIGGER decrease_job_queue_count_on_delete AFTER DELETE ON dashboard_jobs.jobs FOR EACH ROW WHEN ( old.queue_name IS NOT NULL ) EXECUTE FUNCTION dashboard_jobs.tg_decrease_job_queue_count ()"`;
275
+
exports[`Pretty Misc SQL formatting should format 14.sql: pretty/misc-14.sql (pretty) 1`] =`
exports[`Pretty Misc SQL formatting should format 15.sql: pretty/misc-15.sql (non-pretty) 1`] =`"ALTER DEFAULT PRIVILEGES IN SCHEMA dashboard_jobs GRANT EXECUTE ON FUNCTIONS TO administrator"`;
287
285
288
-
exports[`Pretty Misc SQL formatting should format 15.sql: pretty/misc-15.sql (pretty) 1`] =`"ALTER DEFAULT PRIVILEGES IN SCHEMA dashboard_jobs GRANT EXECUTE ON FUNCTIONS TO administrator"`;
286
+
exports[`Pretty Misc SQL formatting should format 15.sql: pretty/misc-15.sql (pretty) 1`] =`
287
+
"ALTER DEFAULT PRIVILEGES IN SCHEMA dashboard_jobs
288
+
GRANT EXECUTE ON FUNCTIONS TO administrator"
289
+
`;
289
290
290
291
exports[`Pretty Misc SQL formatting should format 16.sql: pretty/misc-16.sql (non-pretty) 1`] =`"GRANT EXECUTE ON FUNCTION dashboard_private.uuid_generate_seeded_uuid TO PUBLIC"`;
Copy file name to clipboardExpand all lines: packages/deparser/__tests__/pretty/__snapshots__/select-pretty.test.ts.snap
+9-24Lines changed: 9 additions & 24 deletions
Original file line number
Diff line number
Diff line change
@@ -2,24 +2,15 @@
2
2
3
3
exports[`Pretty Misc SQL formatting should format misc-1: pretty/selects-1.sql (non-pretty) 1`] =`"SELECT 1"`;
4
4
5
-
exports[`Pretty Misc SQL formatting should format misc-1: pretty/selects-1.sql (pretty) 1`] =`
6
-
"SELECT
7
-
1"
8
-
`;
5
+
exports[`Pretty Misc SQL formatting should format misc-1: pretty/selects-1.sql (pretty) 1`] =`"SELECT 1"`;
9
6
10
7
exports[`Pretty Misc SQL formatting should format misc-2: pretty/selects-2.sql (non-pretty) 1`] =`"SELECT 'abc'::text"`;
11
8
12
-
exports[`Pretty Misc SQL formatting should format misc-2: pretty/selects-2.sql (pretty) 1`] =`
13
-
"SELECT
14
-
'abc'::text"
15
-
`;
9
+
exports[`Pretty Misc SQL formatting should format misc-2: pretty/selects-2.sql (pretty) 1`] =`"SELECT 'abc'::text"`;
16
10
17
11
exports[`Pretty Misc SQL formatting should format misc-3: pretty/selects-3.sql (non-pretty) 1`] =`"SELECT now() AT TIME ZONE 'UTC'"`;
18
12
19
-
exports[`Pretty Misc SQL formatting should format misc-3: pretty/selects-3.sql (pretty) 1`] =`
20
-
"SELECT
21
-
now() AT TIME ZONE 'UTC'"
22
-
`;
13
+
exports[`Pretty Misc SQL formatting should format misc-3: pretty/selects-3.sql (pretty) 1`] =`"SELECT now() AT TIME ZONE 'UTC'"`;
23
14
24
15
exports[`Pretty Misc SQL formatting should format misc-4: pretty/selects-4.sql (non-pretty) 1`] =`"SELECT 1, 2"`;
25
16
@@ -42,8 +33,7 @@ FROM users"
42
33
exports[`Pretty Misc SQL formatting should format misc-6: pretty/selects-6.sql (non-pretty) 1`] =`"SELECT DISTINCT id FROM users"`;
43
34
44
35
exports[`Pretty Misc SQL formatting should format misc-6: pretty/selects-6.sql (pretty) 1`] =`
45
-
"SELECT DISTINCT
46
-
id
36
+
"SELECT DISTINCT id
47
37
FROM users"
48
38
`;
49
39
@@ -69,10 +59,8 @@ FROM accounts"
69
59
exports[`Pretty Misc SQL formatting should format misc-9: pretty/selects-9.sql (non-pretty) 1`] =`"SELECT (SELECT max(score) FROM results)"`;
70
60
71
61
exports[`Pretty Misc SQL formatting should format misc-9: pretty/selects-9.sql (pretty) 1`] =`
72
-
"SELECT
73
-
(SELECT
74
-
max(score)
75
-
FROM results)"
62
+
"SELECT (SELECT max(score)
63
+
FROM results)"
76
64
`;
77
65
78
66
exports[`Pretty Misc SQL formatting should format misc-10: pretty/selects-10.sql (non-pretty) 1`] =`"SELECT count(*) OVER (), u.id FROM users AS u"`;
@@ -87,13 +75,11 @@ FROM users AS u"
87
75
exports[`Pretty Misc SQL formatting should format misc-11: pretty/selects-11.sql (non-pretty) 1`] =`"SELECT name FROM customers UNION ALL SELECT name FROM suppliers ORDER BY name"`;
88
76
89
77
exports[`Pretty Misc SQL formatting should format misc-11: pretty/selects-11.sql (pretty) 1`] =`
90
-
"SELECT
91
-
name
78
+
"SELECT name
92
79
FROM customers
93
80
UNION
94
81
ALL
95
-
SELECT
96
-
name
82
+
SELECT name
97
83
FROM suppliers
98
84
ORDER BY
99
85
name"
@@ -123,8 +109,7 @@ exports[`Pretty Misc SQL formatting should format misc-13: pretty/selects-13.sql
0 commit comments