@stamhoofd/sql 2.114.1 → 2.115.0

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/dist/index.d.ts CHANGED
@@ -1,13 +1,14 @@
1
- export * from './src/SQL';
2
- export * from './src/SQLExpression';
3
- export * from './src/SQLExpressions';
4
- export * from './src/SQLJsonExpressions';
5
- export * from './src/SQLWhere';
6
- export * from './src/SQLSelect';
7
- export { createColumnFilter, createWildcardColumnFilter, createExistsFilter, createJoinedRelationFilter, SQLValueType, compileToSQLFilter, baseSQLFilterCompilers, SQLFilterDefinitions } from './src/filters/SQLFilter';
8
- export * from './src/filters/SQLSorter';
9
- export * from './src/SQLOrderBy';
10
- export * from './src/SQLInsert';
11
- export * from './src/QueryableModel';
12
- export * from './src/SQLTranslatedStringHelper';
1
+ export * from './src/SQL.js';
2
+ export * from './src/SQLExpression.js';
3
+ export * from './src/SQLExpressions.js';
4
+ export * from './src/SQLJsonExpressions.js';
5
+ export * from './src/SQLWhere.js';
6
+ export * from './src/SQLSelect.js';
7
+ export { createColumnFilter, createWildcardColumnFilter, createExistsFilter, createJoinedRelationFilter, SQLValueType, compileToSQLFilter, baseSQLFilterCompilers, SQLFilterDefinitions } from './src/filters/SQLFilter.js';
8
+ export * from './src/filters/SQLSorter.js';
9
+ export * from './src/SQLOrderBy.js';
10
+ export * from './src/SQLInsert.js';
11
+ export * from './src/QueryableModel.js';
12
+ export * from './src/SQLTranslatedStringHelper.js';
13
+ export * from './src/SQLLogger.js';
13
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,YAAY,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACzN,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iCAAiC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,YAAY,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAC5N,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oCAAoC,CAAC;AACnD,cAAc,oBAAoB,CAAC"}
package/dist/index.js CHANGED
@@ -2,23 +2,24 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.baseSQLFilterCompilers = exports.compileToSQLFilter = exports.SQLValueType = exports.createJoinedRelationFilter = exports.createExistsFilter = exports.createWildcardColumnFilter = exports.createColumnFilter = void 0;
4
4
  const tslib_1 = require("tslib");
5
- tslib_1.__exportStar(require("./src/SQL"), exports);
6
- tslib_1.__exportStar(require("./src/SQLExpression"), exports);
7
- tslib_1.__exportStar(require("./src/SQLExpressions"), exports);
8
- tslib_1.__exportStar(require("./src/SQLJsonExpressions"), exports);
9
- tslib_1.__exportStar(require("./src/SQLWhere"), exports);
10
- tslib_1.__exportStar(require("./src/SQLSelect"), exports);
11
- var SQLFilter_1 = require("./src/filters/SQLFilter");
12
- Object.defineProperty(exports, "createColumnFilter", { enumerable: true, get: function () { return SQLFilter_1.createColumnFilter; } });
13
- Object.defineProperty(exports, "createWildcardColumnFilter", { enumerable: true, get: function () { return SQLFilter_1.createWildcardColumnFilter; } });
14
- Object.defineProperty(exports, "createExistsFilter", { enumerable: true, get: function () { return SQLFilter_1.createExistsFilter; } });
15
- Object.defineProperty(exports, "createJoinedRelationFilter", { enumerable: true, get: function () { return SQLFilter_1.createJoinedRelationFilter; } });
16
- Object.defineProperty(exports, "SQLValueType", { enumerable: true, get: function () { return SQLFilter_1.SQLValueType; } });
17
- Object.defineProperty(exports, "compileToSQLFilter", { enumerable: true, get: function () { return SQLFilter_1.compileToSQLFilter; } });
18
- Object.defineProperty(exports, "baseSQLFilterCompilers", { enumerable: true, get: function () { return SQLFilter_1.baseSQLFilterCompilers; } });
19
- tslib_1.__exportStar(require("./src/filters/SQLSorter"), exports);
20
- tslib_1.__exportStar(require("./src/SQLOrderBy"), exports);
21
- tslib_1.__exportStar(require("./src/SQLInsert"), exports);
22
- tslib_1.__exportStar(require("./src/QueryableModel"), exports);
23
- tslib_1.__exportStar(require("./src/SQLTranslatedStringHelper"), exports);
5
+ tslib_1.__exportStar(require("./src/SQL.js"), exports);
6
+ tslib_1.__exportStar(require("./src/SQLExpression.js"), exports);
7
+ tslib_1.__exportStar(require("./src/SQLExpressions.js"), exports);
8
+ tslib_1.__exportStar(require("./src/SQLJsonExpressions.js"), exports);
9
+ tslib_1.__exportStar(require("./src/SQLWhere.js"), exports);
10
+ tslib_1.__exportStar(require("./src/SQLSelect.js"), exports);
11
+ var SQLFilter_js_1 = require("./src/filters/SQLFilter.js");
12
+ Object.defineProperty(exports, "createColumnFilter", { enumerable: true, get: function () { return SQLFilter_js_1.createColumnFilter; } });
13
+ Object.defineProperty(exports, "createWildcardColumnFilter", { enumerable: true, get: function () { return SQLFilter_js_1.createWildcardColumnFilter; } });
14
+ Object.defineProperty(exports, "createExistsFilter", { enumerable: true, get: function () { return SQLFilter_js_1.createExistsFilter; } });
15
+ Object.defineProperty(exports, "createJoinedRelationFilter", { enumerable: true, get: function () { return SQLFilter_js_1.createJoinedRelationFilter; } });
16
+ Object.defineProperty(exports, "SQLValueType", { enumerable: true, get: function () { return SQLFilter_js_1.SQLValueType; } });
17
+ Object.defineProperty(exports, "compileToSQLFilter", { enumerable: true, get: function () { return SQLFilter_js_1.compileToSQLFilter; } });
18
+ Object.defineProperty(exports, "baseSQLFilterCompilers", { enumerable: true, get: function () { return SQLFilter_js_1.baseSQLFilterCompilers; } });
19
+ tslib_1.__exportStar(require("./src/filters/SQLSorter.js"), exports);
20
+ tslib_1.__exportStar(require("./src/SQLOrderBy.js"), exports);
21
+ tslib_1.__exportStar(require("./src/SQLInsert.js"), exports);
22
+ tslib_1.__exportStar(require("./src/QueryableModel.js"), exports);
23
+ tslib_1.__exportStar(require("./src/SQLTranslatedStringHelper.js"), exports);
24
+ tslib_1.__exportStar(require("./src/SQLLogger.js"), exports);
24
25
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;AAAA,oDAA0B;AAC1B,8DAAoC;AACpC,+DAAqC;AACrC,mEAAyC;AACzC,yDAA+B;AAC/B,0DAAgC;AAChC,qDAAyN;AAAhN,+GAAA,kBAAkB,OAAA;AAAE,uHAAA,0BAA0B,OAAA;AAAE,+GAAA,kBAAkB,OAAA;AAAE,uHAAA,0BAA0B,OAAA;AAAE,yGAAA,YAAY,OAAA;AAAE,+GAAA,kBAAkB,OAAA;AAAE,mHAAA,sBAAsB,OAAA;AACjK,kEAAwC;AACxC,2DAAiC;AACjC,0DAAgC;AAChC,+DAAqC;AACrC,0EAAgD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;AAAA,uDAA6B;AAC7B,iEAAuC;AACvC,kEAAwC;AACxC,sEAA4C;AAC5C,4DAAkC;AAClC,6DAAmC;AACnC,2DAA4N;AAAnN,kHAAA,kBAAkB,OAAA;AAAE,0HAAA,0BAA0B,OAAA;AAAE,kHAAA,kBAAkB,OAAA;AAAE,0HAAA,0BAA0B,OAAA;AAAE,4GAAA,YAAY,OAAA;AAAE,kHAAA,kBAAkB,OAAA;AAAE,sHAAA,sBAAsB,OAAA;AACjK,qEAA2C;AAC3C,8DAAoC;AACpC,6DAAmC;AACnC,kEAAwC;AACxC,6EAAmD;AACnD,6DAAmC"}
@@ -1,18 +1,17 @@
1
- import { SQLExpression, SQLExpressionOptions, SQLQuery } from './SQLExpression';
2
- import { SQLJoin } from './SQLJoin';
3
- import { SQLWhere } from './SQLWhere';
1
+ import { SQLExpression, SQLExpressionOptions, SQLQuery } from './SQLExpression.js';
2
+ import { SQLJoin } from './SQLJoin.js';
4
3
  declare class EmptyClass {
5
4
  }
6
5
  declare const SQLDelete_base: {
7
6
  new (...args: any[]): {
8
- _where: SQLWhere | null;
9
- readonly __where: SQLWhere;
10
- where<T>(this: T, ...args: import("./SQLWhere").ParseWhereArguments): T;
11
- andWhere<T>(this: T, ...args: import("./SQLWhere").ParseWhereArguments): T;
12
- orWhere<T>(this: T, ...args: import("./SQLWhere").ParseWhereArguments): T;
13
- whereNot<T>(this: T, ...args: import("./SQLWhere").ParseWhereArguments): T;
14
- andWhereNot<T>(this: T, ...args: import("./SQLWhere").ParseWhereArguments): T;
15
- orWhereNot<T>(this: T, ...args: import("./SQLWhere").ParseWhereArguments): T;
7
+ _where: import("./SQLWhere.js").SQLWhere | null;
8
+ readonly __where: import("./SQLWhere.js").SQLWhere;
9
+ where<T>(this: T, ...args: import("./SQLWhere.js").ParseWhereArguments): T;
10
+ andWhere<T>(this: T, ...args: import("./SQLWhere.js").ParseWhereArguments): T;
11
+ orWhere<T>(this: T, ...args: import("./SQLWhere.js").ParseWhereArguments): T;
12
+ whereNot<T>(this: T, ...args: import("./SQLWhere.js").ParseWhereArguments): T;
13
+ andWhereNot<T>(this: T, ...args: import("./SQLWhere.js").ParseWhereArguments): T;
14
+ orWhereNot<T>(this: T, ...args: import("./SQLWhere.js").ParseWhereArguments): T;
16
15
  };
17
16
  } & typeof EmptyClass;
18
17
  export declare class SQLDelete extends SQLDelete_base implements SQLExpression {
@@ -1 +1 @@
1
- {"version":3,"file":"SQLDelete.d.ts","sourceRoot":"","sources":["../../src/SQLDelete.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,QAAQ,EAAmC,MAAM,iBAAiB,CAAC;AACjH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAa,MAAM,YAAY,CAAC;AAEjD,cAAM,UAAU;CAAG;;;;;;;;;;;;;AACnB,qBAAa,SAAU,SAAQ,cAAsB,YAAW,aAAa;IACzE,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,CAAC,YAAY,CAAC,OAAO,OAAO,CAAC,CAAC,EAAE,CAAM;IAE9C,KAAK,IAAI,IAAI;IAMb,IAAI,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAKhC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,OAAO,OAAO,CAAC,GAAG,IAAI;IAK9C,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,QAAQ;IA+B1C,MAAM,IAAI,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IAY3C,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,KAAK,GAAG,EAAE,UAAU,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;CAGpH"}
1
+ {"version":3,"file":"SQLDelete.d.ts","sourceRoot":"","sources":["../../src/SQLDelete.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,QAAQ,EAAmC,MAAM,oBAAoB,CAAC;AACpH,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAIvC,cAAM,UAAU;CAAG;;;;;;;;;;;;;AACnB,qBAAa,SAAU,SAAQ,cAAsB,YAAW,aAAa;IACzE,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,CAAC,YAAY,CAAC,OAAO,OAAO,CAAC,CAAC,EAAE,CAAM;IAE9C,KAAK,IAAI,IAAI;IAMb,IAAI,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAKhC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,OAAO,OAAO,CAAC,GAAG,IAAI;IAK9C,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,QAAQ;IA+B1C,MAAM,IAAI,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IAW3C,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,KAAK,GAAG,EAAE,UAAU,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;CAGpH"}
@@ -2,11 +2,12 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SQLDelete = void 0;
4
4
  const simple_database_1 = require("@simonbackx/simple-database");
5
- const SQLExpression_1 = require("./SQLExpression");
6
- const SQLWhere_1 = require("./SQLWhere");
5
+ const SQLExpression_js_1 = require("./SQLExpression.js");
6
+ const SQLLogger_js_1 = require("./SQLLogger.js");
7
+ const SQLWhere_js_1 = require("./SQLWhere.js");
7
8
  class EmptyClass {
8
9
  }
9
- class SQLDelete extends (0, SQLWhere_1.Whereable)(EmptyClass) {
10
+ class SQLDelete extends (0, SQLWhere_js_1.Whereable)(EmptyClass) {
10
11
  _from;
11
12
  _joins = [];
12
13
  clone() {
@@ -42,15 +43,14 @@ class SQLDelete extends (0, SQLWhere_1.Whereable)(EmptyClass) {
42
43
  query.push(this._where.getSQL(options));
43
44
  }
44
45
  }
45
- return (0, SQLExpression_1.joinSQLQuery)(query, ' ');
46
+ return (0, SQLExpression_js_1.joinSQLQuery)(query, ' ');
46
47
  }
47
48
  async delete() {
48
49
  if (this._where && this._where.isAlways === false) {
49
50
  return { affectedRows: 0 };
50
51
  }
51
- const { query, params } = (0, SQLExpression_1.normalizeSQLQuery)(this.getSQL());
52
- console.log(query, params);
53
- const [rows] = await simple_database_1.Database.delete(query, params);
52
+ const { query, params } = (0, SQLExpression_js_1.normalizeSQLQuery)(this.getSQL());
53
+ const [rows] = await SQLLogger_js_1.SQLLogger.log(simple_database_1.Database.delete(query, params), query, params);
54
54
  return rows;
55
55
  }
56
56
  async then(onFulfilled, onRejected) {
@@ -1 +1 @@
1
- {"version":3,"file":"SQLDelete.js","sourceRoot":"","sources":["../../src/SQLDelete.ts"],"names":[],"mappings":";;;AAAA,iEAAuD;AACvD,mDAAiH;AAEjH,yCAAiD;AAEjD,MAAM,UAAU;CAAG;AACnB,MAAa,SAAU,SAAQ,IAAA,oBAAS,EAAC,UAAU,CAAC;IAChD,KAAK,CAAgB;IACrB,MAAM,GAAqC,EAAE,CAAC;IAE9C,KAAK;QACD,MAAM,CAAC,GAAG,IAAI,SAAS,EAAE,CAAC;QAC1B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACvB,OAAO,CAAQ,CAAC;IACpB,CAAC;IAED,IAAI,CAAC,KAAoB;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,IAAkC;QACnC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,OAA8B;QACjC,MAAM,KAAK,GAAe;YACtB,QAAQ;SACX,CAAC;QAEF,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;QACxB,OAAO,CAAC,gBAAgB,GAAI,IAAI,CAAC,KAAa,CAAC,SAAS,IAAK,IAAI,CAAC,KAAa,CAAC,KAAK,IAAI,SAAS,CAAC;QAEnG,KAAK,CAAC,IAAI,CACN,MAAM,CACT,CAAC;QAEF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QAEvC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAEvD,QAAQ;QACR,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;YACpC,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;YACjF,CAAC;iBACI,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACvB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACpB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YAC5C,CAAC;QACL,CAAC;QAED,OAAO,IAAA,4BAAY,EAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,MAAM;QACR,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;YAChD,OAAO,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;QAC/B,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAA,iCAAiB,EAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAE3D,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,0BAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,WAAqD,EAAE,UAAgC;QAC9F,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACvD,CAAC;CACJ;AAlED,8BAkEC"}
1
+ {"version":3,"file":"SQLDelete.js","sourceRoot":"","sources":["../../src/SQLDelete.ts"],"names":[],"mappings":";;;AAAA,iEAAuD;AACvD,yDAAoH;AAEpH,iDAA2C;AAC3C,+CAA0C;AAE1C,MAAM,UAAU;CAAG;AACnB,MAAa,SAAU,SAAQ,IAAA,uBAAS,EAAC,UAAU,CAAC;IAChD,KAAK,CAAgB;IACrB,MAAM,GAAqC,EAAE,CAAC;IAE9C,KAAK;QACD,MAAM,CAAC,GAAG,IAAI,SAAS,EAAE,CAAC;QAC1B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACvB,OAAO,CAAQ,CAAC;IACpB,CAAC;IAED,IAAI,CAAC,KAAoB;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,IAAkC;QACnC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,OAA8B;QACjC,MAAM,KAAK,GAAe;YACtB,QAAQ;SACX,CAAC;QAEF,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;QACxB,OAAO,CAAC,gBAAgB,GAAI,IAAI,CAAC,KAAa,CAAC,SAAS,IAAK,IAAI,CAAC,KAAa,CAAC,KAAK,IAAI,SAAS,CAAC;QAEnG,KAAK,CAAC,IAAI,CACN,MAAM,CACT,CAAC;QAEF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QAEvC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAEvD,QAAQ;QACR,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;YACpC,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;YACjF,CAAC;iBACI,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACvB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACpB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YAC5C,CAAC;QACL,CAAC;QAED,OAAO,IAAA,+BAAY,EAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,MAAM;QACR,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;YAChD,OAAO,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;QAC/B,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAA,oCAAiB,EAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAE3D,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,wBAAS,CAAC,GAAG,CAAC,0BAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAClF,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,WAAqD,EAAE,UAAgC;QAC9F,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACvD,CAAC;CACJ;AAjED,8BAiEC"}
@@ -1,5 +1,5 @@
1
- import { SQLExpression, SQLExpressionOptions, SQLQuery } from './SQLExpression';
2
- import { SQLAlias, SQLAssignment, SQLScalarValue, SQLTableExpression } from './SQLExpressions';
1
+ import { SQLExpression, SQLExpressionOptions, SQLQuery } from './SQLExpression.js';
2
+ import { SQLAlias, SQLAssignment, SQLScalarValue, SQLTableExpression } from './SQLExpressions.js';
3
3
  export declare class SQLInsert implements SQLExpression {
4
4
  _columns: SQLExpression[];
5
5
  _values: SQLExpression[][];
@@ -1 +1 @@
1
- {"version":3,"file":"SQLInsert.d.ts","sourceRoot":"","sources":["../../src/SQLInsert.ts"],"names":[],"mappings":"AACA,OAAO,EAAoD,aAAa,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAClI,OAAO,EAAyB,QAAQ,EAAE,aAAa,EAAuB,cAAc,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3I,qBAAa,SAAU,YAAW,aAAa;IAC3C,QAAQ,EAAE,aAAa,EAAE,CAAM;IAC/B,OAAO,EAAE,aAAa,EAAE,EAAE,CAAM;IAChC,GAAG,EAAE,QAAQ,GAAG,IAAI,CAAQ;IAC5B,KAAK,EAAE,kBAAkB,CAAC;IAC1B,qBAAqB,EAAE,aAAa,EAAE,GAAG,IAAI,CAAQ;gBAEzC,SAAS,EAAE,kBAAkB,GAAG,MAAM;IAIlD,KAAK,IAAI,IAAI;IAMb,OAAO,CAAC,GAAG,OAAO,EAAE,CAAC,aAAa,GAAG,MAAM,CAAC,EAAE,GAAG,IAAI;IAKrD,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC,aAAa,GAAG,cAAc,GAAG,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI;IAYpE,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKvB,oBAAoB,CAAC,GAAG,WAAW,EAAE,aAAa,EAAE,GAAG,IAAI;IAK3D,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,QAAQ;IA0D1C,MAAM,IAAI,OAAO,CAAC;QAAE,QAAQ,EAAE,GAAG,CAAC;QAAA,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;CAMlE"}
1
+ {"version":3,"file":"SQLInsert.d.ts","sourceRoot":"","sources":["../../src/SQLInsert.ts"],"names":[],"mappings":"AACA,OAAO,EAAoD,aAAa,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACrI,OAAO,EAAyB,QAAQ,EAAE,aAAa,EAAuB,cAAc,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAG9I,qBAAa,SAAU,YAAW,aAAa;IAC3C,QAAQ,EAAE,aAAa,EAAE,CAAM;IAC/B,OAAO,EAAE,aAAa,EAAE,EAAE,CAAM;IAChC,GAAG,EAAE,QAAQ,GAAG,IAAI,CAAQ;IAC5B,KAAK,EAAE,kBAAkB,CAAC;IAC1B,qBAAqB,EAAE,aAAa,EAAE,GAAG,IAAI,CAAQ;gBAEzC,SAAS,EAAE,kBAAkB,GAAG,MAAM;IAIlD,KAAK,IAAI,IAAI;IAMb,OAAO,CAAC,GAAG,OAAO,EAAE,CAAC,aAAa,GAAG,MAAM,CAAC,EAAE,GAAG,IAAI;IAKrD,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC,aAAa,GAAG,cAAc,GAAG,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI;IAYpE,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKvB,oBAAoB,CAAC,GAAG,WAAW,EAAE,aAAa,EAAE,GAAG,IAAI;IAK3D,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,QAAQ;IA0D1C,MAAM,IAAI,OAAO,CAAC;QAAE,QAAQ,EAAE,GAAG,CAAC;QAAA,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;CAKlE"}
@@ -2,8 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SQLInsert = void 0;
4
4
  const simple_database_1 = require("@simonbackx/simple-database");
5
- const SQLExpression_1 = require("./SQLExpression");
6
- const SQLExpressions_1 = require("./SQLExpressions");
5
+ const SQLExpression_js_1 = require("./SQLExpression.js");
6
+ const SQLExpressions_js_1 = require("./SQLExpressions.js");
7
+ const SQLLogger_js_1 = require("./SQLLogger.js");
7
8
  class SQLInsert {
8
9
  _columns = [];
9
10
  _values = [];
@@ -11,7 +12,7 @@ class SQLInsert {
11
12
  _into;
12
13
  _onDuplicateKeyUpdate = null;
13
14
  constructor(tableName) {
14
- this._into = typeof tableName === 'string' ? new SQLExpressions_1.SQLTableExpression(tableName) : tableName;
15
+ this._into = typeof tableName === 'string' ? new SQLExpressions_js_1.SQLTableExpression(tableName) : tableName;
15
16
  }
16
17
  clone() {
17
18
  const c = new SQLInsert(this._into);
@@ -19,7 +20,7 @@ class SQLInsert {
19
20
  return c;
20
21
  }
21
22
  columns(...columns) {
22
- this._columns = columns.map(c => typeof c === 'string' ? new SQLExpressions_1.SQLColumnExpression(c) : c);
23
+ this._columns = columns.map(c => typeof c === 'string' ? new SQLExpressions_js_1.SQLColumnExpression(c) : c);
23
24
  return this;
24
25
  }
25
26
  values(...values) {
@@ -27,12 +28,12 @@ class SQLInsert {
27
28
  if (v.length !== this._columns.length) {
28
29
  throw new Error('Invalid number of values. Expected ' + this._columns.length + ' but got ' + v.length);
29
30
  }
30
- return v.map(c => (0, SQLExpression_1.isSQLExpression)(c) ? c : (0, SQLExpressions_1.scalarToSQLExpression)(c));
31
+ return v.map(c => (0, SQLExpression_js_1.isSQLExpression)(c) ? c : (0, SQLExpressions_js_1.scalarToSQLExpression)(c));
31
32
  });
32
33
  return this;
33
34
  }
34
35
  as(alias) {
35
- this._as = new SQLExpressions_1.SQLAlias(alias);
36
+ this._as = new SQLExpressions_js_1.SQLAlias(alias);
36
37
  return this;
37
38
  }
38
39
  onDuplicateKeyUpdate(...assignments) {
@@ -52,15 +53,15 @@ class SQLInsert {
52
53
  this._into.getSQL(options),
53
54
  ];
54
55
  const columns = this._columns.map(c => c.getSQL(options));
55
- query.push((0, SQLExpression_1.joinSQLQuery)([
56
+ query.push((0, SQLExpression_js_1.joinSQLQuery)([
56
57
  '(',
57
- (0, SQLExpression_1.joinSQLQuery)(columns, ', '),
58
+ (0, SQLExpression_js_1.joinSQLQuery)(columns, ', '),
58
59
  ')',
59
60
  ]));
60
61
  query.push('VALUES');
61
- query.push((0, SQLExpression_1.joinSQLQuery)(this._values.map(values => (0, SQLExpression_1.joinSQLQuery)([
62
+ query.push((0, SQLExpression_js_1.joinSQLQuery)(this._values.map(values => (0, SQLExpression_js_1.joinSQLQuery)([
62
63
  '(',
63
- (0, SQLExpression_1.joinSQLQuery)(values.map(v => v.getSQL(options)), ', '),
64
+ (0, SQLExpression_js_1.joinSQLQuery)(values.map(v => v.getSQL(options)), ', '),
64
65
  ')',
65
66
  ])), ', '));
66
67
  if (this._as !== null) {
@@ -68,14 +69,13 @@ class SQLInsert {
68
69
  }
69
70
  if (this._onDuplicateKeyUpdate !== null) {
70
71
  query.push('ON DUPLICATE KEY UPDATE');
71
- query.push((0, SQLExpression_1.joinSQLQuery)(this._onDuplicateKeyUpdate.map(a => a.getSQL(options)), ', '));
72
+ query.push((0, SQLExpression_js_1.joinSQLQuery)(this._onDuplicateKeyUpdate.map(a => a.getSQL(options)), ', '));
72
73
  }
73
- return (0, SQLExpression_1.joinSQLQuery)(query, ' ');
74
+ return (0, SQLExpression_js_1.joinSQLQuery)(query, ' ');
74
75
  }
75
76
  async insert() {
76
- const { query, params } = (0, SQLExpression_1.normalizeSQLQuery)(this.getSQL());
77
- console.log(query, params);
78
- const result = await simple_database_1.Database.insert(query, params);
77
+ const { query, params } = (0, SQLExpression_js_1.normalizeSQLQuery)(this.getSQL());
78
+ const result = await SQLLogger_js_1.SQLLogger.log(simple_database_1.Database.insert(query, params), query, params);
79
79
  return result[0];
80
80
  }
81
81
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SQLInsert.js","sourceRoot":"","sources":["../../src/SQLInsert.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SQLInsert.js","sourceRoot":"","sources":["../../src/SQLInsert.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ declare class StaticSQLLogger {
2
+ slowQueryThresholdMs: number | null;
3
+ explainAllAndLogInefficient: boolean;
4
+ explain(query: string, params: any[]): Promise<import("@simonbackx/simple-database").SQLResultRow | null>;
5
+ logInefficientExplainResult(query: string, params: any[], explainResult: any): Promise<void>;
6
+ log<T>(queryPromise: Promise<T>, query: string, params: any[]): Promise<T>;
7
+ }
8
+ export declare const SQLLogger: StaticSQLLogger;
9
+ export {};
10
+ //# sourceMappingURL=SQLLogger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SQLLogger.d.ts","sourceRoot":"","sources":["../../src/SQLLogger.ts"],"names":[],"mappings":"AAGA,cAAM,eAAe;IACjB,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC3C,2BAA2B,UAAS;IAE9B,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE;IAapC,2BAA2B,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,aAAa,EAAE,GAAG;IAgB5E,GAAG,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;CA4BnF;AAED,eAAO,MAAM,SAAS,iBAAwB,CAAC"}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SQLLogger = void 0;
4
+ const simple_database_1 = require("@simonbackx/simple-database");
5
+ const simple_logging_1 = require("@simonbackx/simple-logging");
6
+ class StaticSQLLogger {
7
+ slowQueryThresholdMs = null;
8
+ explainAllAndLogInefficient = false;
9
+ async explain(query, params) {
10
+ // Run an EXPLAIN on the query to see what is going on
11
+ try {
12
+ const explainQuery = 'EXPLAIN ' + query;
13
+ const [explainRows] = await simple_database_1.Database.select(explainQuery, params, { nestTables: true });
14
+ return explainRows[0]?.[''] ?? null;
15
+ }
16
+ catch (e) {
17
+ console.error('Error running EXPLAIN on slow query', e);
18
+ }
19
+ return null;
20
+ }
21
+ async logInefficientExplainResult(query, params, explainResult) {
22
+ if (!explainResult) {
23
+ return;
24
+ }
25
+ if (explainResult['type'] === 'ALL') {
26
+ console.warn(new simple_logging_1.StyledText('[FULL TABLE SCAN] ').addClass('error').addTag('query'), 'Inefficient query detected:', query, params, 'EXPLAIN result:', explainResult);
27
+ }
28
+ }
29
+ async log(queryPromise, query, params) {
30
+ if (this.slowQueryThresholdMs === null) {
31
+ if (this.explainAllAndLogInefficient) {
32
+ const result = await queryPromise;
33
+ await this.logInefficientExplainResult(query, params, await this.explain(query, params));
34
+ return result;
35
+ }
36
+ return queryPromise;
37
+ }
38
+ const startTime = process.hrtime.bigint();
39
+ const result = await queryPromise;
40
+ const elapsedTime = process.hrtime.bigint() - startTime;
41
+ // Convert to ms
42
+ const elapsedTimeMs = Number(elapsedTime) / 1000 / 1000;
43
+ if (elapsedTimeMs > this.slowQueryThresholdMs) {
44
+ console.trace('Slow SQL query (' + elapsedTimeMs.toFixed(2) + 'ms)\nQuery: ' + query, params);
45
+ }
46
+ if (this.explainAllAndLogInefficient) {
47
+ await this.logInefficientExplainResult(query, params, await this.explain(query, params));
48
+ return result;
49
+ }
50
+ return result;
51
+ }
52
+ }
53
+ exports.SQLLogger = new StaticSQLLogger();
54
+ //# sourceMappingURL=SQLLogger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SQLLogger.js","sourceRoot":"","sources":["../../src/SQLLogger.ts"],"names":[],"mappings":";;;AAAA,iEAAuD;AACvD,+DAAwD;AAExD,MAAM,eAAe;IACjB,oBAAoB,GAAkB,IAAI,CAAC;IAC3C,2BAA2B,GAAG,KAAK,CAAC;IAEpC,KAAK,CAAC,OAAO,CAAC,KAAa,EAAE,MAAa;QACtC,sDAAsD;QACtD,IAAI,CAAC;YACD,MAAM,YAAY,GAAG,UAAU,GAAG,KAAK,CAAC;YACxC,MAAM,CAAC,WAAW,CAAC,GAAG,MAAM,0BAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;YACxF,OAAO,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC;QACxC,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACP,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,CAAC,CAAC,CAAC;QAC5D,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,2BAA2B,CAAC,KAAa,EAAE,MAAa,EAAE,aAAkB;QAC9E,IAAI,CAAC,aAAa,EAAE,CAAC;YACjB,OAAO;QACX,CAAC;QACD,IAAI,aAAa,CAAC,MAAM,CAAC,KAAK,KAAK,EAAE,CAAC;YAClC,OAAO,CAAC,IAAI,CACR,IAAI,2BAAU,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EACtE,6BAA6B,EAC7B,KAAK,EACL,MAAM,EACN,iBAAiB,EACjB,aAAa,CAChB,CAAC;QACN,CAAC;IACL,CAAC;IAED,KAAK,CAAC,GAAG,CAAI,YAAwB,EAAE,KAAa,EAAE,MAAa;QAC/D,IAAI,IAAI,CAAC,oBAAoB,KAAK,IAAI,EAAE,CAAC;YACrC,IAAI,IAAI,CAAC,2BAA2B,EAAE,CAAC;gBACnC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC;gBAClC,MAAM,IAAI,CAAC,2BAA2B,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;gBACzF,OAAO,MAAM,CAAC;YAClB,CAAC;YACD,OAAO,YAAY,CAAC;QACxB,CAAC;QAED,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC;QAClC,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC;QAExD,gBAAgB;QAChB,MAAM,aAAa,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;QAExD,IAAI,aAAa,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5C,OAAO,CAAC,KAAK,CAAC,kBAAkB,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,cAAc,GAAG,KAAK,EAAE,MAAM,CAAC,CAAC;QAClG,CAAC;QAED,IAAI,IAAI,CAAC,2BAA2B,EAAE,CAAC;YACnC,MAAM,IAAI,CAAC,2BAA2B,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;YACzF,OAAO,MAAM,CAAC;QAClB,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAEY,QAAA,SAAS,GAAG,IAAI,eAAe,EAAE,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { SQLResultNamespacedRow } from '@simonbackx/simple-database';
2
- import { SQLExpression, SQLExpressionOptions, SQLNamedExpression, SQLQuery } from './SQLExpression';
3
- import { SQLJoin } from './SQLJoin';
2
+ import { SQLExpression, SQLExpressionOptions, SQLNamedExpression, SQLQuery } from './SQLExpression.js';
3
+ import { SQLJoin } from './SQLJoin.js';
4
4
  declare class EmptyClass {
5
5
  }
6
6
  export declare function parseTable(tableOrExpression: SQLNamedExpression | string, asNamespace?: string): SQLNamedExpression;
@@ -20,20 +20,20 @@ export type SQLNamedSelect<T extends object = SQLResultNamespacedRow> = SQLSelec
20
20
  };
21
21
  declare const SQLSelect_base: {
22
22
  new (...args: any[]): {
23
- _where: import("./SQLWhere").SQLWhere | null;
24
- readonly __where: import("./SQLWhere").SQLWhere;
25
- where<T_1>(this: T_1, ...args: import("./SQLWhere").ParseWhereArguments): T_1;
26
- andWhere<T_1>(this: T_1, ...args: import("./SQLWhere").ParseWhereArguments): T_1;
27
- orWhere<T_1>(this: T_1, ...args: import("./SQLWhere").ParseWhereArguments): T_1;
28
- whereNot<T_1>(this: T_1, ...args: import("./SQLWhere").ParseWhereArguments): T_1;
29
- andWhereNot<T_1>(this: T_1, ...args: import("./SQLWhere").ParseWhereArguments): T_1;
30
- orWhereNot<T_1>(this: T_1, ...args: import("./SQLWhere").ParseWhereArguments): T_1;
23
+ _where: import("./SQLWhere.js").SQLWhere | null;
24
+ readonly __where: import("./SQLWhere.js").SQLWhere;
25
+ where<T_1>(this: T_1, ...args: import("./SQLWhere.js").ParseWhereArguments): T_1;
26
+ andWhere<T_1>(this: T_1, ...args: import("./SQLWhere.js").ParseWhereArguments): T_1;
27
+ orWhere<T_1>(this: T_1, ...args: import("./SQLWhere.js").ParseWhereArguments): T_1;
28
+ whereNot<T_1>(this: T_1, ...args: import("./SQLWhere.js").ParseWhereArguments): T_1;
29
+ andWhereNot<T_1>(this: T_1, ...args: import("./SQLWhere.js").ParseWhereArguments): T_1;
30
+ orWhereNot<T_1>(this: T_1, ...args: import("./SQLWhere.js").ParseWhereArguments): T_1;
31
31
  };
32
32
  } & {
33
33
  new (...args: any[]): {
34
- _orderBy: import("./SQLOrderBy").SQLOrderBy | null;
35
- orderBy<T_1>(this: T_1, orderBy: import("./SQLOrderBy").SQLOrderBy): T_1;
36
- orderBy<T_1>(this: T_1, column: SQLExpression | string, direction?: import("./SQLOrderBy").SQLOrderByDirection): T_1;
34
+ _orderBy: import("./SQLOrderBy.js").SQLOrderBy | null;
35
+ orderBy<T_1>(this: T_1, orderBy: import("./SQLOrderBy.js").SQLOrderBy): T_1;
36
+ orderBy<T_1>(this: T_1, column: SQLExpression | string, direction?: import("./SQLOrderBy.js").SQLOrderByDirection): T_1;
37
37
  };
38
38
  } & typeof EmptyClass;
39
39
  export declare class SQLSelect<T extends object = SQLResultNamespacedRow> extends SQLSelect_base implements SQLExpression {
@@ -45,6 +45,7 @@ export declare class SQLSelect<T extends object = SQLResultNamespacedRow> extend
45
45
  _joins: (InstanceType<typeof SQLJoin>)[];
46
46
  _max_execution_time: number | null;
47
47
  private _name;
48
+ static slowQueryThresholdMs: number | null;
48
49
  _transformer: ((row: SQLResultNamespacedRow) => T) | null;
49
50
  constructor(...columns: (SQLExpression | string)[]);
50
51
  constructor(transformer: ((row: SQLResultNamespacedRow) => T), ...columns: (SQLExpression | string)[]);
@@ -1 +1 @@
1
- {"version":3,"file":"SQLSelect.d.ts","sourceRoot":"","sources":["../../src/SQLSelect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SQLSelect.d.ts","sourceRoot":"","sources":["../../src/SQLSelect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAE/E,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,QAAQ,EAAmC,MAAM,oBAAoB,CAAC;AAExI,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAKvC,cAAM,UAAU;CAAG;AAEnB,wBAAgB,UAAU,CAAC,iBAAiB,EAAE,kBAAkB,GAAG,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,kBAAkB,CAOnH;AAED,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,MAAM,GAAG,sBAAsB,IAAI,qBAAqB,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG;IAC7G,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,wBAAwB,CAAC;IAClC,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;CACxD,CAAC;AACF,MAAM,MAAM,wBAAwB,GAAG;IACnC;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,MAAM,GAAG,sBAAsB,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG;IAAE,OAAO,IAAI,MAAM,CAAA;CAAE,CAAC;;;;;;;;;;;;;;;;;;;AAE7G,qBAAa,SAAS,CAAC,CAAC,SAAS,MAAM,GAAG,sBAAsB,CAAE,SAAQ,cAAiC,YAAW,aAAa;IAC/H,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,KAAK,EAAE,kBAAkB,CAAC;IAE1B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC7B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC9B,QAAQ,EAAE,aAAa,EAAE,CAAM;IAC/B,MAAM,EAAE,CAAC,YAAY,CAAC,OAAO,OAAO,CAAC,CAAC,EAAE,CAAM;IAC9C,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC1C,OAAO,CAAC,KAAK,CAAuB;IACpC,MAAM,CAAC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAElD,YAAY,EAAE,CAAC,CAAC,GAAG,EAAE,sBAAsB,KAAK,CAAC,CAAC,GAAG,IAAI,CAAQ;gBAErD,GAAG,OAAO,EAAE,CAAC,aAAa,GAAG,MAAM,CAAC,EAAE;gBACtC,WAAW,EAAE,CAAC,CAAC,GAAG,EAAE,sBAAsB,KAAK,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,aAAa,GAAG,MAAM,CAAC,EAAE;IAUrG,KAAK,IAAI,IAAI;IAOb,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAC5C,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IACzB,IAAI,CAAC,UAAU,EAAE,kBAAkB,GAAG,IAAI;IAO1C,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC,aAAa,GAAG,MAAM,CAAC,EAAE,GAAG,IAAI;IAKpD,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,OAAO,OAAO,CAAC,GAAG,IAAI;IAS9C,OAAO,CAAC,GAAG,OAAO,EAAE,aAAa,EAAE,GAAG,IAAI;IAK1C,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAKrC,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,QAAQ;IAwEhD;;;;OAIG;IACH,IAAI,QAAQ,mBAEX;IAED,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,GAAE,MAAM,GAAG,IAAW,GAAG,IAAI;IAMzD,KAAK,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC;IA2C3B,KAAK,CAAC,QAAQ,EAAE,KAAK,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IACzC,KAAK,CAAC,QAAQ,EAAE,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC;IAa3B,KAAK,CAAC,UAAU,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;IAkClD,GAAG,CAAC,UAAU,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;IAmCrD,GAAG,CAAC,OAAO,GAAE,wBAA6B,GAAG,CAAC,SAAS;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,iBAAiB,CAAC,CAAC,CAAC,GAAG,KAAK;IAqGpG,UAAU,CAAC,OAAO,GAAE,wBAA6B,GAAG,CAAC,SAAS;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,iBAAiB,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK;IAuF7G,OAAO,IAAI,MAAM,GAAG,IAAI;IAIxB;;;;OAIG;IACH,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc;CAKnC"}
@@ -4,21 +4,22 @@ exports.SQLSelect = void 0;
4
4
  exports.parseTable = parseTable;
5
5
  const simple_database_1 = require("@simonbackx/simple-database");
6
6
  const utility_1 = require("@stamhoofd/utility");
7
- const SQLExpression_1 = require("./SQLExpression");
8
- const SQLExpressions_1 = require("./SQLExpressions");
9
- const SQLOrderBy_1 = require("./SQLOrderBy");
10
- const SQLWhere_1 = require("./SQLWhere");
7
+ const SQLExpression_js_1 = require("./SQLExpression.js");
8
+ const SQLExpressions_js_1 = require("./SQLExpressions.js");
9
+ const SQLOrderBy_js_1 = require("./SQLOrderBy.js");
10
+ const SQLWhere_js_1 = require("./SQLWhere.js");
11
+ const SQLLogger_js_1 = require("./SQLLogger.js");
11
12
  class EmptyClass {
12
13
  }
13
14
  function parseTable(tableOrExpression, asNamespace) {
14
15
  if (typeof tableOrExpression === 'string') {
15
- return new SQLExpressions_1.SQLTableExpression(tableOrExpression, asNamespace);
16
+ return new SQLExpressions_js_1.SQLTableExpression(tableOrExpression, asNamespace);
16
17
  }
17
18
  else {
18
19
  return tableOrExpression;
19
20
  }
20
21
  }
21
- class SQLSelect extends (0, SQLWhere_1.Whereable)((0, SQLOrderBy_1.Orderable)(EmptyClass)) {
22
+ class SQLSelect extends (0, SQLWhere_js_1.Whereable)((0, SQLOrderBy_js_1.Orderable)(EmptyClass)) {
22
23
  _columns;
23
24
  _from;
24
25
  _limit = null;
@@ -27,13 +28,14 @@ class SQLSelect extends (0, SQLWhere_1.Whereable)((0, SQLOrderBy_1.Orderable)(Em
27
28
  _joins = [];
28
29
  _max_execution_time = null;
29
30
  _name = null;
31
+ static slowQueryThresholdMs = null;
30
32
  _transformer = null;
31
33
  constructor(...columns) {
32
34
  super();
33
35
  if (typeof columns[0] === 'function') {
34
36
  this._transformer = columns.shift();
35
37
  }
36
- this._columns = columns.map(c => typeof c === 'string' ? new SQLExpressions_1.SQLColumnExpression(c) : c);
38
+ this._columns = columns.map(c => typeof c === 'string' ? new SQLExpressions_js_1.SQLColumnExpression(c) : c);
37
39
  }
38
40
  clone() {
39
41
  const c = new SQLSelect(...this._columns);
@@ -46,7 +48,7 @@ class SQLSelect extends (0, SQLWhere_1.Whereable)((0, SQLOrderBy_1.Orderable)(Em
46
48
  return this;
47
49
  }
48
50
  select(...columns) {
49
- this._columns.push(...columns.map(c => typeof c === 'string' ? new SQLExpressions_1.SQLColumnExpression(c) : c));
51
+ this._columns.push(...columns.map(c => typeof c === 'string' ? new SQLExpressions_js_1.SQLColumnExpression(c) : c));
50
52
  return this;
51
53
  }
52
54
  join(join) {
@@ -79,7 +81,7 @@ class SQLSelect extends (0, SQLWhere_1.Whereable)((0, SQLOrderBy_1.Orderable)(Em
79
81
  options.parentNamespace = parentOptions.defaultNamespace;
80
82
  }
81
83
  const columns = this._columns.map(c => c.getSQL(options));
82
- query.push((0, SQLExpression_1.joinSQLQuery)(columns, ', '));
84
+ query.push((0, SQLExpression_js_1.joinSQLQuery)(columns, ', '));
83
85
  query.push('FROM');
84
86
  query.push(this._from.getSQL(options));
85
87
  // Joins
@@ -101,7 +103,7 @@ class SQLSelect extends (0, SQLWhere_1.Whereable)((0, SQLOrderBy_1.Orderable)(Em
101
103
  }
102
104
  if (this._groupBy.length > 0) {
103
105
  query.push('GROUP BY');
104
- query.push((0, SQLExpression_1.joinSQLQuery)(this._groupBy.map(c => c.getSQL(options)), ', '));
106
+ query.push((0, SQLExpression_js_1.joinSQLQuery)(this._groupBy.map(c => c.getSQL(options)), ', '));
105
107
  }
106
108
  if (this._orderBy) {
107
109
  query.push(this._orderBy.getSQL(options));
@@ -112,7 +114,7 @@ class SQLSelect extends (0, SQLWhere_1.Whereable)((0, SQLOrderBy_1.Orderable)(Em
112
114
  query.push('OFFSET ' + this._offset);
113
115
  }
114
116
  }
115
- return (0, SQLExpression_1.joinSQLQuery)(query, ' ');
117
+ return (0, SQLExpression_js_1.joinSQLQuery)(query, ' ');
116
118
  }
117
119
  /**
118
120
  * Returns true when it know all results will be included without filtering.
@@ -131,12 +133,12 @@ class SQLSelect extends (0, SQLWhere_1.Whereable)((0, SQLOrderBy_1.Orderable)(Em
131
133
  if (this._where && this._where.isAlways === false) {
132
134
  return [];
133
135
  }
134
- const { query, params } = (0, SQLExpression_1.normalizeSQLQuery)(this.getSQL());
136
+ const { query, params } = (0, SQLExpression_js_1.normalizeSQLQuery)(this.getSQL());
135
137
  // when debugging: log all queries
136
138
  // console.log(query, params);
137
139
  let rows;
138
140
  try {
139
- const [_rows] = await simple_database_1.Database.select(query, params, { nestTables: true });
141
+ const [_rows] = await SQLLogger_js_1.SQLLogger.log(simple_database_1.Database.select(query, params, { nestTables: true }), query, params);
140
142
  rows = _rows;
141
143
  }
142
144
  catch (e) {
@@ -180,13 +182,13 @@ class SQLSelect extends (0, SQLWhere_1.Whereable)((0, SQLOrderBy_1.Orderable)(Em
180
182
  return 0;
181
183
  }
182
184
  this._columns = [
183
- new SQLExpressions_1.SQLSelectAs(new SQLExpressions_1.SQLCount(expression ?? null), new SQLExpressions_1.SQLAlias('c')),
185
+ new SQLExpressions_js_1.SQLSelectAs(new SQLExpressions_js_1.SQLCount(expression ?? null), new SQLExpressions_js_1.SQLAlias('c')),
184
186
  ];
185
187
  this._offset = null;
186
188
  this._limit = null;
187
189
  this._orderBy = null;
188
- const { query, params } = (0, SQLExpression_1.normalizeSQLQuery)(this.getSQL());
189
- const [rows] = await simple_database_1.Database.select(query, params, { nestTables: true });
190
+ const { query, params } = (0, SQLExpression_js_1.normalizeSQLQuery)(this.getSQL());
191
+ const [rows] = await SQLLogger_js_1.SQLLogger.log(simple_database_1.Database.select(query, params, { nestTables: true }), query, params);
190
192
  if (rows.length === 1) {
191
193
  const row = rows[0];
192
194
  if ('' in row) {
@@ -207,14 +209,14 @@ class SQLSelect extends (0, SQLWhere_1.Whereable)((0, SQLOrderBy_1.Orderable)(Em
207
209
  return 0;
208
210
  }
209
211
  this._columns = [
210
- new SQLExpressions_1.SQLSelectAs(new SQLExpressions_1.SQLSum(expression), new SQLExpressions_1.SQLAlias('c')),
212
+ new SQLExpressions_js_1.SQLSelectAs(new SQLExpressions_js_1.SQLSum(expression), new SQLExpressions_js_1.SQLAlias('c')),
211
213
  ];
212
214
  this._offset = null;
213
215
  this._limit = null;
214
216
  this._orderBy = null;
215
- const { query, params } = (0, SQLExpression_1.normalizeSQLQuery)(this.getSQL());
217
+ const { query, params } = (0, SQLExpression_js_1.normalizeSQLQuery)(this.getSQL());
216
218
  // console.log(query, params);
217
- const [rows] = await simple_database_1.Database.select(query, params, { nestTables: true });
219
+ const [rows] = await SQLLogger_js_1.SQLLogger.log(simple_database_1.Database.select(query, params, { nestTables: true }), query, params);
218
220
  if (rows.length === 1) {
219
221
  const row = rows[0];
220
222
  if ('' in row) {
@@ -1 +1 @@
1
- {"version":3,"file":"SQLSelect.js","sourceRoot":"","sources":["../../src/SQLSelect.ts"],"names":[],"mappings":";;;AAUA,gCAOC;AAjBD,iEAA+E;AAC/E,gDAA+C;AAC/C,mDAAqI;AACrI,qDAAoH;AAEpH,6CAAyC;AACzC,yCAAuC;AAEvC,MAAM,UAAU;CAAG;AAEnB,SAAgB,UAAU,CAAC,iBAA8C,EAAE,WAAoB;IAC3F,IAAI,OAAO,iBAAiB,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,IAAI,mCAAkB,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;IAClE,CAAC;SACI,CAAC;QACF,OAAO,iBAAiB,CAAC;IAC7B,CAAC;AACL,CAAC;AAgBD,MAAa,SAAqD,SAAQ,IAAA,oBAAS,EAAC,IAAA,sBAAS,EAAC,UAAU,CAAC,CAAC;IACtG,QAAQ,CAAkB;IAC1B,KAAK,CAAqB;IAE1B,MAAM,GAAkB,IAAI,CAAC;IAC7B,OAAO,GAAkB,IAAI,CAAC;IAC9B,QAAQ,GAAoB,EAAE,CAAC;IAC/B,MAAM,GAAqC,EAAE,CAAC;IAC9C,mBAAmB,GAAkB,IAAI,CAAC;IAClC,KAAK,GAAkB,IAAI,CAAC;IAEpC,YAAY,GAAgD,IAAI,CAAC;IAIjE,YAAY,GAAG,OAA0E;QACrF,KAAK,EAAE,CAAC;QAER,IAAI,OAAO,OAAO,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE,CAAC;YACnC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,KAAK,EAAS,CAAC;QAC/C,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,oCAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAQ,CAAC;IACpG,CAAC;IAED,KAAK;QACD,MAAM,CAAC,GAAG,IAAI,SAAS,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACvD,OAAO,CAAQ,CAAC;IACpB,CAAC;IAKD,IAAI,CAAC,iBAA8C,EAAE,SAAkB;QACnE,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;QAEtD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,GAAG,OAAmC;QACzC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,oCAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChG,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,IAAkC;QACnC,iEAAiE;QACjE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,CAAC,GAAG,OAAwB;QAC/B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,mBAAmB,CAAC,EAAU;QAC1B,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,OAA8B;QACjC,MAAM,KAAK,GAAe;YACtB,QAAQ;SACX,CAAC;QAEF,IAAI,IAAI,CAAC,mBAAmB,KAAK,IAAI,EAAE,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,CAAC;QAC9E,CAAC;QAED,8DAA8D;QAC9D,MAAM,aAAa,GAAG,OAAO,CAAC;QAC9B,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxC,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QAEhD,IAAI,aAAa,EAAE,gBAAgB,EAAE,CAAC;YAClC,OAAO,CAAC,eAAe,GAAG,aAAa,CAAC,gBAAgB,CAAC;QAC7D,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QAC1D,KAAK,CAAC,IAAI,CACN,IAAA,4BAAY,EAAC,OAAO,EAAE,IAAI,CAAC,CAC9B,CAAC;QAEF,KAAK,CAAC,IAAI,CACN,MAAM,CACT,CAAC;QAEF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QAEvC,QAAQ;QACR,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACvD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,MAAM,UAAU,GAAG,mBAAS,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACvG,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC1D,CAAC;QAED,QAAQ;QACR,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;YACpC,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;YACjF,CAAC;iBACI,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACvB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACpB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YAC5C,CAAC;QACL,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACvB,KAAK,CAAC,IAAI,CACN,IAAA,4BAAY,EACR,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EACzC,IAAI,CACP,CACJ,CAAC;QACN,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;YACnC,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;gBAC9C,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;YACzC,CAAC;QACL,CAAC;QAED,OAAO,IAAA,4BAAY,EAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACH,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,KAAoB,EAAE,SAAwB,IAAI;QACpD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,KAAK;QACP,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;YAChD,OAAO,EAAE,CAAC;QACd,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAA,iCAAiB,EAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAE3D,kCAAkC;QAClC,8BAA8B;QAC9B,IAAI,IAA8B,CAAC;QACnC,IAAI,CAAC;YACD,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,0BAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3E,IAAI,GAAG,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACP,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;YAC7D,MAAM,CAAC,CAAC;QACZ,CAAC;QAED,sDAAsD;QACtD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACrB,IAAI,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBACV,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;oBAC3B,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACpC,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;wBACvB,OAAO,CAAC,IAAI,CAAC,qCAAqC,EAAE,MAAM,CAAC,CAAC;wBAC5D,SAAS;oBACb,CAAC;oBACD,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAC9B,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;oBACzB,GAAG,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;oBACtC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;gBAC3C,CAAC;gBACD,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC;YACnB,CAAC;QACL,CAAC;QAED,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,IAAW,CAAC;IACvB,CAAC;IAID,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI;QACvB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QACzC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpB,IAAI,QAAQ,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,kCAAkC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC/E,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,UAA0B;QAClC,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;YAChD,OAAO,CAAC,CAAC;QACb,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG;YACZ,IAAI,4BAAW,CACX,IAAI,yBAAQ,CAAC,UAAU,IAAI,IAAI,CAAC,EAChC,IAAI,yBAAQ,CAAC,GAAG,CAAC,CACpB;SACJ,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAErB,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAA,iCAAiB,EAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAE3D,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,0BAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1E,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpB,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC;gBACZ,MAAM,UAAU,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC3B,IAAI,GAAG,IAAI,UAAU,EAAE,CAAC;oBACpB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;oBAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;wBACvD,OAAO,KAAK,CAAC;oBACjB,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAC;QACjD,OAAO,CAAC,CAAC;IACb,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,UAAyB;QAC/B,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;YAChD,OAAO,CAAC,CAAC;QACb,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG;YACZ,IAAI,4BAAW,CACX,IAAI,uBAAM,CAAC,UAAU,CAAC,EACtB,IAAI,yBAAQ,CAAC,GAAG,CAAC,CACpB;SACJ,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAErB,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAA,iCAAiB,EAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3D,8BAA8B;QAE9B,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,0BAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1E,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpB,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC;gBACZ,MAAM,UAAU,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC3B,IAAI,GAAG,IAAI,UAAU,EAAE,CAAC;oBACpB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;oBAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;wBACvD,OAAO,KAAK,CAAC;oBACjB,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,0BAA0B,EAAE,IAAI,CAAC,CAAC;QAC/C,OAAO,CAAC,CAAC;IACb,CAAC;IAED,GAAG,CAAC,UAAoC,EAAE;QACtC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,iFAAiF,CAAC,CAAC;QACvG,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;QACtB,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAEnB,IAAI,IAAI,GAAgB,IAAI,CAAC,KAAK,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC;QAElB,IAAI,KAAK,GAAQ,EAAE,CAAC;QACpB,IAAI,UAAU,GAAG,CAAC,CAAC;QAEnB,OAAO;YACH,UAAU,EAAE,CAAC;YACb,OAAO;YACP,CAAC,MAAM,CAAC,aAAa,CAAC;gBAClB,OAAO;oBACH,GAAG,IAAI;oBAEP,qBAAqB;oBACrB,UAAU,EAAE,CAAC;iBAChB,CAAC;YACN,CAAC;YACD,IAAI,MAAM;gBACN,OAAO,CAAC,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC;YACrD,CAAC;YACD,KAAK,CAAC,IAAI;gBACN,UAAU,EAAE,CAAC;gBAEb,IAAI,UAAU,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;oBAC5B,OAAO;wBACH,IAAI,EAAE,KAAK;wBACX,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC;qBAC3B,CAAC;gBACN,CAAC;gBAED,IAAI,CAAC,IAAI,EAAE,CAAC;oBACR,KAAK,GAAG,EAAE,CAAC,CAAC,kBAAkB;oBAC9B,OAAO;wBACH,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,SAAS;qBACnB,CAAC;gBACN,CAAC;gBAED,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;oBACtF,iBAAiB;oBACjB,OAAO;wBACH,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,SAAS;qBACnB,CAAC;gBACN,CAAC;gBAED,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC3B,IAAI,GAAG,IAAI,CAAC;gBACZ,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;gBAErB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACrB,OAAO;wBACH,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,SAAS;qBACnB,CAAC;gBACN,CAAC;gBACD,UAAU,GAAG,CAAC,CAAC;gBAEf,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;oBACxB,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;oBACpB,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;oBAC5C,IAAI,CAAC,CAAC,IAAI,IAAI,UAAU,CAAC,EAAE,CAAC;wBACxB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;oBACnE,CAAC;oBAED,MAAM,MAAM,GAAG,UAAU,CAAC,EAAE,CAAC;oBAC7B,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;wBAC7B,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;oBAC1E,CAAC;oBAED,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;gBACrC,CAAC;gBAED,OAAO;oBACH,IAAI,EAAE,KAAK;oBACX,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC;iBAC3B,CAAC;YACN,CAAC;YACD,UAAU,CAAC,UAAkB;gBACzB,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;gBACrC,OAAO,IAAI,CAAC;YAChB,CAAC;SAC2B,CAAC;IACrC,CAAC;IAED,UAAU,CAAC,UAAoC,EAAE;QAC7C,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,iFAAiF,CAAC,CAAC;QACvG,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;QACtB,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAEnB,IAAI,IAAI,GAAgB,IAAI,CAAC,KAAK,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC;QAElB,OAAO;YACH,UAAU,EAAE,CAAC;YACb,OAAO;YACP,CAAC,MAAM,CAAC,aAAa,CAAC;gBAClB,OAAO;oBACH,GAAG,IAAI;oBAEP,qBAAqB;oBACrB,UAAU,EAAE,CAAC;iBAChB,CAAC;YACN,CAAC;YACD,IAAI,MAAM;gBACN,OAAO,CAAC,IAAI,CAAC;YACjB,CAAC;YACD,KAAK,CAAC,IAAI;gBACN,IAAI,CAAC,IAAI,EAAE,CAAC;oBACR,OAAO;wBACH,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,SAAS;qBACnB,CAAC;gBACN,CAAC;gBAED,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;oBACtF,iBAAiB;oBACjB,OAAO;wBACH,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,SAAS;qBACnB,CAAC;gBACN,CAAC;gBAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;gBACjC,IAAI,GAAG,IAAI,CAAC;gBACZ,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;gBAErB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACrB,OAAO;wBACH,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,SAAS;qBACnB,CAAC;gBACN,CAAC;gBAED,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;oBACxB,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;oBACpB,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;oBAC5C,IAAI,CAAC,CAAC,IAAI,IAAI,UAAU,CAAC,EAAE,CAAC;wBACxB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;oBACnE,CAAC;oBAED,MAAM,MAAM,GAAG,UAAU,CAAC,EAAE,CAAC;oBAC7B,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;wBAC7B,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;oBAC1E,CAAC;oBAED,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;gBACrC,CAAC;gBAED,OAAO;oBACH,IAAI,EAAE,KAAK;oBACX,KAAK,EAAE,KAAK;iBACf,CAAC;YACN,CAAC;YACD,UAAU,CAAC,UAAkB;gBACzB,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;gBACrC,OAAO,IAAI,CAAC;YAChB,CAAC;SAC6B,CAAC;IACvC,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACH,EAAE,CAAC,IAAY;QACX,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAElB,OAAO,IAAsB,CAAC;IAClC,CAAC;CACJ;AA/dD,8BA+dC"}
1
+ {"version":3,"file":"SQLSelect.js","sourceRoot":"","sources":["../../src/SQLSelect.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,17 @@
1
- import { SQLExpression, SQLExpressionOptions, SQLQuery } from './SQLExpression';
2
- import { SQLAssignment, SQLDynamicExpression, SQLTableExpression } from './SQLExpressions';
1
+ import { SQLExpression, SQLExpressionOptions, SQLQuery } from './SQLExpression.js';
2
+ import { SQLAssignment, SQLDynamicExpression, SQLTableExpression } from './SQLExpressions.js';
3
3
  declare class EmptyClass {
4
4
  }
5
5
  declare const SQLUpdate_base: {
6
6
  new (...args: any[]): {
7
- _where: import("./SQLWhere").SQLWhere | null;
8
- readonly __where: import("./SQLWhere").SQLWhere;
9
- where<T>(this: T, ...args: import("./SQLWhere").ParseWhereArguments): T;
10
- andWhere<T>(this: T, ...args: import("./SQLWhere").ParseWhereArguments): T;
11
- orWhere<T>(this: T, ...args: import("./SQLWhere").ParseWhereArguments): T;
12
- whereNot<T>(this: T, ...args: import("./SQLWhere").ParseWhereArguments): T;
13
- andWhereNot<T>(this: T, ...args: import("./SQLWhere").ParseWhereArguments): T;
14
- orWhereNot<T>(this: T, ...args: import("./SQLWhere").ParseWhereArguments): T;
7
+ _where: import("./SQLWhere.js").SQLWhere | null;
8
+ readonly __where: import("./SQLWhere.js").SQLWhere;
9
+ where<T>(this: T, ...args: import("./SQLWhere.js").ParseWhereArguments): T;
10
+ andWhere<T>(this: T, ...args: import("./SQLWhere.js").ParseWhereArguments): T;
11
+ orWhere<T>(this: T, ...args: import("./SQLWhere.js").ParseWhereArguments): T;
12
+ whereNot<T>(this: T, ...args: import("./SQLWhere.js").ParseWhereArguments): T;
13
+ andWhereNot<T>(this: T, ...args: import("./SQLWhere.js").ParseWhereArguments): T;
14
+ orWhereNot<T>(this: T, ...args: import("./SQLWhere.js").ParseWhereArguments): T;
15
15
  };
16
16
  } & typeof EmptyClass;
17
17
  export declare class SQLUpdate extends SQLUpdate_base implements SQLExpression {
@@ -1 +1 @@
1
- {"version":3,"file":"SQLUpdate.d.ts","sourceRoot":"","sources":["../../src/SQLUpdate.ts"],"names":[],"mappings":"AACA,OAAO,EAAmC,aAAa,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACjH,OAAO,EAA4B,aAAa,EAAuB,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAG1I,cAAM,UAAU;CAAG;;;;;;;;;;;;;AAEnB,qBAAa,SAAU,SAAQ,cAAsB,YAAW,aAAa;IACzE,MAAM,EAAE,kBAAkB,CAAC;IAC3B,IAAI,EAAE,aAAa,EAAE,GAAG,IAAI,CAAQ;gBAExB,SAAS,EAAE,kBAAkB,GAAG,MAAM;IAKlD,KAAK,IAAI,IAAI;IAMb,GAAG,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM,EAAE,KAAK,EAAE,oBAAoB,GAAG,IAAI;IAS7E,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,QAAQ;IAmC1C,MAAM,IAAI,OAAO,CAAC;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CAKnD"}
1
+ {"version":3,"file":"SQLUpdate.d.ts","sourceRoot":"","sources":["../../src/SQLUpdate.ts"],"names":[],"mappings":"AACA,OAAO,EAAmC,aAAa,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACpH,OAAO,EAA4B,aAAa,EAAuB,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAI7I,cAAM,UAAU;CAAG;;;;;;;;;;;;;AAEnB,qBAAa,SAAU,SAAQ,cAAsB,YAAW,aAAa;IACzE,MAAM,EAAE,kBAAkB,CAAC;IAC3B,IAAI,EAAE,aAAa,EAAE,GAAG,IAAI,CAAQ;gBAExB,SAAS,EAAE,kBAAkB,GAAG,MAAM;IAKlD,KAAK,IAAI,IAAI;IAMb,GAAG,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM,EAAE,KAAK,EAAE,oBAAoB,GAAG,IAAI;IAS7E,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,QAAQ;IAmC1C,MAAM,IAAI,OAAO,CAAC;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CAKnD"}
@@ -2,17 +2,18 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SQLUpdate = void 0;
4
4
  const simple_database_1 = require("@simonbackx/simple-database");
5
- const SQLExpression_1 = require("./SQLExpression");
6
- const SQLExpressions_1 = require("./SQLExpressions");
7
- const SQLWhere_1 = require("./SQLWhere");
5
+ const SQLExpression_js_1 = require("./SQLExpression.js");
6
+ const SQLExpressions_js_1 = require("./SQLExpressions.js");
7
+ const SQLWhere_js_1 = require("./SQLWhere.js");
8
+ const SQLLogger_js_1 = require("./SQLLogger.js");
8
9
  class EmptyClass {
9
10
  }
10
- class SQLUpdate extends (0, SQLWhere_1.Whereable)(EmptyClass) {
11
+ class SQLUpdate extends (0, SQLWhere_js_1.Whereable)(EmptyClass) {
11
12
  _table;
12
13
  _set = null;
13
14
  constructor(tableName) {
14
15
  super();
15
- this._table = typeof tableName === 'string' ? new SQLExpressions_1.SQLTableExpression(tableName) : tableName;
16
+ this._table = typeof tableName === 'string' ? new SQLExpressions_js_1.SQLTableExpression(tableName) : tableName;
16
17
  }
17
18
  clone() {
18
19
  const c = new SQLUpdate(this._table);
@@ -23,7 +24,7 @@ class SQLUpdate extends (0, SQLWhere_1.Whereable)(EmptyClass) {
23
24
  if (!this._set) {
24
25
  this._set = [];
25
26
  }
26
- this._set.push(new SQLExpressions_1.SQLAssignment(typeof whereOrColumn === 'string' ? new SQLExpressions_1.SQLColumnExpression(whereOrColumn) : whereOrColumn, (0, SQLExpressions_1.readDynamicSQLExpression)(value)));
27
+ this._set.push(new SQLExpressions_js_1.SQLAssignment(typeof whereOrColumn === 'string' ? new SQLExpressions_js_1.SQLColumnExpression(whereOrColumn) : whereOrColumn, (0, SQLExpressions_js_1.readDynamicSQLExpression)(value)));
27
28
  return this;
28
29
  }
29
30
  getSQL(options) {
@@ -42,16 +43,16 @@ class SQLUpdate extends (0, SQLWhere_1.Whereable)(EmptyClass) {
42
43
  this._table.getSQL(options),
43
44
  ];
44
45
  query.push('SET');
45
- query.push((0, SQLExpression_1.joinSQLQuery)(this._set.map(a => a.getSQL(options)), ', '));
46
+ query.push((0, SQLExpression_js_1.joinSQLQuery)(this._set.map(a => a.getSQL(options)), ', '));
46
47
  if (this._where) {
47
48
  query.push('WHERE');
48
49
  query.push(this._where.getSQL(options));
49
50
  }
50
- return (0, SQLExpression_1.joinSQLQuery)(query, ' ');
51
+ return (0, SQLExpression_js_1.joinSQLQuery)(query, ' ');
51
52
  }
52
53
  async update() {
53
- const { query, params } = (0, SQLExpression_1.normalizeSQLQuery)(this.getSQL());
54
- const result = await simple_database_1.Database.update(query, params);
54
+ const { query, params } = (0, SQLExpression_js_1.normalizeSQLQuery)(this.getSQL());
55
+ const result = await SQLLogger_js_1.SQLLogger.log(simple_database_1.Database.update(query, params), query, params);
55
56
  return result[0];
56
57
  }
57
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SQLUpdate.js","sourceRoot":"","sources":["../../src/SQLUpdate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SQLUpdate.js","sourceRoot":"","sources":["../../src/SQLUpdate.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"root":["../src/queryablemodel.ts","../src/sql.ts","../src/sqldelete.ts","../src/sqlexpression.ts","../src/sqlexpressions.ts","../src/sqlinsert.ts","../src/sqljoin.ts","../src/sqljsonexpressions.ts","../src/sqlorderby.ts","../src/sqlselect.ts","../src/sqltranslatedstringhelper.ts","../src/sqlupdate.ts","../src/sqlwhere.ts","../src/filters/sqlfilter.ts","../src/filters/sqlsorter.ts","../src/filters/compilers/contains.ts","../src/filters/compilers/equals.ts","../src/filters/compilers/greater.ts","../src/filters/compilers/in.ts","../src/filters/compilers/index.ts","../src/filters/compilers/less.ts","../src/filters/helpers/isjsoncolumn.ts","../src/filters/helpers/normalizecomparevalue.ts","../tests/jest.global.setup.ts","../tests/jest.setup.ts","../tests/filters/$and.test.ts","../tests/filters/$contains.test.ts","../tests/filters/$eq.test.ts","../tests/filters/$gt.test.ts","../tests/filters/$gte.test.ts","../tests/filters/$in.test.ts","../tests/filters/$lt.test.ts","../tests/filters/$lte.test.ts","../tests/filters/$neq.test.ts","../tests/filters/$not.test.ts","../tests/filters/$or.test.ts","../tests/filters/sqltranslatedstringhelper.test.ts","../tests/filters/dot-syntax.test.ts","../tests/filters/exists.test.ts","../tests/filters/joined-relations.test.ts","../tests/filters/special-cases.test.ts","../tests/filters/wildcard.test.ts","../tests/utils/index.ts","../index.ts","../../../../environment.d.ts","../../../../jest-extended.d.ts","../../../stamhoofd.d.ts"],"version":"5.8.3"}
1
+ {"root":["../src/queryablemodel.ts","../src/sql.ts","../src/sqldelete.ts","../src/sqlexpression.ts","../src/sqlexpressions.ts","../src/sqlinsert.ts","../src/sqljoin.ts","../src/sqljsonexpressions.ts","../src/sqllogger.ts","../src/sqlorderby.ts","../src/sqlselect.ts","../src/sqltranslatedstringhelper.ts","../src/sqlupdate.ts","../src/sqlwhere.ts","../src/filters/sqlfilter.ts","../src/filters/sqlsorter.ts","../src/filters/compilers/contains.ts","../src/filters/compilers/equals.ts","../src/filters/compilers/greater.ts","../src/filters/compilers/in.ts","../src/filters/compilers/index.ts","../src/filters/compilers/less.ts","../src/filters/helpers/isjsoncolumn.ts","../src/filters/helpers/normalizecomparevalue.ts","../tests/jest.global.setup.ts","../tests/jest.setup.ts","../tests/filters/$and.test.ts","../tests/filters/$contains.test.ts","../tests/filters/$eq.test.ts","../tests/filters/$gt.test.ts","../tests/filters/$gte.test.ts","../tests/filters/$in.test.ts","../tests/filters/$lt.test.ts","../tests/filters/$lte.test.ts","../tests/filters/$neq.test.ts","../tests/filters/$not.test.ts","../tests/filters/$or.test.ts","../tests/filters/sqltranslatedstringhelper.test.ts","../tests/filters/dot-syntax.test.ts","../tests/filters/exists.test.ts","../tests/filters/joined-relations.test.ts","../tests/filters/special-cases.test.ts","../tests/filters/wildcard.test.ts","../tests/utils/index.ts","../index.ts","../../../../environment.d.ts","../../../../jest-extended.d.ts","../../../stamhoofd.d.ts"],"version":"5.8.3"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stamhoofd/sql",
3
- "version": "2.114.1",
3
+ "version": "2.115.0",
4
4
  "main": "./dist/index.js",
5
5
  "types": "./dist/index.d.ts",
6
6
  "license": "UNLICENCED",
@@ -10,11 +10,11 @@
10
10
  "dist"
11
11
  ],
12
12
  "scripts": {
13
- "build": "tsc -b",
13
+ "build": "tsc -b --clean && tsc -b",
14
14
  "test": "jest"
15
15
  },
16
16
  "publishConfig": {
17
17
  "access": "public"
18
18
  },
19
- "gitHead": "0394c203f4133023b2a813d96554ea8b4a0a73d8"
19
+ "gitHead": "b68983abee843a6d4f4460b7818d66a8780587cc"
20
20
  }
package/src/SQLDelete.ts CHANGED
@@ -1,7 +1,8 @@
1
1
  import { Database } from '@simonbackx/simple-database';
2
- import { SQLExpression, SQLExpressionOptions, SQLQuery, joinSQLQuery, normalizeSQLQuery } from './SQLExpression';
3
- import { SQLJoin } from './SQLJoin';
4
- import { SQLWhere, Whereable } from './SQLWhere';
2
+ import { SQLExpression, SQLExpressionOptions, SQLQuery, joinSQLQuery, normalizeSQLQuery } from './SQLExpression.js';
3
+ import { SQLJoin } from './SQLJoin.js';
4
+ import { SQLLogger } from './SQLLogger.js';
5
+ import { Whereable } from './SQLWhere.js';
5
6
 
6
7
  class EmptyClass {}
7
8
  export class SQLDelete extends Whereable(EmptyClass) implements SQLExpression {
@@ -62,8 +63,7 @@ export class SQLDelete extends Whereable(EmptyClass) implements SQLExpression {
62
63
 
63
64
  const { query, params } = normalizeSQLQuery(this.getSQL());
64
65
 
65
- console.log(query, params);
66
- const [rows] = await Database.delete(query, params);
66
+ const [rows] = await SQLLogger.log(Database.delete(query, params), query, params);
67
67
  return rows;
68
68
  }
69
69
 
package/src/SQLInsert.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { Database } from '@simonbackx/simple-database';
2
- import { isSQLExpression, joinSQLQuery, normalizeSQLQuery, SQLExpression, SQLExpressionOptions, SQLQuery } from './SQLExpression';
3
- import { scalarToSQLExpression, SQLAlias, SQLAssignment, SQLColumnExpression, SQLScalarValue, SQLTableExpression } from './SQLExpressions';
2
+ import { isSQLExpression, joinSQLQuery, normalizeSQLQuery, SQLExpression, SQLExpressionOptions, SQLQuery } from './SQLExpression.js';
3
+ import { scalarToSQLExpression, SQLAlias, SQLAssignment, SQLColumnExpression, SQLScalarValue, SQLTableExpression } from './SQLExpressions.js';
4
+ import { SQLLogger } from './SQLLogger.js';
4
5
 
5
6
  export class SQLInsert implements SQLExpression {
6
7
  _columns: SQLExpression[] = [];
@@ -106,8 +107,7 @@ export class SQLInsert implements SQLExpression {
106
107
 
107
108
  async insert(): Promise<{ insertId: any;affectedRows: number }> {
108
109
  const { query, params } = normalizeSQLQuery(this.getSQL());
109
- console.log(query, params);
110
- const result = await Database.insert(query, params);
110
+ const result = await SQLLogger.log(Database.insert(query, params), query, params);
111
111
  return result[0];
112
112
  }
113
113
  }
@@ -0,0 +1,67 @@
1
+ import { Database } from '@simonbackx/simple-database';
2
+ import { StyledText } from '@simonbackx/simple-logging';
3
+
4
+ class StaticSQLLogger {
5
+ slowQueryThresholdMs: number | null = null;
6
+ explainAllAndLogInefficient = false;
7
+
8
+ async explain(query: string, params: any[]) {
9
+ // Run an EXPLAIN on the query to see what is going on
10
+ try {
11
+ const explainQuery = 'EXPLAIN ' + query;
12
+ const [explainRows] = await Database.select(explainQuery, params, { nestTables: true });
13
+ return explainRows[0]?.[''] ?? null;
14
+ }
15
+ catch (e) {
16
+ console.error('Error running EXPLAIN on slow query', e);
17
+ }
18
+ return null;
19
+ }
20
+
21
+ async logInefficientExplainResult(query: string, params: any[], explainResult: any) {
22
+ if (!explainResult) {
23
+ return;
24
+ }
25
+ if (explainResult['type'] === 'ALL') {
26
+ console.warn(
27
+ new StyledText('[FULL TABLE SCAN] ').addClass('error').addTag('query'),
28
+ 'Inefficient query detected:',
29
+ query,
30
+ params,
31
+ 'EXPLAIN result:',
32
+ explainResult,
33
+ );
34
+ }
35
+ }
36
+
37
+ async log<T>(queryPromise: Promise<T>, query: string, params: any[]): Promise<T> {
38
+ if (this.slowQueryThresholdMs === null) {
39
+ if (this.explainAllAndLogInefficient) {
40
+ const result = await queryPromise;
41
+ await this.logInefficientExplainResult(query, params, await this.explain(query, params));
42
+ return result;
43
+ }
44
+ return queryPromise;
45
+ }
46
+
47
+ const startTime = process.hrtime.bigint();
48
+ const result = await queryPromise;
49
+ const elapsedTime = process.hrtime.bigint() - startTime;
50
+
51
+ // Convert to ms
52
+ const elapsedTimeMs = Number(elapsedTime) / 1000 / 1000;
53
+
54
+ if (elapsedTimeMs > this.slowQueryThresholdMs) {
55
+ console.trace('Slow SQL query (' + elapsedTimeMs.toFixed(2) + 'ms)\nQuery: ' + query, params);
56
+ }
57
+
58
+ if (this.explainAllAndLogInefficient) {
59
+ await this.logInefficientExplainResult(query, params, await this.explain(query, params));
60
+ return result;
61
+ }
62
+
63
+ return result;
64
+ }
65
+ }
66
+
67
+ export const SQLLogger = new StaticSQLLogger();
package/src/SQLSelect.ts CHANGED
@@ -1,10 +1,11 @@
1
1
  import { Database, SQLResultNamespacedRow } from '@simonbackx/simple-database';
2
2
  import { Formatter } from '@stamhoofd/utility';
3
- import { SQLExpression, SQLExpressionOptions, SQLNamedExpression, SQLQuery, joinSQLQuery, normalizeSQLQuery } from './SQLExpression';
4
- import { SQLAlias, SQLColumnExpression, SQLCount, SQLSelectAs, SQLSum, SQLTableExpression } from './SQLExpressions';
5
- import { SQLJoin } from './SQLJoin';
6
- import { Orderable } from './SQLOrderBy';
7
- import { Whereable } from './SQLWhere';
3
+ import { SQLExpression, SQLExpressionOptions, SQLNamedExpression, SQLQuery, joinSQLQuery, normalizeSQLQuery } from './SQLExpression.js';
4
+ import { SQLAlias, SQLColumnExpression, SQLCount, SQLSelectAs, SQLSum, SQLTableExpression } from './SQLExpressions.js';
5
+ import { SQLJoin } from './SQLJoin.js';
6
+ import { Orderable } from './SQLOrderBy.js';
7
+ import { Whereable } from './SQLWhere.js';
8
+ import { SQLLogger } from './SQLLogger.js';
8
9
 
9
10
  class EmptyClass {}
10
11
 
@@ -41,6 +42,7 @@ export class SQLSelect<T extends object = SQLResultNamespacedRow> extends Wherea
41
42
  _joins: (InstanceType<typeof SQLJoin>)[] = [];
42
43
  _max_execution_time: number | null = null;
43
44
  private _name: string | null = null;
45
+ static slowQueryThresholdMs: number | null = null;
44
46
 
45
47
  _transformer: ((row: SQLResultNamespacedRow) => T) | null = null;
46
48
 
@@ -193,7 +195,7 @@ export class SQLSelect<T extends object = SQLResultNamespacedRow> extends Wherea
193
195
  // console.log(query, params);
194
196
  let rows: SQLResultNamespacedRow[];
195
197
  try {
196
- const [_rows] = await Database.select(query, params, { nestTables: true });
198
+ const [_rows] = await SQLLogger.log(Database.select(query, params, { nestTables: true }), query, params);
197
199
  rows = _rows;
198
200
  }
199
201
  catch (e) {
@@ -256,7 +258,7 @@ export class SQLSelect<T extends object = SQLResultNamespacedRow> extends Wherea
256
258
 
257
259
  const { query, params } = normalizeSQLQuery(this.getSQL());
258
260
 
259
- const [rows] = await Database.select(query, params, { nestTables: true });
261
+ const [rows] = await SQLLogger.log(Database.select(query, params, { nestTables: true }), query, params);
260
262
  if (rows.length === 1) {
261
263
  const row = rows[0];
262
264
  if ('' in row) {
@@ -291,7 +293,7 @@ export class SQLSelect<T extends object = SQLResultNamespacedRow> extends Wherea
291
293
  const { query, params } = normalizeSQLQuery(this.getSQL());
292
294
  // console.log(query, params);
293
295
 
294
- const [rows] = await Database.select(query, params, { nestTables: true });
296
+ const [rows] = await SQLLogger.log(Database.select(query, params, { nestTables: true }), query, params);
295
297
  if (rows.length === 1) {
296
298
  const row = rows[0];
297
299
  if ('' in row) {
package/src/SQLUpdate.ts CHANGED
@@ -1,7 +1,8 @@
1
1
  import { Database } from '@simonbackx/simple-database';
2
- import { joinSQLQuery, normalizeSQLQuery, SQLExpression, SQLExpressionOptions, SQLQuery } from './SQLExpression';
3
- import { readDynamicSQLExpression, SQLAssignment, SQLColumnExpression, SQLDynamicExpression, SQLTableExpression } from './SQLExpressions';
4
- import { Whereable } from './SQLWhere';
2
+ import { joinSQLQuery, normalizeSQLQuery, SQLExpression, SQLExpressionOptions, SQLQuery } from './SQLExpression.js';
3
+ import { readDynamicSQLExpression, SQLAssignment, SQLColumnExpression, SQLDynamicExpression, SQLTableExpression } from './SQLExpressions.js';
4
+ import { Whereable } from './SQLWhere.js';
5
+ import { SQLLogger } from './SQLLogger.js';
5
6
 
6
7
  class EmptyClass {}
7
8
 
@@ -66,7 +67,7 @@ export class SQLUpdate extends Whereable(EmptyClass) implements SQLExpression {
66
67
 
67
68
  async update(): Promise<{ changedRows: number }> {
68
69
  const { query, params } = normalizeSQLQuery(this.getSQL());
69
- const result = await Database.update(query, params);
70
+ const result = await SQLLogger.log(Database.update(query, params), query, params);
70
71
  return result[0];
71
72
  }
72
73
  }