Skip to content

Commit 1e4c13b

Browse files
committed
refactor: tidy up sql templates
1 parent 634f13e commit 1e4c13b

File tree

6 files changed

+57
-86
lines changed

6 files changed

+57
-86
lines changed

src/lib/sql/functions.sql

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
1-
select
2-
p.oid :: int8 as id,
3-
n.nspname as schema,
4-
p.proname as name,
5-
l.lanname as language,
6-
case
7-
when l.lanname = 'internal' then p.prosrc
8-
else pg_get_functiondef(p.oid)
9-
end as definition,
10-
pg_get_function_arguments(p.oid) as argument_types,
11-
t.typname as return_type
12-
from
13-
pg_proc p
14-
left join pg_namespace n on p.pronamespace = n.oid
15-
left join pg_language l on p.prolang = l.oid
16-
left join pg_type t on t.oid = p.prorettype
1+
SELECT
2+
p.oid :: int8 AS id,
3+
n.nspname AS schema,
4+
p.proname AS name,
5+
l.lanname AS language,
6+
CASE
7+
WHEN l.lanname = 'internal' THEN p.prosrc
8+
ELSE pg_get_functiondef(p.oid)
9+
END AS definition,
10+
pg_get_function_arguments(p.oid) AS argument_types,
11+
t.typname AS return_type
12+
FROM
13+
pg_proc p
14+
LEFT JOIN pg_namespace n ON p.pronamespace = n.oid
15+
LEFT JOIN pg_language l ON p.prolang = l.oid
16+
LEFT JOIN pg_type t ON t.oid = p.prorettype

src/lib/sql/index.ts

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,17 @@
1-
import * as fs from 'fs'
2-
import * as path from 'path'
1+
import { readFileSync } from 'fs'
2+
import { resolve } from 'path'
33

4-
export = {
5-
columns: fs.readFileSync(path.join(__dirname, '/columns.sql')).toString(),
6-
config: fs.readFileSync(path.join(__dirname, '/config.sql')).toString(),
7-
extensions: fs.readFileSync(path.join(__dirname, '/extensions.sql')).toString(),
8-
functions: fs.readFileSync(path.join(__dirname, '/functions.sql')).toString(),
9-
grants: fs.readFileSync(path.join(__dirname, '/grants.sql')).toString(),
10-
policies: fs.readFileSync(path.join(__dirname, '/policies.sql')).toString(),
11-
primary_keys: fs.readFileSync(path.join(__dirname, '/primary_keys.sql')).toString(),
12-
publications: fs.readFileSync(path.join(__dirname, '/publications.sql')).toString(),
13-
relationships: fs.readFileSync(path.join(__dirname, '/relationships.sql')).toString(),
14-
roles: fs.readFileSync(path.join(__dirname, '/roles.sql')).toString(),
15-
schemas: fs.readFileSync(path.join(__dirname, '/schemas.sql')).toString(),
16-
tables: fs.readFileSync(path.join(__dirname, '/tables.sql')).toString(),
17-
types: fs.readFileSync(path.join(__dirname, '/types.sql')).toString(),
18-
version: fs.readFileSync(path.join(__dirname, '/version.sql')).toString(),
19-
}
4+
export const columnsSql = readFileSync(resolve(__dirname, 'columns.sql'), 'utf-8')
5+
export const configSql = readFileSync(resolve(__dirname, 'config.sql'), 'utf-8')
6+
export const extensionsSql = readFileSync(resolve(__dirname, 'extensions.sql'), 'utf-8')
7+
export const functionsSql = readFileSync(resolve(__dirname, 'functions.sql'), 'utf-8')
8+
export const grantsSql = readFileSync(resolve(__dirname, 'grants.sql'), 'utf-8')
9+
export const policiesSql = readFileSync(resolve(__dirname, 'policies.sql'), 'utf-8')
10+
export const primaryKeysSql = readFileSync(resolve(__dirname, 'primary_keys.sql'), 'utf-8')
11+
export const publicationsSql = readFileSync(resolve(__dirname, 'publications.sql'), 'utf-8')
12+
export const relationshipsSql = readFileSync(resolve(__dirname, 'relationships.sql'), 'utf-8')
13+
export const rolesSql = readFileSync(resolve(__dirname, 'roles.sql'), 'utf-8')
14+
export const schemasSql = readFileSync(resolve(__dirname, 'schemas.sql'), 'utf-8')
15+
export const tablesSql = readFileSync(resolve(__dirname, 'tables.sql'), 'utf-8')
16+
export const typesSql = readFileSync(resolve(__dirname, 'types.sql'), 'utf-8')
17+
export const versionSql = readFileSync(resolve(__dirname, 'version.sql'), 'utf-8')

src/lib/sql/policies.sql

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
select
2-
pol.oid :: int8 as id,
1+
SELECT
2+
pol.oid :: int8 AS id,
33
n.nspname AS schema,
44
c.relname AS table,
55
c.oid :: int8 AS table_id,

src/lib/sql/roles.sql

Lines changed: 10 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -9,29 +9,19 @@ SELECT
99
rolcanlogin AS can_login,
1010
rolreplication AS is_replication_role,
1111
rolbypassrls AS can_bypass_rls,
12-
active_connections,
13-
CASE WHEN rolconnlimit = -1 THEN max_db_connections :: int4
12+
(
13+
SELECT
14+
COUNT(*)
15+
FROM
16+
pg_stat_activity
17+
WHERE
18+
pg_roles.rolname = pg_stat_activity.usename
19+
) AS active_connections,
20+
CASE WHEN rolconnlimit = -1 THEN current_setting('max_connections') :: int8
1421
ELSE rolconnlimit
1522
END AS connection_limit,
1623
rolpassword AS password,
1724
rolvaliduntil AS valid_until,
1825
rolconfig AS config
1926
FROM
20-
pg_catalog.pg_roles
21-
INNER JOIN LATERAL (
22-
SELECT
23-
count(*) AS active_connections
24-
FROM
25-
pg_stat_activity
26-
WHERE
27-
state = 'active'
28-
AND pg_roles.rolname = pg_stat_activity.usename
29-
) AS active_connections ON 1 = 1
30-
INNER JOIN LATERAL (
31-
SELECT
32-
setting AS max_db_connections
33-
FROM
34-
pg_settings
35-
WHERE
36-
name = 'max_connections'
37-
) AS max_db_connections ON 1 = 1
27+
pg_roles

src/lib/sql/types.sql

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,31 +2,31 @@ SELECT
22
t.oid :: int8 AS id,
33
t.typname AS name,
44
n.nspname AS schema,
5-
pg_catalog.Format_type (t.oid, NULL) AS format,
6-
pg_catalog.obj_description (t.oid, 'pg_type') AS description,
5+
format_type (t.oid, NULL) AS format,
76
array_to_json(
87
array(
98
SELECT
109
e.enumlabel
1110
FROM
12-
pg_catalog.pg_enum e
11+
pg_enum e
1312
WHERE
1413
e.enumtypid = t.oid
1514
ORDER BY
1615
e.oid
1716
)
18-
) AS enums
17+
) AS enums,
18+
obj_description (t.oid, 'pg_type') AS comment
1919
FROM
20-
pg_catalog.pg_type t
21-
LEFT JOIN pg_catalog.pg_namespace n ON n.oid = t.typnamespace
20+
pg_type t
21+
LEFT JOIN pg_namespace n ON n.oid = t.typnamespace
2222
WHERE
2323
(
2424
t.typrelid = 0
2525
OR (
2626
SELECT
2727
c.relkind = 'c'
2828
FROM
29-
pg_catalog.pg_class c
29+
pg_class c
3030
WHERE
3131
c.oid = t.typrelid
3232
)
@@ -35,7 +35,7 @@ WHERE
3535
SELECT
3636
1
3737
FROM
38-
pg_catalog.pg_type el
38+
pg_type el
3939
WHERE
4040
el.oid = t.typelem
4141
AND el.typarray = t.oid

src/lib/sql/version.sql

Lines changed: 5 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,10 @@
11
SELECT
2-
*
3-
FROM
2+
version(),
3+
current_setting('server_version_num') :: int8 AS version_number,
44
(
55
SELECT
6-
version()
7-
) version,
8-
(
9-
SELECT
10-
current_setting('server_version_num') AS version_number
11-
) version_number,
12-
(
13-
SELECT
14-
count(pid) AS active_connections
6+
COUNT(*) AS active_connections
157
FROM
168
pg_stat_activity
17-
WHERE
18-
state = 'active'
19-
) active_connections,
20-
(
21-
SELECT
22-
setting AS max_connections
23-
FROM
24-
pg_settings
25-
WHERE
26-
name = 'max_connections'
27-
) max_connections
9+
) AS active_connections,
10+
current_setting('max_connections') :: int8 AS max_connections

0 commit comments

Comments
 (0)