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
|
@@ -1,12 +1,32 @@
|
|
|
1
|
+
import json from '@rollup/plugin-json';
|
|
1
2
|
import commonjs from '@rollup/plugin-commonjs';
|
|
2
3
|
import nodeResolve from '@rollup/plugin-node-resolve';
|
|
3
4
|
|
|
4
5
|
export default {
|
|
5
|
-
input: './src/
|
|
6
|
+
input: './src/indexBrowser.js',
|
|
6
7
|
output: {
|
|
7
8
|
file: './src/client/index.mjs',
|
|
8
|
-
format: 'esm'
|
|
9
|
+
format: 'esm',
|
|
10
|
+
interop: 'auto'
|
|
11
|
+
},
|
|
12
|
+
|
|
13
|
+
// plugins: [json(), commonjs()],
|
|
14
|
+
plugins: [json(), nodeResolve({ preferBuiltins: false }), commonjs({
|
|
15
|
+
transformMixedEsModules: true,
|
|
16
|
+
esmExternals: true, // Add this
|
|
17
|
+
requireReturnsDefault: 'preferred' // Change this
|
|
18
|
+
})],
|
|
19
|
+
external(id) {
|
|
20
|
+
// If it's in node_modules, mark as external
|
|
21
|
+
return id.includes('node_modules');
|
|
22
|
+
},
|
|
23
|
+
onwarn: (warning, warn) => {
|
|
24
|
+
if (warning.code === 'CIRCULAR_DEPENDENCY') {
|
|
25
|
+
// Log the full circular dependency warning message
|
|
26
|
+
console.warn(`[CIRCULAR DEPENDENCY] ${warning.message}`);
|
|
27
|
+
} else {
|
|
28
|
+
// For all other warnings, use Rollup's default handler.
|
|
29
|
+
warn(warning);
|
|
30
|
+
}
|
|
9
31
|
},
|
|
10
|
-
plugins: [commonjs(), nodeResolve({browser: true})],
|
|
11
|
-
external: ['vue']
|
|
12
32
|
};
|
package/src/client/stringify.js
CHANGED
|
@@ -1,22 +1,15 @@
|
|
|
1
1
|
let dateToISOString = require('../dateToISOString');
|
|
2
|
-
const isNode = (typeof window === 'undefined');
|
|
3
2
|
|
|
4
3
|
function stringify(value) {
|
|
5
4
|
return JSON.stringify(value, replacer);
|
|
6
5
|
}
|
|
7
6
|
|
|
8
7
|
function replacer(key, value) {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
// @ts-ignore
|
|
12
|
-
else if (value instanceof Date && !isNaN(value))
|
|
8
|
+
// // @ts-ignore
|
|
9
|
+
if (value instanceof Date && !isNaN(value))
|
|
13
10
|
return dateToISOString(value);
|
|
14
11
|
else
|
|
15
12
|
return value;
|
|
16
13
|
}
|
|
17
14
|
|
|
18
|
-
function isNodeBuffer(object) {
|
|
19
|
-
return Buffer.isBuffer(object);
|
|
20
|
-
}
|
|
21
|
-
|
|
22
15
|
module.exports = stringify;
|
package/src/createDomain.js
CHANGED
|
@@ -1,31 +1,10 @@
|
|
|
1
|
-
let useHook = require('./useHook');
|
|
2
|
-
let cls;
|
|
3
|
-
var Domain = require('domain');
|
|
4
|
-
var negotiateForwardProperty = require('./createDomain/negotiateForwardProperty');
|
|
5
|
-
|
|
6
1
|
function createDomain() {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
return domain;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
function createOnContext() {
|
|
17
|
-
if (!cls)
|
|
18
|
-
cls = require('node-cls');
|
|
19
|
-
return cls.create('rdb');
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
function _createDomain() {
|
|
24
|
-
if (useHook())
|
|
25
|
-
return createOnContext();
|
|
26
|
-
else
|
|
27
|
-
return createDomain();
|
|
28
|
-
|
|
2
|
+
let c = {};
|
|
3
|
+
function run(fn) {
|
|
4
|
+
return fn(c);
|
|
5
|
+
}
|
|
6
|
+
c.run = run;
|
|
7
|
+
return c;
|
|
29
8
|
}
|
|
30
9
|
|
|
31
|
-
module.exports =
|
|
10
|
+
module.exports = createDomain;
|
package/src/d1/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,85 +30,75 @@ function newDatabase(d1Database, 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
|
|
|
44
|
-
function begin() {
|
|
45
|
-
const transactionLess = true;
|
|
46
|
-
return _begin(transactionLess);
|
|
47
|
-
}
|
|
48
|
-
|
|
49
36
|
async function runInTransaction() {
|
|
50
37
|
let result;
|
|
51
38
|
let transaction = newTransaction(domain, pool, options);
|
|
52
39
|
await new Promise(transaction)
|
|
53
40
|
.then(begin)
|
|
54
|
-
.then(fn)
|
|
41
|
+
.then(() => fn(domain))
|
|
55
42
|
.then((res) => result = res)
|
|
56
|
-
.then(c.commit)
|
|
57
|
-
.then(null, c.rollback);
|
|
43
|
+
.then(() => c.commit(domain))
|
|
44
|
+
.then(null, (e) => c.rollback(domain,e));
|
|
58
45
|
return result;
|
|
59
46
|
}
|
|
60
47
|
|
|
48
|
+
function begin() {
|
|
49
|
+
const transactionLess = true;
|
|
50
|
+
return _begin(domain, transactionLess);
|
|
51
|
+
}
|
|
52
|
+
|
|
61
53
|
function run() {
|
|
62
54
|
let p;
|
|
63
55
|
let transaction = newTransaction(domain, pool, options);
|
|
64
|
-
|
|
65
|
-
p = new Promise(transaction);
|
|
66
|
-
else
|
|
67
|
-
p = new promise(transaction);
|
|
56
|
+
p = new Promise(transaction);
|
|
68
57
|
|
|
69
58
|
return p.then(begin);
|
|
70
59
|
}
|
|
71
60
|
|
|
72
61
|
};
|
|
73
62
|
|
|
74
|
-
c.createTransaction = function() {
|
|
63
|
+
c.createTransaction = function(options) {
|
|
75
64
|
let domain = createDomain();
|
|
76
|
-
let transaction = newTransaction(domain, pool);
|
|
77
|
-
let p = domain.run(() => new Promise(transaction).then(
|
|
65
|
+
let transaction = newTransaction(domain, pool, options);
|
|
66
|
+
let p = domain.run(() => new Promise(transaction).then(begin));
|
|
78
67
|
|
|
79
68
|
function run(fn) {
|
|
80
69
|
return p.then(domain.run.bind(domain, fn));
|
|
81
70
|
}
|
|
82
|
-
return run;
|
|
83
|
-
};
|
|
84
|
-
|
|
85
|
-
c.bindTransaction = function() {
|
|
86
|
-
// @ts-ignore
|
|
87
|
-
var domain = process.domain;
|
|
88
|
-
let p = domain.run(() => true);
|
|
89
71
|
|
|
90
|
-
function
|
|
91
|
-
return
|
|
72
|
+
function begin() {
|
|
73
|
+
return _begin(domain, options);
|
|
92
74
|
}
|
|
75
|
+
|
|
76
|
+
run.rollback = rollback.bind(null, domain);
|
|
77
|
+
run.commit = commit.bind(null, domain);
|
|
78
|
+
|
|
93
79
|
return run;
|
|
80
|
+
|
|
94
81
|
};
|
|
95
82
|
|
|
96
83
|
c.query = function(query) {
|
|
97
84
|
let domain = createDomain();
|
|
98
85
|
let transaction = newTransaction(domain, pool);
|
|
99
86
|
let p = domain.run(() => new Promise(transaction)
|
|
100
|
-
.then(() => setSessionSingleton('changes', []))
|
|
101
|
-
.then(() => doQuery(query).then(onResult, onError)));
|
|
87
|
+
.then(() => setSessionSingleton(domain, 'changes', []))
|
|
88
|
+
.then(() => doQuery(domain, query).then(onResult, onError)));
|
|
102
89
|
return p;
|
|
103
90
|
|
|
104
91
|
function onResult(result) {
|
|
105
|
-
releaseDbClient();
|
|
92
|
+
releaseDbClient(domain);
|
|
106
93
|
return result;
|
|
107
94
|
}
|
|
108
95
|
|
|
109
96
|
function onError(e) {
|
|
110
|
-
releaseDbClient();
|
|
97
|
+
releaseDbClient(domain);
|
|
111
98
|
throw e;
|
|
112
99
|
}
|
|
113
100
|
};
|
|
114
101
|
|
|
115
|
-
|
|
116
102
|
c.rollback = rollback;
|
|
117
103
|
c.commit = commit;
|
|
118
104
|
|
package/src/d1/newPool.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
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(d1Database, poolOptions) {
|
|
8
8
|
var pool = newGenericPool(d1Database, poolOptions);
|
|
@@ -11,7 +11,7 @@ function newPool(d1Database, 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
|
}
|
package/src/d1/newTransaction.js
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
/* eslint-disable no-prototype-builtins */
|
|
2
|
-
var
|
|
3
|
-
|
|
4
|
-
var defaults = require('./defaults');
|
|
2
|
+
var defaults = require('../../poolDefaults');
|
|
5
3
|
var genericPool = require('../../generic-pool');
|
|
6
4
|
|
|
7
5
|
function newGenericPool(d1Database, poolOptions) {
|
|
@@ -21,20 +19,10 @@ function newGenericPool(d1Database, poolOptions) {
|
|
|
21
19
|
destroy: function() {
|
|
22
20
|
}
|
|
23
21
|
});
|
|
24
|
-
//mixin EventEmitter to pool
|
|
25
|
-
EventEmitter.call(pool);
|
|
26
|
-
for(var key in EventEmitter.prototype) {
|
|
27
|
-
if(EventEmitter.prototype.hasOwnProperty(key)) {
|
|
28
|
-
pool[key] = EventEmitter.prototype[key];
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
22
|
//monkey-patch with connect method
|
|
32
23
|
pool.connect = function(cb) {
|
|
33
|
-
|
|
24
|
+
|
|
34
25
|
pool.acquire(function(err, client) {
|
|
35
|
-
if(domain) {
|
|
36
|
-
cb = domain.bind(cb);
|
|
37
|
-
}
|
|
38
26
|
if(err) return cb(err, null, function() {/*NOOP*/});
|
|
39
27
|
client.poolCount++;
|
|
40
28
|
cb(null, client, function(err) {
|
package/src/emitEvent.js
CHANGED
|
@@ -6,12 +6,14 @@ function emitEvent() {
|
|
|
6
6
|
var result = [];
|
|
7
7
|
for (var i = 0; i < copy.length; i++) {
|
|
8
8
|
var callback = copy[i];
|
|
9
|
-
result.push(callback.apply(null,arguments));
|
|
9
|
+
result.push(callback.apply(null, arguments));
|
|
10
10
|
}
|
|
11
11
|
return result;
|
|
12
12
|
};
|
|
13
13
|
|
|
14
14
|
emit.add = function(callback) {
|
|
15
|
+
if (!callback)
|
|
16
|
+
throw new Error('missing callback');
|
|
15
17
|
callbacks.push(callback);
|
|
16
18
|
};
|
|
17
19
|
|
|
@@ -22,15 +24,15 @@ function emitEvent() {
|
|
|
22
24
|
|
|
23
25
|
emit.remove = function(callback) {
|
|
24
26
|
for (var i = 0; i < callbacks.length; i++) {
|
|
25
|
-
if(callbacks[i] === callback){
|
|
26
|
-
callbacks.splice(i,1);
|
|
27
|
+
if (callbacks[i] === callback) {
|
|
28
|
+
callbacks.splice(i, 1);
|
|
27
29
|
return;
|
|
28
30
|
}
|
|
29
31
|
}
|
|
30
32
|
};
|
|
31
33
|
|
|
32
34
|
emit.tryRemove = function(callback) {
|
|
33
|
-
if(callback)
|
|
35
|
+
if (callback)
|
|
34
36
|
emit.remove(callback);
|
|
35
37
|
};
|
|
36
38
|
|
package/src/emptyFilter.js
CHANGED
|
@@ -7,26 +7,26 @@ function emptyFilter() {
|
|
|
7
7
|
emptyFilter.sql = parameterized.sql;
|
|
8
8
|
emptyFilter.parameters = parameterized.parameters;
|
|
9
9
|
|
|
10
|
-
emptyFilter.and = function(other) {
|
|
11
|
-
other = negotiateRawSqlFilter(other);
|
|
12
|
-
for (var i =
|
|
13
|
-
other = other.and(arguments[i]);
|
|
10
|
+
emptyFilter.and = function(context, other) {
|
|
11
|
+
other = negotiateRawSqlFilter(context, other);
|
|
12
|
+
for (var i = 2; i < arguments.length; i++) {
|
|
13
|
+
other = other.and(context, arguments[i]);
|
|
14
14
|
}
|
|
15
15
|
return other;
|
|
16
16
|
};
|
|
17
17
|
|
|
18
|
-
emptyFilter.or = function(other) {
|
|
19
|
-
other = negotiateRawSqlFilter(other);
|
|
20
|
-
for (var i =
|
|
21
|
-
other = other.or(arguments[i]);
|
|
18
|
+
emptyFilter.or = function(context, other) {
|
|
19
|
+
other = negotiateRawSqlFilter(context, other);
|
|
20
|
+
for (var i = 2; i < arguments.length; i++) {
|
|
21
|
+
other = other.or(context, arguments[i]);
|
|
22
22
|
}
|
|
23
23
|
return other;
|
|
24
24
|
};
|
|
25
25
|
|
|
26
|
-
emptyFilter.not = function(other) {
|
|
27
|
-
other = negotiateRawSqlFilter(other).not();
|
|
28
|
-
for (var i =
|
|
29
|
-
other = other.and(arguments[i]);
|
|
26
|
+
emptyFilter.not = function(context, other) {
|
|
27
|
+
other = negotiateRawSqlFilter(context, other).not(context);
|
|
28
|
+
for (var i = 2; i < arguments.length; i++) {
|
|
29
|
+
other = other.and(context, arguments[i]);
|
|
30
30
|
}
|
|
31
31
|
return other;
|
|
32
32
|
|
package/src/format.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
function format(template, ...values) {
|
|
2
|
+
let index = 0;
|
|
3
|
+
return template.replace(/%s/g, () => {
|
|
4
|
+
// If there aren't enough values, this will insert 'undefined'
|
|
5
|
+
// for placeholders that don't have a corresponding array item.
|
|
6
|
+
return values[index++];
|
|
7
|
+
});
|
|
8
|
+
}
|
|
9
|
+
module.exports = format;
|