@spinajs/orm-mssql 2.0.486 → 2.0.488

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/lib/mjs/index.js CHANGED
@@ -7,13 +7,14 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
- import { DatetimeValueConverter, DeleteQueryCompiler, ModelDehydrator, TableAliasCompiler, OnDuplicateQueryCompiler, OrderByQueryCompiler, TableQueryCompiler, ColumnQueryCompiler, InsertQueryCompiler, QueryContext, TableExistsCompiler, LimitQueryCompiler } from '@spinajs/orm';
10
+ import { DatetimeValueConverter, DeleteQueryCompiler, ModelDehydrator, TableAliasCompiler, OnDuplicateQueryCompiler, OrderByQueryCompiler, TableQueryCompiler, ColumnQueryCompiler, InsertQueryCompiler, QueryContext, TableExistsCompiler, LimitQueryCompiler, InSetStatement, IdentifierQuoter, TruncateTableQueryCompiler, CreateDatabaseCompiler, DropDatabaseCompiler } from '@spinajs/orm';
11
11
  /* eslint-disable security/detect-object-injection */
12
12
  import { Injectable, NewInstance } from '@spinajs/di';
13
- import { SqlDriver } from '@spinajs/orm-sql';
13
+ import { SqlDriver, SqlTruncateTableQueryCompiler } from '@spinajs/orm-sql';
14
14
  import mssql from 'mssql';
15
- import { MsSqlTableExistsCompiler, MsSqlLimitCompiler, MsSqlOrderByCompiler, MsSqlTableQueryCompiler, MsSqlColumnQueryCompiler, MsSqlInsertQueryCompiler, MsSqlDeleteQueryCompiler, MsSqlTableAliasCompiler, MsSqlOnDuplicateQueryCompiler } from './compilers.js';
15
+ import { MsSqlTableExistsCompiler, MsSqlLimitCompiler, MsSqlOrderByCompiler, MsSqlTableQueryCompiler, MsSqlColumnQueryCompiler, MsSqlInsertQueryCompiler, MsSqlDeleteQueryCompiler, MsSqlTableAliasCompiler, MsSqlOnDuplicateQueryCompiler, MsSqlCreateDatabaseQueryCompiler, MsSqlDropDatabaseQueryCompiler } from './compilers.js';
16
16
  import { MssqlModelDehydrator } from './dehydrator.js';
17
+ import { BracketIdentifierQuoter, MsSqlInSetStatement } from './statements.js';
17
18
  import { MsSqlDatetimeValueConverter } from './converters.js';
18
19
  const MSSQL_ISOLATION_LEVELS = {
19
20
  'READ UNCOMMITTED': mssql.ISOLATION_LEVEL.READ_UNCOMMITTED,
@@ -77,7 +78,19 @@ let MsSqlOrmDriver = class MsSqlOrmDriver extends SqlDriver {
77
78
  }
78
79
  supportedFeatures() {
79
80
  return {
80
- events: true,
81
+ /**
82
+ * FALSE, and it always was in practice. This driver registers no event or
83
+ * table-history compiler, so both fell through to the shared ones — which
84
+ * emit MySQL's `CREATE EVENT` and MySQL trigger syntax, and every one of
85
+ * them would have been rejected by SQL Server. Scheduling on this platform
86
+ * is SQL Server Agent, and history is a temporal table; until this driver
87
+ * implements them, claiming support only means the failure happens later
88
+ * and further from its cause.
89
+ *
90
+ * The dialect contract check is what surfaced this — it saw the shared
91
+ * MySQL event compiler answering for a driver whose dialect is `mssql`.
92
+ */
93
+ events: false,
81
94
  insertReturning: false,
82
95
  // SCOPE_IDENTITY() reports the LAST identity generated in the scope, so a multi-row insert
83
96
  // cannot be walked forwards from it. MSSQL opts out of the batch key backfill.
@@ -95,7 +108,7 @@ let MsSqlOrmDriver = class MsSqlOrmDriver extends SqlDriver {
95
108
  }
96
109
  async connect() {
97
110
  try {
98
- this._connectionPool = (await mssql.connect({
111
+ this._connectionPool = await mssql.connect({
99
112
  user: this.Options.User,
100
113
  password: this.Options.Password,
101
114
  database: this.Options.Database,
@@ -110,7 +123,7 @@ let MsSqlOrmDriver = class MsSqlOrmDriver extends SqlDriver {
110
123
  idleTimeoutMillis: this.resolvedPoolOptions().IdleTimeout,
111
124
  acquireTimeoutMillis: this.resolvedPoolOptions().AcquireTimeout,
112
125
  },
113
- }));
126
+ });
114
127
  await this.executeOnDb(`USE ${this.Options.Database}`, [], QueryContext.Schema);
115
128
  return this;
116
129
  }
@@ -141,6 +154,18 @@ let MsSqlOrmDriver = class MsSqlOrmDriver extends SqlDriver {
141
154
  this.Container.register(MsSqlTableAliasCompiler).as(TableAliasCompiler);
142
155
  this.Container.register(MsSqlDatetimeValueConverter).as(DatetimeValueConverter);
143
156
  this.Container.register(MsSqlOnDuplicateQueryCompiler).as(OnDuplicateQueryCompiler);
157
+ this.Container.register(MsSqlInSetStatement).as(InSetStatement);
158
+ // T-SQL spells database DDL its own way - no CHARACTER SET, no IF NOT EXISTS.
159
+ this.Container.register(MsSqlCreateDatabaseQueryCompiler).as(CreateDatabaseCompiler);
160
+ this.Container.register(MsSqlDropDatabaseQueryCompiler).as(DropDatabaseCompiler);
161
+ // Brackets, not the backticks this driver used to inherit from the shared layer.
162
+ this.Container.register(BracketIdentifierQuoter).as(IdentifierQuoter);
163
+ // `TRUNCATE TABLE` is valid T-SQL, so the shared compiler is claimed explicitly.
164
+ // `CHANGE COLUMN`, `ALTER TABLE ... RENAME TO`, `CREATE TABLE ... LIKE`,
165
+ // `WITH RECURSIVE` and `CURRENT_DATE()` are NOT T-SQL and are left unregistered:
166
+ // those features now fail with a DI error naming the abstraction instead of
167
+ // reaching SQL Server as MySQL syntax.
168
+ this.Container.register(SqlTruncateTableQueryCompiler).as(TruncateTableQueryCompiler);
144
169
  }
145
170
  async disconnect() {
146
171
  if (this._connectionPool) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { IdentifierQuoter, InSetStatement, IQueryStatement, IQueryStatementResult } from '@spinajs/orm';
2
+ /**
3
+ * Membership test against a delimited `@Set()` column, MSSQL dialect.
4
+ *
5
+ * `CHARINDEX` over the column padded with delimiters on both sides — a value is a
6
+ * member exactly when `,value,` occurs inside `,col,`. MSSQL concatenates with `+`,
7
+ * not `||`, which is one of the reasons there is no single portable spelling of this
8
+ * query and every driver registers its own.
9
+ *
10
+ * `ISNULL` keeps a NULL column out of the result instead of propagating NULL.
11
+ */
12
+ export declare class MsSqlInSetStatement extends InSetStatement {
13
+ Quoter: IdentifierQuoter;
14
+ build(): IQueryStatementResult;
15
+ clone(): IQueryStatement;
16
+ }
17
+ /**
18
+ * Bracket quoting — SQL Server's rule, escaping an embedded `]` by doubling it.
19
+ *
20
+ * This driver used to import the shared BACKTICK helper and emit `` `table` ``, which
21
+ * SQL Server does not accept, in every statement its own compilers did not replace.
22
+ * Quoting is a service now, so registering this is all it takes.
23
+ */
24
+ export declare class BracketIdentifierQuoter extends IdentifierQuoter {
25
+ quote(name: string): string;
26
+ }
27
+ //# sourceMappingURL=statements.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"statements.d.ts","sourceRoot":"","sources":["../../src/statements.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,eAAe,EAAE,qBAAqB,EAAiB,MAAM,cAAc,CAAC;AAGvH;;;;;;;;;GASG;AACH,qBACa,mBAAoB,SAAQ,cAAc;IAE9C,MAAM,EAAE,gBAAgB,CAAC;IAEzB,KAAK,IAAI,qBAAqB;IAe9B,KAAK,IAAI,eAAe;CAQhC;AAED;;;;;;GAMG;AACH,qBACa,uBAAwB,SAAQ,gBAAgB;IACpD,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CAGnC"}
@@ -0,0 +1,69 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var MsSqlInSetStatement_1;
11
+ import { Autoinject, NewInstance } from '@spinajs/di';
12
+ import { IdentifierQuoter, InSetStatement, SET_DELIMITER } from '@spinajs/orm';
13
+ import { _columnWrap } from '@spinajs/orm-sql';
14
+ /**
15
+ * Membership test against a delimited `@Set()` column, MSSQL dialect.
16
+ *
17
+ * `CHARINDEX` over the column padded with delimiters on both sides — a value is a
18
+ * member exactly when `,value,` occurs inside `,col,`. MSSQL concatenates with `+`,
19
+ * not `||`, which is one of the reasons there is no single portable spelling of this
20
+ * query and every driver registers its own.
21
+ *
22
+ * `ISNULL` keeps a NULL column out of the result instead of propagating NULL.
23
+ */
24
+ let MsSqlInSetStatement = MsSqlInSetStatement_1 = class MsSqlInSetStatement extends InSetStatement {
25
+ build() {
26
+ const column = _columnWrap(this.Quoter, this._column, this._tableAlias);
27
+ const bindings = [];
28
+ const expressions = this.values().map((value) => {
29
+ bindings.push(`${SET_DELIMITER}${value}${SET_DELIMITER}`);
30
+ return `(CHARINDEX(?, '${SET_DELIMITER}' + ISNULL(${column}, '') + '${SET_DELIMITER}') > 0)`;
31
+ });
32
+ return {
33
+ Bindings: bindings,
34
+ Statements: [this.combine(expressions)],
35
+ };
36
+ }
37
+ clone() {
38
+ const clone = new MsSqlInSetStatement_1(this._column, this._val, this._not, this._tableAlias);
39
+ // a hand-constructed clone never goes through the container, so the injected
40
+ // quoter has to be carried over explicitly
41
+ clone.Quoter = this.Quoter;
42
+ return clone;
43
+ }
44
+ };
45
+ __decorate([
46
+ Autoinject(IdentifierQuoter),
47
+ __metadata("design:type", IdentifierQuoter)
48
+ ], MsSqlInSetStatement.prototype, "Quoter", void 0);
49
+ MsSqlInSetStatement = MsSqlInSetStatement_1 = __decorate([
50
+ NewInstance()
51
+ ], MsSqlInSetStatement);
52
+ export { MsSqlInSetStatement };
53
+ /**
54
+ * Bracket quoting — SQL Server's rule, escaping an embedded `]` by doubling it.
55
+ *
56
+ * This driver used to import the shared BACKTICK helper and emit `` `table` ``, which
57
+ * SQL Server does not accept, in every statement its own compilers did not replace.
58
+ * Quoting is a service now, so registering this is all it takes.
59
+ */
60
+ let BracketIdentifierQuoter = class BracketIdentifierQuoter extends IdentifierQuoter {
61
+ quote(name) {
62
+ return '[' + String(name).replace(/]/g, ']]') + ']';
63
+ }
64
+ };
65
+ BracketIdentifierQuoter = __decorate([
66
+ NewInstance()
67
+ ], BracketIdentifierQuoter);
68
+ export { BracketIdentifierQuoter };
69
+ //# sourceMappingURL=statements.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"statements.js","sourceRoot":"","sources":["../../src/statements.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAA0C,aAAa,EAAE,MAAM,cAAc,CAAC;AACvH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C;;;;;;;;;GASG;AAEI,IAAM,mBAAmB,2BAAzB,MAAM,mBAAoB,SAAQ,cAAc;IAI9C,KAAK;QACV,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACxE,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAC9C,QAAQ,CAAC,IAAI,CAAC,GAAG,aAAa,GAAG,KAAK,GAAG,aAAa,EAAE,CAAC,CAAC;YAC1D,OAAO,kBAAkB,aAAa,cAAc,MAAM,YAAY,aAAa,SAAS,CAAC;QAC/F,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,QAAQ,EAAE,QAAQ;YAClB,UAAU,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;SACxC,CAAC;IACJ,CAAC;IAEM,KAAK;QACV,MAAM,KAAK,GAAG,IAAI,qBAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,WAAY,CAAC,CAAC;QAC7F,6EAA6E;QAC7E,2CAA2C;QAC3C,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAE3B,OAAO,KAAK,CAAC;IACf,CAAC;CACF,CAAA;AAzBQ;IADN,UAAU,CAAC,gBAAgB,CAAC;8BACd,gBAAgB;mDAAC;AAFrB,mBAAmB;IAD/B,WAAW,EAAE;GACD,mBAAmB,CA2B/B;;AAED;;;;;;GAMG;AAEI,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,gBAAgB;IACpD,KAAK,CAAC,IAAY;QACvB,OAAO,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC;IACtD,CAAC;CACF,CAAA;AAJY,uBAAuB;IADnC,WAAW,EAAE;GACD,uBAAuB,CAInC"}