mythix-orm-sql-base 1.4.5 → 1.4.8
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.
|
@@ -234,7 +234,7 @@ class SQLQueryGeneratorBase extends QueryGeneratorBase {
|
|
|
234
234
|
else if (sqlOperator === '!=')
|
|
235
235
|
sqlOperator = 'NOT IN';
|
|
236
236
|
|
|
237
|
-
return `${escapedColumnName} ${sqlOperator} (${this.generateSelectStatement(value, this.stackAssign(options, { isSubQuery: true, subQueryOperator:
|
|
237
|
+
return `${escapedColumnName} ${sqlOperator} (${this.generateSelectStatement(value, this.stackAssign(options, { isSubQuery: true, subQueryOperator: sqlOperator }))})`;
|
|
238
238
|
}
|
|
239
239
|
|
|
240
240
|
let context = { queryPart, field, sqlOperator, operator, value };
|
|
@@ -1088,10 +1088,25 @@ class SQLQueryGeneratorBase extends QueryGeneratorBase {
|
|
|
1088
1088
|
|
|
1089
1089
|
let escapedTableNameAlias = this.getEscapedTableName(Model, { tableNamePrefix: '_' });
|
|
1090
1090
|
let escapedFieldAlias = this.getEscapedColumnName(Model, pkField, { columnNameOnly: true });
|
|
1091
|
-
let innerSelect = this.generateSelectStatement(
|
|
1091
|
+
let innerSelect = this.generateSelectStatement(
|
|
1092
|
+
queryEngine
|
|
1093
|
+
.AND[Model.getModelName(this.connection)][pkField.fieldName]
|
|
1094
|
+
.EQ(new Literals.Literal(`${escapedTableNameAlias}.${escapedFieldAlias}`))
|
|
1095
|
+
.PROJECT(new Literals.Literal('1')),
|
|
1096
|
+
this.stackAssign(
|
|
1097
|
+
options,
|
|
1098
|
+
{
|
|
1099
|
+
isSubQuery: true,
|
|
1100
|
+
subQueryOperator: 'EXISTS',
|
|
1101
|
+
noProjectionAliases: true,
|
|
1102
|
+
forceLimit: 4294967295,
|
|
1103
|
+
},
|
|
1104
|
+
),
|
|
1105
|
+
);
|
|
1106
|
+
|
|
1092
1107
|
return `DELETE FROM ${escapedTableName} AS ${escapedTableNameAlias} WHERE EXISTS (${innerSelect})`;
|
|
1093
1108
|
} else {
|
|
1094
|
-
let where = this.generateWhereAndOrderLimitOffset(queryEngine, options);
|
|
1109
|
+
let where = this.generateWhereAndOrderLimitOffset(queryEngine, { ...options, forceLimit: 4294967295 });
|
|
1095
1110
|
return `DELETE FROM ${escapedTableName}${(where) ? ` ${where}` : ''}`;
|
|
1096
1111
|
}
|
|
1097
1112
|
} else {
|