子查询增加了dontCollect配置

This commit is contained in:
Xu Chang 2023-05-24 14:55:57 +08:00
parent 6005e9aacd
commit b880cb5231
2 changed files with 8 additions and 4 deletions

View File

@ -556,8 +556,9 @@ var TreeStore = /** @class */ (function (_super) {
}
else {
// 这里只有当子查询中的filter不包含引用外部的子查询时才可以提前计算否则必须等到执行时再计算
// 子查询查询的行不用返回,和数据库的行为保持一致
try {
var legalSets_1 = (this.selectAbjointRow(inData_1.entity, inData_1, context, option)).map(function (ele) {
var legalSets_1 = (this.selectAbjointRow(inData_1.entity, inData_1, context, { dontCollect: true })).map(function (ele) {
var data = inData_1.data;
var key = Object.keys(data)[0];
return ele[key];
@ -595,8 +596,9 @@ var TreeStore = /** @class */ (function (_super) {
else {
// obscure对nin没有影响如果返回的子查询结果中包含此行就一定是false否则一定为trueobscure只考虑数据不完整不考虑不准确但若相应属性为undefined则任然可以认为true
// 这里只有当子查询中的filter不包含引用外部的子查询时才可以提前计算否则必须等到执行时再计算
// 子查询查询的行不用返回,和数据库的行为保持一致
try {
var legalSets_2 = this.selectAbjointRow(inData_1.entity, inData_1, context, option).map(function (ele) {
var legalSets_2 = this.selectAbjointRow(inData_1.entity, inData_1, context, { dontCollect: true }).map(function (ele) {
var data = inData_1.data;
var key = Object.keys(data)[0];
return ele[key];

View File

@ -609,8 +609,9 @@ export default class TreeStore<ED extends EntityDict & BaseEntityDict> extends C
}
else {
// 这里只有当子查询中的filter不包含引用外部的子查询时才可以提前计算否则必须等到执行时再计算
// 子查询查询的行不用返回,和数据库的行为保持一致
try {
const legalSets = (this.selectAbjointRow(inData.entity, inData, context, option)).map(
const legalSets = (this.selectAbjointRow(inData.entity, inData, context, { dontCollect: true })).map(
(ele) => {
const { data } = inData;
const key = Object.keys(data)[0];
@ -653,8 +654,9 @@ export default class TreeStore<ED extends EntityDict & BaseEntityDict> extends C
else {
// obscure对nin没有影响如果返回的子查询结果中包含此行就一定是false否则一定为trueobscure只考虑数据不完整不考虑不准确但若相应属性为undefined则任然可以认为true
// 这里只有当子查询中的filter不包含引用外部的子查询时才可以提前计算否则必须等到执行时再计算
// 子查询查询的行不用返回,和数据库的行为保持一致
try {
const legalSets = this.selectAbjointRow(inData.entity, inData, context, option).map(
const legalSets = this.selectAbjointRow(inData.entity, inData, context, { dontCollect: true }).map(
(ele) => {
const { data } = inData as ED[keyof ED]['Selection'];
const key = Object.keys(data)[0];