pogi 2.11.0

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.
Files changed (82) hide show
  1. package/.vscode/launch.json +35 -0
  2. package/CHANGELOG.md +277 -0
  3. package/LICENSE +21 -0
  4. package/README.md +85 -0
  5. package/docs/API/PgDb.md +218 -0
  6. package/docs/API/PgSchema.md +91 -0
  7. package/docs/API/PgTable.md +365 -0
  8. package/docs/API/QueryOptions.md +77 -0
  9. package/docs/API/condition.md +133 -0
  10. package/docs/connection.md +91 -0
  11. package/docs/css/docs.css +164 -0
  12. package/docs/executingSqlFile.md +44 -0
  13. package/docs/faq.md +15 -0
  14. package/docs/functions.md +19 -0
  15. package/docs/generatingInterfaceForTables.md +35 -0
  16. package/docs/index.md +48 -0
  17. package/docs/logger.md +40 -0
  18. package/docs/mappingDatabaseTypes.md +89 -0
  19. package/docs/notification.md +19 -0
  20. package/docs/pitfalls.md +73 -0
  21. package/docs/streams.md +68 -0
  22. package/docs/transaction.md +65 -0
  23. package/lib/bin/generateInterface.d.ts +1 -0
  24. package/lib/bin/generateInterface.js +53 -0
  25. package/lib/bin/generateInterface.js.map +1 -0
  26. package/lib/connectionOptions.d.ts +25 -0
  27. package/lib/connectionOptions.js +3 -0
  28. package/lib/connectionOptions.js.map +1 -0
  29. package/lib/index.d.ts +6 -0
  30. package/lib/index.js +10 -0
  31. package/lib/index.js.map +1 -0
  32. package/lib/pgConverters.d.ts +10 -0
  33. package/lib/pgConverters.js +66 -0
  34. package/lib/pgConverters.js.map +1 -0
  35. package/lib/pgDb.d.ts +86 -0
  36. package/lib/pgDb.js +745 -0
  37. package/lib/pgDb.js.map +1 -0
  38. package/lib/pgDbLogger.d.ts +5 -0
  39. package/lib/pgDbLogger.js +3 -0
  40. package/lib/pgDbLogger.js.map +1 -0
  41. package/lib/pgDbOperators.d.ts +113 -0
  42. package/lib/pgDbOperators.js +44 -0
  43. package/lib/pgDbOperators.js.map +1 -0
  44. package/lib/pgSchema.d.ts +16 -0
  45. package/lib/pgSchema.js +16 -0
  46. package/lib/pgSchema.js.map +1 -0
  47. package/lib/pgTable.d.ts +131 -0
  48. package/lib/pgTable.js +322 -0
  49. package/lib/pgTable.js.map +1 -0
  50. package/lib/pgUtils.d.ts +31 -0
  51. package/lib/pgUtils.js +157 -0
  52. package/lib/pgUtils.js.map +1 -0
  53. package/lib/queryAble.d.ts +76 -0
  54. package/lib/queryAble.js +330 -0
  55. package/lib/queryAble.js.map +1 -0
  56. package/lib/queryWhere.d.ts +8 -0
  57. package/lib/queryWhere.js +249 -0
  58. package/lib/queryWhere.js.map +1 -0
  59. package/mkdocs.yml +25 -0
  60. package/package.json +65 -0
  61. package/spec/resources/init.sql +122 -0
  62. package/spec/resources/throw_exception.sql +5 -0
  63. package/spec/resources/tricky.sql +13 -0
  64. package/spec/run.js +5 -0
  65. package/spec/support/jasmine.json +9 -0
  66. package/src/bin/generateInterface.ts +54 -0
  67. package/src/connectionOptions.ts +42 -0
  68. package/src/index.ts +6 -0
  69. package/src/pgConverters.ts +55 -0
  70. package/src/pgDb.ts +820 -0
  71. package/src/pgDbLogger.ts +13 -0
  72. package/src/pgDbOperators.ts +62 -0
  73. package/src/pgSchema.ts +15 -0
  74. package/src/pgTable.ts +401 -0
  75. package/src/pgUtils.ts +176 -0
  76. package/src/queryAble.ts +393 -0
  77. package/src/queryWhere.ts +326 -0
  78. package/src/test/pgDbOperatorSpec.ts +492 -0
  79. package/src/test/pgDbSpec.ts +1339 -0
  80. package/src/test/pgServiceRestartTest.ts +1500 -0
  81. package/src/tsconfig.json +33 -0
  82. package/utils_sql/lower.sql +4 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queryAble.js","sourceRoot":"","sources":["../src/queryAble.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { FieldType } from "./pgDb";
2
+ declare function generateWhere(conditions: any, fieldTypes: {
3
+ [index: string]: FieldType;
4
+ }, tableName: string, placeholderOffset: number, skipUndefined: any): {
5
+ where: string;
6
+ params: Array<any>;
7
+ };
8
+ export default generateWhere;
@@ -0,0 +1,249 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const pgDbOperators_1 = require("./pgDbOperators");
4
+ const pgDb_1 = require("./pgDb");
5
+ const _ = require("lodash");
6
+ const util = require("util");
7
+ class FieldAndOperator {
8
+ }
9
+ function generateWhere(conditions, fieldTypes, tableName, placeholderOffset = 0, skipUndefined) {
10
+ let result = generate({
11
+ params: [],
12
+ predicates: [],
13
+ offset: placeholderOffset,
14
+ }, conditions, fieldTypes, tableName, skipUndefined);
15
+ return {
16
+ where: result.predicates.length > 0 ? ' WHERE ' + result.predicates.join(' AND ') : '',
17
+ params: result.params
18
+ };
19
+ }
20
+ function generate(result, conditions, fieldTypes, tableName, skipUndefined) {
21
+ _.each(conditions, (value, key) => {
22
+ let fieldAndOperator = parseKey(key);
23
+ if (value === undefined) {
24
+ if (skipUndefined === true)
25
+ return;
26
+ throw new Error('Invalid conditions! Field value undefined: "' + fieldAndOperator.field + '". Either delete the field, set it to null or use the options.skipUndefined parameter.');
27
+ }
28
+ else if (fieldAndOperator.field === 'or' || fieldAndOperator.field === 'and') {
29
+ result = handleOrAnd(result, fieldAndOperator, value, fieldTypes, tableName, skipUndefined);
30
+ }
31
+ else if (value === null) {
32
+ result = handleNullValue(result, fieldAndOperator, value);
33
+ }
34
+ else if (Array.isArray(value)) {
35
+ result = handleArrayValue(result, fieldAndOperator, value, fieldTypes);
36
+ }
37
+ else {
38
+ result = handleSingleValue(result, fieldAndOperator, value, fieldTypes, tableName);
39
+ }
40
+ });
41
+ return result;
42
+ }
43
+ function handleOrAnd(result, fieldAndOperator, value, fieldTypes, tableName, skipUndefined) {
44
+ if (!Array.isArray(value)) {
45
+ value = [value];
46
+ }
47
+ let groupResult = _.reduce(value, (acc, v) => {
48
+ let subResult = generate({
49
+ params: [],
50
+ predicates: [],
51
+ offset: result.params.length + acc.offset
52
+ }, v, fieldTypes, tableName, skipUndefined);
53
+ acc.predicates.push(util.format('(%s)', subResult.predicates.join(' AND ')));
54
+ acc.params = acc.params.concat(subResult.params);
55
+ acc.offset += subResult.params.length;
56
+ return acc;
57
+ }, {
58
+ params: [],
59
+ predicates: [],
60
+ offset: result.offset
61
+ });
62
+ result.params = result.params.concat(groupResult.params);
63
+ if (groupResult.predicates.length) {
64
+ if (fieldAndOperator.field === 'and') {
65
+ result.predicates.push(util.format('(%s)', groupResult.predicates.join(' AND ')));
66
+ }
67
+ else {
68
+ result.predicates.push(util.format('(%s)', groupResult.predicates.join(' OR ')));
69
+ }
70
+ }
71
+ return result;
72
+ }
73
+ function handleNullValue(result, fieldAndOperator, value) {
74
+ fieldAndOperator.operator = fieldAndOperator.operator === '=' ? 'IS' : 'IS NOT';
75
+ result.predicates.push(util.format('%s %s %s', fieldAndOperator.quotedField, fieldAndOperator.operator, value));
76
+ return result;
77
+ }
78
+ function handleArrayValue(result, fieldAndOperator, value, fieldTypes) {
79
+ if (fieldAndOperator.mutator) {
80
+ value = value.map(v => fieldAndOperator.mutator(v));
81
+ }
82
+ let fieldType = fieldTypes[fieldAndOperator.field];
83
+ if (fieldType == pgDb_1.FieldType.JSON &&
84
+ ['?|', '?&'].indexOf(fieldAndOperator.operator) != -1) {
85
+ result.params.push(value);
86
+ value = util.format("$%s", result.params.length + result.offset);
87
+ result.predicates.push(util.format('%s %s %s', fieldAndOperator.quotedField, fieldAndOperator.operator, value));
88
+ return result;
89
+ }
90
+ else if (fieldType == pgDb_1.FieldType.JSON &&
91
+ ['@>', '<@', '&&'].indexOf(fieldAndOperator.operator) != -1) {
92
+ result.params.push(JSON.stringify(value));
93
+ value = util.format("$%s", result.params.length + result.offset);
94
+ result.predicates.push(util.format('%s %s %s', fieldAndOperator.quotedField, fieldAndOperator.operator, value));
95
+ return result;
96
+ }
97
+ else if ((!fieldType || fieldType == pgDb_1.FieldType.TIME) &&
98
+ ['=', '<>', 'IN', 'NOT IN'].includes(fieldAndOperator.operator)) {
99
+ if (fieldAndOperator.operator === '=' || fieldAndOperator.operator === 'IN') {
100
+ fieldAndOperator.operator = '= ANY';
101
+ }
102
+ else {
103
+ fieldAndOperator.operator = '<> ALL';
104
+ }
105
+ if (value.length === 0) {
106
+ throw new Error('Invalid conditions! empty array for field:"' + fieldAndOperator.field + '" and operator:"' + fieldAndOperator.operator + '"');
107
+ }
108
+ result.params.push(value
109
+ .map(v => (fieldType == pgDb_1.FieldType.TIME && !(value instanceof Date)) ? new Date(v) : v));
110
+ value = util.format("$%s", result.params.length + result.offset);
111
+ result.predicates.push(util.format('%s %s (%s)', fieldAndOperator.quotedField, fieldAndOperator.operator, value));
112
+ return result;
113
+ }
114
+ else if (!fieldType && ['LIKE', 'ILIKE', 'SIMILAR TO', '~', '~*'].indexOf(fieldAndOperator.operator) != -1) {
115
+ result.params.push(value);
116
+ value = util.format("$%s", result.params.length + result.offset);
117
+ result.predicates.push(util.format('%s %s ANY(%s)', fieldAndOperator.quotedField, fieldAndOperator.operator, value));
118
+ return result;
119
+ }
120
+ else if (!fieldType && ['NOT LIKE', 'NOT ILIKE', 'NOT SIMILAR TO', '!~', '!~*'].indexOf(fieldAndOperator.operator) != -1) {
121
+ result.params.push(value);
122
+ value = util.format("$%s", result.params.length + result.offset);
123
+ result.predicates.push(util.format('%s %s ALL(%s)', fieldAndOperator.quotedField, fieldAndOperator.operator, value));
124
+ return result;
125
+ }
126
+ else if (fieldType == pgDb_1.FieldType.ARRAY &&
127
+ ['=', '<>', '<', '>', '<=', '>=', '@>', '<@', '&&'].indexOf(fieldAndOperator.operator) != -1) {
128
+ result.params.push(value);
129
+ value = util.format("$%s", result.params.length + result.offset);
130
+ result.predicates.push(util.format('%s %s %s', fieldAndOperator.quotedField, fieldAndOperator.operator, value));
131
+ return result;
132
+ }
133
+ throw new Error('[325] Not implemented operator: "' + fieldAndOperator.operator + '" for field ' + fieldAndOperator.field + ' with type ' + fieldType);
134
+ }
135
+ function handleSingleValue(result, fieldAndOperator, value, fieldTypes, tableName) {
136
+ if (fieldAndOperator.mutator) {
137
+ value = fieldAndOperator.mutator(value);
138
+ }
139
+ let fieldType = fieldTypes[fieldAndOperator.field];
140
+ if (fieldAndOperator.operator === '@@') {
141
+ if (typeof value == 'object') {
142
+ if (!(value.lang || value.language) || !(value.query || value.plainquery)) {
143
+ throw new Error('[499] only "lang"/"language" and "query/plainquery" properties are supported!');
144
+ }
145
+ if (fieldType == pgDb_1.FieldType.TSVECTOR) {
146
+ result.params.push(value.lang || value.language);
147
+ result.params.push(value.query || value.plainquery);
148
+ let template = value.query ? "%s %s to_tsquery($%s, $%s)" : "%s %s plainto_tsquery($%s, $%s)";
149
+ result.predicates.push(util.format(template, fieldAndOperator.quotedField, fieldAndOperator.operator, result.params.length - 1 + result.offset, result.params.length + result.offset));
150
+ }
151
+ else {
152
+ result.params.push(value.lang || value.language);
153
+ result.params.push(value.lang || value.language);
154
+ result.params.push(value.query || value.plainquery);
155
+ let template = value.query ? "to_tsvector($%s, %s) %s to_tsquery($%s, $%s)" : "to_tsvector($%s, %s) %s plainto_tsquery($%s, $%s)";
156
+ result.predicates.push(util.format(template, result.params.length - 2 + result.offset, fieldAndOperator.quotedField, fieldAndOperator.operator, result.params.length - 1 + result.offset, result.params.length + result.offset));
157
+ }
158
+ }
159
+ else {
160
+ result.params.push(value);
161
+ let template = fieldType == pgDb_1.FieldType.TSVECTOR ? "%s %s plainto_tsquery($%s)" : "to_tsvector(%s) %s plainto_tsquery($%s)";
162
+ result.predicates.push(util.format(template, fieldAndOperator.quotedField, fieldAndOperator.operator, result.params.length + result.offset));
163
+ }
164
+ }
165
+ else if (fieldType == pgDb_1.FieldType.ARRAY) {
166
+ if (['=', '<>'].indexOf(fieldAndOperator.operator) != -1) {
167
+ if (fieldAndOperator.originalOp == '=*') {
168
+ result.params.push([value]);
169
+ value = util.format("$%s", result.params.length + result.offset);
170
+ result.predicates.push(util.format('%s && %s', fieldAndOperator.quotedField, value));
171
+ }
172
+ else {
173
+ result.params.push(value);
174
+ value = util.format("$%s", result.params.length + result.offset);
175
+ result.predicates.push(util.format('%s %s ANY(%s)', value, fieldAndOperator.operator, fieldAndOperator.quotedField));
176
+ }
177
+ }
178
+ else if (['LIKE', 'ILIKE', 'NOT LIKE', 'NOT ILIKE', 'SIMILAR TO', 'NOT SIMILAR TO'].indexOf(fieldAndOperator.operator) != -1) {
179
+ result.params.push(value);
180
+ value = util.format("$%s", result.params.length + result.offset);
181
+ let q = 'EXISTS (SELECT * FROM (SELECT UNNEST(' + tableName + '.%s) _el) _arr WHERE _arr._el %s %s)';
182
+ result.predicates.push(util.format(q, fieldAndOperator.quotedField, fieldAndOperator.operator, value));
183
+ }
184
+ else {
185
+ throw new Error('[326] Not implemented operator: "' + fieldAndOperator.operator + '" for type ' + fieldType);
186
+ }
187
+ }
188
+ else {
189
+ result.params.push((fieldType == pgDb_1.FieldType.TIME && !(value instanceof Date)) ? new Date(value) : value);
190
+ value = util.format("$%s", result.params.length + result.offset);
191
+ result.predicates.push(util.format('%s %s %s', fieldAndOperator.quotedField, fieldAndOperator.operator, value));
192
+ }
193
+ return result;
194
+ }
195
+ function strip(arr) {
196
+ return arr.map((s) => s.trim()).filter(v => v != '');
197
+ }
198
+ function getOp(str) {
199
+ for (let i = 0; i < str.length; i++) {
200
+ if (pgDbOperators_1.default[str.substr(i)]) {
201
+ return str.substr(i);
202
+ }
203
+ }
204
+ return '';
205
+ }
206
+ function parseKey(key) {
207
+ key = key.trim();
208
+ let userOp = getOp(key);
209
+ if (userOp) {
210
+ key = key.substr(0, key.length - userOp.length);
211
+ }
212
+ let operation = pgDbOperators_1.default[userOp] || {};
213
+ let jsonRegexp = /(->[^>]|->>|#>[^>]|#>>)/;
214
+ let field;
215
+ let quotedField;
216
+ let quotedByUser = key.indexOf('"') > -1;
217
+ if (quotedByUser) {
218
+ quotedField = key;
219
+ field = /[^"]*"([^"]*)".*/.exec(key)[1];
220
+ if (!quotedField || !field) {
221
+ console.error("Parsing error!");
222
+ }
223
+ }
224
+ else {
225
+ let parts = strip(key.split(jsonRegexp));
226
+ field = parts.shift();
227
+ quotedField = util.format('"%s"', field);
228
+ if (parts.length > 1) {
229
+ let jsonOp = parts.shift();
230
+ let jsonKey = parts.shift();
231
+ if (isNaN(jsonKey) && jsonKey.indexOf("'") == -1) {
232
+ jsonKey = util.format("'%s'", jsonKey);
233
+ }
234
+ quotedField = util.format('%s%s%s', quotedField, jsonOp, jsonKey);
235
+ }
236
+ }
237
+ if (operation.fieldMutator) {
238
+ quotedField = operation.fieldMutator(field, quotedField);
239
+ }
240
+ return {
241
+ field: field,
242
+ quotedField: quotedField,
243
+ operator: (operation.operator || '=').toUpperCase(),
244
+ mutator: operation.mutator,
245
+ originalOp: userOp
246
+ };
247
+ }
248
+ exports.default = generateWhere;
249
+ //# sourceMappingURL=queryWhere.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queryWhere.js","sourceRoot":"","sources":["../src/queryWhere.ts"],"names":[],"mappings":"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"}
package/mkdocs.yml ADDED
@@ -0,0 +1,25 @@
1
+ site_name: pogi | The PostgreSQL handler you have dreamed of :)
2
+ repo_url: https://github.com/holdfenytolvaj/pogi
3
+ site_url: http://pogi.readthedocs.io
4
+ theme: readthedocs
5
+ pages:
6
+ - Home : index.md
7
+ - Connection : connection.md
8
+ - Executing SQL files : executingSqlFile.md
9
+ - Functions : functions.md
10
+ - Generate interface for Db : generatingInterfaceForTables.md
11
+ - Logger : logger.md
12
+ - Mapping database types : mappingDatabaseTypes.md
13
+ - Transaction : transaction.md
14
+ - Stream : streams.md
15
+ - Notification : notification.md
16
+ - FAQ : faq.md
17
+ - Known pitfalls : pitfalls.md
18
+ - API :
19
+ - PgDb: API/PgDb.md
20
+ - PgSchema: API/PgSchema.md
21
+ - PgTable: API/PgTable.md
22
+ - Condition : API/condition.md
23
+ - Query options : API/QueryOptions.md
24
+ extra_css:
25
+ - css/docs.css
package/package.json ADDED
@@ -0,0 +1,65 @@
1
+ {
2
+ "name": "pogi",
3
+ "version": "2.11.0",
4
+ "description": "An easy PostgreSQL query handler on top of pg.js",
5
+ "main": "lib/index.js",
6
+ "types": "lib/index.d.ts",
7
+ "scripts": {
8
+ "build": "tsc -p src/tsconfig.json",
9
+ "test": "node spec/run.js",
10
+ "test_debug": "node --inspect-brk=9229 spec/run.js",
11
+ "semantic-release": "semantic-release pre && npm publish && semantic-release post",
12
+ "release_patch": "npm version patch; conventional-changelog -p angular -i CHANGELOG.md -s -r2; git add --all ./; git commit -m\"chore:generate changelog\"; git push; npm publish",
13
+ "release_minor": "npm version minor; conventional-changelog -p angular -i CHANGELOG.md -s -r2; git add --all ./; git commit -m\"chore:generate changelog\"; git push; npm publish",
14
+ "release_major": "npm version minor; conventional-changelog -p angular -i CHANGELOG.md -s -r2; git add --all ./; git commit -m\"chore:generate changelog\"; git push; npm publish"
15
+ },
16
+ "repository": {
17
+ "type": "git",
18
+ "url": "git+https://github.com/holdfenytolvaj/pogi.git"
19
+ },
20
+ "keywords": [
21
+ "typescript",
22
+ "postgresql",
23
+ "postgres",
24
+ "postgre",
25
+ "pgsql",
26
+ "pg"
27
+ ],
28
+ "dependencies": {
29
+ "handlebars": "^4.7.6",
30
+ "lodash": "^4.17.20",
31
+ "minimatch": "^3.0.4",
32
+ "moment": "^2.29.1",
33
+ "pg": "^8.5.1",
34
+ "pg-query-stream": "^4",
35
+ "through": "~2.3.8",
36
+ "tslib": "^2"
37
+ },
38
+ "devDependencies": {
39
+ "@types/jasmine": "^3.6",
40
+ "@types/node": "^14",
41
+ "@types/yargs": "^17.0.2",
42
+ "jasmine": "^3.6.4",
43
+ "semantic-release": "^17.3.7",
44
+ "shelljs": "^0.8.4",
45
+ "typescript": "^4",
46
+ "yargs": "^16.2.0"
47
+ },
48
+ "author": "Laszlo Radics<laszlo.radics@labcup.net>, Geza Radics<radicsge@protonmail.com>",
49
+ "license": "MIT",
50
+ "bugs": {
51
+ "url": "https://github.com/holdfenytolvaj/pogi/issues"
52
+ },
53
+ "homepage": "https://github.com/holdfenytolvaj/pogi#readme",
54
+ "config": {
55
+ "commitizen": {
56
+ "path": "cz-conventional-changelog"
57
+ }
58
+ },
59
+ "release": {
60
+ "debug": false,
61
+ "verifyConditions": {
62
+ "path": "./node_modules/semantic-release/src/lib/plugin-noop.js"
63
+ }
64
+ }
65
+ }
@@ -0,0 +1,122 @@
1
+ SET search_path TO __SCHEMA__;
2
+ DROP FUNCTION IF EXISTS list_gold_users();
3
+ DROP FUNCTION IF EXISTS increment();
4
+
5
+ -- drop tables
6
+ DROP VIEW IF EXISTS "users_view";
7
+ DROP TABLE IF EXISTS "users";
8
+ DROP TABLE IF EXISTS "groups";
9
+ DROP TABLE IF EXISTS "types";
10
+ -- drop sequences
11
+ DROP SEQUENCE IF EXISTS "users_id_seq";
12
+ -- drop types
13
+ DROP TYPE IF EXISTS __SCHEMA__."membershipType";
14
+ DROP TYPE IF EXISTS __SCHEMA__."categoryType";
15
+ DROP TYPE IF EXISTS __SCHEMA__."permissionForResourceType";
16
+ DROP TYPE IF EXISTS __SCHEMA__."permissionType";
17
+
18
+ DROP FUNCTION IF EXISTS update_tsv();
19
+
20
+
21
+ CREATE TYPE __SCHEMA__."membershipType" AS ENUM ('bronze', 'silver', 'gold');
22
+ CREATE TYPE __SCHEMA__."categoryType" AS ENUM ('sport', 'food', 'tech', 'music');
23
+ CREATE TYPE __SCHEMA__."permissionType" AS ENUM ('read', 'write', 'admin');
24
+ CREATE TYPE __SCHEMA__."permissionForResourceType" AS (
25
+ "permission" "permissionType",
26
+ "resource" "text"
27
+ );
28
+
29
+ CREATE TABLE IF NOT EXISTS "groups" (
30
+ "id" SERIAL PRIMARY KEY,
31
+ "name" varchar UNIQUE NOT NULL
32
+ );
33
+
34
+ CREATE SEQUENCE "users_id_seq";
35
+ CREATE TABLE IF NOT EXISTS "users" (
36
+ "id" varchar PRIMARY KEY NOT NULL DEFAULT ('us' || nextval('users_id_seq')::text || (LPAD(floor(random()*100)::text, 2, '0'))),
37
+ "name" varchar UNIQUE NOT NULL,
38
+ "aCategory" varchar,
39
+
40
+ "textList" text[],
41
+ "jsonbList" jsonb[],
42
+ "numberList" integer[], -- int4
43
+ "bigNumberList" bigInt[], -- int8
44
+ "timestamptzList" timestamptz[],
45
+
46
+ "membership" "membershipType",
47
+ "favourites" "categoryType"[],
48
+
49
+ "jsonList" jsonb,
50
+ "jsonObject" jsonb,
51
+ "mainGroup" integer REFERENCES groups(id),
52
+ "permission" "permissionForResourceType",
53
+ "permissionList" "permissionForResourceType"[],
54
+
55
+ "tsv" tsvector,
56
+ "updated" timestamp with time zone,
57
+ "created" timestamp,
58
+ "createdtz" timestamptz
59
+ );
60
+
61
+ CREATE TABLE IF NOT EXISTS "types" (
62
+ "text" varchar,
63
+ "int" integer,
64
+ "bigInt" bigInt,
65
+ "real" real,
66
+ "double" float8,
67
+ "bool" boolean,
68
+ "json" json,
69
+ "jsonB" jsonb,
70
+ "timestamptz" timestamptz,
71
+
72
+ "arrayText" varchar[],
73
+ "arrayInt" integer[],
74
+ "arrayBigInt" bigInt[],
75
+ "arrayReal" real[],
76
+ "arrayDouble" float8[],
77
+ "arrayBool" boolean[],
78
+ "arrayJson" json[],
79
+ "arrayJsonB" jsonb[],
80
+ "arrayTimestamptz" timestamptz[]
81
+ );
82
+
83
+
84
+ CREATE OR REPLACE FUNCTION update_updated_column() RETURNS TRIGGER AS $$
85
+ BEGIN
86
+ NEW.updated = now();
87
+ RETURN NEW;
88
+ END;
89
+ $$ language 'plpgsql';
90
+
91
+ CREATE TRIGGER "update_users_updated" BEFORE INSERT ON "users" FOR EACH ROW EXECUTE PROCEDURE __SCHEMA__.update_updated_column();
92
+
93
+ CREATE OR REPLACE FUNCTION list_gold_users()
94
+ RETURNS SETOF varchar AS $$
95
+ SELECT name FROM __SCHEMA__.users WHERE membership = 'gold';
96
+ $$ LANGUAGE SQL;
97
+
98
+ CREATE OR REPLACE FUNCTION increment(i INT)
99
+ RETURNS INT AS $$
100
+ BEGIN
101
+ RETURN i + 1;
102
+ END;
103
+ $$ LANGUAGE plpgsql;
104
+
105
+ CREATE FUNCTION update_tsv() RETURNS trigger AS $$
106
+ begin
107
+ new.tsv :=
108
+ setweight(to_tsvector('pg_catalog.english', coalesce(new.name,'')), 'A') ||
109
+ setweight(to_tsvector('pg_catalog.english', coalesce(new."aCategory",'')), 'B') ||
110
+ setweight(to_tsvector('pg_catalog.english', coalesce(new."jsonList"::text,'')), 'C');
111
+ return new;
112
+ end
113
+ $$ LANGUAGE plpgsql;
114
+
115
+ CREATE TRIGGER update_tsv BEFORE INSERT OR UPDATE ON __SCHEMA__."users" FOR EACH ROW EXECUTE PROCEDURE update_tsv();
116
+
117
+ CREATE OR REPLACE FUNCTION LOWER(text[]) RETURNS text[] LANGUAGE SQL IMMUTABLE AS
118
+ $$
119
+ SELECT array_agg(LOWER(value)) FROM unnest($1) value;
120
+ $$;
121
+
122
+ CREATE OR REPLACE VIEW users_view AS SELECT * FROM users;