Skip to content

Commit f43fe74

Browse files
authored
Merge pull request #205 from launchql/fix/issue-204
fix: remove pg_catalog prefix from timestamp and time types
2 parents c2982c6 + 856c975 commit f43fe74

File tree

9 files changed

+359
-9
lines changed

9 files changed

+359
-9
lines changed

__fixtures__/generated/generated.json

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21237,6 +21237,19 @@
2123721237
"misc/pg_catalog-15.sql": "SELECT array_agg(id) FROM (VALUES (1), (2), (3)) AS t(id)",
2123821238
"misc/pg_catalog-16.sql": "SELECT string_agg(name, ', ') FROM (VALUES ('Alice'), ('Bob'), ('Carol')) AS t(name)",
2123921239
"misc/pg_catalog-17.sql": "SELECT json_agg(name) FROM (VALUES ('A'), ('B')) AS t(name)",
21240+
"misc/pg_catalog-timestamp-etc-1.sql": "CREATE TABLE public.\"ACTIVITY\" (\n \"ACTIVITY_ID\" bigint NOT NULL,\n \"PUBLISHED\" timestamp(2) with time zone\n)",
21241+
"misc/pg_catalog-timestamp-etc-2.sql": "CREATE TABLE public.\"ACTIVITY\" (\n \"ACTIVITY_ID\" bigint NOT NULL,\n \"PUBLISHED\" timestamp(2)\n)",
21242+
"misc/pg_catalog-timestamp-etc-3.sql": "CREATE TABLE public.\"EXAMPLE\" (\n \"MESSAGE\" text\n)",
21243+
"misc/pg_catalog-timestamp-etc-4.sql": "CREATE TABLE public.\"EXAMPLE_TIME\" (\n \"START_TIME\" time\n)",
21244+
"misc/pg_catalog-timestamp-etc-5.sql": "CREATE TABLE public.\"EXAMPLE_TIMETZ\" (\n \"START_TIME\" time with time zone\n)",
21245+
"misc/pg_catalog-timestamp-etc-6.sql": "CREATE TABLE public.\"EXAMPLE_TIME_PRECISION\" (\n \"START_TIME\" time(3)\n)",
21246+
"misc/pg_catalog-timestamp-etc-7.sql": "CREATE TABLE public.\"EXAMPLE_TIMETZ_PRECISION\" (\n \"START_TIME\" time(3) with time zone\n)",
21247+
"misc/pg_catalog-timestamp-etc-8.sql": "CREATE TABLE public.\"EXAMPLE_TIMESTAMP\" (\n \"CREATED_AT\" timestamp\n)",
21248+
"misc/pg_catalog-timestamp-etc-9.sql": "CREATE TABLE public.\"EXAMPLE_TIMESTAMPTZ\" (\n \"CREATED_AT\" timestamp with time zone\n)",
21249+
"misc/pg_catalog-timestamp-etc-10.sql": "CREATE TABLE public.\"EXAMPLE_INTERVAL\" (\n \"DURATION\" interval\n)",
21250+
"misc/pg_catalog-timestamp-etc-11.sql": "CREATE TABLE public.\"EXAMPLE_INTERVAL_PRECISION\" (\n \"DURATION\" interval(2)\n)",
21251+
"misc/pg_catalog-timestamp-etc-12.sql": "CREATE TABLE public.\"EXAMPLE_DATE\" (\n \"BIRTHDAY\" date\n)",
21252+
"misc/pg_catalog-timestamp-etc-13.sql": "CREATE TABLE public.\"EXAMPLE_BOOL\" (\n \"IS_ACTIVE\" boolean\n)",
2124021253
"misc/launchql-ext-types-1.sql": "CREATE DOMAIN attachment AS jsonb CHECK ( value ?& ARRAY['url', 'mime'] AND (value->>'url') ~ '^(https?)://[^\\s/$.?#].[^\\s]*$' )",
2124121254
"misc/launchql-ext-types-2.sql": "COMMENT ON DOMAIN attachment IS E'@name launchqlInternalTypeAttachment'",
2124221255
"misc/launchql-ext-types-3.sql": "CREATE DOMAIN email AS citext CHECK ( value ~ '^[a-zA-Z0-9.!#$%&''*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$' )",
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
-- timestamp(2) with time zone
2+
CREATE TABLE public."ACTIVITY" (
3+
"ACTIVITY_ID" bigint NOT NULL,
4+
"PUBLISHED" timestamp(2) with time zone
5+
);
6+
7+
-- timestamp(2)
8+
CREATE TABLE public."ACTIVITY" (
9+
"ACTIVITY_ID" bigint NOT NULL,
10+
"PUBLISHED" timestamp(2)
11+
);
12+
13+
-- text
14+
CREATE TABLE public."EXAMPLE" (
15+
"MESSAGE" text
16+
);
17+
18+
-- TIME WITHOUT TIME ZONE
19+
CREATE TABLE public."EXAMPLE_TIME" (
20+
"START_TIME" time
21+
);
22+
23+
-- TIME WITH TIME ZONE (aka timetz)
24+
CREATE TABLE public."EXAMPLE_TIMETZ" (
25+
"START_TIME" time with time zone
26+
);
27+
28+
-- TIME(n) WITHOUT TIME ZONE
29+
CREATE TABLE public."EXAMPLE_TIME_PRECISION" (
30+
"START_TIME" time(3)
31+
);
32+
33+
-- TIME(n) WITH TIME ZONE (aka timetz(n))
34+
CREATE TABLE public."EXAMPLE_TIMETZ_PRECISION" (
35+
"START_TIME" time(3) with time zone
36+
);
37+
38+
-- TIMESTAMP WITHOUT TIME ZONE (alias of timestamp)
39+
CREATE TABLE public."EXAMPLE_TIMESTAMP" (
40+
"CREATED_AT" timestamp
41+
);
42+
43+
-- TIMESTAMP WITH TIME ZONE (alias of timestamptz)
44+
CREATE TABLE public."EXAMPLE_TIMESTAMPTZ" (
45+
"CREATED_AT" timestamp with time zone
46+
);
47+
48+
-- INTERVAL
49+
CREATE TABLE public."EXAMPLE_INTERVAL" (
50+
"DURATION" interval
51+
);
52+
53+
-- INTERVAL with precision
54+
CREATE TABLE public."EXAMPLE_INTERVAL_PRECISION" (
55+
"DURATION" interval(2)
56+
);
57+
58+
-- DATE
59+
CREATE TABLE public."EXAMPLE_DATE" (
60+
"BIRTHDAY" date
61+
);
62+
63+
-- BOOLEAN
64+
CREATE TABLE public."EXAMPLE_BOOL" (
65+
"IS_ACTIVE" boolean
66+
);
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
2+
import { FixtureTestUtils } from '../../test-utils';
3+
const fixtures = new FixtureTestUtils();
4+
5+
it('misc-pg_catalog-timestamp-etc', async () => {
6+
await fixtures.runFixtureTests([
7+
"misc/pg_catalog-timestamp-etc-1.sql",
8+
"misc/pg_catalog-timestamp-etc-2.sql",
9+
"misc/pg_catalog-timestamp-etc-3.sql",
10+
"misc/pg_catalog-timestamp-etc-4.sql",
11+
"misc/pg_catalog-timestamp-etc-5.sql",
12+
"misc/pg_catalog-timestamp-etc-6.sql",
13+
"misc/pg_catalog-timestamp-etc-7.sql",
14+
"misc/pg_catalog-timestamp-etc-8.sql",
15+
"misc/pg_catalog-timestamp-etc-9.sql",
16+
"misc/pg_catalog-timestamp-etc-10.sql",
17+
"misc/pg_catalog-timestamp-etc-11.sql",
18+
"misc/pg_catalog-timestamp-etc-12.sql",
19+
"misc/pg_catalog-timestamp-etc-13.sql"
20+
]);
21+
});

packages/deparser/__tests__/pretty/__snapshots__/constraints-pretty.test.ts.snap

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ exports[`non-pretty: pretty/constraints-9.sql 1`] = `"ALTER TABLE finance.transa
2020

2121
exports[`non-pretty: pretty/constraints-10.sql 1`] = `"ALTER TABLE school.enrollments ADD CONSTRAINT fk_student_course FOREIGN KEY (student_id, course_id) REFERENCES school.courses_students (student_id, course_id)"`;
2222

23-
exports[`non-pretty: pretty/constraints-11.sql 1`] = `"CREATE TABLE orders (id serial PRIMARY KEY, user_id int NOT NULL, total numeric(10, 2) CHECK (total > 0), status varchar(20) DEFAULT 'pending', created_at pg_catalog.timestamp DEFAULT now(), CONSTRAINT fk_user FOREIGN KEY (user_id) REFERENCES users (id) ON DELETE CASCADE, CONSTRAINT unique_user_date UNIQUE (user_id, created_at), CONSTRAINT check_status CHECK (status IN ('pending', 'completed', 'cancelled')))"`;
23+
exports[`non-pretty: pretty/constraints-11.sql 1`] = `"CREATE TABLE orders (id serial PRIMARY KEY, user_id int NOT NULL, total numeric(10, 2) CHECK (total > 0), status varchar(20) DEFAULT 'pending', created_at timestamp DEFAULT now(), CONSTRAINT fk_user FOREIGN KEY (user_id) REFERENCES users (id) ON DELETE CASCADE, CONSTRAINT unique_user_date UNIQUE (user_id, created_at), CONSTRAINT check_status CHECK (status IN ('pending', 'completed', 'cancelled')))"`;
2424

2525
exports[`non-pretty: pretty/constraints-12.sql 1`] = `"ALTER TABLE products ADD CONSTRAINT fk_category FOREIGN KEY (category_id) REFERENCES categories (id) ON UPDATE CASCADE ON DELETE SET NULL DEFERRABLE INITIALLY DEFERRED"`;
2626

@@ -104,7 +104,7 @@ exports[`pretty: pretty/constraints-11.sql 1`] = `
104104
user_id int NOT NULL,
105105
total numeric(10, 2) CHECK (total > 0),
106106
status varchar(20) DEFAULT 'pending',
107-
created_at pg_catalog.timestamp DEFAULT now(),
107+
created_at timestamp DEFAULT now(),
108108
CONSTRAINT fk_user
109109
FOREIGN KEY(user_id)
110110
REFERENCES users (id)

packages/deparser/__tests__/pretty/__snapshots__/create-table-pretty.test.ts.snap

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22

33
exports[`non-pretty: pretty/create_table-1.sql 1`] = `"CREATE TABLE users (id serial PRIMARY KEY, name text NOT NULL, email text UNIQUE)"`;
44

5-
exports[`non-pretty: pretty/create_table-2.sql 1`] = `"CREATE TABLE products (id serial PRIMARY KEY, name varchar(255) NOT NULL, price numeric(10, 2) CHECK (price > 0), category_id int, description text, created_at pg_catalog.timestamp DEFAULT now(), updated_at pg_catalog.timestamp, UNIQUE (name, category_id), FOREIGN KEY (category_id) REFERENCES categories (id))"`;
5+
exports[`non-pretty: pretty/create_table-2.sql 1`] = `"CREATE TABLE products (id serial PRIMARY KEY, name varchar(255) NOT NULL, price numeric(10, 2) CHECK (price > 0), category_id int, description text, created_at timestamp DEFAULT now(), updated_at timestamp, UNIQUE (name, category_id), FOREIGN KEY (category_id) REFERENCES categories (id))"`;
66

77
exports[`non-pretty: pretty/create_table-3.sql 1`] = `"CREATE TABLE orders (id serial PRIMARY KEY, subtotal numeric(10, 2) NOT NULL, tax_rate numeric(5, 4) DEFAULT 0.0825, tax_amount numeric(10, 2) GENERATED ALWAYS AS (subtotal * tax_rate) STORED, total numeric(10, 2) GENERATED ALWAYS AS (subtotal + tax_amount) STORED)"`;
88

99
exports[`non-pretty: pretty/create_table-4.sql 1`] = `"CREATE TABLE sales (id serial, sale_date date NOT NULL, amount numeric(10, 2), region varchar(50)) PARTITION BY RANGE (sale_date)"`;
1010

1111
exports[`non-pretty: pretty/create_table-5.sql 1`] = `"CREATE TEMPORARY TABLE temp_calculations (id int, value numeric(15, 5), result text)"`;
1212

13-
exports[`non-pretty: pretty/create_table-6.sql 1`] = `"CREATE TABLE orders (id serial PRIMARY KEY, user_id int NOT NULL, total numeric(10, 2) CHECK (total > 0), status varchar(20) DEFAULT 'pending', created_at pg_catalog.timestamp DEFAULT now(), FOREIGN KEY (user_id) REFERENCES users (id))"`;
13+
exports[`non-pretty: pretty/create_table-6.sql 1`] = `"CREATE TABLE orders (id serial PRIMARY KEY, user_id int NOT NULL, total numeric(10, 2) CHECK (total > 0), status varchar(20) DEFAULT 'pending', created_at timestamp DEFAULT now(), FOREIGN KEY (user_id) REFERENCES users (id))"`;
1414

1515
exports[`pretty: pretty/create_table-1.sql 1`] = `
1616
"CREATE TABLE users (
@@ -27,8 +27,8 @@ exports[`pretty: pretty/create_table-2.sql 1`] = `
2727
price numeric(10, 2) CHECK (price > 0),
2828
category_id int,
2929
description text,
30-
created_at pg_catalog.timestamp DEFAULT now(),
31-
updated_at pg_catalog.timestamp,
30+
created_at timestamp DEFAULT now(),
31+
updated_at timestamp,
3232
UNIQUE (name, category_id),
3333
FOREIGN KEY(category_id)
3434
REFERENCES categories (id)
@@ -68,7 +68,7 @@ exports[`pretty: pretty/create_table-6.sql 1`] = `
6868
user_id int NOT NULL,
6969
total numeric(10, 2) CHECK (total > 0),
7070
status varchar(20) DEFAULT 'pending',
71-
created_at pg_catalog.timestamp DEFAULT now(),
71+
created_at timestamp DEFAULT now(),
7272
FOREIGN KEY(user_id)
7373
REFERENCES users (id)
7474
)"

packages/deparser/__tests__/pretty/__snapshots__/misc-pretty.test.ts.snap

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ exports[`non-pretty: pretty/misc-3.sql 1`] = `"SELECT u.id, u.name, j.key, j.val
88

99
exports[`non-pretty: pretty/misc-4.sql 1`] = `"SELECT p.id, p.title, CASE WHEN EXISTS (SELECT 1 FROM reviews AS r WHERE r.product_id = p.id AND r.rating >= 4) THEN 'Popular' ELSE 'Unrated' END AS status FROM products AS p WHERE p.archived = false"`;
1010

11-
exports[`non-pretty: pretty/misc-5.sql 1`] = `"WITH logs AS (SELECT id, payload::json ->> 'event' AS event, CAST(payload::json ->> 'ts' AS pg_catalog.timestamp) AS ts FROM event_log WHERE ts > (now() - '7 days'::interval)) SELECT event, count(*) AS freq FROM ( SELECT DISTINCT event, ts::date AS event_day FROM logs ) AS d GROUP BY event ORDER BY freq DESC"`;
11+
exports[`non-pretty: pretty/misc-5.sql 1`] = `"WITH logs AS (SELECT id, payload::json ->> 'event' AS event, CAST(payload::json ->> 'ts' AS timestamp) AS ts FROM event_log WHERE ts > (now() - '7 days'::interval)) SELECT event, count(*) AS freq FROM ( SELECT DISTINCT event, ts::date AS event_day FROM logs ) AS d GROUP BY event ORDER BY freq DESC"`;
1212

1313
exports[`non-pretty: pretty/misc-6.sql 1`] = `"SELECT o.id AS order_id, u.name AS user_name, p.name AS product_name, s.status, sh.shipped_at, r.refund_amount FROM orders AS o JOIN users AS u ON o.user_id = u.id JOIN order_items AS oi ON oi.order_id = o.id JOIN products AS p ON (p.id = oi.product_id AND p.available = true) OR (p.sku = oi.product_sku AND (p.discontinued = false OR p.replacement_id IS NOT NULL)) LEFT JOIN shipping AS sh ON sh.order_id = o.id AND ((sh.carrier = 'UPS' AND sh.tracking_number IS NOT NULL) OR (sh.carrier = 'FedEx' AND sh.shipped_at > (o.created_at + '1 day'::interval))) LEFT JOIN statuses AS s ON s.id = o.status_id AND (s.name <> 'cancelled' OR (s.name = 'cancelled' AND s.updated_at > (now() - '7 days'::interval))) LEFT JOIN refunds AS r ON r.order_id = o.id AND ((r.status = 'approved' AND r.processed_at IS NOT NULL) OR (r.status = 'pending' AND r.requested_at < (now() - '14 days'::interval))) WHERE o.created_at > (now() - '90 days'::interval) AND u.active = true AND (s.status = 'shipped' OR (s.status = 'processing' AND EXISTS (SELECT 1 FROM order_notes AS n WHERE (n.order_id = o.id AND n.note ILIKE '%expedite%')))) ORDER BY o.created_at DESC"`;
1414

@@ -109,7 +109,7 @@ exports[`pretty: pretty/misc-5.sql 1`] = `
109109
logs AS (SELECT
110110
id,
111111
payload::json ->> 'event' AS event,
112-
CAST(payload::json ->> 'ts' AS pg_catalog.timestamp) AS ts
112+
CAST(payload::json ->> 'ts' AS timestamp) AS ts
113113
FROM event_log
114114
WHERE
115115
ts > (now() - '7 days'::interval))
Lines changed: 200 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,200 @@
1+
// Jest Snapshot v1, https://goo.gl/fbAQLP
2+
3+
exports[`non-pretty: misc/pg_catalog-1.sql 1`] = `"SELECT pg_catalog.json_object('{}')"`;
4+
5+
exports[`non-pretty: misc/pg_catalog-2.sql 1`] = `"SELECT * FROM generate_series(1, 5)"`;
6+
7+
exports[`non-pretty: misc/pg_catalog-3.sql 1`] = `"SELECT get_byte('\\xDEADBEEF'::bytea, 1)"`;
8+
9+
exports[`non-pretty: misc/pg_catalog-4.sql 1`] = `"SELECT now()"`;
10+
11+
exports[`non-pretty: misc/pg_catalog-5.sql 1`] = `"SELECT clock_timestamp()"`;
12+
13+
exports[`non-pretty: misc/pg_catalog-6.sql 1`] = `"SELECT to_char(now(), 'YYYY-MM-DD HH24:MI:SS')"`;
14+
15+
exports[`non-pretty: misc/pg_catalog-7.sql 1`] = `"SELECT json_build_object('name', 'Alice', 'age', 30)"`;
16+
17+
exports[`non-pretty: misc/pg_catalog-8.sql 1`] = `"SELECT pg_typeof(42), pg_typeof('hello'), pg_typeof(now())"`;
18+
19+
exports[`non-pretty: misc/pg_catalog-9.sql 1`] = `"SELECT SUBSTRING('abcdefg' FROM 2 FOR 3)"`;
20+
21+
exports[`non-pretty: misc/pg_catalog-10.sql 1`] = `"SELECT replace('hello world', 'l', 'L')"`;
22+
23+
exports[`non-pretty: misc/pg_catalog-11.sql 1`] = `"SELECT length('yolo')"`;
24+
25+
exports[`non-pretty: misc/pg_catalog-12.sql 1`] = `"SELECT POSITION('G' IN 'ChatGPT')"`;
26+
27+
exports[`non-pretty: misc/pg_catalog-13.sql 1`] = `"SELECT TRIM(BOTH FROM ' padded text ')"`;
28+
29+
exports[`non-pretty: misc/pg_catalog-14.sql 1`] = `"SELECT ltrim('---abc', '-')"`;
30+
31+
exports[`non-pretty: misc/pg_catalog-15.sql 1`] = `"SELECT array_agg(id) FROM ( VALUES (1), (2), (3) ) AS t(id)"`;
32+
33+
exports[`non-pretty: misc/pg_catalog-16.sql 1`] = `"SELECT string_agg(name, ', ') FROM ( VALUES ('Alice'), ('Bob'), ('Carol') ) AS t(name)"`;
34+
35+
exports[`non-pretty: misc/pg_catalog-17.sql 1`] = `"SELECT json_agg(name) FROM ( VALUES ('A'), ('B') ) AS t(name)"`;
36+
37+
exports[`non-pretty: misc/pg_catalog-timestamp-etc-1.sql 1`] = `"CREATE TABLE public."ACTIVITY" ("ACTIVITY_ID" bigint NOT NULL, "PUBLISHED" timestamp(2) with time zone)"`;
38+
39+
exports[`non-pretty: misc/pg_catalog-timestamp-etc-2.sql 1`] = `"CREATE TABLE public."ACTIVITY" ("ACTIVITY_ID" bigint NOT NULL, "PUBLISHED" timestamp(2))"`;
40+
41+
exports[`non-pretty: misc/pg_catalog-timestamp-etc-3.sql 1`] = `"CREATE TABLE public."EXAMPLE" ("MESSAGE" text)"`;
42+
43+
exports[`non-pretty: misc/pg_catalog-timestamp-etc-4.sql 1`] = `"CREATE TABLE public."EXAMPLE_TIME" ("START_TIME" time)"`;
44+
45+
exports[`non-pretty: misc/pg_catalog-timestamp-etc-5.sql 1`] = `"CREATE TABLE public."EXAMPLE_TIMETZ" ("START_TIME" time with time zone)"`;
46+
47+
exports[`non-pretty: misc/pg_catalog-timestamp-etc-6.sql 1`] = `"CREATE TABLE public."EXAMPLE_TIME_PRECISION" ("START_TIME" time(3))"`;
48+
49+
exports[`non-pretty: misc/pg_catalog-timestamp-etc-7.sql 1`] = `"CREATE TABLE public."EXAMPLE_TIMETZ_PRECISION" ("START_TIME" time(3) with time zone)"`;
50+
51+
exports[`non-pretty: misc/pg_catalog-timestamp-etc-8.sql 1`] = `"CREATE TABLE public."EXAMPLE_TIMESTAMP" ("CREATED_AT" timestamp)"`;
52+
53+
exports[`non-pretty: misc/pg_catalog-timestamp-etc-9.sql 1`] = `"CREATE TABLE public."EXAMPLE_TIMESTAMPTZ" ("CREATED_AT" timestamp with time zone)"`;
54+
55+
exports[`non-pretty: misc/pg_catalog-timestamp-etc-10.sql 1`] = `"CREATE TABLE public."EXAMPLE_INTERVAL" ("DURATION" interval)"`;
56+
57+
exports[`non-pretty: misc/pg_catalog-timestamp-etc-11.sql 1`] = `"CREATE TABLE public."EXAMPLE_INTERVAL_PRECISION" ("DURATION" interval(2))"`;
58+
59+
exports[`non-pretty: misc/pg_catalog-timestamp-etc-12.sql 1`] = `"CREATE TABLE public."EXAMPLE_DATE" ("BIRTHDAY" date)"`;
60+
61+
exports[`non-pretty: misc/pg_catalog-timestamp-etc-13.sql 1`] = `"CREATE TABLE public."EXAMPLE_BOOL" ("IS_ACTIVE" boolean)"`;
62+
63+
exports[`pretty: misc/pg_catalog-1.sql 1`] = `"SELECT pg_catalog.json_object('{}')"`;
64+
65+
exports[`pretty: misc/pg_catalog-2.sql 1`] = `
66+
"SELECT *
67+
FROM generate_series(1, 5)"
68+
`;
69+
70+
exports[`pretty: misc/pg_catalog-3.sql 1`] = `"SELECT get_byte('\\xDEADBEEF'::bytea, 1)"`;
71+
72+
exports[`pretty: misc/pg_catalog-4.sql 1`] = `"SELECT now()"`;
73+
74+
exports[`pretty: misc/pg_catalog-5.sql 1`] = `"SELECT clock_timestamp()"`;
75+
76+
exports[`pretty: misc/pg_catalog-6.sql 1`] = `"SELECT to_char(now(), 'YYYY-MM-DD HH24:MI:SS')"`;
77+
78+
exports[`pretty: misc/pg_catalog-7.sql 1`] = `"SELECT json_build_object('name', 'Alice', 'age', 30)"`;
79+
80+
exports[`pretty: misc/pg_catalog-8.sql 1`] = `
81+
"SELECT
82+
pg_typeof(42),
83+
pg_typeof('hello'),
84+
pg_typeof(now())"
85+
`;
86+
87+
exports[`pretty: misc/pg_catalog-9.sql 1`] = `"SELECT SUBSTRING('abcdefg' FROM 2 FOR 3)"`;
88+
89+
exports[`pretty: misc/pg_catalog-10.sql 1`] = `"SELECT replace('hello world', 'l', 'L')"`;
90+
91+
exports[`pretty: misc/pg_catalog-11.sql 1`] = `"SELECT length('yolo')"`;
92+
93+
exports[`pretty: misc/pg_catalog-12.sql 1`] = `"SELECT POSITION('G' IN 'ChatGPT')"`;
94+
95+
exports[`pretty: misc/pg_catalog-13.sql 1`] = `"SELECT TRIM(BOTH FROM ' padded text ')"`;
96+
97+
exports[`pretty: misc/pg_catalog-14.sql 1`] = `"SELECT ltrim('---abc', '-')"`;
98+
99+
exports[`pretty: misc/pg_catalog-15.sql 1`] = `
100+
"SELECT array_agg(id)
101+
FROM ( VALUES
102+
(1),
103+
(2),
104+
(3) ) AS t(id)"
105+
`;
106+
107+
exports[`pretty: misc/pg_catalog-16.sql 1`] = `
108+
"SELECT string_agg(name, ', ')
109+
FROM ( VALUES
110+
('Alice'),
111+
('Bob'),
112+
('Carol') ) AS t(name)"
113+
`;
114+
115+
exports[`pretty: misc/pg_catalog-17.sql 1`] = `
116+
"SELECT json_agg(name)
117+
FROM ( VALUES
118+
('A'),
119+
('B') ) AS t(name)"
120+
`;
121+
122+
exports[`pretty: misc/pg_catalog-timestamp-etc-1.sql 1`] = `
123+
"CREATE TABLE public."ACTIVITY" (
124+
"ACTIVITY_ID" bigint NOT NULL,
125+
"PUBLISHED" timestamp(2) with time zone
126+
)"
127+
`;
128+
129+
exports[`pretty: misc/pg_catalog-timestamp-etc-2.sql 1`] = `
130+
"CREATE TABLE public."ACTIVITY" (
131+
"ACTIVITY_ID" bigint NOT NULL,
132+
"PUBLISHED" timestamp(2)
133+
)"
134+
`;
135+
136+
exports[`pretty: misc/pg_catalog-timestamp-etc-3.sql 1`] = `
137+
"CREATE TABLE public."EXAMPLE" (
138+
"MESSAGE" text
139+
)"
140+
`;
141+
142+
exports[`pretty: misc/pg_catalog-timestamp-etc-4.sql 1`] = `
143+
"CREATE TABLE public."EXAMPLE_TIME" (
144+
"START_TIME" time
145+
)"
146+
`;
147+
148+
exports[`pretty: misc/pg_catalog-timestamp-etc-5.sql 1`] = `
149+
"CREATE TABLE public."EXAMPLE_TIMETZ" (
150+
"START_TIME" time with time zone
151+
)"
152+
`;
153+
154+
exports[`pretty: misc/pg_catalog-timestamp-etc-6.sql 1`] = `
155+
"CREATE TABLE public."EXAMPLE_TIME_PRECISION" (
156+
"START_TIME" time(3)
157+
)"
158+
`;
159+
160+
exports[`pretty: misc/pg_catalog-timestamp-etc-7.sql 1`] = `
161+
"CREATE TABLE public."EXAMPLE_TIMETZ_PRECISION" (
162+
"START_TIME" time(3) with time zone
163+
)"
164+
`;
165+
166+
exports[`pretty: misc/pg_catalog-timestamp-etc-8.sql 1`] = `
167+
"CREATE TABLE public."EXAMPLE_TIMESTAMP" (
168+
"CREATED_AT" timestamp
169+
)"
170+
`;
171+
172+
exports[`pretty: misc/pg_catalog-timestamp-etc-9.sql 1`] = `
173+
"CREATE TABLE public."EXAMPLE_TIMESTAMPTZ" (
174+
"CREATED_AT" timestamp with time zone
175+
)"
176+
`;
177+
178+
exports[`pretty: misc/pg_catalog-timestamp-etc-10.sql 1`] = `
179+
"CREATE TABLE public."EXAMPLE_INTERVAL" (
180+
"DURATION" interval
181+
)"
182+
`;
183+
184+
exports[`pretty: misc/pg_catalog-timestamp-etc-11.sql 1`] = `
185+
"CREATE TABLE public."EXAMPLE_INTERVAL_PRECISION" (
186+
"DURATION" interval(2)
187+
)"
188+
`;
189+
190+
exports[`pretty: misc/pg_catalog-timestamp-etc-12.sql 1`] = `
191+
"CREATE TABLE public."EXAMPLE_DATE" (
192+
"BIRTHDAY" date
193+
)"
194+
`;
195+
196+
exports[`pretty: misc/pg_catalog-timestamp-etc-13.sql 1`] = `
197+
"CREATE TABLE public."EXAMPLE_BOOL" (
198+
"IS_ACTIVE" boolean
199+
)"
200+
`;

0 commit comments

Comments
 (0)