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,17 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
const newSelect = require('./selectSql');
|
|
2
|
+
const newJoin = require('./joinSql');
|
|
3
|
+
const newWhere = require('./whereSql');
|
|
4
|
+
const createAlias = require('../createAlias');
|
|
5
5
|
|
|
6
|
-
function newSubFilter(relations, shallowFilter) {
|
|
7
|
-
|
|
6
|
+
function newSubFilter(context,relations, shallowFilter) {
|
|
7
|
+
const relationCount = relations.length;
|
|
8
8
|
if (relationCount === 0)
|
|
9
9
|
return shallowFilter;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
const table = relations[0].childTable;
|
|
11
|
+
const alias = createAlias(table, relationCount -1);
|
|
12
|
+
const filter = newSelect(context,table,alias).prepend('EXISTS (');
|
|
13
|
+
const join = newJoin(context, relations.slice(1));
|
|
14
|
+
const where = newWhere(context,relations,shallowFilter,alias);
|
|
15
15
|
return filter.append(join).append(where).append(')');
|
|
16
16
|
|
|
17
17
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
var newShallowJoinSql = require('../../../query/singleQuery/joinSql/newShallowJoinSqlCore');
|
|
2
2
|
|
|
3
|
-
function newWhereSql(relations, shallowFilter, rightAlias) {
|
|
3
|
+
function newWhereSql(context, relations, shallowFilter, rightAlias) {
|
|
4
4
|
var sql;
|
|
5
5
|
var relationCount = relations.length;
|
|
6
6
|
var relation = relations[0];
|
|
@@ -12,7 +12,7 @@ function newWhereSql(relations, shallowFilter, rightAlias) {
|
|
|
12
12
|
|
|
13
13
|
function where() {
|
|
14
14
|
var table = relation.childTable;
|
|
15
|
-
var joinCore = newShallowJoinSql(table, leftColumns, rightColumns, leftAlias, rightAlias);
|
|
15
|
+
var joinCore = newShallowJoinSql(context, table, leftColumns, rightColumns, leftAlias, rightAlias);
|
|
16
16
|
if (shallowFilter.sql())
|
|
17
17
|
sql = shallowFilter.prepend(' AND ').prepend(joinCore).prepend(' WHERE ');
|
|
18
18
|
else
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
let getSessionContext = require('../../getSessionContext');
|
|
2
2
|
let quote = require('../../quote');
|
|
3
3
|
|
|
4
|
-
function getSqlTemplate(_table, _row) {
|
|
5
|
-
let
|
|
6
|
-
if (
|
|
7
|
-
return
|
|
4
|
+
function getSqlTemplate(context, _table, _row) {
|
|
5
|
+
let rdb = getSessionContext(context);
|
|
6
|
+
if (rdb.insertSql)
|
|
7
|
+
return rdb.insertSql.apply(null, arguments);
|
|
8
8
|
else
|
|
9
9
|
return getSqlTemplateDefault.apply(null, arguments);
|
|
10
10
|
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
-
function getSqlTemplateDefault(table, row) {
|
|
13
|
+
function getSqlTemplateDefault(context, table, row) {
|
|
14
14
|
let columnNames = [];
|
|
15
15
|
let values = [];
|
|
16
|
-
let sql = 'INSERT INTO ' + quote(table._dbName) + ' ';
|
|
16
|
+
let sql = 'INSERT INTO ' + quote(context, table._dbName) + ' ';
|
|
17
17
|
addDiscriminators();
|
|
18
18
|
addColumns();
|
|
19
19
|
if (columnNames.length === 0)
|
|
@@ -26,7 +26,7 @@ function getSqlTemplateDefault(table, row) {
|
|
|
26
26
|
let discriminators = table._columnDiscriminators;
|
|
27
27
|
for (let i = 0; i < discriminators.length; i++) {
|
|
28
28
|
let parts = discriminators[i].split('=');
|
|
29
|
-
columnNames.push(quote(parts[0]));
|
|
29
|
+
columnNames.push(quote(context, parts[0]));
|
|
30
30
|
values.push(parts[1]);
|
|
31
31
|
}
|
|
32
32
|
}
|
|
@@ -36,29 +36,29 @@ function getSqlTemplateDefault(table, row) {
|
|
|
36
36
|
for (let i = 0; i < columns.length; i++) {
|
|
37
37
|
let column = columns[i];
|
|
38
38
|
if (row['__' + column.alias] !== undefined) {
|
|
39
|
-
columnNames.push(quote(column._dbName));
|
|
39
|
+
columnNames.push(quote(context, column._dbName));
|
|
40
40
|
values.push('%s');
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
|
|
45
45
|
function lastInserted() {
|
|
46
|
-
let
|
|
47
|
-
if (!
|
|
48
|
-
return ' ' +
|
|
46
|
+
let rdb = getSessionContext(context);
|
|
47
|
+
if (!rdb.lastInsertedIsSeparate && rdb.lastInsertedSql)
|
|
48
|
+
return ' ' + rdb.lastInsertedSql(table);
|
|
49
49
|
return '';
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
function outputInserted() {
|
|
53
|
-
let
|
|
54
|
-
if (!
|
|
55
|
-
return ' ' +
|
|
53
|
+
let rdb = getSessionContext(context);
|
|
54
|
+
if (!rdb.lastInsertedIsSeparate && rdb.outputInsertedSql)
|
|
55
|
+
return ' ' + rdb.outputInsertedSql(table) + ' ';
|
|
56
56
|
return '';
|
|
57
57
|
}
|
|
58
58
|
|
|
59
59
|
function defaultValues() {
|
|
60
|
-
let
|
|
61
|
-
let _default =
|
|
60
|
+
let rdb = getSessionContext(context);
|
|
61
|
+
let _default = rdb.insertDefault || 'DEFAULT VALUES';
|
|
62
62
|
return `${_default}${lastInserted()}`;
|
|
63
63
|
|
|
64
64
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
var getChangeSet = require('./getChangeSet');
|
|
2
2
|
|
|
3
|
-
function lastCommandMatches(row) {
|
|
4
|
-
var changeSet = getChangeSet();
|
|
3
|
+
function lastCommandMatches(context, row) {
|
|
4
|
+
var changeSet = getChangeSet(context);
|
|
5
5
|
var lastIndex = changeSet.length-1;
|
|
6
6
|
if (lastIndex >= 0 && changeSet[lastIndex].matches)
|
|
7
7
|
return changeSet[lastIndex].matches(row);
|
|
@@ -1,20 +1,15 @@
|
|
|
1
1
|
var newSingleCommand = require('./delete/newSingleCommand');
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
};
|
|
7
|
-
|
|
8
|
-
function newCommand(queries,table,filter,strategy,relations) {
|
|
9
|
-
var singleCommand = newSingleCommand(table,filter,relations);
|
|
10
|
-
for(var name in strategy) {
|
|
3
|
+
function newCommand(context, queries, table, filter, strategy, relations) {
|
|
4
|
+
var singleCommand = newSingleCommand(context, table, filter, relations);
|
|
5
|
+
for (var name in strategy) {
|
|
11
6
|
if (!(strategy[name] === null || strategy[name]))
|
|
12
7
|
continue;
|
|
13
8
|
var childStrategy = strategy[name];
|
|
14
9
|
var childRelation = table._relations[name];
|
|
15
10
|
var joinRelation = childRelation.joinRelation;
|
|
16
|
-
var
|
|
17
|
-
|
|
11
|
+
var childRelations = [joinRelation].concat(relations);
|
|
12
|
+
newCommand(context, queries, childRelation.childTable, filter, childStrategy, childRelations);
|
|
18
13
|
}
|
|
19
14
|
queries.push(singleCommand);
|
|
20
15
|
return queries;
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
var newGetLastInsertedCommandCore = require('./newGetLastInsertedCommandCore');
|
|
2
2
|
var newImmutable = require('../../newImmutable');
|
|
3
3
|
|
|
4
|
-
function newGetLastInsertedCommand(table, row, insertCommand) {
|
|
5
|
-
let cmd = new InsertCommand(table, row, insertCommand);
|
|
4
|
+
function newGetLastInsertedCommand(context, table, row, insertCommand) {
|
|
5
|
+
let cmd = new InsertCommand(context, table, row, insertCommand);
|
|
6
6
|
insertCommand.endEdit = () => {};
|
|
7
7
|
return cmd;
|
|
8
8
|
}
|
|
9
9
|
|
|
10
|
-
function InsertCommand(table, row, insertCommand) {
|
|
10
|
+
function InsertCommand(context, table, row, insertCommand) {
|
|
11
11
|
this._insertCommand = insertCommand;
|
|
12
|
-
this.__getCoreCommand = newImmutable(newGetLastInsertedCommandCore);
|
|
12
|
+
this.__getCoreCommand = newImmutable(newGetLastInsertedCommandCore.bind(null, context));
|
|
13
13
|
this._table = table;
|
|
14
14
|
this._row = row;
|
|
15
15
|
}
|
|
@@ -3,19 +3,19 @@ const getSessionContext = require('../getSessionContext');
|
|
|
3
3
|
const newDiscriminatorSql = require('../query/singleQuery/newDiscriminatorSql');
|
|
4
4
|
const quote = require('../quote');
|
|
5
5
|
|
|
6
|
-
function newGetLastInsertedCommandCore(table, row) {
|
|
6
|
+
function newGetLastInsertedCommandCore(context, table, row) {
|
|
7
7
|
let parameters = [];
|
|
8
8
|
let keyValues = table._primaryColumns.map(column => row['__' + column.alias]);
|
|
9
|
-
let sql = `SELECT ${columnNames()} FROM ${quote(table._dbName)} WHERE ${whereSql()}`;
|
|
9
|
+
let sql = `SELECT ${columnNames()} FROM ${quote(context, table._dbName)} WHERE ${whereSql()}`;
|
|
10
10
|
return newParameterized(sql, parameters);
|
|
11
11
|
|
|
12
12
|
function columnNames() {
|
|
13
|
-
return table._columns.map(col => quote(col._dbName)).join(',');
|
|
13
|
+
return table._columns.map(col => quote(context, col._dbName)).join(',');
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
function whereSql() {
|
|
17
17
|
let parameterized;
|
|
18
|
-
let filter = getSessionContext().lastInsertedSql(table, keyValues);
|
|
18
|
+
let filter = getSessionContext(context).lastInsertedSql(context, table, keyValues);
|
|
19
19
|
if (Array.isArray(filter)) {
|
|
20
20
|
for (let i = 0; i < filter.length; i++) {
|
|
21
21
|
const sep = i === 0 ? '' : ' AND ';
|
|
@@ -37,7 +37,7 @@ function newGetLastInsertedCommandCore(table, row) {
|
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
function discriminators() {
|
|
40
|
-
return newDiscriminatorSql(table, table._dbName);
|
|
40
|
+
return newDiscriminatorSql(context, table, table._dbName);
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
// var newInsertCommandCore = require('./newInsertCommandCore');
|
|
2
1
|
var newImmutable = require('../../newImmutable');
|
|
3
2
|
var createPatch = require('../../client/createPatch');
|
|
4
3
|
var createDto = require('../resultToRows/toDto/createDto');
|
|
@@ -30,7 +29,7 @@ InsertCommand.prototype.matches = function(otherRow) {
|
|
|
30
29
|
InsertCommand.prototype.endEdit = function() {
|
|
31
30
|
this.sql();
|
|
32
31
|
var dto = createDto(this._table, this._row);
|
|
33
|
-
if (this._table._emitChanged.callbacks.length > 0)
|
|
32
|
+
if (this._disallowCompress || this._table._emitChanged.callbacks.length > 0)
|
|
34
33
|
this._patch = createPatch([], [dto]);
|
|
35
34
|
};
|
|
36
35
|
|
|
@@ -47,8 +46,11 @@ Object.defineProperty(InsertCommand.prototype, 'parameters', {
|
|
|
47
46
|
|
|
48
47
|
Object.defineProperty(InsertCommand.prototype, 'disallowCompress', {
|
|
49
48
|
get: function() {
|
|
50
|
-
return this._table._emitChanged.callbacks.length > 0;
|
|
49
|
+
return this._disallowCompress || this._table._emitChanged.callbacks.length > 0;
|
|
51
50
|
|
|
51
|
+
},
|
|
52
|
+
set: function(value) {
|
|
53
|
+
this._disallowCompress = value;
|
|
52
54
|
}
|
|
53
55
|
});
|
|
54
56
|
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
const newParameterized = require('../query/newParameterized');
|
|
2
|
+
const getSqlTemplate = require('./insert/getSqlTemplate');
|
|
3
|
+
const formatString = require('../../format');
|
|
4
4
|
|
|
5
|
-
function newInsertCommandCore(table, row, options = {}) {
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
function newInsertCommandCore(context, table, row, options = {}) {
|
|
6
|
+
let parameters = [];
|
|
7
|
+
let values = [getSqlTemplate(context, table, row, options)];
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
for (
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
let columns = table._columns;
|
|
10
|
+
for (let i = 0; i < columns.length; i++) {
|
|
11
|
+
let column = columns[i];
|
|
12
|
+
let alias = column.alias;
|
|
13
13
|
if (row['__' + column.alias] !== undefined) {
|
|
14
|
-
|
|
14
|
+
let encoded = column.encode(context, row[alias]);
|
|
15
15
|
if (encoded.parameters.length > 0) {
|
|
16
16
|
values.push('?');
|
|
17
17
|
parameters.push(encoded.parameters[0]);
|
|
@@ -20,7 +20,7 @@ function newInsertCommandCore(table, row, options = {}) {
|
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
let sql = formatString.apply(null, values);
|
|
24
24
|
return newParameterized(sql, parameters);
|
|
25
25
|
}
|
|
26
26
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
var decodeDbRow = require('../resultToRows/decodeDbRow');
|
|
2
2
|
var flags = require('../../flags');
|
|
3
3
|
|
|
4
|
-
function newRow({table, _options}) {
|
|
4
|
+
function newRow(context, {table, _options}) {
|
|
5
5
|
var dto = {};
|
|
6
6
|
table._columns.forEach(addColumn);
|
|
7
7
|
|
|
@@ -28,20 +28,20 @@ function newRow({table, _options}) {
|
|
|
28
28
|
else
|
|
29
29
|
dto[alias] = undefined;
|
|
30
30
|
}
|
|
31
|
-
const arg = arguments[
|
|
31
|
+
const arg = arguments[2];
|
|
32
32
|
if (isObject(arg))
|
|
33
33
|
for (let name in arg) {
|
|
34
34
|
if (table[name] && table[name].equal)
|
|
35
35
|
dto[name] = arg[name];
|
|
36
36
|
}
|
|
37
37
|
else
|
|
38
|
-
for (var i =
|
|
38
|
+
for (var i = 2; i < arguments.length; i++) {
|
|
39
39
|
var pkValue = arguments[i];
|
|
40
40
|
var column = table._primaryColumns[i - 1];
|
|
41
41
|
dto[column.alias] = pkValue;
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
-
return decodeDbRow(table, table, dto, true, true);
|
|
44
|
+
return decodeDbRow(context, table, table, dto, true, true);
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
function isObject(object) {
|
|
@@ -4,14 +4,14 @@ let newColumnList = require('../../newObject');
|
|
|
4
4
|
var createPatch = require('../../client/createPatch');
|
|
5
5
|
let createDto = require('../resultToRows/toDto/createDto');
|
|
6
6
|
|
|
7
|
-
function newUpdateCommand(table, column, row) {
|
|
8
|
-
return new UpdateCommand(table, column, row);
|
|
7
|
+
function newUpdateCommand(context, table, column, row) {
|
|
8
|
+
return new UpdateCommand(context, table, column, row);
|
|
9
9
|
}
|
|
10
10
|
|
|
11
|
-
function UpdateCommand(table, column, row) {
|
|
11
|
+
function UpdateCommand(context, table, column, row) {
|
|
12
12
|
this._table = table;
|
|
13
13
|
this._row = row;
|
|
14
|
-
this.__getCoreCommand = newImmutable(newUpdateCommandCore);
|
|
14
|
+
this.__getCoreCommand = newImmutable(newUpdateCommandCore.bind(null, context));
|
|
15
15
|
this._columnList = newColumnList();
|
|
16
16
|
this._columnList[column.alias] = column;
|
|
17
17
|
this.onFieldChanged = this.onFieldChanged.bind(this);
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
const getSessionSingleton = require('../getSessionSingleton');
|
|
2
2
|
var newParameterized = require('../query/newParameterized');
|
|
3
3
|
|
|
4
|
-
function newUpdateCommandCore(table, columns, row) {
|
|
5
|
-
const quote = getSessionSingleton('quote');
|
|
4
|
+
function newUpdateCommandCore(context, table, columns, row) {
|
|
5
|
+
const quote = getSessionSingleton(context, 'quote');
|
|
6
6
|
var command = newParameterized('UPDATE ' + quote(table._dbName) + ' SET');
|
|
7
7
|
var separator = ' ';
|
|
8
8
|
|
|
@@ -13,7 +13,7 @@ function newUpdateCommandCore(table, columns, row) {
|
|
|
13
13
|
function addColumns() {
|
|
14
14
|
for (var alias in columns) {
|
|
15
15
|
var column = columns[alias];
|
|
16
|
-
var encoded = column.encode(row[alias]);
|
|
16
|
+
var encoded = column.encode(context, row[alias]);
|
|
17
17
|
command = command.append(separator + quote(column._dbName) + '=').append(encoded);
|
|
18
18
|
separator = ',';
|
|
19
19
|
}
|
|
@@ -25,7 +25,7 @@ function newUpdateCommandCore(table, columns, row) {
|
|
|
25
25
|
for (var i = 0; i < columns.length; i++) {
|
|
26
26
|
var column = columns[i];
|
|
27
27
|
var value = row[column.alias];
|
|
28
|
-
var encoded = column.encode(value);
|
|
28
|
+
var encoded = column.encode(context, value);
|
|
29
29
|
command = command.append(separator + quote(column._dbName) + '=').append(encoded);
|
|
30
30
|
separator = ' AND ';
|
|
31
31
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
var getChangeSet = require('./getChangeSet');
|
|
2
2
|
var negotiateEndEdit = require('./negotiateEndEdit');
|
|
3
3
|
|
|
4
|
-
function pushCommand(command) {
|
|
5
|
-
var changes = getChangeSet();
|
|
4
|
+
function pushCommand(context, command) {
|
|
5
|
+
var changes = getChangeSet(context);
|
|
6
6
|
negotiateEndEdit(changes);
|
|
7
7
|
changes.push(command);
|
|
8
8
|
}
|
package/src/table/commit.js
CHANGED
|
@@ -5,9 +5,9 @@ let releaseDbClient = require('./releaseDbClient');
|
|
|
5
5
|
let popChanges = require('./popChanges');
|
|
6
6
|
const getSessionSingleton = require('./getSessionSingleton');
|
|
7
7
|
|
|
8
|
-
function
|
|
8
|
+
function _commit(context, result) {
|
|
9
9
|
return popAndPushChanges()
|
|
10
|
-
.then(releaseDbClient)
|
|
10
|
+
.then(releaseDbClient.bind(null, context))
|
|
11
11
|
.then(onReleased);
|
|
12
12
|
|
|
13
13
|
function onReleased() {
|
|
@@ -15,18 +15,20 @@ function commit(result) {
|
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
async function popAndPushChanges() {
|
|
18
|
-
let changes = popChanges();
|
|
18
|
+
let changes = popChanges(context);
|
|
19
19
|
while (changes.length > 0) {
|
|
20
|
-
await executeChanges(changes);
|
|
21
|
-
changes = popChanges();
|
|
20
|
+
await executeChanges(context, changes);
|
|
21
|
+
changes = popChanges(context);
|
|
22
22
|
}
|
|
23
|
-
if (!getSessionSingleton('transactionLess'))
|
|
24
|
-
pushCommand(commitCommand);
|
|
25
|
-
return executeChanges(popChanges());
|
|
23
|
+
if (!getSessionSingleton(context, 'transactionLess'))
|
|
24
|
+
pushCommand(context, commitCommand);
|
|
25
|
+
return executeChanges(context, popChanges(context));
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
|
|
29
|
+
function commit(context, result) {
|
|
30
30
|
return Promise.resolve()
|
|
31
|
-
.then(() =>
|
|
32
|
-
}
|
|
31
|
+
.then(() => _commit(context, result));
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
module.exports = commit;
|
package/src/table/count.js
CHANGED
|
@@ -4,11 +4,11 @@ const extractFilter = require('./query/extractFilter');
|
|
|
4
4
|
const newWhereSql = require('./query/singleQuery/newWhereSql');
|
|
5
5
|
const quote = require('./quote');
|
|
6
6
|
|
|
7
|
-
async function count(table, filter) {
|
|
7
|
+
async function count(context, table, filter) {
|
|
8
8
|
let alias = table._dbName;
|
|
9
|
-
filter = negotiateRawSqlFilter(filter, table);
|
|
10
|
-
let query = newQuery(table, filter, alias);
|
|
11
|
-
let allResults = await executeQueries([query]);
|
|
9
|
+
filter = negotiateRawSqlFilter(context,filter, table);
|
|
10
|
+
let query = newQuery(context, table, filter, alias);
|
|
11
|
+
let allResults = await executeQueries(context, [query]);
|
|
12
12
|
let count = await allResults[0].then((rows) => {
|
|
13
13
|
|
|
14
14
|
const count = Number.parseInt(rows[0]._count);
|
|
@@ -17,11 +17,11 @@ async function count(table, filter) {
|
|
|
17
17
|
return count;
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
function newQuery(table, filter, alias) {
|
|
20
|
+
function newQuery(context, table, filter, alias) {
|
|
21
21
|
filter = extractFilter(filter);
|
|
22
|
-
var name = quote(table._dbName);
|
|
23
|
-
alias = quote(alias);
|
|
24
|
-
var whereSql = newWhereSql(table, filter, alias);
|
|
22
|
+
var name = quote(context, table._dbName);
|
|
23
|
+
alias = quote(context, alias);
|
|
24
|
+
var whereSql = newWhereSql(context, table, filter, alias);
|
|
25
25
|
|
|
26
26
|
return whereSql.prepend('select count(*) "_count" from ' + name + ' ' + alias);
|
|
27
27
|
|
package/src/table/delete.js
CHANGED
|
@@ -4,15 +4,15 @@ var extractDeleteStrategy = require('./extractDeleteStrategy');
|
|
|
4
4
|
var negotiateRawSqlFilter = require('./column/negotiateRawSqlFilter');
|
|
5
5
|
var emptyPromise = require('./resultToPromise')();
|
|
6
6
|
|
|
7
|
-
function _delete(table, filter, strategy) {
|
|
8
|
-
filter = negotiateRawSqlFilter(filter, table);
|
|
7
|
+
function _delete(context, table, filter, strategy) {
|
|
8
|
+
filter = negotiateRawSqlFilter(context, filter, table);
|
|
9
9
|
strategy = extractDeleteStrategy(strategy);
|
|
10
10
|
var relations = [];
|
|
11
11
|
var cmds = [];
|
|
12
12
|
|
|
13
|
-
cmds = newDeleteCommand(cmds, table, filter, strategy, relations);
|
|
13
|
+
cmds = newDeleteCommand(context, cmds, table, filter, strategy, relations);
|
|
14
14
|
cmds.forEach(function(cmd) {
|
|
15
|
-
pushCommand(cmd);
|
|
15
|
+
pushCommand(context, cmd);
|
|
16
16
|
});
|
|
17
17
|
return emptyPromise;
|
|
18
18
|
}
|
|
@@ -1,17 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
function deleteSessionContext() {
|
|
5
|
-
if (useHook()) {
|
|
6
|
-
if (!cls)
|
|
7
|
-
cls = require('node-cls');
|
|
8
|
-
let context = cls.get('rdb');
|
|
9
|
-
delete context.rdb;
|
|
10
|
-
if (context.exit)
|
|
11
|
-
cls.exit('rdb');
|
|
12
|
-
}
|
|
13
|
-
else
|
|
14
|
-
delete process.domain.rdb;
|
|
1
|
+
function deleteSessionContext(context) {
|
|
2
|
+
delete context.rdb;
|
|
15
3
|
}
|
|
16
4
|
|
|
17
5
|
module.exports = deleteSessionContext;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
var executeQuery = require('./executeQuery');
|
|
2
2
|
var newPromise = require('../promise');
|
|
3
3
|
|
|
4
|
-
function executeChanges(queries) {
|
|
4
|
+
function executeChanges(context, queries) {
|
|
5
5
|
if (queries.length === 0)
|
|
6
6
|
return newPromise();
|
|
7
7
|
var i = -1;
|
|
@@ -11,9 +11,9 @@ function executeChanges(queries) {
|
|
|
11
11
|
function execute() {
|
|
12
12
|
i++;
|
|
13
13
|
if (i + 1 === queries.length)
|
|
14
|
-
return executeQuery(queries[i]).then(notifyListener);
|
|
14
|
+
return executeQuery(context, queries[i]).then(notifyListener);
|
|
15
15
|
else {
|
|
16
|
-
return executeQuery(queries[i]).then(notifyListener).then(execute);
|
|
16
|
+
return executeQuery(context, queries[i]).then(notifyListener).then(execute);
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
19
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
var executeQuery = require('./executeQuery');
|
|
2
2
|
|
|
3
|
-
function executeQueriesCore(queries) {
|
|
3
|
+
function executeQueriesCore(context, queries) {
|
|
4
4
|
var promises = [];
|
|
5
5
|
for (var i = 0; i < queries.length; i++) {
|
|
6
|
-
var q = executeQuery(queries[i]);
|
|
6
|
+
var q = executeQuery(context, queries[i]);
|
|
7
7
|
promises.push(q);
|
|
8
8
|
}
|
|
9
9
|
return promises;
|
|
@@ -1,18 +1,11 @@
|
|
|
1
|
-
|
|
1
|
+
const getSessionSingleton = require('../getSessionSingleton');
|
|
2
2
|
|
|
3
|
-
function resolveExecuteQuery(query) {
|
|
3
|
+
function resolveExecuteQuery(context, query) {
|
|
4
4
|
return resolve;
|
|
5
5
|
|
|
6
6
|
function resolve(success, failed) {
|
|
7
7
|
try {
|
|
8
|
-
|
|
9
|
-
var domain = process.domain;
|
|
10
|
-
if (domain) {
|
|
11
|
-
success = process.domain.bind(success);
|
|
12
|
-
failed = process.domain.bind(failed);
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
var client = getSessionSingleton('dbClient');
|
|
8
|
+
var client = getSessionSingleton(context, 'dbClient');
|
|
16
9
|
query = negotiateNullParams(query);
|
|
17
10
|
client.executeQuery(query, onCompleted);
|
|
18
11
|
} catch (e) {
|
|
@@ -2,13 +2,13 @@ var executeChanges = require('./executeQueries/executeChanges');
|
|
|
2
2
|
var popChanges = require('./popChanges');
|
|
3
3
|
var executeQueriesCore = require('./executeQueries/executeQueriesCore');
|
|
4
4
|
|
|
5
|
-
function executeQueries(queries) {
|
|
6
|
-
var changes = popChanges();
|
|
5
|
+
function executeQueries(context, queries) {
|
|
6
|
+
var changes = popChanges(context);
|
|
7
7
|
|
|
8
|
-
return executeChanges(changes).then(onDoneChanges);
|
|
8
|
+
return executeChanges(context, changes).then(onDoneChanges);
|
|
9
9
|
|
|
10
10
|
function onDoneChanges() {
|
|
11
|
-
return executeQueriesCore(queries);
|
|
11
|
+
return executeQueriesCore(context, queries);
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
14
|
|
package/src/table/getMany.js
CHANGED
|
@@ -5,18 +5,18 @@ let strategyToSpan = require('./strategyToSpan');
|
|
|
5
5
|
let emptyInnerJoin = require('./query/newParameterized')();
|
|
6
6
|
let negotiateRawSqlFilter = require('./column/negotiateRawSqlFilter');
|
|
7
7
|
|
|
8
|
-
function getMany(table,filter,strategy) {
|
|
9
|
-
return getManyCore(table,filter,strategy);
|
|
8
|
+
function getMany(context,table,filter,strategy) {
|
|
9
|
+
return getManyCore(context, table,filter,strategy);
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
-
async function getManyCore(table,filter,strategy,exclusive) {
|
|
12
|
+
async function getManyCore(context,table,filter,strategy,exclusive) {
|
|
13
13
|
let alias = table._dbName;
|
|
14
14
|
let noOrderBy;
|
|
15
|
-
filter = negotiateRawSqlFilter(filter, table);
|
|
15
|
+
filter = negotiateRawSqlFilter(context, filter, table);
|
|
16
16
|
let span = strategyToSpan(table,strategy);
|
|
17
|
-
let queries = newQuery([],table,filter,span,alias,emptyInnerJoin,noOrderBy,exclusive);
|
|
18
|
-
let result = await executeQueries(queries);
|
|
19
|
-
return resultToRows(span,result);
|
|
17
|
+
let queries = newQuery(context, [],table,filter,span,alias,emptyInnerJoin,noOrderBy,exclusive);
|
|
18
|
+
let result = await executeQueries(context, queries);
|
|
19
|
+
return resultToRows(context, span,result);
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
getMany.exclusive = function(table,filter,strategy) {
|
package/src/table/getManyDto.js
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
const
|
|
1
|
+
const getSessionSingleton = require('../table/getSessionSingleton');
|
|
2
2
|
const getManyDtoCore = require('../getManyDto');
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const _getManyDto = tryGetSessionContext().getManyDto || getManyDtoCore;
|
|
4
|
+
function getManyDto(context, _table, _filter, _strategy) {
|
|
5
|
+
const _getManyDto = getSessionSingleton(context, 'getManyDto') || getManyDtoCore;
|
|
7
6
|
return _getManyDto.apply(null, arguments);
|
|
8
7
|
}
|
|
9
8
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
let tryGetSessionContext = require('./tryGetSessionContext');
|
|
2
2
|
|
|
3
|
-
function getSessionContext() {
|
|
4
|
-
|
|
5
|
-
if (!
|
|
3
|
+
function getSessionContext(context) {
|
|
4
|
+
const rdb = tryGetSessionContext(context);
|
|
5
|
+
if (!rdb)
|
|
6
6
|
throw new Error('Rdb transaction is no longer available. Is promise chain broken ?');
|
|
7
|
-
return
|
|
7
|
+
return rdb;
|
|
8
8
|
}
|
|
9
9
|
|
|
10
10
|
module.exports = getSessionContext;
|