@graffy/pg 0.15.6-alpha.1 → 0.15.8-alpha.2
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.
- package/cjs/Db.js +392 -0
- package/cjs/filter/filterObject.js +3 -18
- package/cjs/filter/getAst.js +3 -1
- package/cjs/filter/getSql.js +33 -22
- package/cjs/index.js +65 -174
- package/cjs/link/index.js +0 -47
- package/cjs/sql/clauses.js +92 -0
- package/cjs/sql/getArgSql.js +98 -84
- package/cjs/sql/{getIdMeta.js → getMeta.js} +24 -6
- package/cjs/sql/select.js +9 -24
- package/cjs/sql/upsert.js +19 -156
- package/cjs/{sql → test}/expectSql.js +1 -0
- package/cjs/test/setup.js +189 -147
- package/package.json +5 -6
- package/types/Db.d.ts +9 -0
- package/types/index.d.ts +7 -2
- package/types/link/index.d.ts +0 -3
- package/types/sql/clauses.d.ts +8 -0
- package/types/sql/getArgSql.d.ts +17 -18
- package/types/sql/getMeta.d.ts +4 -0
- package/types/sql/select.d.ts +2 -7
- package/cjs/dbRead.js +0 -228
- package/cjs/dbWrite.js +0 -158
- package/cjs/options.js +0 -160
- package/cjs/pool.js +0 -42
- package/cjs/sql/getSelectCols.js +0 -47
- package/types/dbRead.d.ts +0 -1
- package/types/dbWrite.d.ts +0 -1
- package/types/options.d.ts +0 -23
- package/types/pool.d.ts +0 -2
- package/types/sql/getIdMeta.d.ts +0 -4
- package/types/sql/getSelectCols.d.ts +0 -1
package/cjs/sql/getArgSql.js
CHANGED
|
@@ -11,76 +11,54 @@ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequ
|
|
|
11
11
|
exports.__esModule = true;
|
|
12
12
|
exports.default = getArgSql;
|
|
13
13
|
|
|
14
|
-
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutPropertiesLoose"));
|
|
15
|
-
|
|
16
14
|
var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/taggedTemplateLiteralLoose"));
|
|
17
15
|
|
|
18
|
-
var
|
|
16
|
+
var _slice = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/slice"));
|
|
19
17
|
|
|
20
18
|
var _stringify = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/json/stringify"));
|
|
21
19
|
|
|
22
|
-
var
|
|
20
|
+
var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
|
|
23
21
|
|
|
24
|
-
var
|
|
22
|
+
var _forEach = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/for-each"));
|
|
25
23
|
|
|
26
|
-
var
|
|
24
|
+
var _entries = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/entries"));
|
|
27
25
|
|
|
28
26
|
var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
|
|
29
27
|
|
|
28
|
+
var _isArray = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/array/is-array"));
|
|
29
|
+
|
|
30
|
+
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutPropertiesLoose"));
|
|
31
|
+
|
|
30
32
|
var _sqlTemplateTag = _interopRequireWildcard(require("sql-template-tag"));
|
|
31
33
|
|
|
32
34
|
var _common = require("@graffy/common");
|
|
33
35
|
|
|
34
36
|
var _index = require("../filter/index.js");
|
|
35
37
|
|
|
36
|
-
var
|
|
37
|
-
_excluded2 = ["$order"];
|
|
38
|
-
|
|
39
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17;
|
|
38
|
+
var _getMeta = require("./getMeta");
|
|
40
39
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
40
|
+
var _clauses = require("./clauses.js");
|
|
44
41
|
|
|
45
|
-
|
|
46
|
-
if (!(0, _isArray.default)(bound)) {
|
|
47
|
-
throw Error('bad_query bound:' + (0, _stringify.default)(bound));
|
|
48
|
-
}
|
|
42
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15;
|
|
49
43
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
if (orderCols.length > 1 && bound.length > 1) {
|
|
54
|
-
var subCond = getBoundCond((0, _slice.default)(orderCols).call(orderCols, 1), (0, _slice.default)(bound).call(bound, 1), kind);
|
|
55
|
-
|
|
56
|
-
switch (kind) {
|
|
57
|
-
case '$after':
|
|
58
|
-
case '$since':
|
|
59
|
-
return (0, _sqlTemplateTag.default)(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["", " > ", " OR ", " = ", " AND (", ")"])), lhs, rhs, lhs, rhs, subCond);
|
|
44
|
+
var _excluded = ["$first", "$last", "$after", "$before", "$since", "$until", "$all", "$cursor"],
|
|
45
|
+
_excluded2 = ["$order"];
|
|
60
46
|
|
|
61
|
-
|
|
62
|
-
case '$until':
|
|
63
|
-
return (0, _sqlTemplateTag.default)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)(["", " < ", " OR ", " = ", " AND (", ")"])), lhs, rhs, lhs, rhs, subCond);
|
|
64
|
-
}
|
|
65
|
-
} else {
|
|
66
|
-
switch (kind) {
|
|
67
|
-
case '$after':
|
|
68
|
-
return (0, _sqlTemplateTag.default)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteralLoose2.default)(["", " > ", ""])), lhs, rhs);
|
|
47
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
69
48
|
|
|
70
|
-
|
|
71
|
-
return (0, _sqlTemplateTag.default)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteralLoose2.default)(["", " >= ", ""])), lhs, rhs);
|
|
49
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
72
50
|
|
|
73
|
-
|
|
74
|
-
|
|
51
|
+
/**
|
|
52
|
+
Uses the args object (typically passed in the $key attribute)
|
|
75
53
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
}
|
|
54
|
+
@param {object} args
|
|
55
|
+
@param {object} options
|
|
81
56
|
|
|
57
|
+
@typedef { import('sql-template-tag').Sql } Sql
|
|
58
|
+
@return {{ meta: Sql, where: Sql[], order?: Sql, limit: number }}
|
|
59
|
+
*/
|
|
82
60
|
function getArgSql(_ref, options) {
|
|
83
|
-
var _context2, _context3;
|
|
61
|
+
var _context, _context2, _context3;
|
|
84
62
|
|
|
85
63
|
var $first = _ref.$first,
|
|
86
64
|
$last = _ref.$last,
|
|
@@ -88,73 +66,109 @@ function getArgSql(_ref, options) {
|
|
|
88
66
|
$before = _ref.$before,
|
|
89
67
|
$since = _ref.$since,
|
|
90
68
|
$until = _ref.$until,
|
|
69
|
+
$all = _ref.$all,
|
|
91
70
|
_ = _ref.$cursor,
|
|
92
71
|
rest = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
|
|
93
72
|
var $order = rest.$order,
|
|
94
73
|
filter = (0, _objectWithoutPropertiesLoose2.default)(rest, _excluded2);
|
|
95
|
-
var
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
var lookupExpr = function lookupExpr(prefix, suffix) {
|
|
99
|
-
var _context;
|
|
100
|
-
|
|
101
|
-
if (suffix === void 0) {
|
|
102
|
-
suffix = [];
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
var _args$prefix = args[prefix],
|
|
106
|
-
role = _args$prefix.role,
|
|
107
|
-
name = _args$prefix.name;
|
|
108
|
-
return role === 'gin' ? (0, _sqlTemplateTag.default)(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteralLoose2.default)(["\"", "\" #>> '{\"", "\"}'"])), (0, _sqlTemplateTag.raw)(name), (0, _concat.default)(_context = [prefix]).call(_context, suffix).join('","')) : suffix.length ? (0, _sqlTemplateTag.default)(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteralLoose2.default)(["\"", "\" #>> '{\"", "\"}'"])), (0, _sqlTemplateTag.raw)(name), suffix.join('","')) : (0, _sqlTemplateTag.default)(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteralLoose2.default)(["\"", "\""])), (0, _sqlTemplateTag.raw)(name));
|
|
109
|
-
};
|
|
74
|
+
var prefix = options.prefix,
|
|
75
|
+
idCol = options.idCol;
|
|
110
76
|
|
|
111
77
|
var lookup = function lookup(prop) {
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
var suffix = [];
|
|
116
|
-
|
|
117
|
-
while (propArray.length) {
|
|
118
|
-
suffix.unshift(propArray.pop());
|
|
119
|
-
var propPrefix = propArray.join('.');
|
|
120
|
-
if (args[propPrefix]) return lookupExpr(propPrefix, suffix);
|
|
121
|
-
}
|
|
78
|
+
var _encodePath = (0, _common.encodePath)(prop),
|
|
79
|
+
prefix = _encodePath[0],
|
|
80
|
+
suffix = (0, _slice.default)(_encodePath).call(_encodePath, 1);
|
|
122
81
|
|
|
123
|
-
|
|
82
|
+
return suffix.length ? (0, _sqlTemplateTag.default)(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["\"", "\" #>> '{\"", "\"}'"])), (0, _sqlTemplateTag.raw)(prefix), suffix.join('","')) : (0, _sqlTemplateTag.default)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)(["\"", "\""])), (0, _sqlTemplateTag.raw)(prefix));
|
|
124
83
|
};
|
|
125
84
|
|
|
126
|
-
var
|
|
127
|
-
return (0,
|
|
85
|
+
var meta = function meta(key) {
|
|
86
|
+
return (0, _getMeta.getArgMeta)(key, prefix, idCol);
|
|
128
87
|
};
|
|
129
88
|
|
|
130
|
-
var hasRangeArg = $before || $after || $since || $until || $first || $last || $order;
|
|
89
|
+
var hasRangeArg = $before || $after || $since || $until || $first || $last || $all || $order;
|
|
131
90
|
var key;
|
|
132
91
|
var where = [];
|
|
133
92
|
|
|
134
93
|
if (!(0, _common.isEmpty)(filter)) {
|
|
135
94
|
where.push((0, _index.getFilterSql)(filter, lookup));
|
|
136
|
-
key = (0, _sqlTemplateTag.default)(
|
|
95
|
+
key = (0, _sqlTemplateTag.default)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteralLoose2.default)(["", "::jsonb"])), (0, _stringify.default)(filter));
|
|
137
96
|
}
|
|
138
97
|
|
|
139
98
|
if (!hasRangeArg) return {
|
|
140
|
-
|
|
99
|
+
meta: meta(key),
|
|
141
100
|
where: where,
|
|
142
101
|
limit: 1
|
|
143
102
|
};
|
|
144
|
-
|
|
145
|
-
if (
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
103
|
+
|
|
104
|
+
if ((0, _common.isEmpty)(rest)) {
|
|
105
|
+
// TODO: Allow these.
|
|
106
|
+
throw Error('pg_arg.pagination_only_unsupported in ' + prefix);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
var orderCols = (0, _map.default)(_context = $order || [idCol]).call(_context, lookup);
|
|
110
|
+
(0, _forEach.default)(_context2 = (0, _entries.default)({
|
|
111
|
+
$after: $after,
|
|
112
|
+
$before: $before,
|
|
113
|
+
$since: $since,
|
|
114
|
+
$until: $until
|
|
115
|
+
})).call(_context2, function (_ref2) {
|
|
116
|
+
var name = _ref2[0],
|
|
117
|
+
value = _ref2[1];
|
|
118
|
+
if (value) where.push(getBoundCond(orderCols, value, name));
|
|
119
|
+
});
|
|
120
|
+
var orderQuery = $order && (0, _clauses.getJsonBuildObject)({
|
|
121
|
+
$order: (0, _sqlTemplateTag.default)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteralLoose2.default)(["", "::jsonb"])), (0, _stringify.default)($order))
|
|
122
|
+
});
|
|
123
|
+
var cursorQuery = (0, _clauses.getJsonBuildObject)({
|
|
124
|
+
$cursor: (0, _sqlTemplateTag.default)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteralLoose2.default)(["jsonb_build_array(", ")"])), (0, _sqlTemplateTag.join)(orderCols))
|
|
125
|
+
});
|
|
126
|
+
key = (0, _sqlTemplateTag.default)(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteralLoose2.default)(["(", ")"])), (0, _sqlTemplateTag.join)((0, _filter.default)(_context3 = [key, orderQuery, cursorQuery]).call(_context3, Boolean), " || "));
|
|
150
127
|
return {
|
|
151
|
-
|
|
128
|
+
meta: meta(key),
|
|
152
129
|
where: where,
|
|
153
130
|
order: (0, _sqlTemplateTag.join)((0, _map.default)(orderCols).call(orderCols, function (col) {
|
|
154
|
-
return (0, _sqlTemplateTag.default)(
|
|
131
|
+
return (0, _sqlTemplateTag.default)(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteralLoose2.default)(["", " ", ""])), col, $last ? (0, _sqlTemplateTag.default)(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteralLoose2.default)(["DESC"]))) : (0, _sqlTemplateTag.default)(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteralLoose2.default)(["ASC"]))));
|
|
155
132
|
}), ", "),
|
|
156
133
|
limit: $first || $last
|
|
157
134
|
};
|
|
158
135
|
}
|
|
159
136
|
|
|
137
|
+
function getBoundCond(orderCols, bound, kind) {
|
|
138
|
+
if (!(0, _isArray.default)(bound)) {
|
|
139
|
+
throw Error('pg_arg.bad_query bound : ' + (0, _stringify.default)(bound));
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
var lhs = orderCols[0];
|
|
143
|
+
var rhs = bound[0];
|
|
144
|
+
|
|
145
|
+
if (orderCols.length > 1 && bound.length > 1) {
|
|
146
|
+
var subCond = getBoundCond((0, _slice.default)(orderCols).call(orderCols, 1), (0, _slice.default)(bound).call(bound, 1), kind);
|
|
147
|
+
|
|
148
|
+
switch (kind) {
|
|
149
|
+
case '$after':
|
|
150
|
+
case '$since':
|
|
151
|
+
return (0, _sqlTemplateTag.default)(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteralLoose2.default)(["", " > ", " OR ", " = ", " AND (", ")"])), lhs, rhs, lhs, rhs, subCond);
|
|
152
|
+
|
|
153
|
+
case '$before':
|
|
154
|
+
case '$until':
|
|
155
|
+
return (0, _sqlTemplateTag.default)(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteralLoose2.default)(["", " < ", " OR ", " = ", " AND (", ")"])), lhs, rhs, lhs, rhs, subCond);
|
|
156
|
+
}
|
|
157
|
+
} else {
|
|
158
|
+
switch (kind) {
|
|
159
|
+
case '$after':
|
|
160
|
+
return (0, _sqlTemplateTag.default)(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteralLoose2.default)(["", " > ", ""])), lhs, rhs);
|
|
161
|
+
|
|
162
|
+
case '$since':
|
|
163
|
+
return (0, _sqlTemplateTag.default)(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteralLoose2.default)(["", " >= ", ""])), lhs, rhs);
|
|
164
|
+
|
|
165
|
+
case '$before':
|
|
166
|
+
return (0, _sqlTemplateTag.default)(_templateObject14 || (_templateObject14 = (0, _taggedTemplateLiteralLoose2.default)(["", " < ", ""])), lhs, rhs);
|
|
167
|
+
|
|
168
|
+
case '$until':
|
|
169
|
+
return (0, _sqlTemplateTag.default)(_templateObject15 || (_templateObject15 = (0, _taggedTemplateLiteralLoose2.default)(["", " <= ", ""])), lhs, rhs);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
|
|
160
174
|
module.exports = exports.default;
|
|
@@ -9,22 +9,40 @@ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-s
|
|
|
9
9
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
10
10
|
|
|
11
11
|
exports.__esModule = true;
|
|
12
|
-
exports.
|
|
12
|
+
exports.getArgMeta = exports.getIdMeta = void 0;
|
|
13
|
+
|
|
14
|
+
var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
|
|
13
15
|
|
|
14
16
|
var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/taggedTemplateLiteralLoose"));
|
|
15
17
|
|
|
16
18
|
var _sqlTemplateTag = _interopRequireWildcard(require("sql-template-tag"));
|
|
17
19
|
|
|
18
|
-
var
|
|
20
|
+
var _clauses = require("./clauses");
|
|
21
|
+
|
|
22
|
+
var _templateObject, _templateObject2, _templateObject3;
|
|
19
23
|
|
|
20
24
|
function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
21
25
|
|
|
22
26
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
23
27
|
|
|
24
|
-
var
|
|
28
|
+
var getIdMeta = function getIdMeta(_ref) {
|
|
25
29
|
var idCol = _ref.idCol;
|
|
26
|
-
return (0,
|
|
30
|
+
return (0, _clauses.getJsonBuildObject)({
|
|
31
|
+
$key: (0, _sqlTemplateTag.default)(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["\"", "\""])), (0, _sqlTemplateTag.raw)(idCol)),
|
|
32
|
+
$ver: _clauses.nowTimestamp
|
|
33
|
+
});
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
exports.getIdMeta = getIdMeta;
|
|
37
|
+
|
|
38
|
+
var getArgMeta = function getArgMeta(key, prefix, idCol) {
|
|
39
|
+
return (0, _clauses.getJsonBuildObject)({
|
|
40
|
+
$key: key,
|
|
41
|
+
$ref: (0, _sqlTemplateTag.default)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)(["jsonb_build_array(", ", \"", "\")"])), (0, _sqlTemplateTag.join)((0, _map.default)(prefix).call(prefix, function (k) {
|
|
42
|
+
return (0, _sqlTemplateTag.default)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteralLoose2.default)(["", "::text"])), k);
|
|
43
|
+
})), (0, _sqlTemplateTag.raw)(idCol)),
|
|
44
|
+
$ver: _clauses.nowTimestamp
|
|
45
|
+
});
|
|
27
46
|
};
|
|
28
47
|
|
|
29
|
-
exports.
|
|
30
|
-
module.exports = exports.default;
|
|
48
|
+
exports.getArgMeta = getArgMeta;
|
package/cjs/sql/select.js
CHANGED
|
@@ -11,7 +11,6 @@ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequ
|
|
|
11
11
|
exports.__esModule = true;
|
|
12
12
|
exports.selectByArgs = selectByArgs;
|
|
13
13
|
exports.selectByIds = selectByIds;
|
|
14
|
-
exports.selectUpdatedSince = selectUpdatedSince;
|
|
15
14
|
|
|
16
15
|
var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/taggedTemplateLiteralLoose"));
|
|
17
16
|
|
|
@@ -19,47 +18,33 @@ var _sqlTemplateTag = _interopRequireWildcard(require("sql-template-tag"));
|
|
|
19
18
|
|
|
20
19
|
var _getArgSql2 = _interopRequireDefault(require("./getArgSql.js"));
|
|
21
20
|
|
|
22
|
-
var
|
|
21
|
+
var _getMeta = require("./getMeta.js");
|
|
23
22
|
|
|
24
|
-
var
|
|
23
|
+
var _clauses = require("./clauses.js");
|
|
25
24
|
|
|
26
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4
|
|
25
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4;
|
|
27
26
|
|
|
28
27
|
function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
29
28
|
|
|
30
29
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
31
30
|
|
|
32
|
-
// import debug from 'debug';
|
|
33
|
-
// const log = debug('graffy:pg:select');
|
|
34
31
|
var MAX_LIMIT = 4096;
|
|
35
32
|
|
|
36
|
-
function selectByArgs(args, options
|
|
37
|
-
var _ref = _temp === void 0 ? {} : _temp,
|
|
38
|
-
forUpdate = _ref.forUpdate;
|
|
39
|
-
|
|
33
|
+
function selectByArgs(args, options) {
|
|
40
34
|
var table = options.table;
|
|
41
35
|
|
|
42
36
|
var _getArgSql = (0, _getArgSql2.default)(args, options),
|
|
43
37
|
where = _getArgSql.where,
|
|
44
38
|
order = _getArgSql.order,
|
|
45
39
|
limit = _getArgSql.limit,
|
|
46
|
-
|
|
40
|
+
meta = _getArgSql.meta;
|
|
47
41
|
|
|
48
|
-
var clampedLimit =
|
|
49
|
-
return (0, _sqlTemplateTag.default)(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["\n SELECT\n ", " || ", "\n FROM \"", "\"\n ", "\n ", "\n LIMIT ", "\n
|
|
42
|
+
var clampedLimit = Math.min(MAX_LIMIT, limit || MAX_LIMIT);
|
|
43
|
+
return (0, _sqlTemplateTag.default)(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["\n SELECT\n ", " || ", "\n FROM \"", "\"\n ", "\n ", "\n LIMIT ", "\n "])), (0, _clauses.getSelectCols)(table), meta, (0, _sqlTemplateTag.raw)(table), where.length ? (0, _sqlTemplateTag.default)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)(["WHERE ", ""])), (0, _sqlTemplateTag.join)(where, " AND ")) : _sqlTemplateTag.empty, order ? (0, _sqlTemplateTag.default)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteralLoose2.default)(["ORDER BY ", ""])), order) : _sqlTemplateTag.empty, clampedLimit);
|
|
50
44
|
}
|
|
51
45
|
|
|
52
|
-
function selectByIds(ids, options
|
|
53
|
-
var _ref2 = _temp2 === void 0 ? {} : _temp2,
|
|
54
|
-
forUpdate = _ref2.forUpdate;
|
|
55
|
-
|
|
46
|
+
function selectByIds(ids, options) {
|
|
56
47
|
var table = options.table,
|
|
57
48
|
idCol = options.idCol;
|
|
58
|
-
return (0, _sqlTemplateTag.default)(
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
function selectUpdatedSince(version, options) {
|
|
62
|
-
var table = options.table,
|
|
63
|
-
verCol = options.verCol;
|
|
64
|
-
return (0, _sqlTemplateTag.default)(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteralLoose2.default)(["\n SELECT ", " || ", "\n FROM \"", "\"\n WHERE \"", "\" > ", "\n LIMIT ", "\n "])), (0, _getSelectCols.default)(options), (0, _getIdMeta.default)(options), (0, _sqlTemplateTag.raw)(table), (0, _sqlTemplateTag.raw)(verCol), version, MAX_LIMIT);
|
|
49
|
+
return (0, _sqlTemplateTag.default)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteralLoose2.default)(["\n SELECT\n ", " || ", "\n FROM \"", "\"\n WHERE \"", "\" IN (", ")\n "])), (0, _clauses.getSelectCols)(table), (0, _getMeta.getIdMeta)(options), (0, _sqlTemplateTag.raw)(table), (0, _sqlTemplateTag.raw)(idCol), (0, _sqlTemplateTag.join)(ids));
|
|
65
50
|
}
|
package/cjs/sql/upsert.js
CHANGED
|
@@ -1,17 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _sliceInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/slice");
|
|
4
|
-
|
|
5
|
-
var _Array$from = require("@babel/runtime-corejs3/core-js-stable/array/from");
|
|
6
|
-
|
|
7
|
-
var _Symbol = require("@babel/runtime-corejs3/core-js-stable/symbol");
|
|
8
|
-
|
|
9
|
-
var _getIteratorMethod = require("@babel/runtime-corejs3/core-js/get-iterator-method");
|
|
10
|
-
|
|
11
|
-
var _bindInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/bind");
|
|
12
|
-
|
|
13
|
-
var _Array$isArray = require("@babel/runtime-corejs3/core-js-stable/array/is-array");
|
|
14
|
-
|
|
15
3
|
var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
|
|
16
4
|
|
|
17
5
|
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
|
@@ -28,16 +16,6 @@ var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable
|
|
|
28
16
|
|
|
29
17
|
var _keys = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/keys"));
|
|
30
18
|
|
|
31
|
-
var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
|
|
32
|
-
|
|
33
|
-
var _values = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/values"));
|
|
34
|
-
|
|
35
|
-
var _now = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/date/now"));
|
|
36
|
-
|
|
37
|
-
var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
|
|
38
|
-
|
|
39
|
-
var _entries = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/entries"));
|
|
40
|
-
|
|
41
19
|
var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/taggedTemplateLiteralLoose"));
|
|
42
20
|
|
|
43
21
|
var _sqlTemplateTag = _interopRequireWildcard(require("sql-template-tag"));
|
|
@@ -46,172 +24,57 @@ var _common = require("@graffy/common");
|
|
|
46
24
|
|
|
47
25
|
var _getArgSql2 = _interopRequireDefault(require("./getArgSql.js"));
|
|
48
26
|
|
|
49
|
-
var
|
|
27
|
+
var _getMeta = require("./getMeta.js");
|
|
50
28
|
|
|
51
|
-
var
|
|
29
|
+
var _clauses = require("./clauses.js");
|
|
52
30
|
|
|
53
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5
|
|
31
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
|
|
54
32
|
|
|
55
33
|
function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
56
34
|
|
|
57
35
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
58
36
|
|
|
59
|
-
function _createForOfIteratorHelperLoose(o, allowArrayLike) { var _context9; var it = typeof _Symbol !== "undefined" && _getIteratorMethod(o) || o["@@iterator"]; if (it) return _bindInstanceProperty(_context9 = (it = it.call(o)).next).call(_context9, it); if (_Array$isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
60
|
-
|
|
61
|
-
function _unsupportedIterableToArray(o, minLen) { var _context8; if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = _sliceInstanceProperty(_context8 = Object.prototype.toString.call(o)).call(_context8, 8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return _Array$from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
62
|
-
|
|
63
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
64
|
-
|
|
65
37
|
function patch(object, arg, options) {
|
|
66
38
|
var table = options.table,
|
|
67
39
|
idCol = options.idCol;
|
|
68
40
|
|
|
69
41
|
var _ref = (0, _common.isPlainObject)(arg) ? (0, _getArgSql2.default)(arg, options) : {
|
|
70
42
|
where: [(0, _sqlTemplateTag.default)(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["\"", "\" = ", ""])), (0, _sqlTemplateTag.raw)(idCol), arg)],
|
|
71
|
-
|
|
43
|
+
meta: (0, _getMeta.getIdMeta)(options)
|
|
72
44
|
},
|
|
73
45
|
where = _ref.where,
|
|
74
|
-
|
|
46
|
+
meta = _ref.meta;
|
|
75
47
|
|
|
76
48
|
if (!where || !where.length) throw Error('pg_write.no_condition');
|
|
77
|
-
var row = objectToRow(object, options);
|
|
78
|
-
|
|
49
|
+
var row = object; // objectToRow(object, options);
|
|
50
|
+
|
|
51
|
+
return (0, _sqlTemplateTag.default)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)(["\n UPDATE \"", "\" SET ", "\n WHERE ", "\n LIMIT 1\n RETURNING (", " || ", ")"])), (0, _sqlTemplateTag.raw)(table), (0, _clauses.getUpdates)(row, options), (0, _sqlTemplateTag.join)(where, " AND "), (0, _clauses.getSelectCols)(table), meta);
|
|
79
52
|
}
|
|
80
53
|
|
|
81
54
|
function put(object, arg, options) {
|
|
82
55
|
var idCol = options.idCol,
|
|
83
|
-
table = options.table
|
|
84
|
-
|
|
85
|
-
|
|
56
|
+
table = options.table;
|
|
57
|
+
var row = object; // objectToRow(object, options);
|
|
58
|
+
|
|
86
59
|
var meta, conflictTarget;
|
|
87
60
|
|
|
88
61
|
if ((0, _common.isPlainObject)(arg)) {
|
|
89
62
|
var _context;
|
|
90
63
|
|
|
91
|
-
var _getArgSql = (0, _getArgSql2.default)(arg)
|
|
92
|
-
attrs = _getArgSql.attrs;
|
|
93
|
-
|
|
94
|
-
meta = attrs;
|
|
95
|
-
conflictTarget = (0, _sqlTemplateTag.join)((0, _map.default)(_context = (0, _keys.default)(arg)).call(_context, function (prop) {
|
|
96
|
-
var _props$prop;
|
|
64
|
+
var _getArgSql = (0, _getArgSql2.default)(arg, options);
|
|
97
65
|
|
|
98
|
-
|
|
99
|
-
|
|
66
|
+
meta = _getArgSql.meta;
|
|
67
|
+
conflictTarget = (0, _sqlTemplateTag.join)((0, _map.default)(_context = (0, _keys.default)(arg)).call(_context, function (col) {
|
|
100
68
|
return (0, _sqlTemplateTag.default)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteralLoose2.default)(["\"", "\""])), (0, _sqlTemplateTag.raw)(col));
|
|
101
69
|
}));
|
|
102
70
|
} else {
|
|
103
|
-
meta = (0,
|
|
71
|
+
meta = (0, _getMeta.getIdMeta)(options);
|
|
104
72
|
conflictTarget = (0, _sqlTemplateTag.default)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteralLoose2.default)(["\"", "\""])), (0, _sqlTemplateTag.raw)(idCol));
|
|
105
73
|
}
|
|
106
74
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
function objectToRow(object, _ref2) {
|
|
111
|
-
var props = _ref2.props,
|
|
112
|
-
defCol = _ref2.defCol;
|
|
113
|
-
var row = {};
|
|
114
|
-
var defVal = defCol ? clean(object, false) : {};
|
|
115
|
-
|
|
116
|
-
for (var prop in props) {
|
|
117
|
-
var _props$prop2 = props[prop],
|
|
118
|
-
data = _props$prop2.data,
|
|
119
|
-
gin = _props$prop2.gin,
|
|
120
|
-
tsv = _props$prop2.tsv,
|
|
121
|
-
trgm = _props$prop2.trgm;
|
|
122
|
-
var path = (0, _common.encodePath)(prop);
|
|
123
|
-
var value = (0, _common.unwrapObject)(object, path);
|
|
124
|
-
if (typeof value === 'undefined') continue;
|
|
125
|
-
|
|
126
|
-
if (data) {
|
|
127
|
-
row[data] = clean(value, false); // Delete this path from the default object
|
|
128
|
-
|
|
129
|
-
if (defCol) (0, _common.mergeObject)(defVal, (0, _common.wrapObject)(null, path));
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
if (gin) {
|
|
133
|
-
for (var _iterator = _createForOfIteratorHelperLoose(gin), _step; !(_step = _iterator()).done;) {
|
|
134
|
-
var col = _step.value;
|
|
135
|
-
row[col] = row[col] || {};
|
|
136
|
-
row[col][prop] = clean(value, true);
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
if (tsv) {
|
|
141
|
-
for (var _iterator2 = _createForOfIteratorHelperLoose(tsv), _step2; !(_step2 = _iterator2()).done;) {
|
|
142
|
-
var _col = _step2.value;
|
|
143
|
-
row[_col] = row[_col] || [];
|
|
144
|
-
|
|
145
|
-
row[_col].push(value);
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
if (trgm) {
|
|
150
|
-
for (var _iterator3 = _createForOfIteratorHelperLoose(trgm), _step3; !(_step3 = _iterator3()).done;) {
|
|
151
|
-
var _col2 = _step3.value;
|
|
152
|
-
row[_col2] = row[_col2] || [];
|
|
153
|
-
|
|
154
|
-
row[_col2].push(value);
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
if (defCol) row[defCol] = defVal;
|
|
160
|
-
return row;
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
function clean(object, forLookup) {
|
|
164
|
-
if (typeof object !== 'object' || !object) {
|
|
165
|
-
return object;
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
var clone = {};
|
|
169
|
-
|
|
170
|
-
for (var prop in object) {
|
|
171
|
-
switch (prop) {
|
|
172
|
-
case '$key':
|
|
173
|
-
case '$put':
|
|
174
|
-
case '$ref':
|
|
175
|
-
continue;
|
|
176
|
-
|
|
177
|
-
case '$val':
|
|
178
|
-
if (forLookup) return object[prop];
|
|
179
|
-
clone[prop] = object[prop];
|
|
180
|
-
continue;
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
var value = clean(object[prop]);
|
|
184
|
-
if (value === null) continue;
|
|
185
|
-
clone[prop] = value;
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
return (0, _common.isEmpty)(clone) ? null : clone;
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
function getCols(row, options) {
|
|
192
|
-
var _context2, _context3;
|
|
193
|
-
|
|
194
|
-
return (0, _sqlTemplateTag.join)((0, _concat.default)(_context2 = (0, _map.default)(_context3 = (0, _keys.default)(row)).call(_context3, function (col) {
|
|
195
|
-
return (0, _sqlTemplateTag.raw)("\"" + col + "\"");
|
|
196
|
-
})).call(_context2, (0, _sqlTemplateTag.raw)("\"" + options.verCol + "\"")), ', ');
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
function getVals(row, _options) {
|
|
200
|
-
var _context4;
|
|
201
|
-
|
|
202
|
-
return (0, _sqlTemplateTag.join)((0, _concat.default)(_context4 = (0, _values.default)(row)).call(_context4, (0, _now.default)()), ', ');
|
|
203
|
-
}
|
|
75
|
+
var _getInsert = (0, _clauses.getInsert)(row, options),
|
|
76
|
+
cols = _getInsert.cols,
|
|
77
|
+
vals = _getInsert.vals;
|
|
204
78
|
|
|
205
|
-
|
|
206
|
-
var _context5, _context6, _context7;
|
|
207
|
-
|
|
208
|
-
return (0, _sqlTemplateTag.join)((0, _concat.default)(_context5 = (0, _map.default)(_context6 = (0, _filter.default)(_context7 = (0, _entries.default)(row)).call(_context7, function (_ref3) {
|
|
209
|
-
var name = _ref3[0];
|
|
210
|
-
return name !== options.idCol;
|
|
211
|
-
})).call(_context6, function (_ref4) {
|
|
212
|
-
var name = _ref4[0],
|
|
213
|
-
value = _ref4[1];
|
|
214
|
-
var updater = options.updaters[name];
|
|
215
|
-
return (0, _sqlTemplateTag.default)(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteralLoose2.default)(["\"", "\" = ", ""])), (0, _sqlTemplateTag.raw)(name), updater === '||' ? (0, _sqlTemplateTag.default)(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteralLoose2.default)(["\"", "\" || ", ""])), (0, _sqlTemplateTag.raw)(name), value) : updater ? (0, _sqlTemplateTag.default)(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteralLoose2.default)(["", "(\"", "\", ", ")"])), (0, _sqlTemplateTag.raw)(updater), (0, _sqlTemplateTag.raw)(name), value) : value);
|
|
216
|
-
})).call(_context5, (0, _sqlTemplateTag.default)(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteralLoose2.default)(["\"", "\" = now()"])), (0, _sqlTemplateTag.raw)(options.verCol))), ', ');
|
|
79
|
+
return (0, _sqlTemplateTag.default)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteralLoose2.default)(["\n INSERT INTO \"", "\" (", ") VALUES (", ")\n ON CONFLICT (", ") DO UPDATE SET (", ") = (", ")\n RETURNING (", " || ", ")"])), (0, _sqlTemplateTag.raw)(table), cols, vals, conflictTarget, cols, vals, (0, _clauses.getSelectCols)(table), meta);
|
|
217
80
|
}
|
|
@@ -9,6 +9,7 @@ var _trim = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stabl
|
|
|
9
9
|
|
|
10
10
|
var _values = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/values"));
|
|
11
11
|
|
|
12
|
+
/** @var {function} expect */
|
|
12
13
|
function expectSql(actual, expected) {
|
|
13
14
|
var normalSql = function normalSql(str) {
|
|
14
15
|
var _context;
|