@memberjunction/sqlserver-dataprovider 6.2.0-edge.6 → 6.2.0-edge.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.
- package/dist/SQLServerDataProvider.d.ts +39 -8
- package/dist/SQLServerDataProvider.d.ts.map +1 -1
- package/dist/SQLServerDataProvider.js +262 -34
- package/dist/SQLServerDataProvider.js.map +1 -1
- package/dist/SQLServerTransactionGroup.d.ts +19 -1
- package/dist/SQLServerTransactionGroup.d.ts.map +1 -1
- package/dist/SQLServerTransactionGroup.js +179 -93
- package/dist/SQLServerTransactionGroup.js.map +1 -1
- package/dist/saveParameters.d.ts +8 -3
- package/dist/saveParameters.d.ts.map +1 -1
- package/dist/saveParameters.js +20 -2
- package/dist/saveParameters.js.map +1 -1
- package/dist/statementDescription.d.ts +31 -0
- package/dist/statementDescription.d.ts.map +1 -0
- package/dist/statementDescription.js +46 -0
- package/dist/statementDescription.js.map +1 -0
- package/dist/typedParameters.d.ts +15 -0
- package/dist/typedParameters.d.ts.map +1 -0
- package/dist/typedParameters.js +85 -0
- package/dist/typedParameters.js.map +1 -0
- package/dist/types.d.ts +3 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +16 -16
|
@@ -2,24 +2,128 @@ import { Metadata, TransactionGroupBase, TransactionResult, LogError } from "@me
|
|
|
2
2
|
import sql from 'mssql';
|
|
3
3
|
import { GenericDatabaseProvider } from "@memberjunction/generic-database-provider";
|
|
4
4
|
/**
|
|
5
|
-
* SQL Server implementation of the TransactionGroupBase
|
|
5
|
+
* SQL Server implementation of the TransactionGroupBase.
|
|
6
|
+
*
|
|
7
|
+
* When created via {@link SQLServerDataProvider.CreateTransactionGroup}, participates directly in
|
|
8
|
+
* the owning provider's transaction lifecycle (`BeginTransaction` / `CommitTransaction` /
|
|
9
|
+
* `RollbackTransaction`), supporting nested savepoints, `TransactionAffinity`, `RunAfterCommit`,
|
|
10
|
+
* and per-request provider isolation.
|
|
6
11
|
*/
|
|
7
12
|
export class SQLServerTransactionGroup extends TransactionGroupBase {
|
|
13
|
+
constructor(provider) {
|
|
14
|
+
super();
|
|
15
|
+
this._activeTransaction = null;
|
|
16
|
+
this._activeProvider = null;
|
|
17
|
+
this._managedByProvider = false;
|
|
18
|
+
this._groupTxOpen = false;
|
|
19
|
+
this._provider = provider;
|
|
20
|
+
}
|
|
21
|
+
resolveProvider(items) {
|
|
22
|
+
if (this._provider) {
|
|
23
|
+
return this._provider;
|
|
24
|
+
}
|
|
25
|
+
const entityProvider = items[0]?.BaseEntity?.ProviderToUse;
|
|
26
|
+
if (entityProvider &&
|
|
27
|
+
typeof entityProvider.BeginTransaction === 'function' &&
|
|
28
|
+
typeof entityProvider.ProcessEntityRows === 'function') {
|
|
29
|
+
return entityProvider;
|
|
30
|
+
}
|
|
31
|
+
return Metadata.Provider; // global-provider-ok: legacy 0-arg fallback when no owning provider was supplied
|
|
32
|
+
}
|
|
33
|
+
hasProviderTransactionLifecycle(provider) {
|
|
34
|
+
return Boolean(provider &&
|
|
35
|
+
typeof provider.BeginTransaction === 'function' &&
|
|
36
|
+
typeof provider.CommitTransaction === 'function' &&
|
|
37
|
+
typeof provider.RollbackTransaction === 'function');
|
|
38
|
+
}
|
|
39
|
+
BeginGroupTransaction() {
|
|
40
|
+
const items = this.PendingTransactions;
|
|
41
|
+
if (items.length === 0) {
|
|
42
|
+
return Promise.resolve();
|
|
43
|
+
}
|
|
44
|
+
const sqlProvider = this.resolveProvider(items);
|
|
45
|
+
this._activeProvider = sqlProvider;
|
|
46
|
+
if (this.hasProviderTransactionLifecycle(sqlProvider)) {
|
|
47
|
+
this._managedByProvider = true;
|
|
48
|
+
// Synchronous call in prefix so TransactionAffinity.Claim() binds Submit()'s async scope
|
|
49
|
+
return sqlProvider.BeginTransaction().then(() => {
|
|
50
|
+
const tx = sqlProvider.ActiveTransactionHandle;
|
|
51
|
+
if (!tx) {
|
|
52
|
+
throw new Error('SQLServerTransactionGroup: provider.BeginTransaction() completed without an active transaction handle');
|
|
53
|
+
}
|
|
54
|
+
this._activeTransaction = tx;
|
|
55
|
+
this._groupTxOpen = true;
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
// Legacy standalone fallback (e.g. unit tests constructing SQLServerTransactionGroup() with a stub provider)
|
|
59
|
+
this._managedByProvider = false;
|
|
60
|
+
const pool = items[0].ExtraData.dataSource;
|
|
61
|
+
const transaction = new sql.Transaction(pool);
|
|
62
|
+
return transaction.begin().then(() => {
|
|
63
|
+
this._activeTransaction = transaction;
|
|
64
|
+
this._groupTxOpen = true;
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
async CommitGroupTransaction() {
|
|
68
|
+
if (!this._groupTxOpen) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
this._groupTxOpen = false;
|
|
72
|
+
const tx = this._activeTransaction;
|
|
73
|
+
const provider = this._activeProvider;
|
|
74
|
+
this._activeTransaction = null;
|
|
75
|
+
this._activeProvider = null;
|
|
76
|
+
if (this._managedByProvider && provider) {
|
|
77
|
+
await provider.CommitTransaction();
|
|
78
|
+
}
|
|
79
|
+
else if (tx) {
|
|
80
|
+
await tx.commit();
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
async RollbackGroupTransaction() {
|
|
84
|
+
if (!this._groupTxOpen) {
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
this._groupTxOpen = false;
|
|
88
|
+
const tx = this._activeTransaction;
|
|
89
|
+
const provider = this._activeProvider;
|
|
90
|
+
this._activeTransaction = null;
|
|
91
|
+
this._activeProvider = null;
|
|
92
|
+
try {
|
|
93
|
+
if (this._managedByProvider && provider) {
|
|
94
|
+
await provider.RollbackTransaction();
|
|
95
|
+
}
|
|
96
|
+
else if (tx) {
|
|
97
|
+
await tx.rollback();
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
catch (rollbackError) {
|
|
101
|
+
LogError(`Failed to rollback after operation error: ${rollbackError}`);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
async executeOnTransaction(transaction, sqlProvider, description, run) {
|
|
105
|
+
if (sqlProvider && typeof sqlProvider.ExecuteOnTransactionHandle === 'function') {
|
|
106
|
+
return sqlProvider.ExecuteOnTransactionHandle(transaction, description, run);
|
|
107
|
+
}
|
|
108
|
+
return run(transaction);
|
|
109
|
+
}
|
|
8
110
|
async HandleSubmit() {
|
|
9
111
|
const returnResults = [];
|
|
10
112
|
const items = this.PendingTransactions;
|
|
11
|
-
const sqlProvider = Metadata.Provider; // global-provider-ok: data provider implementation, owns its provider context
|
|
12
113
|
if (items.length > 0) {
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
|
|
114
|
+
const openedLocally = !this._groupTxOpen;
|
|
115
|
+
if (openedLocally) {
|
|
116
|
+
await this.BeginGroupTransaction();
|
|
117
|
+
}
|
|
118
|
+
const sqlProvider = this._activeProvider ?? this.resolveProvider(items);
|
|
119
|
+
const transaction = this._activeTransaction;
|
|
16
120
|
try {
|
|
17
|
-
await transaction.begin();
|
|
18
121
|
if (this.Variables.length > 0) {
|
|
19
122
|
// need to execute in order since there are dependencies between the transaction items for the given variables
|
|
20
123
|
for (const item of items) {
|
|
21
124
|
// execute the individual query
|
|
22
|
-
let result
|
|
125
|
+
let result;
|
|
126
|
+
let bSuccess = false;
|
|
23
127
|
try {
|
|
24
128
|
const numValueSet = this.SetEntityValuesFromVariables(item.BaseEntity); // set the variables that this item needs
|
|
25
129
|
if (numValueSet > 0 && item.OperationType !== 'Delete') {
|
|
@@ -30,13 +134,7 @@ export class SQLServerTransactionGroup extends TransactionGroupBase {
|
|
|
30
134
|
const newInstruction = await sqlProvider.GetSaveSQL(item.BaseEntity, bCreate, spName, item.BaseEntity.ContextCurrentUser, transaction);
|
|
31
135
|
item.Instruction = newInstruction; // update the instruction with the new values
|
|
32
136
|
}
|
|
33
|
-
// Create a request for this transaction
|
|
34
|
-
const request = new sql.Request(transaction);
|
|
35
|
-
// Add parameters if any
|
|
36
137
|
if (item.Vars && Array.isArray(item.Vars)) {
|
|
37
|
-
item.Vars.forEach((value, index) => {
|
|
38
|
-
request.input(`p${index}`, value);
|
|
39
|
-
});
|
|
40
138
|
// Replace ? with @p0, @p1, etc. in the query
|
|
41
139
|
let paramIndex = 0;
|
|
42
140
|
item.Instruction = item.Instruction.replace(/\?/g, () => `@p${paramIndex++}`);
|
|
@@ -45,25 +143,30 @@ export class SQLServerTransactionGroup extends TransactionGroupBase {
|
|
|
45
143
|
const description = `${item.OperationType} ${item.ExtraData?.entityName || 'entity'} (Transaction Group)`;
|
|
46
144
|
await GenericDatabaseProvider.LogSQLStatement(item.Instruction, item.Vars, description, true, // isMutation
|
|
47
145
|
item.ExtraData?.simpleSQLFallback);
|
|
48
|
-
const queryResult = await
|
|
146
|
+
const queryResult = await this.executeOnTransaction(transaction, sqlProvider, description, async (tx) => {
|
|
147
|
+
const request = new sql.Request(tx);
|
|
148
|
+
if (item.Vars && Array.isArray(item.Vars)) {
|
|
149
|
+
item.Vars.forEach((value, index) => {
|
|
150
|
+
request.input(`p${index}`, value);
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
return request.query(item.Instruction);
|
|
154
|
+
});
|
|
49
155
|
const rawResult = queryResult.recordset;
|
|
50
156
|
if (rawResult && rawResult.length > 0) {
|
|
51
157
|
// Process the result to handle timezone conversions and decryption
|
|
52
|
-
|
|
53
|
-
|
|
158
|
+
const processedRows = await sqlProvider.ProcessEntityRows(rawResult, item.BaseEntity.EntityInfo, item.BaseEntity.ContextCurrentUser);
|
|
159
|
+
result = processedRows;
|
|
160
|
+
this.SetVariableValuesFromEntity(item.BaseEntity, processedRows[0]); // set the variables that this item defines after the save is done
|
|
54
161
|
}
|
|
55
|
-
bSuccess = (result && result.length > 0
|
|
162
|
+
bSuccess = Array.isArray(result) && result.length > 0;
|
|
56
163
|
}
|
|
57
164
|
catch (e) {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
}
|
|
64
|
-
catch (rollbackError) {
|
|
65
|
-
LogError(`Failed to rollback after operation error: ${rollbackError}`);
|
|
66
|
-
}
|
|
165
|
+
const failure = e instanceof Error ? e : new Error(String(e));
|
|
166
|
+
result = failure;
|
|
167
|
+
bSuccess = false;
|
|
168
|
+
// Immediately rollback on first failure
|
|
169
|
+
await this.RollbackGroupTransaction();
|
|
67
170
|
// Create result for the failed operation
|
|
68
171
|
returnResults.push(new TransactionResult(item, result, bSuccess));
|
|
69
172
|
// Throw error immediately to stop processing
|
|
@@ -71,63 +174,48 @@ export class SQLServerTransactionGroup extends TransactionGroupBase {
|
|
|
71
174
|
throw new Error(`Transaction rolled back due to operation failure: ${errorMessage}`);
|
|
72
175
|
}
|
|
73
176
|
// save the results
|
|
74
|
-
returnResults.push(new TransactionResult(item, result && result.length > 0 ? result[0] : result, bSuccess));
|
|
177
|
+
returnResults.push(new TransactionResult(item, Array.isArray(result) && result.length > 0 ? result[0] : result, bSuccess));
|
|
75
178
|
}
|
|
76
179
|
}
|
|
77
180
|
else if (this.BatchedSubmit) {
|
|
78
181
|
await this.executeBatchedNoVars(items, transaction, sqlProvider, returnResults);
|
|
79
182
|
}
|
|
80
183
|
else {
|
|
81
|
-
// execute individually since there are no variable dependencies, but we want to avoid
|
|
184
|
+
// execute individually since there are no variable dependencies, but we want to avoid
|
|
82
185
|
// variable conflicts between different stored procedure calls that might use same variable names
|
|
83
186
|
for (const item of items) {
|
|
84
|
-
let result = null
|
|
187
|
+
let result = null;
|
|
188
|
+
let bSuccess = false;
|
|
85
189
|
try {
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
// Add parameters if any
|
|
190
|
+
const description = `${item.OperationType} ${item.ExtraData?.entityName || 'entity'} (Transaction Group)`;
|
|
191
|
+
let instructionToRun = item.Instruction;
|
|
89
192
|
if (item.Vars && Array.isArray(item.Vars)) {
|
|
90
|
-
item.Vars.forEach((value, index) => {
|
|
91
|
-
request.input(`p${index}`, value);
|
|
92
|
-
});
|
|
93
|
-
// Replace ? with @p0, @p1, etc. in the query
|
|
94
193
|
let paramIndex = 0;
|
|
95
|
-
|
|
96
|
-
// Log the SQL statement before execution
|
|
97
|
-
const description = `${item.OperationType} ${item.ExtraData?.entityName || 'entity'} (Transaction Group)`;
|
|
98
|
-
await GenericDatabaseProvider.LogSQLStatement(modifiedInstruction, item.Vars, description, true, // isMutation
|
|
99
|
-
item.ExtraData?.simpleSQLFallback);
|
|
100
|
-
const queryResult = await request.query(modifiedInstruction);
|
|
101
|
-
const rawResult = queryResult.recordset;
|
|
102
|
-
if (rawResult && rawResult.length > 0) {
|
|
103
|
-
// Process the result to handle timezone conversions and decryption
|
|
104
|
-
result = await sqlProvider.ProcessEntityRows(rawResult, item.BaseEntity.EntityInfo, item.BaseEntity.ContextCurrentUser);
|
|
105
|
-
}
|
|
194
|
+
instructionToRun = item.Instruction.replace(/\?/g, () => `@p${paramIndex++}`);
|
|
106
195
|
}
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
item.
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
// Process the result to handle timezone conversions and decryption
|
|
116
|
-
result = await sqlProvider.ProcessEntityRows(rawResult, item.BaseEntity.EntityInfo, item.BaseEntity.ContextCurrentUser);
|
|
196
|
+
await GenericDatabaseProvider.LogSQLStatement(instructionToRun, item.Vars, description, true, // isMutation
|
|
197
|
+
item.ExtraData?.simpleSQLFallback);
|
|
198
|
+
const queryResult = await this.executeOnTransaction(transaction, sqlProvider, description, async (tx) => {
|
|
199
|
+
const request = new sql.Request(tx);
|
|
200
|
+
if (item.Vars && Array.isArray(item.Vars)) {
|
|
201
|
+
item.Vars.forEach((value, index) => {
|
|
202
|
+
request.input(`p${index}`, value);
|
|
203
|
+
});
|
|
117
204
|
}
|
|
205
|
+
return request.query(instructionToRun);
|
|
206
|
+
});
|
|
207
|
+
const rawResult = queryResult.recordset;
|
|
208
|
+
if (rawResult && rawResult.length > 0) {
|
|
209
|
+
result = await sqlProvider.ProcessEntityRows(rawResult, item.BaseEntity.EntityInfo, item.BaseEntity.ContextCurrentUser);
|
|
118
210
|
}
|
|
119
|
-
bSuccess = (result && result.length > 0
|
|
211
|
+
bSuccess = Array.isArray(result) && result.length > 0;
|
|
120
212
|
}
|
|
121
213
|
catch (e) {
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
}
|
|
128
|
-
catch (rollbackError) {
|
|
129
|
-
LogError(`Failed to rollback after operation error: ${rollbackError}`);
|
|
130
|
-
}
|
|
214
|
+
const failure = e instanceof Error ? e : new Error(String(e));
|
|
215
|
+
result = failure;
|
|
216
|
+
bSuccess = false;
|
|
217
|
+
// Immediately rollback on first failure
|
|
218
|
+
await this.RollbackGroupTransaction();
|
|
131
219
|
// Create result for the failed operation
|
|
132
220
|
returnResults.push(new TransactionResult(item, result, bSuccess));
|
|
133
221
|
// Throw error immediately to stop processing
|
|
@@ -135,26 +223,15 @@ export class SQLServerTransactionGroup extends TransactionGroupBase {
|
|
|
135
223
|
throw new Error(`Transaction rolled back due to operation failure: ${errorMessage}`);
|
|
136
224
|
}
|
|
137
225
|
// save the results
|
|
138
|
-
returnResults.push(new TransactionResult(item, result && result.length > 0 ? result[0] : result, bSuccess));
|
|
226
|
+
returnResults.push(new TransactionResult(item, Array.isArray(result) && result.length > 0 ? result[0] : result, bSuccess));
|
|
139
227
|
}
|
|
140
228
|
}
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
229
|
+
if (openedLocally) {
|
|
230
|
+
await this.CommitGroupTransaction();
|
|
231
|
+
}
|
|
144
232
|
}
|
|
145
233
|
catch (error) {
|
|
146
|
-
|
|
147
|
-
// Note: If this is an operation failure, the transaction may already be rolled back
|
|
148
|
-
try {
|
|
149
|
-
// Only attempt rollback if the error doesn't indicate transaction was already rolled back
|
|
150
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
151
|
-
if (!errorMessage.includes('Transaction rolled back due to operation failure')) {
|
|
152
|
-
await transaction.rollback();
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
catch (rollbackError) {
|
|
156
|
-
LogError(`Failed to rollback after commit error: ${rollbackError}`);
|
|
157
|
-
}
|
|
234
|
+
await this.RollbackGroupTransaction();
|
|
158
235
|
// Re-throw the original error (which may already indicate rollback occurred)
|
|
159
236
|
if (error instanceof Error) {
|
|
160
237
|
throw error;
|
|
@@ -401,8 +478,6 @@ export class SQLServerTransactionGroup extends TransactionGroupBase {
|
|
|
401
478
|
});
|
|
402
479
|
const batchSQL = parts.join('\n');
|
|
403
480
|
try {
|
|
404
|
-
const request = new sql.Request(transaction);
|
|
405
|
-
globalParams.forEach((value, index) => request.input(`p${index}`, value));
|
|
406
481
|
// SQL logging is PER ITEM, matching the sequential path. `LogSQLStatement` feeds
|
|
407
482
|
// migration capture, whose consumers replay statements one record at a time and read
|
|
408
483
|
// each item's own `simpleSQLFallback` (the record-change-free form) — so logging the
|
|
@@ -410,15 +485,21 @@ export class SQLServerTransactionGroup extends TransactionGroupBase {
|
|
|
410
485
|
// and attribute every row to the first entity. The batch itself is logged too, as a
|
|
411
486
|
// single non-fallback entry, so a reader can still see what actually went over the
|
|
412
487
|
// wire. No-ops entirely unless a SQL logging session is open.
|
|
413
|
-
|
|
488
|
+
const batchDescription = `Batched ${items.length} operation(s) (Transaction Group)`;
|
|
489
|
+
await GenericDatabaseProvider.LogSQLStatement(batchSQL, globalParams, batchDescription, true, // isMutation
|
|
414
490
|
undefined);
|
|
415
491
|
for (const item of items) {
|
|
416
492
|
await GenericDatabaseProvider.LogSQLStatement(item.Instruction, item.Vars ?? undefined, `${item.OperationType} ${item.ExtraData?.entityName ?? item.BaseEntity.EntityInfo.Name} (Transaction Group, batched)`, true, // isMutation
|
|
417
493
|
item.ExtraData?.simpleSQLFallback);
|
|
418
494
|
}
|
|
419
|
-
const queryResult = await
|
|
420
|
-
|
|
421
|
-
|
|
495
|
+
const queryResult = await this.executeOnTransaction(transaction, sqlProvider, batchDescription, async (tx) => {
|
|
496
|
+
const request = new sql.Request(tx);
|
|
497
|
+
globalParams.forEach((value, index) => request.input(`p${index}`, value));
|
|
498
|
+
return request.query(batchSQL);
|
|
499
|
+
});
|
|
500
|
+
const multiSetResult = queryResult;
|
|
501
|
+
const sets = multiSetResult.recordsets
|
|
502
|
+
?? [queryResult.recordset ?? []];
|
|
422
503
|
const perItem = new Array(items.length).fill(undefined);
|
|
423
504
|
let current = -1;
|
|
424
505
|
for (const rs of sets) {
|
|
@@ -456,11 +537,16 @@ export class SQLServerTransactionGroup extends TransactionGroupBase {
|
|
|
456
537
|
// sequential path produces, which also rolls back on the first error. Per-item
|
|
457
538
|
// attribution for the failing row is the caller's degradation path (re-apply
|
|
458
539
|
// individually), exactly as before.
|
|
459
|
-
|
|
460
|
-
await
|
|
540
|
+
if (this._groupTxOpen) {
|
|
541
|
+
await this.RollbackGroupTransaction();
|
|
461
542
|
}
|
|
462
|
-
|
|
463
|
-
|
|
543
|
+
else {
|
|
544
|
+
try {
|
|
545
|
+
await transaction.rollback();
|
|
546
|
+
}
|
|
547
|
+
catch (rollbackError) {
|
|
548
|
+
LogError(`Failed to rollback after batched operation error: ${rollbackError}`);
|
|
549
|
+
}
|
|
464
550
|
}
|
|
465
551
|
for (const item of items)
|
|
466
552
|
returnResults.push(new TransactionResult(item, e, false));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SQLServerTransactionGroup.js","sourceRoot":"","sources":["../src/SQLServerTransactionGroup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAmB,iBAAiB,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACpH,OAAO,GAAG,MAAM,OAAO,CAAC;AAExB,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AAEpF;;GAEG;AACH,MAAM,OAAO,yBAA0B,SAAQ,oBAAoB;IACrD,KAAK,CAAC,YAAY;QACxB,MAAM,aAAa,GAAwB,EAAE,CAAC;QAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACvC,MAAM,WAAW,GAA0B,QAAQ,CAAC,QAAQ,CAAC,CAAC,8EAA8E;QAC5I,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnB,MAAM,IAAI,GAAuB,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,+BAA+B;YAC/F,mEAAmE;YACnE,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAE9C,IAAI,CAAC;gBACD,MAAM,WAAW,CAAC,KAAK,EAAE,CAAC;gBAE1B,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC5B,8GAA8G;oBAC9G,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;wBACvB,+BAA+B;wBAC/B,IAAI,MAAM,EAAE,QAAQ,GAAY,KAAK,CAAC;wBACtC,IAAI,CAAC;4BACD,MAAM,WAAW,GAAG,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,yCAAyC;4BACjH,IAAI,WAAW,GAAG,CAAC,IAAI,IAAI,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;gCACrD,kGAAkG;gCAClG,kEAAkE;gCAClE,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,KAAK,QAAQ,CAAC;gCAChD,MAAM,MAAM,GAAG,WAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gCAC3E,MAAM,cAAc,GAAG,MAAM,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;gCACvI,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,CAAC,6CAA6C;4BACpF,CAAC;4BAED,wCAAwC;4BACxC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;4BAE7C,wBAAwB;4BACxB,IAAI,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gCACxC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;oCAC/B,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC;gCACtC,CAAC,CAAC,CAAC;gCACH,6CAA6C;gCAC7C,IAAI,UAAU,GAAG,CAAC,CAAC;gCACnB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,UAAU,EAAE,EAAE,CAAC,CAAC;4BAClF,CAAC;4BAED,yCAAyC;4BACzC,MAAM,WAAW,GAAG,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,SAAS,EAAE,UAAU,IAAI,QAAQ,sBAAsB,CAAC;4BAC1G,MAAM,uBAAuB,CAAC,eAAe,CACzC,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,IAAI,EACT,WAAW,EACX,IAAI,EAAE,aAAa;4BACnB,IAAI,CAAC,SAAS,EAAE,iBAAiB,CACpC,CAAC;4BAEF,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;4BAC1D,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;4BAExC,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gCACpC,mEAAmE;gCACnE,MAAM,GAAG,MAAM,WAAW,CAAC,iBAAiB,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;gCACxH,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kEAAkE;4BACpI,CAAC;4BACD,QAAQ,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,+CAA+C;wBAC7F,CAAC;wBACD,OAAO,CAAC,EAAE,CAAC;4BACP,MAAM,GAAG,CAAC,CAAC,CAAC,mCAAmC;4BAC/C,QAAQ,GAAG,KAAK,CAAC,CAAC,iBAAiB;4BAEnC,sDAAsD;4BACtD,IAAI,CAAC;gCACD,MAAM,WAAW,CAAC,QAAQ,EAAE,CAAC;4BACjC,CAAC;4BAAC,OAAO,aAAa,EAAE,CAAC;gCACrB,QAAQ,CAAC,6CAA6C,aAAa,EAAE,CAAC,CAAC;4BAC3E,CAAC;4BAED,yCAAyC;4BACzC,aAAa,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;4BAElE,6CAA6C;4BAC7C,MAAM,YAAY,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;4BAChE,MAAM,IAAI,KAAK,CAAC,qDAAqD,YAAY,EAAE,CAAC,CAAC;wBACzF,CAAC;wBACD,mBAAmB;wBACnB,aAAa,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,IAAI,EAAE,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;oBAChH,CAAC;gBACL,CAAC;qBACI,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;oBAC1B,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;gBACpF,CAAC;qBACI,CAAC;oBACF,uFAAuF;oBACvF,iGAAiG;oBACjG,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;wBACvB,IAAI,MAAM,GAAQ,IAAI,EAAE,QAAQ,GAAY,KAAK,CAAC;wBAClD,IAAI,CAAC;4BACD,wCAAwC;4BACxC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;4BAE7C,wBAAwB;4BACxB,IAAI,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gCACxC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;oCAC/B,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC;gCACtC,CAAC,CAAC,CAAC;gCACH,6CAA6C;gCAC7C,IAAI,UAAU,GAAG,CAAC,CAAC;gCACnB,MAAM,mBAAmB,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,UAAU,EAAE,EAAE,CAAC,CAAC;gCAEvF,yCAAyC;gCACzC,MAAM,WAAW,GAAG,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,SAAS,EAAE,UAAU,IAAI,QAAQ,sBAAsB,CAAC;gCAC1G,MAAM,uBAAuB,CAAC,eAAe,CACzC,mBAAmB,EACnB,IAAI,CAAC,IAAI,EACT,WAAW,EACX,IAAI,EAAE,aAAa;gCACnB,IAAI,CAAC,SAAS,EAAE,iBAAiB,CACpC,CAAC;gCAEF,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;gCAC7D,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;gCAExC,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oCACpC,mEAAmE;oCACnE,MAAM,GAAG,MAAM,WAAW,CAAC,iBAAiB,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;gCAC5H,CAAC;4BACL,CAAC;iCAAM,CAAC;gCACJ,yCAAyC;gCACzC,MAAM,WAAW,GAAG,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,SAAS,EAAE,UAAU,IAAI,QAAQ,sBAAsB,CAAC;gCAC1G,MAAM,uBAAuB,CAAC,eAAe,CACzC,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,IAAI,EACT,WAAW,EACX,IAAI,EAAE,aAAa;gCACnB,IAAI,CAAC,SAAS,EAAE,iBAAiB,CACpC,CAAC;gCAEF,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gCAC1D,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;gCAExC,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oCACpC,mEAAmE;oCACnE,MAAM,GAAG,MAAM,WAAW,CAAC,iBAAiB,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;gCAC5H,CAAC;4BACL,CAAC;4BACD,QAAQ,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,+CAA+C;wBAC7F,CAAC;wBACD,OAAO,CAAC,EAAE,CAAC;4BACP,MAAM,GAAG,CAAC,CAAC,CAAC,mCAAmC;4BAC/C,QAAQ,GAAG,KAAK,CAAC,CAAC,iBAAiB;4BAEnC,sDAAsD;4BACtD,IAAI,CAAC;gCACD,MAAM,WAAW,CAAC,QAAQ,EAAE,CAAC;4BACjC,CAAC;4BAAC,OAAO,aAAa,EAAE,CAAC;gCACrB,QAAQ,CAAC,6CAA6C,aAAa,EAAE,CAAC,CAAC;4BAC3E,CAAC;4BAED,yCAAyC;4BACzC,aAAa,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;4BAElE,6CAA6C;4BAC7C,MAAM,YAAY,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;4BAChE,MAAM,IAAI,KAAK,CAAC,qDAAqD,YAAY,EAAE,CAAC,CAAC;wBACzF,CAAC;wBACD,mBAAmB;wBACnB,aAAa,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,IAAI,EAAE,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;oBAChH,CAAC;gBACL,CAAC;gBAED,0EAA0E;gBAC1E,mDAAmD;gBAEnD,MAAM,WAAW,CAAC,MAAM,EAAE,CAAC;YAC/B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,oEAAoE;gBACpE,oFAAoF;gBACpF,IAAI,CAAC;oBACD,0FAA0F;oBAC1F,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC5E,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,kDAAkD,CAAC,EAAE,CAAC;wBAC7E,MAAM,WAAW,CAAC,QAAQ,EAAE,CAAC;oBACjC,CAAC;gBACL,CAAC;gBAAC,OAAO,aAAa,EAAE,CAAC;oBACrB,QAAQ,CAAC,0CAA0C,aAAa,EAAE,CAAC,CAAC;gBACxE,CAAC;gBAED,6EAA6E;gBAC7E,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;oBACzB,MAAM,KAAK,CAAC;gBAChB,CAAC;qBAAM,CAAC;oBACJ,MAAM,IAAI,KAAK,CAAC,uBAAuB,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;gBAChG,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,aAAa,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,WAAW,CAAC,GAAW;QAClC,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;YACpB,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YAClB,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;gBACb,CAAC,EAAE,CAAC;gBACJ,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;oBACpB,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;wBAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;wBAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;wBAAC,CAAC,IAAI,CAAC,CAAC;wBAAC,SAAS;oBAAC,CAAC;oBAC/F,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;oBAC3B,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;oBACb,CAAC,EAAE,CAAC;oBACJ,IAAI,GAAG;wBAAE,MAAM;gBACnB,CAAC;gBACD,SAAS;YACb,CAAC;YACD,IAAI,EAAE,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACnC,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;oBAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;oBAAC,CAAC,EAAE,CAAC;gBAAC,CAAC;gBAChE,SAAS;YACb,CAAC;YACD,IAAI,EAAE,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACnC,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;oBAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI;wBAAE,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;oBAAC,CAAC,EAAE,CAAC;gBAAC,CAAC;gBAC7G,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;oBAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;oBAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;oBAAC,CAAC,IAAI,CAAC,CAAC;gBAAC,CAAC;gBAC/D,SAAS;YACb,CAAC;YACD,CAAC,EAAE,CAAC;QACR,CAAC;QACD,OAAO,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACI,MAAM,CAAC,kBAAkB,CAAC,GAAW,EAAE,KAAa;QACvD,MAAM,MAAM,GAAG,yBAAyB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG,yBAAyB,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QACxE,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,GAAG,CAAC;QAEpC,4FAA4F;QAC5F,yFAAyF;QACzF,4FAA4F;QAC5F,sFAAsF;QACtF,yFAAyF;QACzF,EAAE;QACF,0FAA0F;QAC1F,2FAA2F;QAC3F,0FAA0F;QAC1F,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;QAC1C,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAC5D,MAAM,SAAS,GAAG,SAAS,CAAC,KAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YACzD,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YACjD,MAAM,OAAO,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;YAC7D,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC9C,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,mCAAmC,CAAC,EAAE,CAAC;gBACnE,eAAe,CAAC,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,KAAM,CAAC,CAAC;YAChD,CAAC;QACL,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,KAAK,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAmD,EAAE,CAAC;QACjE,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,+BAA+B,CAAC,EAAE,CAAC;YAC/D,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAClB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBAAE,SAAS;YAChD,MAAM,KAAK,GAAG,CAAC,CAAC,KAAM,CAAC;YACvB,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC;gBAAE,SAAS;YACzC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,IAAI,GAAG,MAAM,EAAE,EAAE,CAAC,CAAC;QAC/E,CAAC;QACD,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACpB,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YAC3C,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC;QACnB,CAAC;QACD,OAAO,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED,kDAAkD;IAC3C,MAAM,CAAC,kBAAkB,CAAC,GAAW,EAAE,KAAa;QACvD,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED;;;;;;;OAOG;IACK,MAAM,CAAC,oBAAoB,CAAC,MAAc;QAC9C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;QACnC,MAAM,MAAM,GAAG,+BAA+B,CAAC;QAC/C,MAAM,WAAW,GAAG,eAAe,CAAC;QACpC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;YAC/C,IAAI,CAAC,GAAG,CAAC,CAAC,KAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAC/B,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,IAAI,UAAU,GAAG,IAAI,CAAC;YACtB,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;gBACvB,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACrB,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;oBAAC,KAAK,EAAE,CAAC;oBAAC,CAAC,EAAE,CAAC;oBAAC,SAAS;gBAAC,CAAC;gBAC3C,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;oBAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;oBAAC,CAAC,EAAE,CAAC;oBAAC,SAAS;gBAAC,CAAC;gBAClE,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE,KAAK,GAAG;oBAAE,MAAM;gBACrC,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;oBAAC,UAAU,GAAG,IAAI,CAAC;oBAAC,CAAC,EAAE,CAAC;oBAAC,SAAS;gBAAC,CAAC;gBACpE,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;oBAC7B,WAAW,CAAC,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC;oBAC9B,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACtC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;wBAAE,MAAM;oBACzD,CAAC,EAAE,CAAC;oBACJ,SAAS;gBACb,CAAC;gBACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;oBACb,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC;oBACrB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACjC,IAAI,IAAI,EAAE,CAAC;wBACP,IAAI,UAAU,EAAE,CAAC;4BACb,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;4BACpC,UAAU,GAAG,KAAK,CAAC;wBACvB,CAAC;wBACD,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC;wBACrB,SAAS;oBACb,CAAC;gBACL,CAAC;gBACD,CAAC,EAAE,CAAC;YACR,CAAC;QACL,CAAC;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACH;;;;;;;;;;;;;;;;;;;OAmBG;IACK,KAAK,CAAC,oBAAoB,CAC9B,KAAwB,EACxB,WAA4B,EAC5B,WAAkC,EAClC,aAAkC;QAElC,MAAM,QAAQ,GAAG,iBAAiB,CAAC;QACnC,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,MAAM,YAAY,GAAc,EAAE,CAAC;QACnC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC1B,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,QAAQ,QAAQ,IAAI,CAAC,CAAC;YAChD,IAAI,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YACnC,IAAI,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gBACvB,IAAI,KAAK,GAAG,CAAC,CAAC;gBACd,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE;oBAC1C,MAAM,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC;oBAC9B,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;oBAC/B,KAAK,EAAE,CAAC;oBACR,OAAO,KAAK,CAAC,EAAE,CAAC;gBACpB,CAAC,CAAC,CAAC;YACP,CAAC;YACD,WAAW,GAAG,yBAAyB,CAAC,kBAAkB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YAC/E,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,GAAG,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAC7C,YAAY,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;YAE1E,iFAAiF;YACjF,qFAAqF;YACrF,qFAAqF;YACrF,qFAAqF;YACrF,oFAAoF;YACpF,mFAAmF;YACnF,8DAA8D;YAC9D,MAAM,uBAAuB,CAAC,eAAe,CACzC,QAAQ,EACR,YAAY,EACZ,WAAW,KAAK,CAAC,MAAM,mCAAmC,EAC1D,IAAI,EAAE,aAAa;YACnB,SAAS,CACZ,CAAC;YACF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACvB,MAAM,uBAAuB,CAAC,eAAe,CACzC,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,IAAI,IAAI,SAAS,EACtB,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,SAAS,EAAE,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,+BAA+B,EACrH,IAAI,EAAE,aAAa;gBACnB,IAAI,CAAC,SAAS,EAAE,iBAAiB,CACpC,CAAC;YACN,CAAC;YAED,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAClD,MAAM,IAAI,GACL,WAAuE,CAAC,UAAU;mBAChF,CAAC,CAAC,WAAW,CAAC,SAAS,IAAI,EAAE,CAAyC,CAAC,CAAC;YAC/E,MAAM,OAAO,GAA8C,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACnG,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC;YACjB,KAAK,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;gBACpB,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC1B,IAAI,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;oBAC/E,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;oBACpC,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;wBAAE,OAAO,GAAG,GAAG,CAAC;oBACxC,SAAS;gBACb,CAAC;gBACD,gFAAgF;gBAChF,+EAA+E;gBAC/E,+EAA+E;gBAC/E,gFAAgF;gBAChF,6EAA6E;gBAC7E,4EAA4E;gBAC5E,uEAAuE;gBACvE,IAAI,OAAO,IAAI,CAAC,IAAI,OAAO,GAAG,KAAK,CAAC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,SAAS,EAAE,CAAC;oBAC3E,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBAC1B,CAAC;YACL,CAAC;YACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACpC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACtB,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBACvB,IAAI,MAAM,GAAmC,IAAI,CAAC;gBAClD,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxB,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;oBAC3H,MAAM,GAAG,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACrE,CAAC;gBACD,aAAa,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC;YAC5E,CAAC;QACL,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACP,mFAAmF;YACnF,+EAA+E;YAC/E,6EAA6E;YAC7E,oCAAoC;YACpC,IAAI,CAAC;gBACD,MAAM,WAAW,CAAC,QAAQ,EAAE,CAAC;YACjC,CAAC;YAAC,OAAO,aAAa,EAAE,CAAC;gBACrB,QAAQ,CAAC,qDAAqD,aAAa,EAAE,CAAC,CAAC;YACnF,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,KAAK;gBACpB,aAAa,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;YAC9D,MAAM,YAAY,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAChE,MAAM,IAAI,KAAK,CAAC,qDAAqD,YAAY,EAAE,CAAC,CAAC;QACzF,CAAC;IACL,CAAC;CACJ"}
|
|
1
|
+
{"version":3,"file":"SQLServerTransactionGroup.js","sourceRoot":"","sources":["../src/SQLServerTransactionGroup.ts"],"names":[],"mappings":"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"}
|
package/dist/saveParameters.d.ts
CHANGED
|
@@ -22,15 +22,15 @@ export declare class SQLServerSaveParameter {
|
|
|
22
22
|
/** Driver type, from the column's own SQL type. */
|
|
23
23
|
readonly Type: sql.ISqlType;
|
|
24
24
|
readonly Value: SQLServerSaveValue;
|
|
25
|
-
|
|
26
|
-
readonly Literal: string;
|
|
25
|
+
private _literal;
|
|
27
26
|
constructor(
|
|
28
27
|
/** Name without the `@`, as the statement references it. */
|
|
29
28
|
Name: string,
|
|
30
29
|
/** Driver type, from the column's own SQL type. */
|
|
31
30
|
Type: sql.ISqlType, Value: SQLServerSaveValue,
|
|
32
31
|
/** The literal the batch wrote for this value; {@link RenderSaveSQL} puts it back. */
|
|
33
|
-
|
|
32
|
+
literal: string | (() => string));
|
|
33
|
+
get Literal(): string;
|
|
34
34
|
}
|
|
35
35
|
/**
|
|
36
36
|
* Variable suffix in the statement that runs. Constant, so the text repeats across records. `$` is
|
|
@@ -55,6 +55,11 @@ export declare class SaveParameterCollector {
|
|
|
55
55
|
* writes for it), and returns the reference to write into the statement in its place.
|
|
56
56
|
*/
|
|
57
57
|
AddField(field: EntityFieldInfo, literal: string): string;
|
|
58
|
+
/**
|
|
59
|
+
* Adds a binary parameter directly from a decoded Buffer without eagerly formatting
|
|
60
|
+
* a 2× hex literal string unless `RenderSaveSQL` later requests `.Literal`.
|
|
61
|
+
*/
|
|
62
|
+
AddBinaryField(field: EntityFieldInfo, bytes: Buffer, lazyLiteral: () => string): string;
|
|
58
63
|
}
|
|
59
64
|
/**
|
|
60
65
|
* The typed parameter equivalent to `literal`, a value of `field` as the literal batch writes it.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"saveParameters.d.ts","sourceRoot":"","sources":["../src/saveParameters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,GAAG,MAAM,OAAO,CAAC;AACxB,OAAO,EAAE,eAAe,EAAqB,MAAM,sBAAsB,CAAC;AAE1E,kDAAkD;AAClD,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;AAE3F,qDAAqD;AACrD,qBAAa,sBAAsB;
|
|
1
|
+
{"version":3,"file":"saveParameters.d.ts","sourceRoot":"","sources":["../src/saveParameters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,GAAG,MAAM,OAAO,CAAC;AACxB,OAAO,EAAE,eAAe,EAAqB,MAAM,sBAAsB,CAAC;AAE1E,kDAAkD;AAClD,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;AAE3F,qDAAqD;AACrD,qBAAa,sBAAsB;IAI/B,4DAA4D;aAC5C,IAAI,EAAE,MAAM;IAC5B,mDAAmD;aACnC,IAAI,EAAE,GAAG,CAAC,QAAQ;aAClB,KAAK,EAAE,kBAAkB;IAP3C,OAAO,CAAC,QAAQ,CAA0B;;IAGxC,4DAA4D;IAC5C,IAAI,EAAE,MAAM;IAC5B,mDAAmD;IACnC,IAAI,EAAE,GAAG,CAAC,QAAQ,EAClB,KAAK,EAAE,kBAAkB;IACzC,sFAAsF;IACtF,OAAO,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC;IAKlC,IAAW,OAAO,IAAI,MAAM,CAK3B;CACF;AAED;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAK5C;;;GAGG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,sBAAsB,EAAE,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CAIhI;AAED,wEAAwE;AACxE,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,OAAO,GAAG,UAAU,IAAI,sBAAsB,EAAE,CAE/F;AAED,0FAA0F;AAC1F,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA2B;gBAE1C,IAAI,GAAE,SAAS,sBAAsB,EAAO;IAIxD,IAAW,UAAU,IAAI,SAAS,sBAAsB,EAAE,CAEzD;IAED;;;OAGG;IACI,QAAQ,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IAUhE;;;OAGG;IACI,cAAc,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,MAAM,GAAG,MAAM;CAQhG;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC;IAAC,KAAK,EAAE,kBAAkB,CAAA;CAAE,CA0BnI;AAoBD,qGAAqG;AACrG,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAGzD;AAiDD,oGAAoG;AACpG,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAErE;AAqBD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,eAAe,GAAG,GAAG,CAAC,QAAQ,CAsCtE"}
|
package/dist/saveParameters.js
CHANGED
|
@@ -21,11 +21,17 @@ export class SQLServerSaveParameter {
|
|
|
21
21
|
/** Driver type, from the column's own SQL type. */
|
|
22
22
|
Type, Value,
|
|
23
23
|
/** The literal the batch wrote for this value; {@link RenderSaveSQL} puts it back. */
|
|
24
|
-
|
|
24
|
+
literal) {
|
|
25
25
|
this.Name = Name;
|
|
26
26
|
this.Type = Type;
|
|
27
27
|
this.Value = Value;
|
|
28
|
-
this.
|
|
28
|
+
this._literal = literal;
|
|
29
|
+
}
|
|
30
|
+
get Literal() {
|
|
31
|
+
if (typeof this._literal === 'function') {
|
|
32
|
+
this._literal = this._literal();
|
|
33
|
+
}
|
|
34
|
+
return this._literal;
|
|
29
35
|
}
|
|
30
36
|
}
|
|
31
37
|
/**
|
|
@@ -68,6 +74,18 @@ export class SaveParameterCollector {
|
|
|
68
74
|
this.parameters.push(new SQLServerSaveParameter(name, Type, Value, literal));
|
|
69
75
|
return `@${name}`;
|
|
70
76
|
}
|
|
77
|
+
/**
|
|
78
|
+
* Adds a binary parameter directly from a decoded Buffer without eagerly formatting
|
|
79
|
+
* a 2× hex literal string unless `RenderSaveSQL` later requests `.Literal`.
|
|
80
|
+
*/
|
|
81
|
+
AddBinaryField(field, bytes, lazyLiteral) {
|
|
82
|
+
if (IsKeptAsInlineLiteral(field)) {
|
|
83
|
+
return lazyLiteral();
|
|
84
|
+
}
|
|
85
|
+
const name = `p$${this.parameters.length}`;
|
|
86
|
+
this.parameters.push(new SQLServerSaveParameter(name, SaveParameterType(field), bytes, lazyLiteral));
|
|
87
|
+
return `@${name}`;
|
|
88
|
+
}
|
|
71
89
|
}
|
|
72
90
|
/**
|
|
73
91
|
* The typed parameter equivalent to `literal`, a value of `field` as the literal batch writes it.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"saveParameters.js","sourceRoot":"","sources":["../src/saveParameters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,GAAG,MAAM,OAAO,CAAC;AACxB,OAAO,EAAmB,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAK1E,qDAAqD;AACrD,MAAM,OAAO,sBAAsB;
|
|
1
|
+
{"version":3,"file":"saveParameters.js","sourceRoot":"","sources":["../src/saveParameters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,GAAG,MAAM,OAAO,CAAC;AACxB,OAAO,EAAmB,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAK1E,qDAAqD;AACrD,MAAM,OAAO,sBAAsB;IAGjC;IACE,4DAA4D;IAC5C,IAAY;IAC5B,mDAAmD;IACnC,IAAkB,EAClB,KAAyB;IACzC,sFAAsF;IACtF,OAAgC;QALhB,SAAI,GAAJ,IAAI,CAAQ;QAEZ,SAAI,GAAJ,IAAI,CAAc;QAClB,UAAK,GAAL,KAAK,CAAoB;QAIzC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED,IAAW,OAAO;QAChB,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YACxC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClC,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,CAAC;AAE5C,0GAA0G;AAC1G,MAAM,eAAe,GAAG,2CAA2C,CAAC;AAEpE;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,WAAmB,EAAE,UAA6C,EAAE,cAAsB;IACtH,OAAO,WAAW,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,KAAa,EAAE,KAAyB,EAAE,QAA4B,EAAE,EAAE,CACrH,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,cAAc,EAAE,CACrG,CAAC;AACJ,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,mBAAmB,CAAC,UAAmB;IACrD,OAAO,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,sBAAsB,CAAC,CAAC;AAC5H,CAAC;AAED,0FAA0F;AAC1F,MAAM,OAAO,sBAAsB;IAGjC,YAAY,OAA0C,EAAE;QACtD,IAAI,CAAC,UAAU,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,IAAW,UAAU;QACnB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;;OAGG;IACI,QAAQ,CAAC,KAAsB,EAAE,OAAe;QACrD,IAAI,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,wBAAwB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACjE,MAAM,IAAI,GAAG,KAAK,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QAC3C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,sBAAsB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;QAC7E,OAAO,IAAI,IAAI,EAAE,CAAC;IACpB,CAAC;IAED;;;OAGG;IACI,cAAc,CAAC,KAAsB,EAAE,KAAa,EAAE,WAAyB;QACpF,IAAI,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,WAAW,EAAE,CAAC;QACvB,CAAC;QACD,MAAM,IAAI,GAAG,KAAK,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QAC3C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,sBAAsB,CAAC,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;QACrG,OAAO,IAAI,IAAI,EAAE,CAAC;IACpB,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAAsB,EAAE,OAAe;IAC9E,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC7C,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC5B,OAAO,EAAE,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;IACzF,CAAC;IACD,IAAI,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;IAC/E,CAAC;IACD,IAAI,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,uBAAuB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACzD,mFAAmF;QACnF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IAC1H,CAAC;IACD,IAAI,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACzG,OAAO,EAAE,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC1D,CAAC;IACD,QAAQ,KAAK,CAAC,MAAM,EAAE,CAAC;QACrB,KAAK,iBAAiB,CAAC,OAAO;YAC5B,OAAO,EAAE,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,OAAO,KAAK,GAAG,EAAE,CAAC;QACpE,KAAK,iBAAiB,CAAC,MAAM;YAC3B,OAAO,EAAE,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;QACpJ;YACE,OAAO,EAAE,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;IACjF,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,uBAAuB,CAAC,KAAsB,EAAE,OAAe;IACtE,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9B,IAAI,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,UAAU,KAAK,CAAC,IAAI,eAAe,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACvG,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,oGAAoG;AACpG,SAAS,iBAAiB,CAAC,KAAsB,EAAE,OAAe;IAChE,OAAO,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AACjH,CAAC;AAED,qGAAqG;AACrG,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACrD,CAAC;AAID,IAAI,sBAAkE,CAAC;AAEvE;;;GAGG;AACH,SAAS,iBAAiB;IACxB,sBAAsB,KAAK,IAAI,GAAG,CAChC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAA8B,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC,CAAC,CAC/G,CAAC;IACF,OAAO,sBAAsB,CAAC;AAChC,CAAC;AAED;;;;;GAKG;AACH,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;AAEnF;;;;;;;;;;;GAWG;AACH,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAC,CAAC;AAE9G;;;;;;;GAOG;AACH,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;AAExD,oGAAoG;AACpG,MAAM,UAAU,qBAAqB,CAAC,KAAsB;IAC1D,OAAO,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;AACrE,CAAC;AAED,4GAA4G;AAC5G,SAAS,uBAAuB,CAAC,KAAsB;IACrD,IAAI,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,UAAU,KAAK,CAAC,IAAI,mBAAmB,KAAK,CAAC,IAAI,kEAAkE,CAAC,CAAC;IACvI,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;AAEnH,uDAAuD;AACvD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAsB;IACtD,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC7C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACzD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,SAAS,CAAC;QACf,KAAK,MAAM;YACT,OAAO,iBAAiB,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;QAC/C,KAAK,UAAU,CAAC;QAChB,KAAK,OAAO;YACV,OAAO,iBAAiB,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtF,KAAK,QAAQ,CAAC;QACd,KAAK,WAAW;YACd,+EAA+E;YAC/E,OAAO,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC/B,KAAK,OAAO;YACV,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/B,KAAK,MAAM;YACT,OAAO,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC9B,KAAK,OAAO;YACV,OAAO,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChC,KAAK,SAAS;YACZ,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IACD,IAAI,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,OAAO,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACzB,CAAC;IACD,IAAI,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,OAAO,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IACD,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,UAAU,KAAK,CAAC,IAAI,mBAAmB,KAAK,CAAC,IAAI,gEAAgE,CAAC,CAAC;IACrI,CAAC;IACD,OAAO,OAAO,EAAE,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Describing a statement on SQL Server with `sys.dm_exec_describe_first_result_set`, which
|
|
3
|
+
* compiles the statement and reports its first result set without executing it.
|
|
4
|
+
*/
|
|
5
|
+
import { type DescribeStatementResult } from '@memberjunction/generic-database-provider';
|
|
6
|
+
/**
|
|
7
|
+
* Describes `@tsql`. Mode 2 reports the view and view column a pass-through column comes from
|
|
8
|
+
* (mode 1 would report the base table), and adds a hidden `ROWSTAT` column, which is dropped.
|
|
9
|
+
*/
|
|
10
|
+
export declare const SQLSERVER_DESCRIBE_SQL = "SELECT column_ordinal AS ColumnOrdinal, name AS Name, is_hidden AS IsHidden, is_nullable AS IsNullable,\n system_type_name AS SystemTypeName, source_schema AS SourceSchema, source_table AS SourceTable, source_column AS SourceColumn,\n is_computed_column AS IsComputedColumn, error_number AS ErrorNumber, error_message AS ErrorMessage, error_type_desc AS ErrorTypeDesc\nFROM sys.dm_exec_describe_first_result_set(@tsql, NULL, 2)\nORDER BY column_ordinal";
|
|
11
|
+
/** One row of {@link SQLSERVER_DESCRIBE_SQL}. */
|
|
12
|
+
export interface SQLServerDescribeRow {
|
|
13
|
+
ColumnOrdinal: number | null;
|
|
14
|
+
Name: string | null;
|
|
15
|
+
IsHidden: boolean | null;
|
|
16
|
+
IsNullable: boolean | null;
|
|
17
|
+
SystemTypeName: string | null;
|
|
18
|
+
SourceSchema: string | null;
|
|
19
|
+
SourceTable: string | null;
|
|
20
|
+
SourceColumn: string | null;
|
|
21
|
+
IsComputedColumn: boolean | null;
|
|
22
|
+
ErrorNumber: number | null;
|
|
23
|
+
ErrorMessage: string | null;
|
|
24
|
+
ErrorTypeDesc: string | null;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* The description the rows of {@link SQLSERVER_DESCRIBE_SQL} give: a failure carrying the
|
|
28
|
+
* server's error text when any row reports one, otherwise the visible columns in order.
|
|
29
|
+
*/
|
|
30
|
+
export declare function MapSQLServerDescribeRows(rows: readonly SQLServerDescribeRow[] | null | undefined): DescribeStatementResult;
|
|
31
|
+
//# sourceMappingURL=statementDescription.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"statementDescription.d.ts","sourceRoot":"","sources":["../src/statementDescription.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAEmB,KAAK,uBAAuB,EACrD,MAAM,2CAA2C,CAAC;AAEnD;;;GAGG;AACH,eAAO,MAAM,sBAAsB,2cAIX,CAAC;AAEzB,iDAAiD;AACjD,MAAM,WAAW,oBAAoB;IACjC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,gBAAgB,EAAE,OAAO,GAAG,IAAI,CAAC;IACjC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,SAAS,oBAAoB,EAAE,GAAG,IAAI,GAAG,SAAS,GAAG,uBAAuB,CAO1H"}
|