orange-orm 4.5.0-beta.0 → 4.5.0-beta.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/README.md +6 -1
- package/docs/changelog.md +4 -0
- package/package.json +10 -6
- package/src/applyPatch.js +5 -2
- package/src/client/index.js +3 -2
- package/src/client/index.mjs +13552 -6381
- package/src/client/rollup.config.js +24 -4
- package/src/client/stringify.js +2 -9
- package/src/createDomain.js +7 -28
- package/src/d1/newDatabase.js +23 -37
- package/src/d1/newPool.js +6 -6
- package/src/d1/newTransaction.js +1 -0
- package/src/d1/pool/newGenericPool.js +2 -14
- package/src/emitEvent.js +6 -4
- package/src/emptyFilter.js +12 -12
- package/src/format.js +9 -0
- package/src/generic-pool.js +274 -313
- package/src/getManyDto/newQuery.js +5 -5
- package/src/getManyDto/query/newSingleQuery.js +5 -5
- package/src/getManyDto.js +73 -41
- package/src/hostExpress/cycle.ts +211 -0
- package/src/hostExpress/executePath.js +361 -357
- package/src/hostExpress.js +2 -7
- package/src/hostLocal.js +9 -9
- package/src/index.js +13 -17
- package/src/indexBrowser.js +39 -0
- package/src/mssql/newDatabase.js +19 -31
- package/src/mssql/newPool.js +2 -2
- package/src/mssql/newTransaction.js +4 -3
- package/src/mssql/pool/newGenericPool.js +1 -13
- package/src/mySql/deleteFromSql.js +5 -5
- package/src/mySql/insert.js +5 -5
- package/src/mySql/insertSql.js +2 -3
- package/src/mySql/lastInsertedSql.js +3 -4
- package/src/mySql/newDatabase.js +20 -34
- package/src/mySql/newPool.js +10 -10
- package/src/mySql/newTransaction.js +2 -2
- package/src/mySql/pool/newGenericPool.js +2 -15
- package/src/mySql/quote.js +1 -0
- package/src/newId.js +2 -1
- package/src/newImmutable.js +1 -2
- package/src/oracle/deleteFromSql.js +5 -5
- package/src/oracle/formatDateOut.js +1 -1
- package/src/oracle/insert.js +6 -6
- package/src/oracle/insertSql.js +6 -14
- package/src/oracle/lastInsertedSql.js +3 -3
- package/src/oracle/mergeSql.js +3 -6
- package/src/oracle/newDatabase.js +18 -33
- package/src/oracle/newInsertCommandCore.js +5 -5
- package/src/oracle/newPool.js +10 -10
- package/src/oracle/newTransaction.js +2 -1
- package/src/oracle/pool/newGenericPool.js +2 -14
- package/src/oracle/quote.js +1 -0
- package/src/oracle/wrapQuery.js +0 -3
- package/src/package.json +5 -0
- package/src/patchRow.js +2 -2
- package/src/patchTable.js +6 -5
- package/src/pg/deleteFromSql.js +5 -5
- package/src/pg/formatDateOut.js +1 -2
- package/src/pg/insert.js +3 -3
- package/src/pg/insertSql.js +2 -7
- package/src/pg/lastInsertedSql.js +1 -2
- package/src/pg/newDatabase.js +20 -37
- package/src/pg/newPool.js +10 -10
- package/src/pg/newTransaction.js +2 -1
- package/src/pg/pool/newPgPool.js +23 -16
- package/src/pg/pool/parseSearchPathParam.js +10 -0
- package/src/pg/quote.js +2 -0
- package/src/pg/schema.js +2 -2
- package/src/{mySql/pool/defaults.js → poolDefaults.js} +0 -2
- package/src/promisify.js +24 -0
- package/src/query.js +2 -2
- package/src/sap/deleteFromSql.js +3 -3
- package/src/sap/formatDateOut.js +1 -1
- package/src/sap/insert.js +5 -5
- package/src/sap/insertSql.js +4 -5
- package/src/sap/lastInsertedSql.js +3 -3
- package/src/sap/mergeSql.js +1 -2
- package/src/sap/newDatabase.js +23 -34
- package/src/sap/newPool.js +2 -2
- package/src/sap/newTransaction.js +2 -1
- package/src/sap/quote.js +1 -0
- package/src/sqlite/deleteFromSql.js +5 -5
- package/src/sqlite/insert.js +5 -5
- package/src/sqlite/insertSql.js +2 -2
- package/src/sqlite/lastInsertedSql.js +2 -2
- package/src/sqlite/newDatabase.js +16 -32
- package/src/sqlite/newPool.js +10 -10
- package/src/sqlite/newTransaction.js +2 -1
- package/src/sqlite/pool/newGenericPool.js +1 -13
- package/src/sqlite/quote.js +1 -0
- package/src/table/aggregate.js +1 -1
- package/src/table/begin.js +5 -5
- package/src/table/cascadeDelete.js +2 -2
- package/src/table/column/binary/newDecode.js +2 -2
- package/src/table/column/binary/newEncode.js +3 -4
- package/src/table/column/boolean/newDecode.js +1 -1
- package/src/table/column/boolean/newEncode.js +6 -6
- package/src/table/column/date/formatOut.js +3 -5
- package/src/table/column/date/newDecode.js +2 -2
- package/src/table/column/date/newEncode.js +8 -8
- package/src/table/column/date/tryParseISO.js +6 -8
- package/src/table/column/date.js +1 -1
- package/src/table/column/dateWithTimeZone/newEncode.js +3 -4
- package/src/table/column/dateWithTimeZone.js +1 -1
- package/src/table/column/encodeFilterArg.js +3 -3
- package/src/table/column/equal.js +3 -3
- package/src/table/column/extractAlias.js +0 -2
- package/src/table/column/greaterThan.js +3 -3
- package/src/table/column/greaterThanOrEqual.js +3 -3
- package/src/table/column/guid/newDecode.js +1 -1
- package/src/table/column/guid/newEncode.js +3 -3
- package/src/table/column/in.js +3 -3
- package/src/table/column/json/formatOut.js +3 -3
- package/src/table/column/json/newDecode.js +3 -3
- package/src/table/column/json/newEncode.js +6 -6
- package/src/table/column/json.js +2 -1
- package/src/table/column/lessThan.js +3 -3
- package/src/table/column/lessThanOrEqual.js +4 -4
- package/src/table/column/negotiateRawSqlFilter.js +1 -72
- package/src/table/column/newBoolean.js +2 -53
- package/src/table/column/newColumn.js +21 -21
- package/src/table/column/newDecodeCore.js +1 -1
- package/src/table/column/notEqual.js +3 -3
- package/src/table/column/numeric/newDecode.js +2 -2
- package/src/table/column/numeric/newEncode.js +3 -3
- package/src/table/column/string/contains.js +2 -1
- package/src/table/column/string/containsCore.js +5 -5
- package/src/table/column/string/endsWith.js +1 -1
- package/src/table/column/string/endsWithCore.js +4 -4
- package/src/table/column/string/iContains.js +2 -1
- package/src/table/column/string/iEndsWith.js +1 -1
- package/src/table/column/string/iEqual.js +3 -3
- package/src/table/column/string/iStartsWith.js +1 -1
- package/src/table/column/string/newEncode.js +3 -3
- package/src/table/column/string/startsWith.js +1 -1
- package/src/table/column/string/startsWithCore.js +4 -4
- package/src/table/column/string.js +14 -14
- package/src/table/column/utils.js +113 -0
- package/src/table/column.js +6 -2
- package/src/table/commands/beginCommand.js +2 -2
- package/src/table/commands/compressChanges.js +2 -2
- package/src/table/commands/delete/newSingleCommand.js +5 -5
- package/src/table/commands/delete/singleCommand/joinSql.js +12 -12
- package/src/table/commands/delete/singleCommand/newSingleCommandCore.js +2 -2
- package/src/table/commands/delete/singleCommand/selectSql.js +6 -6
- package/src/table/commands/delete/singleCommand/subFilter.js +11 -11
- package/src/table/commands/delete/singleCommand/whereSql.js +2 -2
- package/src/table/commands/getChangeSet.js +2 -2
- package/src/table/commands/insert/getSqlTemplate.js +16 -16
- package/src/table/commands/lastCommandMatches.js +2 -2
- package/src/table/commands/newDeleteCommand.js +5 -10
- package/src/table/commands/newGetLastInsertedCommand.js +4 -4
- package/src/table/commands/newGetLastInsertedCommandCore.js +5 -5
- package/src/table/commands/newInsertCommand.js +5 -3
- package/src/table/commands/newInsertCommandCore.js +12 -12
- package/src/table/commands/newRow.js +4 -4
- package/src/table/commands/newUpdateCommand.js +4 -4
- package/src/table/commands/newUpdateCommandCore.js +4 -4
- package/src/table/commands/pushCommand.js +2 -2
- package/src/table/commit.js +13 -11
- package/src/table/count.js +8 -8
- package/src/table/delete.js +4 -4
- package/src/table/deleteSessionContext.js +2 -14
- package/src/table/executeQueries/executeChanges.js +3 -3
- package/src/table/executeQueries/executeQueriesCore.js +2 -2
- package/src/table/executeQueries/executeQuery.js +2 -2
- package/src/table/executeQueries/resolveExecuteQuery.js +3 -10
- package/src/table/executeQueries.js +4 -4
- package/src/table/getFromDbById.js +1 -1
- package/src/table/getMany.js +7 -7
- package/src/table/getManyDto.js +3 -4
- package/src/table/getSessionContext.js +4 -4
- package/src/table/getSessionSingleton.js +3 -2
- package/src/table/groupBy/newQuery.js +4 -4
- package/src/table/groupBy.js +9 -9
- package/src/table/insert.js +10 -13
- package/src/table/joinRelation/getRelatives.js +6 -6
- package/src/table/newCascadeDeleteStrategy.js +1 -7
- package/src/table/newGetRelated.js +3 -3
- package/src/table/newManyRelation.js +9 -9
- package/src/table/newOneRelation.js +9 -9
- package/src/table/newPrimaryKeyFilter.js +6 -6
- package/src/table/newQuery.js +5 -5
- package/src/table/newRelatedTable.js +6 -12
- package/src/table/newRowCache.js +17 -17
- package/src/table/newThrow.js +2 -2
- package/src/table/oneRelation/getRelatives.js +5 -5
- package/src/table/popChanges.js +3 -3
- package/src/table/promise.js +2 -8
- package/src/table/query/extractLimit.js +2 -2
- package/src/table/query/extractOffset.js +2 -2
- package/src/table/query/extractOrderBy.js +2 -2
- package/src/table/query/newParameterized.js +8 -11
- package/src/table/query/newSingleQuery.js +7 -7
- package/src/table/query/singleQuery/columnSql/joinLegToColumnSql.js +2 -15
- package/src/table/query/singleQuery/columnSql/newJoinedColumnSql.js +2 -25
- package/src/table/query/singleQuery/columnSql/newShallowColumnSql.js +4 -4
- package/src/table/query/singleQuery/columnSql/sharedJoinUtils.js +37 -0
- package/src/table/query/singleQuery/joinSql/joinLegToJoinSql.js +2 -7
- package/src/table/query/singleQuery/joinSql/joinLegToShallowJoinSql.js +2 -2
- package/src/table/query/singleQuery/joinSql/newDiscriminatorSql.js +2 -2
- package/src/table/query/singleQuery/joinSql/newShallowJoinSql.js +5 -5
- package/src/table/query/singleQuery/joinSql/newShallowJoinSqlCore.js +6 -5
- package/src/table/query/singleQuery/joinSql/oneLegToJoinSql.js +2 -8
- package/src/table/query/singleQuery/joinSql/oneLegToShallowJoinSql.js +2 -2
- package/src/table/query/singleQuery/negotiateExclusive.js +2 -2
- package/src/table/query/singleQuery/newColumnSql.js +3 -3
- package/src/table/query/singleQuery/newDiscriminatorSql.js +2 -2
- package/src/table/query/singleQuery/newJoinSql.js +7 -7
- package/src/table/query/singleQuery/newWhereSql.js +3 -3
- package/src/table/quote.js +4 -4
- package/src/table/relatedTable/aggregate.js +2 -8
- package/src/table/relatedTable/all.js +6 -12
- package/src/table/relatedTable/any.js +4 -11
- package/src/table/relatedTable/childColumn.js +12 -12
- package/src/table/relatedTable/columnAggregate.js +3 -3
- package/src/table/relatedTable/columnAggregateGroup.js +11 -11
- package/src/table/relatedTable/joinSql.js +5 -5
- package/src/table/relatedTable/joinSqlArray.js +3 -3
- package/src/table/relatedTable/none.js +4 -10
- package/src/table/relatedTable/relatedColumn.js +13 -13
- package/src/table/relatedTable/selectSql.js +2 -2
- package/src/table/relatedTable/subFilter.js +4 -4
- package/src/table/relatedTable/where.js +3 -9
- package/src/table/relatedTable/whereSql.js +2 -2
- package/src/table/relation/manyCache/synchronizeAdded.js +2 -2
- package/src/table/relation/manyCache/synchronizeChanged.js +3 -3
- package/src/table/relation/manyCache/synchronizeRemoved.js +2 -2
- package/src/table/relation/newForeignKeyFilter.js +2 -2
- package/src/table/relation/newManyCache.js +25 -17
- package/src/table/relation/newOneCache.js +6 -6
- package/src/table/releaseDbClient.js +4 -4
- package/src/table/resultToPromise.js +1 -3
- package/src/table/resultToRows/dbRowToRow.js +6 -13
- package/src/table/resultToRows/dbRowsToRows.js +2 -2
- package/src/table/resultToRows/decodeDbRow.js +2 -2
- package/src/table/resultToRows/delete/removeFromCache.js +4 -11
- package/src/table/resultToRows/delete.js +6 -6
- package/src/table/resultToRows/newDecodeDbRow.js +19 -25
- package/src/table/resultToRows/toDto/extractStrategy.js +1 -7
- package/src/table/resultToRows/toDto.js +3 -3
- package/src/table/resultToRows.js +3 -3
- package/src/table/rollback.js +21 -11
- package/src/table/rowArray/negotiateNextTick.js +1 -2
- package/src/table/setSessionSingleton.js +6 -3
- package/src/table/tryGetFirstFromDb.js +4 -4
- package/src/table/tryGetFromCacheById.js +3 -3
- package/src/table/tryGetFromDbById/extractStrategy.js +2 -2
- package/src/table/tryGetFromDbById.js +8 -6
- package/src/table/tryGetSessionContext.js +3 -13
- package/src/table/tryReleaseDbClient.js +2 -2
- package/src/table/updateField.js +4 -4
- package/src/table/where.js +2 -2
- package/src/table.js +56 -53
- package/src/tedious/deleteFromSql.js +5 -5
- package/src/tedious/formatDateOut.js +1 -1
- package/src/tedious/getManyDto/newQueryCore.js +5 -5
- package/src/tedious/getManyDto/query/newSingleQuery.js +5 -5
- package/src/tedious/getManyDto/query/newSubQueries/joinLegToQuery.js +4 -5
- package/src/tedious/getManyDto/query/newSubQueries/manyLegToQuery.js +4 -5
- package/src/tedious/getManyDto/query/newSubQueries/oneLegToQuery.js +13 -14
- package/src/tedious/getManyDto/query/newSubQueries.js +9 -26
- package/src/tedious/getManyDto/query/singleQuery/newShallowColumnSql.js +5 -6
- package/src/tedious/getManyDto.js +6 -6
- package/src/tedious/insert.js +3 -3
- package/src/tedious/insertSql.js +3 -3
- package/src/tedious/newDatabase.js +17 -30
- package/src/tedious/newPool.js +10 -10
- package/src/tedious/newTransaction.js +3 -4
- package/src/tedious/pool/newGenericPool.js +1 -13
- package/src/tedious/quote.js +1 -0
- package/src/validateDeleteConflict.js +4 -2
- package/src/createDomain/negotiateForwardProperty.js +0 -23
- package/src/d1/pool/defaults.js +0 -45
- package/src/mssql/pool/defaults.js +0 -45
- package/src/oracle/pool/defaults.js +0 -45
- package/src/pg/pool/defaults.js +0 -45
- package/src/sqlite/pool/defaults.js +0 -45
- package/src/table/createJSONReadStream.js +0 -7
- package/src/table/createJSONReadStreamDefault.js +0 -33
- package/src/table/createJSONReadStreamNative.js +0 -31
- package/src/table/createReadStream.js +0 -24
- package/src/table/createReadStreamCoreNative.js +0 -40
- package/src/table/createReadStreamDefault.js +0 -102
- package/src/table/createReadStreamNative.js +0 -17
- package/src/table/readStream/extractLimit.js +0 -7
- package/src/table/readStream/extractOrderBy.js +0 -59
- package/src/table/readStream/mySql/newQuery.js +0 -16
- package/src/table/readStream/mySql/query/newSingleQuery.js +0 -21
- package/src/table/readStream/mySql/query/newSubQueries/joinLegToQuery.js +0 -20
- package/src/table/readStream/mySql/query/newSubQueries/manyLegToQuery.js +0 -22
- package/src/table/readStream/mySql/query/newSubQueries/newQueryCore.js +0 -9
- package/src/table/readStream/mySql/query/newSubQueries/newSingleQueryCore.js +0 -18
- package/src/table/readStream/mySql/query/newSubQueries/oneLegToQuery.js +0 -22
- package/src/table/readStream/mySql/query/newSubQueries.js +0 -47
- package/src/table/readStream/mySql/query/singleQuery/newShallowColumnSql.js +0 -18
- package/src/table/readStream/newQuery.js +0 -32
- package/src/table/readStream/newQueryStream.js +0 -8
- package/src/table/readStream/pg/newQuery.js +0 -8
- package/src/table/readStream/pg/newQueryCore.js +0 -17
- package/src/table/readStream/pg/query/newSingleQuery.js +0 -19
- package/src/table/readStream/pg/query/newSubQueries/joinLegToQuery.js +0 -19
- package/src/table/readStream/pg/query/newSubQueries/manyLegToQuery.js +0 -22
- package/src/table/readStream/pg/query/newSubQueries/oneLegToQuery.js +0 -19
- package/src/table/readStream/pg/query/newSubQueries.js +0 -47
- package/src/table/readStream/pg/query/singleQuery/newShallowColumnSql.js +0 -20
- package/src/table/readStreamDefault/createBatchFilter.js +0 -39
- package/src/tedious/pool/defaults.js +0 -45
- package/src/useHook.js +0 -9
package/src/hostExpress.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
const getTSDefinition = require('./getTSDefinition');
|
|
2
|
-
let hostLocal = _hostLocal;
|
|
2
|
+
// let hostLocal = _hostLocal;
|
|
3
3
|
const getMeta = require('./hostExpress/getMeta');
|
|
4
4
|
|
|
5
|
-
function hostExpress(client, options = {}) {
|
|
5
|
+
function hostExpress(hostLocal, client, options = {}) {
|
|
6
6
|
if ('db' in options && (options.db ?? undefined) === undefined || !client.db)
|
|
7
7
|
throw new Error('No db specified');
|
|
8
8
|
const dbOptions = { db: options.db || client.db };
|
|
@@ -117,9 +117,4 @@ function hostExpress(client, options = {}) {
|
|
|
117
117
|
return handler;
|
|
118
118
|
}
|
|
119
119
|
|
|
120
|
-
function _hostLocal() {
|
|
121
|
-
hostLocal = require('./hostLocal');
|
|
122
|
-
return hostLocal.apply(null, arguments);
|
|
123
|
-
}
|
|
124
|
-
|
|
125
120
|
module.exports = hostExpress;
|
package/src/hostLocal.js
CHANGED
|
@@ -44,10 +44,10 @@ function hostLocal() {
|
|
|
44
44
|
}
|
|
45
45
|
return result;
|
|
46
46
|
|
|
47
|
-
async function fn() {
|
|
48
|
-
setSessionSingleton('ignoreSerializable', true);
|
|
47
|
+
async function fn(context) {
|
|
48
|
+
setSessionSingleton(context, 'ignoreSerializable', true);
|
|
49
49
|
let patch = body.patch;
|
|
50
|
-
result = await table.patch(patch, { ..._options, ...body.options, isHttp });
|
|
50
|
+
result = await table.patch(context, patch, { ..._options, ...body.options, isHttp });
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
|
|
@@ -72,10 +72,10 @@ function hostLocal() {
|
|
|
72
72
|
}
|
|
73
73
|
return result;
|
|
74
74
|
|
|
75
|
-
async function fn() {
|
|
76
|
-
setSessionSingleton('ignoreSerializable', true);
|
|
75
|
+
async function fn(context) {
|
|
76
|
+
setSessionSingleton(context, 'ignoreSerializable', true);
|
|
77
77
|
const options = { ..._options, ...body.options, JSONFilter: body, request, response, isHttp };
|
|
78
|
-
result = await executePath(options);
|
|
78
|
+
result = await executePath(context, options);
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
81
|
async function query() {
|
|
@@ -97,14 +97,14 @@ function hostLocal() {
|
|
|
97
97
|
|
|
98
98
|
return result;
|
|
99
99
|
|
|
100
|
-
async function fn() {
|
|
101
|
-
result = await executeQuery.apply(null, args);
|
|
100
|
+
async function fn(...args1) {
|
|
101
|
+
result = await executeQuery.apply(null, [...args1, ...args]);
|
|
102
102
|
}
|
|
103
103
|
|
|
104
104
|
}
|
|
105
105
|
|
|
106
106
|
function express(client, options) {
|
|
107
|
-
return hostExpress(client, options);
|
|
107
|
+
return hostExpress(hostLocal, client, options);
|
|
108
108
|
}
|
|
109
109
|
|
|
110
110
|
return c;
|
package/src/index.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
1
|
+
const hostExpress = require('./hostExpress');
|
|
2
|
+
const hostLocal = require('./hostLocal');
|
|
3
|
+
const client = require('./client/index.js');
|
|
4
|
+
const map = require('./client/map');
|
|
5
|
+
let _mySql;
|
|
6
|
+
let _pg;
|
|
7
|
+
let _sqlite;
|
|
8
|
+
let _mssqlNative;
|
|
9
|
+
let _sap;
|
|
10
|
+
let _mssql;
|
|
11
|
+
let _oracle;
|
|
12
|
+
let _d1;
|
|
13
13
|
|
|
14
14
|
var connectViaPool = function(connectionString) {
|
|
15
15
|
if (connectionString.indexOf && connectionString.indexOf('mysql') === 0)
|
|
@@ -52,7 +52,6 @@ Object.defineProperty(connectViaPool, 'mySql', {
|
|
|
52
52
|
return _mySql;
|
|
53
53
|
}
|
|
54
54
|
});
|
|
55
|
-
|
|
56
55
|
Object.defineProperty(connectViaPool, 'postgres', {
|
|
57
56
|
get: function() {
|
|
58
57
|
if (!_pg)
|
|
@@ -117,9 +116,6 @@ Object.defineProperty(connectViaPool, 'oracle', {
|
|
|
117
116
|
}
|
|
118
117
|
});
|
|
119
118
|
|
|
120
|
-
connectViaPool.express = hostExpress;
|
|
121
|
-
connectViaPool.useHook = function(bool) {
|
|
122
|
-
flags.useHook = bool;
|
|
123
|
-
};
|
|
119
|
+
connectViaPool.express = hostExpress.bind(null, hostLocal);
|
|
124
120
|
|
|
125
121
|
module.exports = connectViaPool;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
const hostExpress = require('./hostExpress');
|
|
2
|
+
const hostLocal = require('./hostLocal');
|
|
3
|
+
const client = require('./client/index.js');
|
|
4
|
+
const map = require('./client/map');
|
|
5
|
+
let _d1;
|
|
6
|
+
|
|
7
|
+
var connectViaPool = function() {
|
|
8
|
+
return client.apply(null, arguments);
|
|
9
|
+
};
|
|
10
|
+
connectViaPool.createPatch = client.createPatch;
|
|
11
|
+
connectViaPool.table = require('./table');
|
|
12
|
+
connectViaPool.filter = require('./emptyFilter');
|
|
13
|
+
connectViaPool.commit = require('./table/commit');
|
|
14
|
+
connectViaPool.rollback = require('./table/rollback');
|
|
15
|
+
connectViaPool.end = require('./pools').end;
|
|
16
|
+
connectViaPool.log = require('./table/log').registerLogger;
|
|
17
|
+
connectViaPool.on = require('./table/log').on;
|
|
18
|
+
connectViaPool.off = require('./table/log').off;
|
|
19
|
+
connectViaPool.query = require('./query');
|
|
20
|
+
connectViaPool.lock = require('./lock');
|
|
21
|
+
connectViaPool.schema = require('./pg/schema');
|
|
22
|
+
connectViaPool.map = map.bind(null, connectViaPool);
|
|
23
|
+
|
|
24
|
+
connectViaPool.http = function(url) {
|
|
25
|
+
return url;
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
Object.defineProperty(connectViaPool, 'd1', {
|
|
30
|
+
get: function() {
|
|
31
|
+
if (!_d1)
|
|
32
|
+
_d1 = require('./d1/newDatabase');
|
|
33
|
+
return _d1;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
connectViaPool.express = hostExpress.bind(null, hostLocal);
|
|
38
|
+
|
|
39
|
+
module.exports = connectViaPool;
|
package/src/mssql/newDatabase.js
CHANGED
|
@@ -4,10 +4,6 @@ let _begin = require('../table/begin');
|
|
|
4
4
|
let commit = require('../table/commit');
|
|
5
5
|
let rollback = require('../table/rollback');
|
|
6
6
|
let newPool = require('./newPool');
|
|
7
|
-
let useHook = require('../useHook');
|
|
8
|
-
let promise = require('promise/domains');
|
|
9
|
-
let versionArray = process.version.replace('v', '').split('.');
|
|
10
|
-
let major = parseInt(versionArray[0]);
|
|
11
7
|
let express = require('../hostExpress');
|
|
12
8
|
let hostLocal = require('../hostLocal');
|
|
13
9
|
let doQuery = require('../query');
|
|
@@ -34,10 +30,6 @@ function newDatabase(connectionString, poolOptions) {
|
|
|
34
30
|
|
|
35
31
|
if (fn)
|
|
36
32
|
return domain.run(runInTransaction);
|
|
37
|
-
else if ((major >= 12) && useHook()) {
|
|
38
|
-
domain.exitContext = true;
|
|
39
|
-
return domain.start().then(run);
|
|
40
|
-
}
|
|
41
33
|
else
|
|
42
34
|
return domain.run(run);
|
|
43
35
|
|
|
@@ -46,67 +38,63 @@ function newDatabase(connectionString, poolOptions) {
|
|
|
46
38
|
let transaction = newTransaction(domain, pool, options);
|
|
47
39
|
await new Promise(transaction)
|
|
48
40
|
.then(begin)
|
|
49
|
-
.then(fn)
|
|
41
|
+
.then(() => fn(domain))
|
|
50
42
|
.then((res) => result = res)
|
|
51
|
-
.then(c.commit)
|
|
52
|
-
.then(null, c.rollback);
|
|
43
|
+
.then(() => c.commit(domain))
|
|
44
|
+
.then(null, (e) => c.rollback(domain, e));
|
|
53
45
|
return result;
|
|
54
46
|
}
|
|
55
47
|
|
|
56
48
|
function begin() {
|
|
57
|
-
return _begin(options
|
|
49
|
+
return _begin(domain, options);
|
|
58
50
|
}
|
|
59
51
|
|
|
60
52
|
function run() {
|
|
61
53
|
let p;
|
|
62
54
|
let transaction = newTransaction(domain, pool, options);
|
|
63
|
-
|
|
64
|
-
p = new Promise(transaction);
|
|
65
|
-
else
|
|
66
|
-
p = new promise(transaction);
|
|
55
|
+
p = new Promise(transaction);
|
|
67
56
|
|
|
68
57
|
return p.then(begin);
|
|
69
58
|
}
|
|
70
59
|
|
|
71
60
|
};
|
|
72
61
|
|
|
73
|
-
c.createTransaction = function() {
|
|
62
|
+
c.createTransaction = function(options) {
|
|
74
63
|
let domain = createDomain();
|
|
75
64
|
let transaction = newTransaction(domain, pool);
|
|
76
|
-
let p = domain.run(() => new Promise(transaction).then(
|
|
65
|
+
let p = domain.run(() => new Promise(transaction).then(begin));
|
|
77
66
|
|
|
78
67
|
function run(fn) {
|
|
79
68
|
return p.then(domain.run.bind(domain, fn));
|
|
80
69
|
}
|
|
81
|
-
return run;
|
|
82
|
-
};
|
|
83
70
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
var domain = process.domain;
|
|
87
|
-
let p = domain.run(() => true);
|
|
88
|
-
|
|
89
|
-
function run(fn) {
|
|
90
|
-
return p.then(domain.run.bind(domain, fn));
|
|
71
|
+
function begin() {
|
|
72
|
+
return _begin(domain, options);
|
|
91
73
|
}
|
|
74
|
+
|
|
75
|
+
run.rollback = rollback.bind(null, domain);
|
|
76
|
+
run.commit = commit.bind(null, domain);
|
|
77
|
+
|
|
92
78
|
return run;
|
|
79
|
+
|
|
80
|
+
|
|
93
81
|
};
|
|
94
82
|
|
|
95
83
|
c.query = function(query) {
|
|
96
84
|
let domain = createDomain();
|
|
97
85
|
let transaction = newTransaction(domain, pool);
|
|
98
86
|
let p = domain.run(() => new Promise(transaction)
|
|
99
|
-
.then(() => setSessionSingleton('changes', []))
|
|
100
|
-
.then(() => doQuery(query).then(onResult, onError)));
|
|
87
|
+
.then(() => setSessionSingleton(domain, 'changes', []))
|
|
88
|
+
.then(() => doQuery(domain, query).then(onResult, onError)));
|
|
101
89
|
return p;
|
|
102
90
|
|
|
103
91
|
function onResult(result) {
|
|
104
|
-
releaseDbClient();
|
|
92
|
+
releaseDbClient(domain);
|
|
105
93
|
return result;
|
|
106
94
|
}
|
|
107
95
|
|
|
108
96
|
function onError(e) {
|
|
109
|
-
releaseDbClient();
|
|
97
|
+
releaseDbClient(domain);
|
|
110
98
|
throw e;
|
|
111
99
|
}
|
|
112
100
|
};
|
package/src/mssql/newPool.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
const promisify = require('../promisify');
|
|
1
2
|
var pools = require('../pools');
|
|
2
|
-
var promise = require('../table/promise');
|
|
3
3
|
var end = require('./pool/end');
|
|
4
4
|
var newGenericPool = require('./pool/newGenericPool');
|
|
5
5
|
var newId = require('../newId');
|
|
@@ -11,7 +11,7 @@ function newPool(connectionString, poolOptions) {
|
|
|
11
11
|
var c = {};
|
|
12
12
|
|
|
13
13
|
c.connect = pool.connect;
|
|
14
|
-
c.end =
|
|
14
|
+
c.end = promisify(boundEnd);
|
|
15
15
|
pools[id] = c;
|
|
16
16
|
return c;
|
|
17
17
|
}
|
|
@@ -2,11 +2,12 @@ var wrapQuery = require('./wrapQuery');
|
|
|
2
2
|
var encodeBoolean = require('../tedious/encodeBoolean');
|
|
3
3
|
var deleteFromSql = require('../tedious/deleteFromSql');
|
|
4
4
|
var selectForUpdateSql = require('../tedious/selectForUpdateSql');
|
|
5
|
-
var outputInsertedSql = require('../tedious/outputInsertedSql');
|
|
6
5
|
const limitAndOffset = require('../tedious/limitAndOffset');
|
|
7
6
|
const formatDateOut = require('../tedious/formatDateOut');
|
|
7
|
+
const formatJSONOut = require('../tedious/formatJSONOut');
|
|
8
8
|
const insertSql = require('../tedious/insertSql');
|
|
9
9
|
const insert = require('../tedious/insert');
|
|
10
|
+
const quote = require('../tedious/quote');
|
|
10
11
|
|
|
11
12
|
function newResolveTransaction(domain, pool, { readonly = false } = {}) {
|
|
12
13
|
var rdb = {poolFactory: pool};
|
|
@@ -19,9 +20,9 @@ function newResolveTransaction(domain, pool, { readonly = false } = {}) {
|
|
|
19
20
|
rdb.decodeJSON = decodeJSON;
|
|
20
21
|
rdb.encodeJSON = JSON.stringify;
|
|
21
22
|
rdb.formatDateOut = formatDateOut;
|
|
23
|
+
rdb.formatJSONOut = formatJSONOut;
|
|
22
24
|
rdb.deleteFromSql = deleteFromSql;
|
|
23
25
|
rdb.selectForUpdateSql = selectForUpdateSql;
|
|
24
|
-
rdb.outputInsertedSql = outputInsertedSql;
|
|
25
26
|
rdb.insertSql = insertSql;
|
|
26
27
|
rdb.insert = insert;
|
|
27
28
|
rdb.lastInsertedIsSeparate = false;
|
|
@@ -40,7 +41,7 @@ function newResolveTransaction(domain, pool, { readonly = false } = {}) {
|
|
|
40
41
|
caller.visitSqlite();
|
|
41
42
|
};
|
|
42
43
|
rdb.aggregateCount = 0;
|
|
43
|
-
rdb.quote =
|
|
44
|
+
rdb.quote = quote;
|
|
44
45
|
|
|
45
46
|
if (readonly) {
|
|
46
47
|
rdb.dbClient = {
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
// @ts-nocheck
|
|
2
2
|
/* eslint-disable no-prototype-builtins */
|
|
3
|
-
var EventEmitter = require('events').EventEmitter;
|
|
4
3
|
|
|
5
|
-
var defaults = require('
|
|
4
|
+
var defaults = require('../../poolDefaults');
|
|
6
5
|
var genericPool = require('../../generic-pool');
|
|
7
6
|
var mssql = require('msnodesqlv8');
|
|
8
7
|
|
|
@@ -31,20 +30,9 @@ function newGenericPool(connectionString, poolOptions) {
|
|
|
31
30
|
client.close();
|
|
32
31
|
}
|
|
33
32
|
});
|
|
34
|
-
//mixin EventEmitter to pool
|
|
35
|
-
EventEmitter.call(pool);
|
|
36
|
-
for(var key in EventEmitter.prototype) {
|
|
37
|
-
if(EventEmitter.prototype.hasOwnProperty(key)) {
|
|
38
|
-
pool[key] = EventEmitter.prototype[key];
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
33
|
//monkey-patch with connect method
|
|
42
34
|
pool.connect = function(cb) {
|
|
43
|
-
var domain = process.domain;
|
|
44
35
|
pool.acquire(function(err, client) {
|
|
45
|
-
if(domain) {
|
|
46
|
-
cb = domain.bind(cb);
|
|
47
|
-
}
|
|
48
36
|
if(err) return cb(err, null, function() {/*NOOP*/});
|
|
49
37
|
client.poolCount++;
|
|
50
38
|
cb(null, client, function(err) {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const quote = require('
|
|
1
|
+
const format = 'delete %s from %s as %s%s';
|
|
2
|
+
const formatString = require('../format');
|
|
3
|
+
const quote = require('./quote');
|
|
4
4
|
|
|
5
5
|
function deleteFromSql(table, alias, whereSql) {
|
|
6
|
-
|
|
6
|
+
const name = quote(table._dbName);
|
|
7
7
|
alias = quote(alias);
|
|
8
|
-
return
|
|
8
|
+
return formatString(format, alias, name, alias, whereSql);
|
|
9
9
|
}
|
|
10
10
|
module.exports = deleteFromSql;
|
package/src/mySql/insert.js
CHANGED
|
@@ -5,16 +5,16 @@ let executeQueries = require('../table/executeQueries');
|
|
|
5
5
|
let pushCommand = require('../table/commands/pushCommand');
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
function insertDefault(table, row, options) {
|
|
8
|
+
function insertDefault(context, table, row, options) {
|
|
9
9
|
let commands = [];
|
|
10
|
-
let insertCmd = newInsertCommand(newInsertCommandCore, table, row, options);
|
|
10
|
+
let insertCmd = newInsertCommand(newInsertCommandCore.bind(null, context), table, row, options);
|
|
11
11
|
insertCmd.disallowCompress = true;
|
|
12
|
-
pushCommand(insertCmd);
|
|
12
|
+
pushCommand(context, insertCmd);
|
|
13
13
|
|
|
14
|
-
let selectCmd = newGetLastInsertedCommand(table, row, insertCmd);
|
|
14
|
+
let selectCmd = newGetLastInsertedCommand(context, table, row, insertCmd);
|
|
15
15
|
commands.push(selectCmd);
|
|
16
16
|
|
|
17
|
-
return executeQueries(commands).then((result) => result[result.length - 1]);
|
|
17
|
+
return executeQueries(context, commands).then((result) => result[result.length - 1]);
|
|
18
18
|
|
|
19
19
|
}
|
|
20
20
|
|
package/src/mySql/insertSql.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
const
|
|
1
|
+
const quote = require('./quote');
|
|
2
2
|
|
|
3
|
-
function insertSql(table, row, options) {
|
|
4
|
-
const quote = getSessionSingleton('quote');
|
|
3
|
+
function insertSql(_context, table, row, options) {
|
|
5
4
|
let columnNames = [];
|
|
6
5
|
let regularColumnNames = [];
|
|
7
6
|
let conflictColumnUpdateSql = '';
|
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
const
|
|
1
|
+
const quote = require('./quote');
|
|
2
2
|
|
|
3
|
-
function lastInsertedSql(table, keyValues) {
|
|
4
|
-
const quote = getSessionSingleton('quote');
|
|
3
|
+
function lastInsertedSql(context,table, keyValues) {
|
|
5
4
|
return keyValues.map((value,i) => {
|
|
6
5
|
let column = table._primaryColumns[i];
|
|
7
6
|
if (value === undefined && column.tsType === 'NumberColumn')
|
|
8
7
|
return `${quote(column._dbName)}=LAST_INSERT_ID()`;
|
|
9
8
|
else
|
|
10
|
-
return column.eq(value);
|
|
9
|
+
return column.eq(context, value);
|
|
11
10
|
});
|
|
12
11
|
}
|
|
13
12
|
|
package/src/mySql/newDatabase.js
CHANGED
|
@@ -4,10 +4,6 @@ let _begin = require('../table/begin');
|
|
|
4
4
|
let commit = require('../table/commit');
|
|
5
5
|
let rollback = require('../table/rollback');
|
|
6
6
|
let newPool = require('./newPool');
|
|
7
|
-
let useHook = require('../useHook');
|
|
8
|
-
let promise = require('promise/domains');
|
|
9
|
-
let versionArray = process.version.replace('v', '').split('.');
|
|
10
|
-
let major = parseInt(versionArray[0]);
|
|
11
7
|
let express = require('../hostExpress');
|
|
12
8
|
let hostLocal = require('../hostLocal');
|
|
13
9
|
let doQuery = require('../query');
|
|
@@ -19,11 +15,11 @@ function newDatabase(connectionString, poolOptions) {
|
|
|
19
15
|
throw new Error('Connection string cannot be empty');
|
|
20
16
|
var pool;
|
|
21
17
|
if (!poolOptions)
|
|
22
|
-
pool = newPool.bind(null,connectionString, poolOptions);
|
|
18
|
+
pool = newPool.bind(null, connectionString, poolOptions);
|
|
23
19
|
else
|
|
24
20
|
pool = newPool(connectionString, poolOptions);
|
|
25
21
|
|
|
26
|
-
let c = {poolFactory: pool, hostLocal, express};
|
|
22
|
+
let c = { poolFactory: pool, hostLocal, express };
|
|
27
23
|
|
|
28
24
|
c.transaction = function(options, fn) {
|
|
29
25
|
if ((arguments.length === 1) && (typeof options === 'function')) {
|
|
@@ -34,10 +30,7 @@ function newDatabase(connectionString, poolOptions) {
|
|
|
34
30
|
|
|
35
31
|
if (fn)
|
|
36
32
|
return domain.run(runInTransaction);
|
|
37
|
-
else
|
|
38
|
-
domain.exitContext = true;
|
|
39
|
-
return domain.start().then(run);
|
|
40
|
-
} else
|
|
33
|
+
else
|
|
41
34
|
return domain.run(run);
|
|
42
35
|
|
|
43
36
|
async function runInTransaction() {
|
|
@@ -45,67 +38,60 @@ function newDatabase(connectionString, poolOptions) {
|
|
|
45
38
|
let transaction = newTransaction(domain, pool, options);
|
|
46
39
|
await new Promise(transaction)
|
|
47
40
|
.then(begin)
|
|
48
|
-
.then(fn)
|
|
41
|
+
.then(() => fn(domain))
|
|
49
42
|
.then((res) => result = res)
|
|
50
|
-
.then(
|
|
51
|
-
.then(null,
|
|
43
|
+
.then(() => commit(domain))
|
|
44
|
+
.then(null, (e) => rollback(domain, e));
|
|
52
45
|
return result;
|
|
53
46
|
}
|
|
54
47
|
|
|
55
48
|
function begin() {
|
|
56
|
-
return _begin(options
|
|
49
|
+
return _begin(domain, options);
|
|
57
50
|
}
|
|
58
51
|
|
|
59
52
|
function run() {
|
|
60
53
|
let p;
|
|
61
54
|
let transaction = newTransaction(domain, pool, options);
|
|
62
|
-
|
|
63
|
-
p = new Promise(transaction);
|
|
64
|
-
else
|
|
65
|
-
p = new promise(transaction);
|
|
55
|
+
p = new Promise(transaction);
|
|
66
56
|
|
|
67
57
|
return p.then(begin);
|
|
68
58
|
}
|
|
69
59
|
|
|
70
60
|
};
|
|
71
61
|
|
|
72
|
-
c.createTransaction = function() {
|
|
62
|
+
c.createTransaction = function(options) {
|
|
73
63
|
let domain = createDomain();
|
|
74
64
|
let transaction = newTransaction(domain, pool);
|
|
75
|
-
let p = domain.run(() => new Promise(transaction).then(
|
|
65
|
+
let p = domain.run(() => new Promise(transaction).then(begin));
|
|
76
66
|
|
|
77
67
|
function run(fn) {
|
|
78
|
-
return p.then(
|
|
68
|
+
return p.then(() => fn(domain));
|
|
79
69
|
}
|
|
70
|
+
run.rollback = rollback.bind(null, domain);
|
|
71
|
+
run.commit = commit.bind(null, domain);
|
|
80
72
|
return run;
|
|
81
|
-
};
|
|
82
73
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
var domain = process.domain;
|
|
86
|
-
let p = domain.run(() => true);
|
|
87
|
-
|
|
88
|
-
function run(fn) {
|
|
89
|
-
return p.then(domain.run.bind(domain, fn));
|
|
74
|
+
function begin() {
|
|
75
|
+
return _begin(domain, options);
|
|
90
76
|
}
|
|
91
|
-
return run;
|
|
92
77
|
};
|
|
93
78
|
|
|
79
|
+
|
|
94
80
|
c.query = function(query) {
|
|
95
81
|
let domain = createDomain();
|
|
96
82
|
let transaction = newTransaction(domain, pool);
|
|
97
83
|
let p = domain.run(() => new Promise(transaction)
|
|
98
|
-
.then(() => setSessionSingleton('changes', []))
|
|
99
|
-
.then(() => doQuery(query).then(onResult, onError)));
|
|
84
|
+
.then(() => setSessionSingleton(domain, 'changes', []))
|
|
85
|
+
.then(() => doQuery(domain, query).then(onResult, onError)));
|
|
100
86
|
return p;
|
|
101
87
|
|
|
102
88
|
function onResult(result) {
|
|
103
|
-
releaseDbClient();
|
|
89
|
+
releaseDbClient(domain);
|
|
104
90
|
return result;
|
|
105
91
|
}
|
|
106
92
|
|
|
107
93
|
function onError(e) {
|
|
108
|
-
releaseDbClient();
|
|
94
|
+
releaseDbClient(domain);
|
|
109
95
|
throw e;
|
|
110
96
|
}
|
|
111
97
|
};
|
package/src/mySql/newPool.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
const promisify = require('../promisify');
|
|
2
|
+
const pools = require('../pools');
|
|
3
|
+
const end = require('./pool/end');
|
|
4
|
+
const newGenericPool = require('./pool/newGenericPool');
|
|
5
|
+
const newId = require('../newId');
|
|
6
6
|
|
|
7
7
|
function newPool(connectionString, poolOptions) {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
let pool = newGenericPool(connectionString, poolOptions);
|
|
9
|
+
let id = newId();
|
|
10
|
+
let boundEnd = end.bind(null, pool, id);
|
|
11
|
+
let c = {};
|
|
12
12
|
|
|
13
13
|
c.connect = pool.connect;
|
|
14
|
-
c.end =
|
|
14
|
+
c.end = promisify(boundEnd);
|
|
15
15
|
pools[id] = c;
|
|
16
16
|
return c;
|
|
17
17
|
}
|
|
@@ -6,6 +6,7 @@ const lastInsertedSql = require('./lastInsertedSql');
|
|
|
6
6
|
const limitAndOffset = require('./limitAndOffset');
|
|
7
7
|
const insertSql = require('./insertSql');
|
|
8
8
|
const insert = require('./insert');
|
|
9
|
+
const quote = require('./quote');
|
|
9
10
|
|
|
10
11
|
function newResolveTransaction(domain, pool, { readonly = false } = {}) {
|
|
11
12
|
var rdb = {poolFactory: pool};
|
|
@@ -28,8 +29,7 @@ function newResolveTransaction(domain, pool, { readonly = false } = {}) {
|
|
|
28
29
|
caller.visitMySql();
|
|
29
30
|
};
|
|
30
31
|
rdb.aggregateCount = 0;
|
|
31
|
-
rdb.quote =
|
|
32
|
-
|
|
32
|
+
rdb.quote = quote;
|
|
33
33
|
|
|
34
34
|
if (readonly) {
|
|
35
35
|
rdb.dbClient = {
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
// @ts-nocheck
|
|
2
2
|
/* eslint-disable no-prototype-builtins */
|
|
3
|
-
var
|
|
4
|
-
|
|
5
|
-
var defaults = require('./defaults');
|
|
3
|
+
var defaults = require('../../poolDefaults');
|
|
6
4
|
var genericPool = require('../../generic-pool');
|
|
7
5
|
var mysql = require('mysql2');
|
|
8
6
|
|
|
@@ -16,7 +14,7 @@ function newGenericPool(connectionString, poolOptions) {
|
|
|
16
14
|
max: poolOptions.size || poolOptions.poolSize || defaults.poolSize,
|
|
17
15
|
idleTimeoutMillis: poolOptions.idleTimeout || defaults.poolIdleTimeout,
|
|
18
16
|
reapIntervalMillis: poolOptions.reapIntervalMillis || defaults.reapIntervalMillis,
|
|
19
|
-
log: poolOptions.log
|
|
17
|
+
log: poolOptions.log,
|
|
20
18
|
create: function(cb) {
|
|
21
19
|
var innerPool = mysql.createPool(connectionString);
|
|
22
20
|
return cb(null, innerPool);
|
|
@@ -36,20 +34,9 @@ function newGenericPool(connectionString, poolOptions) {
|
|
|
36
34
|
client.end();
|
|
37
35
|
}
|
|
38
36
|
});
|
|
39
|
-
//mixin EventEmitter to pool
|
|
40
|
-
EventEmitter.call(pool);
|
|
41
|
-
for(var key in EventEmitter.prototype) {
|
|
42
|
-
if(EventEmitter.prototype.hasOwnProperty(key)) {
|
|
43
|
-
pool[key] = EventEmitter.prototype[key];
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
37
|
//monkey-patch with connect method
|
|
47
38
|
pool.connect = function(cb) {
|
|
48
|
-
var domain = process.domain;
|
|
49
39
|
pool.acquire(function(err, client) {
|
|
50
|
-
if(domain) {
|
|
51
|
-
cb = domain.bind(cb);
|
|
52
|
-
}
|
|
53
40
|
if(err) return cb(err, null, function() {/*NOOP*/});
|
|
54
41
|
client.poolCount++;
|
|
55
42
|
cb(null, client, function(err) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = (name) => `\`${name}\``;
|
package/src/newId.js
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
const { v4 : uuid} = require('uuid');
|
|
2
|
+
module.exports = uuid;
|
package/src/newImmutable.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const quote = require('
|
|
1
|
+
const format = 'delete from %s where %s.rowId in (SELECT %s.rowId FROM %s %s%s)';
|
|
2
|
+
const formatString = require('../format');
|
|
3
|
+
const quote = require('./quote');
|
|
4
4
|
|
|
5
5
|
function deleteFromSql(table, alias, whereSql) {
|
|
6
|
-
|
|
6
|
+
const name = quote(table._dbName);
|
|
7
7
|
alias = quote(alias);
|
|
8
|
-
return
|
|
8
|
+
return formatString(format, name, name, alias, name, alias, whereSql);
|
|
9
9
|
}
|
|
10
10
|
module.exports = deleteFromSql;
|