Skip to content

Commit 12b2595

Browse files
committed
Try to standardize formatting for CREATE FUNCTION
The ways we wrote CREATE FUNCTION were all over the place so this is an attempt at standardizing how we write SQL functions without changing the semantic meaning of any of the upgrade scripts. The goals of this is to make sure we always write things in the same order and that we put the function body last. We also skip declaring VOLATILE since that is the default.
1 parent 34c0673 commit 12b2595

6 files changed

Lines changed: 152 additions & 94 deletions

pg_stat_monitor--1.0--2.0.sql

Lines changed: 33 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -86,11 +86,15 @@ CREATE FUNCTION pg_stat_monitor_internal(
8686
OUT bucket_done BOOLEAN
8787
)
8888
RETURNS SETOF record
89-
AS 'MODULE_PATHNAME', 'pg_stat_monitor_2_0'
90-
LANGUAGE C STRICT VOLATILE PARALLEL SAFE;
89+
STRICT
90+
PARALLEL SAFE
91+
LANGUAGE c
92+
AS 'MODULE_PATHNAME', 'pg_stat_monitor_2_0';
9193

9294
CREATE FUNCTION histogram(_bucket int, _quryid int8)
93-
RETURNS SETOF RECORD AS $$
95+
RETURNS SETOF record
96+
LANGUAGE plpgsql
97+
AS $$
9498
DECLARE
9599
rec record;
96100
BEGIN
@@ -103,11 +107,13 @@ BEGIN
103107
RETURN next rec;
104108
END loop;
105109
END
106-
$$ language plpgsql;
110+
$$;
107111

108112
-- Register a view on the function for ease of use.
109-
CREATE FUNCTION pgsm_create_11_view() RETURNS INT AS
110-
$$
113+
CREATE FUNCTION pgsm_create_11_view()
114+
RETURNS int
115+
LANGUAGE plpgsql
116+
AS $$
111117
BEGIN
112118
CREATE VIEW pg_stat_monitor AS SELECT
113119
bucket,
@@ -159,11 +165,12 @@ FROM pg_stat_monitor_internal(TRUE)
159165
ORDER BY bucket_start_time;
160166
RETURN 0;
161167
END;
162-
$$ LANGUAGE plpgsql;
163-
168+
$$;
164169

165-
CREATE FUNCTION pgsm_create_13_view() RETURNS INT AS
166-
$$
170+
CREATE FUNCTION pgsm_create_13_view()
171+
RETURNS int
172+
LANGUAGE plpgsql
173+
AS $$
167174
BEGIN
168175
CREATE VIEW pg_stat_monitor AS SELECT
169176
bucket,
@@ -226,10 +233,12 @@ FROM pg_stat_monitor_internal(TRUE)
226233
ORDER BY bucket_start_time;
227234
RETURN 0;
228235
END;
229-
$$ LANGUAGE plpgsql;
236+
$$;
230237

231-
CREATE FUNCTION pgsm_create_14_view() RETURNS INT AS
232-
$$
238+
CREATE FUNCTION pgsm_create_14_view()
239+
RETURNS int
240+
LANGUAGE plpgsql
241+
AS $$
233242
BEGIN
234243
CREATE VIEW pg_stat_monitor AS SELECT
235244
bucket,
@@ -292,10 +301,12 @@ FROM pg_stat_monitor_internal(TRUE)
292301
ORDER BY bucket_start_time;
293302
RETURN 0;
294303
END;
295-
$$ LANGUAGE plpgsql;
304+
$$;
296305

297-
CREATE FUNCTION pgsm_create_15_view() RETURNS INT AS
298-
$$
306+
CREATE FUNCTION pgsm_create_15_view()
307+
RETURNS int
308+
LANGUAGE plpgsql
309+
AS $$
299310
BEGIN
300311
CREATE VIEW pg_stat_monitor AS SELECT
301312
bucket,
@@ -371,10 +382,12 @@ FROM pg_stat_monitor_internal(TRUE)
371382
ORDER BY bucket_start_time;
372383
RETURN 0;
373384
END;
374-
$$ LANGUAGE plpgsql;
385+
$$;
375386

376-
CREATE FUNCTION pgsm_create_view() RETURNS INT AS
377-
$$
387+
CREATE FUNCTION pgsm_create_view()
388+
RETURNS int
389+
LANGUAGE plpgsql
390+
AS $$
378391
DECLARE ver integer;
379392
BEGIN
380393
SELECT current_setting('server_version_num') INTO ver;
@@ -392,7 +405,7 @@ $$
392405
END IF;
393406
RETURN 0;
394407
END;
395-
$$ LANGUAGE plpgsql;
408+
$$;
396409

397410
SELECT pgsm_create_view();
398411
REVOKE ALL ON FUNCTION pgsm_create_view FROM PUBLIC;

pg_stat_monitor--2.0--2.1.sql

Lines changed: 29 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -94,12 +94,16 @@ CREATE FUNCTION pg_stat_monitor_internal(
9494
OUT bucket_done BOOLEAN
9595
)
9696
RETURNS SETOF record
97-
AS 'MODULE_PATHNAME', 'pg_stat_monitor_2_1'
98-
LANGUAGE C STRICT VOLATILE PARALLEL SAFE;
97+
STRICT
98+
PARALLEL SAFE
99+
LANGUAGE c
100+
AS 'MODULE_PATHNAME', 'pg_stat_monitor_2_1';
99101

100102
-- Register a view on the function for ease of use.
101-
CREATE FUNCTION pgsm_create_11_view() RETURNS INT AS
102-
$$
103+
CREATE FUNCTION pgsm_create_11_view()
104+
RETURNS int
105+
LANGUAGE plpgsql
106+
AS $$
103107
BEGIN
104108
CREATE VIEW pg_stat_monitor AS SELECT
105109
bucket,
@@ -151,11 +155,12 @@ FROM pg_stat_monitor_internal(TRUE)
151155
ORDER BY bucket_start_time;
152156
RETURN 0;
153157
END;
154-
$$ LANGUAGE plpgsql;
155-
158+
$$;
156159

157-
CREATE FUNCTION pgsm_create_13_view() RETURNS INT AS
158-
$$
160+
CREATE FUNCTION pgsm_create_13_view()
161+
RETURNS int
162+
LANGUAGE plpgsql
163+
AS $$
159164
BEGIN
160165
CREATE VIEW pg_stat_monitor AS SELECT
161166
bucket,
@@ -218,10 +223,12 @@ FROM pg_stat_monitor_internal(TRUE)
218223
ORDER BY bucket_start_time;
219224
RETURN 0;
220225
END;
221-
$$ LANGUAGE plpgsql;
226+
$$;
222227

223-
CREATE FUNCTION pgsm_create_14_view() RETURNS INT AS
224-
$$
228+
CREATE FUNCTION pgsm_create_14_view()
229+
RETURNS int
230+
LANGUAGE plpgsql
231+
AS $$
225232
BEGIN
226233
CREATE VIEW pg_stat_monitor AS SELECT
227234
bucket,
@@ -284,7 +291,7 @@ FROM pg_stat_monitor_internal(TRUE)
284291
ORDER BY bucket_start_time;
285292
RETURN 0;
286293
END;
287-
$$ LANGUAGE plpgsql;
294+
$$;
288295

289296
CREATE FUNCTION pgsm_create_15_view() RETURNS INT AS
290297
$$
@@ -365,8 +372,10 @@ RETURN 0;
365372
END;
366373
$$ LANGUAGE plpgsql;
367374

368-
CREATE FUNCTION pgsm_create_17_view() RETURNS INT AS
369-
$$
375+
CREATE FUNCTION pgsm_create_17_view()
376+
RETURNS int
377+
LANGUAGE plpgsql
378+
AS $$
370379
BEGIN
371380
CREATE VIEW pg_stat_monitor AS SELECT
372381
bucket,
@@ -449,10 +458,12 @@ FROM pg_stat_monitor_internal(TRUE)
449458
ORDER BY bucket_start_time;
450459
RETURN 0;
451460
END;
452-
$$ LANGUAGE plpgsql;
461+
$$;
453462

454-
CREATE FUNCTION pgsm_create_view() RETURNS INT AS
455-
$$
463+
CREATE FUNCTION pgsm_create_view()
464+
RETURNS int
465+
LANGUAGE plpgsql
466+
AS $$
456467
DECLARE ver integer;
457468
BEGIN
458469
SELECT current_setting('server_version_num') INTO ver;
@@ -473,7 +484,7 @@ $$
473484
END IF;
474485
RETURN 0;
475486
END;
476-
$$ LANGUAGE plpgsql;
487+
$$;
477488

478489
SELECT pgsm_create_view();
479490
REVOKE ALL ON FUNCTION pgsm_create_view FROM PUBLIC;

pg_stat_monitor--2.0.sql

Lines changed: 57 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -4,28 +4,36 @@
44
-- Register functions.
55
CREATE FUNCTION pg_stat_monitor_reset()
66
RETURNS void
7-
AS 'MODULE_PATHNAME'
8-
LANGUAGE C PARALLEL SAFE;
7+
PARALLEL SAFE
8+
LANGUAGE c
9+
AS 'MODULE_PATHNAME';
910

1011
CREATE FUNCTION pg_stat_monitor_version()
1112
RETURNS text
12-
AS 'MODULE_PATHNAME'
13-
LANGUAGE C PARALLEL SAFE;
13+
PARALLEL SAFE
14+
LANGUAGE c
15+
AS 'MODULE_PATHNAME';
1416

1517
CREATE FUNCTION get_histogram_timings()
1618
RETURNS text
17-
AS 'MODULE_PATHNAME'
18-
LANGUAGE C PARALLEL SAFE;
19+
PARALLEL SAFE
20+
LANGUAGE c
21+
AS 'MODULE_PATHNAME';
1922

2023
CREATE FUNCTION range()
21-
RETURNS text[] AS $$
24+
RETURNS text[]
25+
LANGUAGE sql
26+
AS $$
2227
SELECT string_to_array(get_histogram_timings(), ',');
23-
$$ LANGUAGE SQL;
28+
$$;
2429

2530
-- Some generic utility function used internally.
2631

27-
CREATE FUNCTION get_cmd_type (cmd_type INTEGER) RETURNS TEXT AS
28-
$$
32+
CREATE FUNCTION get_cmd_type(cmd_type int)
33+
RETURNS text
34+
PARALLEL SAFE
35+
LANGUAGE sql
36+
AS $$
2937
SELECT
3038
CASE
3139
WHEN cmd_type = 0 THEN ''
@@ -36,13 +44,13 @@ SELECT
3644
WHEN cmd_type = 5 THEN 'UTILITY'
3745
WHEN cmd_type = 6 THEN 'NOTHING'
3846
END
39-
$$
40-
LANGUAGE SQL PARALLEL SAFE;
47+
$$;
4148

4249
CREATE FUNCTION decode_error_level(elevel int)
43-
RETURNS text
44-
AS
45-
$$
50+
RETURNS text
51+
PARALLEL SAFE
52+
LANGUAGE sql
53+
AS $$
4654
SELECT
4755
CASE
4856
WHEN elevel = 0 THEN ''
@@ -58,11 +66,12 @@ SELECT
5866
WHEN elevel = 19 THEN 'WARNING'
5967
WHEN elevel = 20 THEN 'ERROR'
6068
END
61-
$$
62-
LANGUAGE SQL PARALLEL SAFE;
69+
$$;
6370

6471
CREATE FUNCTION histogram(_bucket int, _quryid int8)
65-
RETURNS SETOF RECORD AS $$
72+
RETURNS SETOF record
73+
LANGUAGE plpgsql
74+
AS $$
6675
DECLARE
6776
rec record;
6877
BEGIN
@@ -75,7 +84,7 @@ BEGIN
7584
RETURN next rec;
7685
END loop;
7786
END
78-
$$ language plpgsql;
87+
$$;
7988

8089
-- pg_stat_monitor internal function, must not call outside from this file.
8190
CREATE FUNCTION pg_stat_monitor_internal(
@@ -158,12 +167,16 @@ CREATE FUNCTION pg_stat_monitor_internal(
158167
OUT bucket_done BOOLEAN
159168
)
160169
RETURNS SETOF record
161-
AS 'MODULE_PATHNAME', 'pg_stat_monitor_2_0'
162-
LANGUAGE C STRICT VOLATILE PARALLEL SAFE;
170+
STRICT
171+
PARALLEL SAFE
172+
LANGUAGE c
173+
AS 'MODULE_PATHNAME', 'pg_stat_monitor_2_0';
163174

164175
-- Register a view on the function for ease of use.
165-
CREATE FUNCTION pgsm_create_11_view() RETURNS INT AS
166-
$$
176+
CREATE FUNCTION pgsm_create_11_view()
177+
RETURNS int
178+
LANGUAGE plpgsql
179+
AS $$
167180
BEGIN
168181
CREATE VIEW pg_stat_monitor AS SELECT
169182
bucket,
@@ -215,11 +228,12 @@ FROM pg_stat_monitor_internal(TRUE)
215228
ORDER BY bucket_start_time;
216229
RETURN 0;
217230
END;
218-
$$ LANGUAGE plpgsql;
219-
231+
$$;
220232

221-
CREATE FUNCTION pgsm_create_13_view() RETURNS INT AS
222-
$$
233+
CREATE FUNCTION pgsm_create_13_view()
234+
RETURNS int
235+
LANGUAGE plpgsql
236+
AS $$
223237
BEGIN
224238
CREATE VIEW pg_stat_monitor AS SELECT
225239
bucket,
@@ -282,10 +296,12 @@ FROM pg_stat_monitor_internal(TRUE)
282296
ORDER BY bucket_start_time;
283297
RETURN 0;
284298
END;
285-
$$ LANGUAGE plpgsql;
299+
$$;
286300

287-
CREATE FUNCTION pgsm_create_14_view() RETURNS INT AS
288-
$$
301+
CREATE FUNCTION pgsm_create_14_view()
302+
RETURNS int
303+
LANGUAGE plpgsql
304+
AS $$
289305
BEGIN
290306
CREATE VIEW pg_stat_monitor AS SELECT
291307
bucket,
@@ -348,10 +364,12 @@ FROM pg_stat_monitor_internal(TRUE)
348364
ORDER BY bucket_start_time;
349365
RETURN 0;
350366
END;
351-
$$ LANGUAGE plpgsql;
367+
$$;
352368

353-
CREATE FUNCTION pgsm_create_15_view() RETURNS INT AS
354-
$$
369+
CREATE FUNCTION pgsm_create_15_view()
370+
RETURNS int
371+
LANGUAGE plpgsql
372+
AS $$
355373
BEGIN
356374
CREATE VIEW pg_stat_monitor AS SELECT
357375
bucket,
@@ -427,10 +445,12 @@ FROM pg_stat_monitor_internal(TRUE)
427445
ORDER BY bucket_start_time;
428446
RETURN 0;
429447
END;
430-
$$ LANGUAGE plpgsql;
448+
$$;
431449

432-
CREATE FUNCTION pgsm_create_view() RETURNS INT AS
433-
$$
450+
CREATE FUNCTION pgsm_create_view()
451+
RETURNS int
452+
LANGUAGE plpgsql
453+
AS $$
434454
DECLARE ver integer;
435455
BEGIN
436456
SELECT current_setting('server_version_num') INTO ver;
@@ -448,7 +468,7 @@ $$
448468
END IF;
449469
RETURN 0;
450470
END;
451-
$$ LANGUAGE plpgsql;
471+
$$;
452472

453473
SELECT pgsm_create_view();
454474
REVOKE ALL ON FUNCTION pgsm_create_view FROM PUBLIC;

0 commit comments

Comments
 (0)