prostgles-server 4.1.34 → 4.1.35

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -9,7 +9,7 @@ const prostgles_types_1 = require("prostgles-types");
9
9
  function makeSelectQuery(_this, q, depth = 0, joinFields = [], selectParams = {}) {
10
10
  const PREF = `prostgles`, joins = q.joins || [],
11
11
  // aggs = q.aggs || [],
12
- getTableAlias = (q) => !q.tableAlias ? q.table : `${q.tableAlias || ""}_${q.table}`, getTableJoinAliasAsName = (joinAlias, table) => (0, prostgles_types_1.asName)(!joinAlias ? table : `${joinAlias || ""}_${table}`), getTableAliasAsName = (q) => (0, prostgles_types_1.asName)(getTableAlias(q));
12
+ getTableAlias = (q) => !q.tableAlias ? q.table : `${q.tableAlias || ""}_${q.table}`, getTableJoinAliasAsName = (joinAlias, table) => !joinAlias ? table : (0, prostgles_types_1.asName)(`${joinAlias || ""}_${table}`), getTableAliasAsName = (q) => (0, prostgles_types_1.asName)(getTableAlias(q));
13
13
  const indentLine = (numberOfSpaces, str, indentStr = " ") => new Array(numberOfSpaces).fill(indentStr).join("") + str;
14
14
  const indentArray = (numberOfSpaces, strArr, indentStr = " ") => strArr.map(str => indentLine(numberOfSpaces, str, indentStr));
15
15
  const indentArrayAndJoin = (numberOfSpaces, strArr, separator = " \n ", indentStr = " ") => indentArray(numberOfSpaces, strArr, indentStr).join(separator);
@@ -129,7 +129,7 @@ function makeSelectQuery(_this, q, depth = 0, joinFields = [], selectParams = {}
129
129
  }
130
130
  return s.getQuery() + " AS " + (0, prostgles_types_1.asName)(s.alias);
131
131
  }).join(", "),
132
- `FROM ${(0, prostgles_types_1.asName)(q.table)}`,
132
+ `FROM ${q.table}`,
133
133
  q.where,
134
134
  groupBy //!aggs.length? "" : `GROUP BY ${nonAggs.map(sf => asName(sf.alias)).join(", ")}`,
135
135
  ,
@@ -175,7 +175,7 @@ function makeSelectQuery(_this, q, depth = 0, joinFields = [], selectParams = {}
175
175
  ...appendCommas(rootSelectItems.map(s => s.getQuery() + " AS " + (0, prostgles_types_1.asName)(s.alias)).concat(parsedJoins.map((j, i) => {
176
176
  /** Apply LIMIT to joined items */
177
177
  const jsq = `json_agg(${j.jsonColName}::jsonb ORDER BY ${j.rowidSortedColName}) FILTER (WHERE ${j.limitColName} <= ${j.q.limit} AND ${j.rowidDupesColName} = 1 AND ${j.jsonColName} IS NOT NULL)`;
178
- const resAlias = (0, prostgles_types_1.asName)(j.q.tableAlias || j.q.table);
178
+ const resAlias = j.q.tableAlias ? (0, prostgles_types_1.asName)(j.q.tableAlias) : j.q.table;
179
179
  /* If limit = 1 then return a single json object (first one) */
180
180
  return (j.q.limit === 1 ? `${jsq}->0 ` : `COALESCE(${jsq}, '[]') `) + ` AS ${resAlias}`;
181
181
  }))),
@@ -203,7 +203,7 @@ function makeSelectQuery(_this, q, depth = 0, joinFields = [], selectParams = {}
203
203
  "-- 3. [source table] ",
204
204
  "SELECT ",
205
205
  "*, row_number() over() as ctid ",
206
- `FROM ${(0, prostgles_types_1.asName)(q.table)} `,
206
+ `FROM ${q.table} `,
207
207
  `${q.where} `
208
208
  ]),
209
209
  `) ${getTableAliasAsName(q)} `,
@@ -1 +1 @@
1
- {"version":3,"file":"makeSelectQuery.js","sourceRoot":"","sources":["../../../lib/DboBuilder/QueryBuilder/makeSelectQuery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"makeSelectQuery.js","sourceRoot":"","sources":["../../../lib/DboBuilder/QueryBuilder/makeSelectQuery.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"getTablesForSchemaPostgresSQL.d.ts","sourceRoot":"","sources":["../../lib/DboBuilder/getTablesForSchemaPostgresSQL.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAqB,WAAW,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EAAc,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAIhE,eAAO,MAAM,eAAe,YAAY,oBAAoB,CAAC,QAAQ,CAAC;;;CAWrE,CAAA;AAED,wBAAsB,6BAA6B,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAsP9I"}
1
+ {"version":3,"file":"getTablesForSchemaPostgresSQL.d.ts","sourceRoot":"","sources":["../../lib/DboBuilder/getTablesForSchemaPostgresSQL.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAqB,WAAW,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EAAc,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAkFhE,eAAO,MAAM,eAAe,YAAY,oBAAoB,CAAC,QAAQ,CAAC;;;CAWrE,CAAA;AAED,wBAAsB,6BAA6B,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CA2O9I"}
@@ -2,6 +2,83 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getTablesForSchemaPostgresSQL = exports.getSchemaFilter = void 0;
4
4
  const prostgles_types_1 = require("prostgles-types");
5
+ const getMaterialViews = (db, schema) => {
6
+ const { sql, schemaNames } = (0, exports.getSchemaFilter)(schema);
7
+ const query = `
8
+ SELECT
9
+ c.oid,
10
+ schema,
11
+ escaped_identifier,
12
+ true as is_view,
13
+ true as is_mat_view,
14
+ obj_description(c.oid) as comment,
15
+ c.table_name as name,
16
+ definition as view_definition,
17
+ jsonb_build_object(
18
+ 'insert', TRUE,
19
+ 'select', TRUE,
20
+ 'update', TRUE,
21
+ 'delete', EXISTS (
22
+ SELECT 1
23
+ FROM information_schema.role_table_grants rg
24
+ WHERE rg.table_name = c.table_name
25
+ AND rg.privilege_type = 'DELETE'
26
+ )
27
+ ) as privileges,
28
+ json_agg(json_build_object(
29
+ 'name', column_name,
30
+ 'table_oid', c.oid,
31
+ 'is_pkey', false,
32
+ 'data_type', data_type,
33
+ 'udt_name', udt_name,
34
+ 'element_udt_name',
35
+ CASE WHEN LEFT(udt_name, 1) = '_'
36
+ THEN RIGHT(udt_name, -1) END,
37
+ 'element_type',
38
+ CASE WHEN RIGHT(data_type, 2) = '[]'
39
+ THEN LEFT(data_type, -2) END,
40
+ 'is_nullable', nullable,
41
+ 'references', null,
42
+ 'has_default', false,
43
+ 'column_default', null,
44
+ 'is_updatable', false,
45
+ 'privileges', $$[{
46
+ "privilege_type": "SELECT",
47
+ "is_grantable": "YES"
48
+ }]$$::jsonb
49
+ )) as columns
50
+ FROM pg_catalog.pg_matviews m
51
+ INNER JOIN (
52
+ SELECT
53
+ t.oid,
54
+ CASE WHEN current_schema() = s.nspname
55
+ THEN format('%I', t.relname)
56
+ ELSE format('%I.%I', s.nspname, t.relname)
57
+ END as escaped_identifier,
58
+ t.relname as table_name,
59
+ s.nspname as schema,
60
+ a.attname as column_name,
61
+ pg_catalog.format_type(a.atttypid, a.atttypmod) as data_type,
62
+ typname as udt_name,
63
+ a.attnotnull as nullable,
64
+ a.attnum as ordinal_position,
65
+ col_description(t.oid, attnum) as comment
66
+ FROM pg_catalog.pg_attribute a
67
+ JOIN pg_catalog.pg_class t on a.attrelid = t.oid
68
+ JOIN pg_catalog.pg_namespace s on t.relnamespace = s.oid
69
+ JOIN pg_catalog.pg_type pt ON pt.oid = a.atttypid
70
+ WHERE a.attnum > 0
71
+ AND NOT a.attisdropped
72
+ AND relkind = 'm'
73
+ ORDER BY a.attnum
74
+ ) c
75
+ ON matviewname = table_name
76
+ AND schemaname = schema
77
+ WHERE schema ${sql}
78
+ GROUP BY c.oid, escaped_identifier, c.table_name, schema, definition
79
+ `;
80
+ return db.any(query, { schemaNames });
81
+ };
5
82
  const getSchemaFilter = (schema = { public: 1 }) => {
6
83
  const schemaNames = Object.keys(schema);
7
84
  const isInclusive = Object.values(schema).every(v => v);
@@ -84,17 +161,6 @@ async function getTablesForSchemaPostgresSQL({ db, runSQL }, schema) {
84
161
  FROM (
85
162
  SELECT table_name, table_schema, table_type = 'VIEW' as is_view, regclass(table_schema || '.' || table_name)::oid as oid
86
163
  FROM information_schema.tables
87
- /* TODO - add support for materialized views
88
- UNION ALL
89
- SELECT table_name, table_schema
90
- FROM (
91
- SELECT relname as table_name, nspname as table_schema, true as is_view
92
- FROM pg_catalog.pg_class AS _c
93
- JOIN pg_catalog.pg_namespace AS _ns
94
- ON _c.relnamespace = _ns.oid
95
- WHERE relkind IN ( 'm' )
96
- ) materialized_views
97
- */
98
164
  ) tables_matviews
99
165
  WHERE table_schema ${sql}
100
166
  ) t
@@ -167,10 +233,8 @@ async function getTablesForSchemaPostgresSQL({ db, runSQL }, schema) {
167
233
  GROUP BY t.table_schema, t.table_name, t.is_view, t.view_definition, vr.table_names , t.oid, cc.columns
168
234
  ORDER BY schema, name
169
235
  `;
170
- let result = await t.any(query, { schemaNames });
171
- // writeFileSync(__dirname + "/old.json", JSON.stringify(await getTablesForSchemaPostgresSQLOld({ db, runSQL } as any), null, 2), "utf-8");
172
- // writeFileSync(__dirname + "/new.json", JSON.stringify(result, null, 2), "utf-8");
173
- // throw 2;
236
+ const tablesAndViews = await t.any(query, { schemaNames });
237
+ const materialViews = await getMaterialViews(t, schema);
174
238
  let hyperTables = [];
175
239
  try {
176
240
  hyperTables = await getHyperTables(t);
@@ -178,6 +242,7 @@ async function getTablesForSchemaPostgresSQL({ db, runSQL }, schema) {
178
242
  catch (error) {
179
243
  console.error(error);
180
244
  }
245
+ let result = tablesAndViews.concat(materialViews);
181
246
  result = await Promise.all(result
182
247
  .map(async (tbl) => {
183
248
  tbl.name = tbl.escaped_identifier;
@@ -1 +1 @@
1
- {"version":3,"file":"getTablesForSchemaPostgresSQL.js","sourceRoot":"","sources":["../../lib/DboBuilder/getTablesForSchemaPostgresSQL.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getTablesForSchemaPostgresSQL.js","sourceRoot":"","sources":["../../lib/DboBuilder/getTablesForSchemaPostgresSQL.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,7 @@ export function makeSelectQuery(
18
18
  joins = q.joins || [],
19
19
  // aggs = q.aggs || [],
20
20
  getTableAlias = (q: NewQuery) => !q.tableAlias? q.table : `${q.tableAlias || ""}_${q.table}`,
21
- getTableJoinAliasAsName = (joinAlias: string | undefined, table: string) => asName(!joinAlias? table : `${joinAlias || ""}_${table}`),
21
+ getTableJoinAliasAsName = (joinAlias: string | undefined, table: string) => !joinAlias? table : asName(`${joinAlias || ""}_${table}`),
22
22
  getTableAliasAsName = (q: NewQuery) => asName(getTableAlias(q));
23
23
 
24
24
  const indentLine = (numberOfSpaces: number, str: string, indentStr = " "): string => new Array(numberOfSpaces).fill(indentStr).join("") + str;
@@ -178,7 +178,7 @@ export function makeSelectQuery(
178
178
  }
179
179
  return s.getQuery() + " AS " + asName(s.alias)
180
180
  }).join(", ")
181
- , `FROM ${asName(q.table)}`
181
+ , `FROM ${q.table}`
182
182
  , q.where
183
183
  , groupBy //!aggs.length? "" : `GROUP BY ${nonAggs.map(sf => asName(sf.alias)).join(", ")}`,
184
184
  , q.having? `HAVING ${q.having}` : ""
@@ -236,7 +236,7 @@ export function makeSelectQuery(
236
236
 
237
237
  /** Apply LIMIT to joined items */
238
238
  const jsq = `json_agg(${j.jsonColName}::jsonb ORDER BY ${j.rowidSortedColName}) FILTER (WHERE ${j.limitColName} <= ${j.q.limit} AND ${j.rowidDupesColName} = 1 AND ${j.jsonColName} IS NOT NULL)`;
239
- const resAlias = asName(j.q.tableAlias || j.q.table)
239
+ const resAlias = j.q.tableAlias? asName(j.q.tableAlias) : j.q.table
240
240
 
241
241
  /* If limit = 1 then return a single json object (first one) */
242
242
  return (j.q.limit === 1? `${jsq}->0 ` : `COALESCE(${jsq}, '[]') `) + ` AS ${resAlias}`;
@@ -275,7 +275,7 @@ export function makeSelectQuery(
275
275
  "-- 3. [source table] "
276
276
  , "SELECT "
277
277
  , "*, row_number() over() as ctid "
278
- , `FROM ${asName(q.table)} `
278
+ , `FROM ${q.table} `
279
279
  , `${q.where} `
280
280
  ])
281
281
  , `) ${getTableAliasAsName(q)} `
@@ -1,8 +1,86 @@
1
1
  import { SQLResult, asName } from "prostgles-types";
2
2
  import { DboBuilder, TableSchemaColumn, TableSchema } from "../DboBuilder";
3
3
  import { DB, DBorTx, ProstglesInitOptions } from "../Prostgles";
4
- import { writeFileSync } from "fs";
5
- import { clone } from "../utils";
4
+
5
+ const getMaterialViews = (db: DBorTx, schema: ProstglesInitOptions["schema"]) => {
6
+ const { sql, schemaNames } = getSchemaFilter(schema);
7
+
8
+ const query = `
9
+ SELECT
10
+ c.oid,
11
+ schema,
12
+ escaped_identifier,
13
+ true as is_view,
14
+ true as is_mat_view,
15
+ obj_description(c.oid) as comment,
16
+ c.table_name as name,
17
+ definition as view_definition,
18
+ jsonb_build_object(
19
+ 'insert', TRUE,
20
+ 'select', TRUE,
21
+ 'update', TRUE,
22
+ 'delete', EXISTS (
23
+ SELECT 1
24
+ FROM information_schema.role_table_grants rg
25
+ WHERE rg.table_name = c.table_name
26
+ AND rg.privilege_type = 'DELETE'
27
+ )
28
+ ) as privileges,
29
+ json_agg(json_build_object(
30
+ 'name', column_name,
31
+ 'table_oid', c.oid,
32
+ 'is_pkey', false,
33
+ 'data_type', data_type,
34
+ 'udt_name', udt_name,
35
+ 'element_udt_name',
36
+ CASE WHEN LEFT(udt_name, 1) = '_'
37
+ THEN RIGHT(udt_name, -1) END,
38
+ 'element_type',
39
+ CASE WHEN RIGHT(data_type, 2) = '[]'
40
+ THEN LEFT(data_type, -2) END,
41
+ 'is_nullable', nullable,
42
+ 'references', null,
43
+ 'has_default', false,
44
+ 'column_default', null,
45
+ 'is_updatable', false,
46
+ 'privileges', $$[{
47
+ "privilege_type": "SELECT",
48
+ "is_grantable": "YES"
49
+ }]$$::jsonb
50
+ )) as columns
51
+ FROM pg_catalog.pg_matviews m
52
+ INNER JOIN (
53
+ SELECT
54
+ t.oid,
55
+ CASE WHEN current_schema() = s.nspname
56
+ THEN format('%I', t.relname)
57
+ ELSE format('%I.%I', s.nspname, t.relname)
58
+ END as escaped_identifier,
59
+ t.relname as table_name,
60
+ s.nspname as schema,
61
+ a.attname as column_name,
62
+ pg_catalog.format_type(a.atttypid, a.atttypmod) as data_type,
63
+ typname as udt_name,
64
+ a.attnotnull as nullable,
65
+ a.attnum as ordinal_position,
66
+ col_description(t.oid, attnum) as comment
67
+ FROM pg_catalog.pg_attribute a
68
+ JOIN pg_catalog.pg_class t on a.attrelid = t.oid
69
+ JOIN pg_catalog.pg_namespace s on t.relnamespace = s.oid
70
+ JOIN pg_catalog.pg_type pt ON pt.oid = a.atttypid
71
+ WHERE a.attnum > 0
72
+ AND NOT a.attisdropped
73
+ AND relkind = 'm'
74
+ ORDER BY a.attnum
75
+ ) c
76
+ ON matviewname = table_name
77
+ AND schemaname = schema
78
+ WHERE schema ${sql}
79
+ GROUP BY c.oid, escaped_identifier, c.table_name, schema, definition
80
+ `;
81
+
82
+ return db.any(query, { schemaNames });
83
+ }
6
84
 
7
85
  export const getSchemaFilter = (schema: ProstglesInitOptions["schema"] = { public: 1 }) => {
8
86
  const schemaNames = Object.keys(schema);
@@ -95,17 +173,6 @@ export async function getTablesForSchemaPostgresSQL({ db, runSQL }: DboBuilder,
95
173
  FROM (
96
174
  SELECT table_name, table_schema, table_type = 'VIEW' as is_view, regclass(table_schema || '.' || table_name)::oid as oid
97
175
  FROM information_schema.tables
98
- /* TODO - add support for materialized views
99
- UNION ALL
100
- SELECT table_name, table_schema
101
- FROM (
102
- SELECT relname as table_name, nspname as table_schema, true as is_view
103
- FROM pg_catalog.pg_class AS _c
104
- JOIN pg_catalog.pg_namespace AS _ns
105
- ON _c.relnamespace = _ns.oid
106
- WHERE relkind IN ( 'm' )
107
- ) materialized_views
108
- */
109
176
  ) tables_matviews
110
177
  WHERE table_schema ${sql}
111
178
  ) t
@@ -179,10 +246,9 @@ export async function getTablesForSchemaPostgresSQL({ db, runSQL }: DboBuilder,
179
246
  ORDER BY schema, name
180
247
  `;
181
248
 
182
- let result: TableSchema[] = await t.any(query, { schemaNames });
183
- // writeFileSync(__dirname + "/old.json", JSON.stringify(await getTablesForSchemaPostgresSQLOld({ db, runSQL } as any), null, 2), "utf-8");
184
- // writeFileSync(__dirname + "/new.json", JSON.stringify(result, null, 2), "utf-8");
185
- // throw 2;
249
+ const tablesAndViews: TableSchema[] = await t.any(query, { schemaNames });
250
+ const materialViews = await getMaterialViews(t, schema);
251
+
186
252
  let hyperTables: string[] | undefined = [];
187
253
  try {
188
254
  hyperTables = await getHyperTables(t);
@@ -190,6 +256,7 @@ export async function getTablesForSchemaPostgresSQL({ db, runSQL }: DboBuilder,
190
256
  console.error(error);
191
257
  }
192
258
 
259
+ let result = tablesAndViews.concat(materialViews);
193
260
  result = await Promise.all(result
194
261
  .map(async tbl => {
195
262
  tbl.name = tbl.escaped_identifier;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prostgles-server",
3
- "version": "4.1.34",
3
+ "version": "4.1.35",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1 +1 @@
1
- 57832
1
+ 164540
@@ -63,10 +63,12 @@ export default async function isomorphic(db: Required<DBHandlerServer> | Require
63
63
  { name: "abc2", public: "public data", added: new Date('04 Dec 1995 00:12:00 GMT') },
64
64
  { name: "abcd", public: "public data d", added: new Date('04 Dec 1996 00:12:00 GMT') }
65
65
  ]);
66
- await db[`prostgles_test.basic1`].insert({
66
+ await db[`prostgles_test.basic1`].insert!({
67
67
  id_basic: { txt: "basic" },
68
68
  txt: "basic1"
69
69
  });
70
+ await db.sql(`REFRESH MATERIALIZED VIEW prostgles_test.mv_basic1;`);
71
+ assert.deepStrictEqual(await db["prostgles_test.mv_basic1"].find!(), await db["prostgles_test.basic1"].find!())
70
72
 
71
73
  /* Ensure */
72
74
  await db[`"*"`].insert!([{ "*": "a" }, { "*": "a" }, { "*": "b" }]);
@@ -421,6 +421,7 @@ function dd(){
421
421
  },
422
422
  "prostgles_test.basic": "*",
423
423
  "prostgles_test.basic1": "*",
424
+ "prostgles_test.mv_basic1": "*",
424
425
  };
425
426
 
426
427
  return res;
@@ -193,3 +193,8 @@ CREATE TABLE IF NOT EXISTS prostgles_test.basic1 (
193
193
  id_basic INTEGER REFERENCES prostgles_test.basic,
194
194
  txt text
195
195
  );
196
+
197
+
198
+ DROP MATERIALIZED VIEW IF EXISTS prostgles_test.mv_basic1;
199
+ CREATE MATERIALIZED VIEW prostgles_test.mv_basic1 AS
200
+ SELECT * FROM prostgles_test.basic1;
@@ -21,7 +21,7 @@
21
21
  },
22
22
  "../..": {
23
23
  "name": "prostgles-server",
24
- "version": "4.1.33",
24
+ "version": "4.1.34",
25
25
  "license": "MIT",
26
26
  "dependencies": {
27
27
  "@types/express": "^4.17.13",