@quillsql/node 0.6.18 → 0.6.19

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.
@@ -54,7 +54,19 @@ function getSchemasPostgres(pool) {
54
54
  function getTablesBySchemaPostgres(pool, schemaNames) {
55
55
  return __awaiter(this, void 0, void 0, function* () {
56
56
  const allColumns = yield Promise.all(schemaNames.map((schema) => __awaiter(this, void 0, void 0, function* () {
57
- const sql = `SELECT table_name, table_schema FROM information_schema.tables WHERE table_schema = '${schema}'`;
57
+ const sql = `
58
+ SELECT table_name, table_schema
59
+ FROM information_schema.tables
60
+ WHERE table_schema = '${schema}'
61
+
62
+ UNION
63
+
64
+ SELECT c.relname as table_name, n.nspname as table_schema
65
+ FROM pg_class c
66
+ JOIN pg_namespace n ON c.relnamespace = n.oid
67
+ WHERE n.nspname = '${schema}'
68
+ AND c.relkind = 'm';
69
+ `;
58
70
  const results = yield runQueryPostgres(sql, pool);
59
71
  return results.rows.map((row) => {
60
72
  return { tableName: row.table_name, schemaName: row.table_schema };
@@ -65,11 +77,21 @@ function getTablesBySchemaPostgres(pool, schemaNames) {
65
77
  }
66
78
  function getColumnsByTablePostgres(pool, schemaName, tableName) {
67
79
  return __awaiter(this, void 0, void 0, function* () {
68
- const sql = `SELECT column_name FROM information_schema.columns WHERE table_schema = '${schemaName}' and table_name = '${tableName}'`;
80
+ const sql = `
81
+ SELECT a.attname AS column_name
82
+ FROM pg_attribute a
83
+ JOIN pg_class c ON a.attrelid = c.oid
84
+ JOIN pg_namespace n ON c.relnamespace = n.oid
85
+ WHERE n.nspname = '${schemaName}'
86
+ AND c.relname = '${tableName}'
87
+ AND c.relkind IN ('r', 'm')
88
+ AND a.attnum > 0
89
+ AND NOT a.attisdropped`;
69
90
  const results = yield runQueryPostgres(sql, pool);
70
91
  return results.rows.map((row) => row.column_name);
71
92
  });
72
93
  }
94
+ // NOTE: This function is not used in the current implementation and deprecated since the materialized view update
73
95
  function getForeignKeysPostgres(pool, schemaName, tableName, primaryKey) {
74
96
  return __awaiter(this, void 0, void 0, function* () {
75
97
  const depluralizedTableName = (0, textProcessing_1.depluralize)(tableName);
@@ -107,12 +129,25 @@ function getSchemaColumnInfoPostgress(pool, schemaName, tableNames) {
107
129
  return __awaiter(this, void 0, void 0, function* () {
108
130
  const allColumns = yield Promise.all(tableNames.map((tableName) => __awaiter(this, void 0, void 0, function* () {
109
131
  const query = `
110
- SELECT column_name as "columnName", udt_name as "fieldType"
111
- FROM information_schema.columns
112
- WHERE table_schema = '${tableName.schemaName}'
113
- AND table_name = '${tableName.tableName}'
114
- ORDER BY ordinal_position;
115
- `;
132
+ SELECT column_name as "columnName", udt_name as "fieldType", ordinal_position as "sortNumber"
133
+ FROM information_schema.columns
134
+ WHERE table_schema = '${tableName.schemaName}'
135
+ AND table_name = '${tableName.tableName}'
136
+
137
+ UNION
138
+
139
+ SELECT a.attname as "columnName", t.typname as "fieldType", a.attnum as "sortNumber"
140
+ FROM pg_attribute a
141
+ JOIN pg_class c ON a.attrelid = c.oid
142
+ JOIN pg_namespace n ON c.relnamespace = n.oid
143
+ JOIN pg_type t ON a.atttypid = t.oid
144
+ WHERE n.nspname = '${tableName.schemaName}'
145
+ AND c.relname = '${tableName.tableName}'
146
+ AND c.relkind = 'm'
147
+ AND a.attnum > 0
148
+ AND NOT a.attisdropped
149
+ ORDER BY "sortNumber"
150
+ `;
116
151
  const results = yield runQueryPostgres(query, pool);
117
152
  return {
118
153
  tableName: `${tableName.schemaName}.${tableName.tableName}`,
@@ -1 +1 @@
1
- {"version":3,"file":"Postgres.js","sourceRoot":"","sources":["../../../src/db/Postgres.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Postgres.js","sourceRoot":"","sources":["../../../src/db/Postgres.ts"],"names":[],"mappings":"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"}
@@ -43,7 +43,19 @@ export function getSchemasPostgres(pool) {
43
43
  export function getTablesBySchemaPostgres(pool, schemaNames) {
44
44
  return __awaiter(this, void 0, void 0, function* () {
45
45
  const allColumns = yield Promise.all(schemaNames.map((schema) => __awaiter(this, void 0, void 0, function* () {
46
- const sql = `SELECT table_name, table_schema FROM information_schema.tables WHERE table_schema = '${schema}'`;
46
+ const sql = `
47
+ SELECT table_name, table_schema
48
+ FROM information_schema.tables
49
+ WHERE table_schema = '${schema}'
50
+
51
+ UNION
52
+
53
+ SELECT c.relname as table_name, n.nspname as table_schema
54
+ FROM pg_class c
55
+ JOIN pg_namespace n ON c.relnamespace = n.oid
56
+ WHERE n.nspname = '${schema}'
57
+ AND c.relkind = 'm';
58
+ `;
47
59
  const results = yield runQueryPostgres(sql, pool);
48
60
  return results.rows.map((row) => {
49
61
  return { tableName: row.table_name, schemaName: row.table_schema };
@@ -54,11 +66,21 @@ export function getTablesBySchemaPostgres(pool, schemaNames) {
54
66
  }
55
67
  export function getColumnsByTablePostgres(pool, schemaName, tableName) {
56
68
  return __awaiter(this, void 0, void 0, function* () {
57
- const sql = `SELECT column_name FROM information_schema.columns WHERE table_schema = '${schemaName}' and table_name = '${tableName}'`;
69
+ const sql = `
70
+ SELECT a.attname AS column_name
71
+ FROM pg_attribute a
72
+ JOIN pg_class c ON a.attrelid = c.oid
73
+ JOIN pg_namespace n ON c.relnamespace = n.oid
74
+ WHERE n.nspname = '${schemaName}'
75
+ AND c.relname = '${tableName}'
76
+ AND c.relkind IN ('r', 'm')
77
+ AND a.attnum > 0
78
+ AND NOT a.attisdropped`;
58
79
  const results = yield runQueryPostgres(sql, pool);
59
80
  return results.rows.map((row) => row.column_name);
60
81
  });
61
82
  }
83
+ // NOTE: This function is not used in the current implementation and deprecated since the materialized view update
62
84
  export function getForeignKeysPostgres(pool, schemaName, tableName, primaryKey) {
63
85
  return __awaiter(this, void 0, void 0, function* () {
64
86
  const depluralizedTableName = depluralize(tableName);
@@ -96,12 +118,25 @@ export function getSchemaColumnInfoPostgress(pool, schemaName, tableNames) {
96
118
  return __awaiter(this, void 0, void 0, function* () {
97
119
  const allColumns = yield Promise.all(tableNames.map((tableName) => __awaiter(this, void 0, void 0, function* () {
98
120
  const query = `
99
- SELECT column_name as "columnName", udt_name as "fieldType"
100
- FROM information_schema.columns
101
- WHERE table_schema = '${tableName.schemaName}'
102
- AND table_name = '${tableName.tableName}'
103
- ORDER BY ordinal_position;
104
- `;
121
+ SELECT column_name as "columnName", udt_name as "fieldType", ordinal_position as "sortNumber"
122
+ FROM information_schema.columns
123
+ WHERE table_schema = '${tableName.schemaName}'
124
+ AND table_name = '${tableName.tableName}'
125
+
126
+ UNION
127
+
128
+ SELECT a.attname as "columnName", t.typname as "fieldType", a.attnum as "sortNumber"
129
+ FROM pg_attribute a
130
+ JOIN pg_class c ON a.attrelid = c.oid
131
+ JOIN pg_namespace n ON c.relnamespace = n.oid
132
+ JOIN pg_type t ON a.atttypid = t.oid
133
+ WHERE n.nspname = '${tableName.schemaName}'
134
+ AND c.relname = '${tableName.tableName}'
135
+ AND c.relkind = 'm'
136
+ AND a.attnum > 0
137
+ AND NOT a.attisdropped
138
+ ORDER BY "sortNumber"
139
+ `;
105
140
  const results = yield runQueryPostgres(query, pool);
106
141
  return {
107
142
  tableName: `${tableName.schemaName}.${tableName.tableName}`,
@@ -1 +1 @@
1
- {"version":3,"file":"Postgres.js","sourceRoot":"","sources":["../../../src/db/Postgres.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Postgres.js","sourceRoot":"","sources":["../../../src/db/Postgres.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quillsql/node",
3
- "version": "0.6.18",
3
+ "version": "0.6.19",
4
4
  "description": "Quill Server SDK for Node.js",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",