pwi-plata-type 0.4.190 → 0.4.191

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.
@@ -21,6 +21,30 @@ var Internals;
21
21
  return this.queryContext(context);
22
22
  }
23
23
  Internals.context = context;
24
+ function cleanStringToComment(content) {
25
+ return content
26
+ .normalize('NFD')
27
+ .replace(/\*|\-|\@|\?|[\u0300-\u036f]/g, '')
28
+ .toUpperCase();
29
+ }
30
+ Internals.cleanStringToComment = cleanStringToComment;
31
+ function compileComments(comments) {
32
+ const keysNumber = Object.keys(comments).length;
33
+ if (keysNumber === 0) {
34
+ return null;
35
+ }
36
+ const stringCommentBuilder = new Array();
37
+ let i = 0;
38
+ for (const key in comments) {
39
+ if (!Object.hasOwn(comments, key))
40
+ continue;
41
+ const newKey = Internals.cleanStringToComment(key);
42
+ const content = Internals.cleanStringToComment(comments[key]);
43
+ stringCommentBuilder.push(`${newKey}: (${content})`);
44
+ }
45
+ return stringCommentBuilder.join(' ');
46
+ }
47
+ Internals.compileComments = compileComments;
24
48
  function includeOne(table, type, s) {
25
49
  const t = this;
26
50
  const context = t.queryContext() ?? Object.create(null);
@@ -57,10 +81,13 @@ var Internals;
57
81
  }
58
82
  }
59
83
  Internals.includeOne = includeOne;
60
- function getConnTable(table, trxName) {
84
+ function getConnTable(table, comments) {
61
85
  let conn = this.table(table);
62
- if (trxName !== undefined && conn.comment !== undefined) {
63
- conn = conn.comment(`TRX: ${trxName}`);
86
+ if (comments !== undefined && conn.comment !== undefined) {
87
+ const stringComment = Internals.compileComments(comments);
88
+ if (stringComment !== null) {
89
+ conn = conn.comment(stringComment);
90
+ }
64
91
  }
65
92
  return conn;
66
93
  }
@@ -120,15 +147,22 @@ class Driver {
120
147
  async onOpenTrx(trx) {
121
148
  return trx;
122
149
  }
123
- runRawWithComment(query) {
124
- if (this.trxName === undefined) {
125
- return this.conn.raw(query.sql, query.bindings);
150
+ compileCommentsIntoSql(sql, comments) {
151
+ if (this.trxName !== undefined) {
152
+ comments.TRX = this.trxName;
126
153
  }
127
- return this.conn.raw(`/*TRX: ${this.trxName}*/${query.sql}`, query.bindings);
154
+ const stringComment = Internals.compileComments(comments);
155
+ if (stringComment === null) {
156
+ return sql;
157
+ }
158
+ return `/* ${stringComment} */${sql}`;
159
+ }
160
+ runRawWithComment(query, comments) {
161
+ return this.conn.raw(this.compileCommentsIntoSql(query.sql, comments ?? Object.create(null)), query.bindings);
128
162
  }
129
- select(table, model) {
163
+ select(table, model, options) {
130
164
  return {
131
- build: (builder) => new Query(builder(this.conn.queryBuilder().getConnTable(table, this.trxName)), model, table),
165
+ build: (builder) => new Query(builder(this.conn.queryBuilder().table(table)), model, table, this, options),
132
166
  };
133
167
  }
134
168
  async rawMappedSelect(queryInfo) {
@@ -141,7 +175,7 @@ class Driver {
141
175
  }
142
176
  }
143
177
  const sql = queryInfo.query(queryBuilder, {}).toSQL();
144
- const result = await this.runRawWithComment(sql).then(r => r, err => ({
178
+ const result = await this.runRawWithComment(sql, queryInfo.comments).then(r => r, err => ({
145
179
  errorID: 'PLSQLRWSEL001',
146
180
  msg: 'Unexpected error while select',
147
181
  error: {
@@ -173,10 +207,10 @@ class Driver {
173
207
  }
174
208
  async insert(table, model, values, options) {
175
209
  if (this.config.client === 'mssql') {
176
- const sql = this.conn.queryBuilder().getConnTable(table, this.trxName).insert(values, '*', {
210
+ const sql = this.conn.queryBuilder().table(table).insert(values, '*', {
177
211
  includeTriggerModifications: options?.ignoreTrigger === undefined
178
212
  }).toSQL();
179
- return this.runRawWithComment(sql).then(r => r, err => Plata.BuildPlataError({
213
+ return this.runRawWithComment(sql, options?.comments).then(r => r, err => Plata.BuildPlataError({
180
214
  errorID: 'PLSQL001',
181
215
  msg: 'Unexpected error while inserting',
182
216
  error: {
@@ -185,8 +219,12 @@ class Driver {
185
219
  },
186
220
  }));
187
221
  }
222
+ const comments = options?.comments ?? Object.create(null);
223
+ if (this.trxName !== undefined) {
224
+ comments.TRX = this.trxName;
225
+ }
188
226
  if (options?.ignoreTrigger === true)
189
- return this.conn.queryBuilder().getConnTable(table, this.trxName).insert(values, '*', {
227
+ return this.conn.queryBuilder().getConnTable(table, comments).insert(values, '*', {
190
228
  includeTriggerModifications: options?.ignoreTrigger
191
229
  }).then(r => r, err => Plata.BuildPlataError({
192
230
  errorID: 'PLSQLINS001',
@@ -216,15 +254,21 @@ class Driver {
216
254
  return key;
217
255
  }
218
256
  return this.transaction(async (trx) => {
219
- const result = await trx.conn.queryBuilder().getConnTable(table, `${trx.trxName}<->${this.trxName}`).insert(values);
257
+ if (comments.TRX !== undefined) {
258
+ comments.TRX = `${trx.trxName}<->${this.trxName}`;
259
+ }
260
+ else {
261
+ comments.TRX_INSERT = trx.trxName ?? '';
262
+ }
263
+ const result = await trx.conn.queryBuilder().getConnTable(table, comments).insert(values);
220
264
  return trx.conn.select('*').from(table).whereIn(key, result);
221
265
  });
222
266
  }
223
- update(table, model) {
267
+ update(table, model, options) {
224
268
  return {
225
269
  build: async (s, set) => {
226
- const sql = s(this.conn.queryBuilder().getConnTable(table, this.trxName)).update(set).toSQL();
227
- return this.runRawWithComment(sql).then(() => true, err => Plata.BuildPlataError({
270
+ const sql = s(this.conn.queryBuilder().table(table)).update(set).toSQL();
271
+ return this.runRawWithComment(sql, options?.comments).then(() => true, err => Plata.BuildPlataError({
228
272
  errorID: 'PLSQL002',
229
273
  msg: 'Unexpected error while update',
230
274
  error: {
@@ -477,12 +521,16 @@ class Query {
477
521
  model;
478
522
  table;
479
523
  joins;
480
- constructor(query, model, table) {
524
+ options;
525
+ conn;
526
+ constructor(query, model, table, conn, options) {
481
527
  const context = query.queryContext() ?? Object.create(null);
482
528
  this.joins = context._joins ?? [];
483
529
  this.table = table;
484
530
  this.model = model;
485
531
  this.query = this._buildSelect(query, this.model.template);
532
+ this.conn = conn;
533
+ this.options = options;
486
534
  }
487
535
  _buildSelect(query, template) {
488
536
  const cs = [];
@@ -504,7 +552,7 @@ class Query {
504
552
  cs.push(`${key}.${column} as ${key}_${column}`);
505
553
  }
506
554
  }
507
- return query.select(...cs);
555
+ return query.select(...cs).toSQL();
508
556
  }
509
557
  _buildModel(row) {
510
558
  const template = this.model.template;
@@ -535,7 +583,7 @@ class Query {
535
583
  _handleStream(handler) {
536
584
  return new Promise(resolve => {
537
585
  let shoudContinue = true;
538
- const stream = this.query.stream();
586
+ const stream = this.conn.runRawWithComment(this.query, this.options?.comments).stream();
539
587
  stream.on('close', async () => {
540
588
  return resolve(handler.close());
541
589
  });
@@ -568,7 +616,7 @@ class Query {
568
616
  async toListAsync() {
569
617
  const errors = [];
570
618
  const itens = [];
571
- const result = await this.query.then(r => {
619
+ const result = await this.conn.runRawWithComment(this.query, this.options?.comments).then(r => {
572
620
  const promises = [];
573
621
  for (let i = 0; i < r.length; i++) {
574
622
  promises.push(Plata.FastPromise(async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"sql.js","sourceRoot":"","sources":["../../src/libs/sql.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sql.js","sourceRoot":"","sources":["../../src/libs/sql.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pwi-plata-type",
3
- "version": "0.4.190",
3
+ "version": "0.4.191",
4
4
  "main": "__BUILD__/index",
5
5
  "types": "src/@types/exported.d.ts",
6
6
  "bin": {
@@ -7,7 +7,7 @@ declare module 'knex' {
7
7
  includeOne<TRecord extends {}, TResult>(table: keyof TRecord, type: Sql.Joins,s: KnexOriginal.JoinCallback): KnexOriginal.QueryBuilder<TRecord, TResult>;
8
8
  context<TRecord extends {}, TResult>(context: any): KnexOriginal.QueryBuilder<TRecord, TResult>;
9
9
  context<T>(): T;
10
- getConnTable<TRecord extends {}, TResult>(table: string, trxName?: string): KnexOriginal.QueryBuilder<TRecord, TResult>
10
+ getConnTable<TRecord extends {}, TResult>(table: string, comments?: Record<string, string>): KnexOriginal.QueryBuilder<TRecord, TResult>
11
11
  comment?: <TRecord extends {}, TResult>(comment: string) => KnexOriginal.QueryBuilder<TRecord, TResult>
12
12
  }
13
13
  }
@@ -34,7 +34,8 @@ declare global {
34
34
  interface SqlRawSelectInfo<T> {
35
35
  table: string
36
36
  cols: Record<string, SqlRawSelectCamp<T>>
37
- query: (s: Knex.QueryBuilder<T, any>, t: T) => Knex.QueryBuilder<any, any>
37
+ query: (s: Knex.QueryBuilder<T, any>, t: T) => Knex.QueryBuilder<any, any>,
38
+ comments?: Record<string, string>
38
39
  }
39
40
 
40
41
  type ExtractSqlRawSelectInfo<const I extends SqlRawSelectInfo<any>> =
@@ -54,6 +55,15 @@ declare global {
54
55
 
55
56
  interface InsertOptions {
56
57
  ignoreTrigger?: true
58
+ comments?: Record<string, string>
59
+ }
60
+
61
+ interface UpdateOptions {
62
+ comments?: Record<string, string>
63
+ }
64
+
65
+ interface SelectOptions {
66
+ comments?: Record<string, string>
57
67
  }
58
68
 
59
69
  type ModelQueryBuilder<T extends Model.Template> =
package/src/libs/sql.ts CHANGED
@@ -20,6 +20,36 @@ export namespace Internals {
20
20
  return this.queryContext(context)
21
21
  }
22
22
 
23
+ export function cleanStringToComment(content: string): string {
24
+ return content
25
+ .normalize('NFD')
26
+ .replace(/\*|\-|\@|\?|[\u0300-\u036f]/g, '')
27
+ .toUpperCase()
28
+ ;
29
+ }
30
+
31
+ export function compileComments(comments: Record<string, string>): string | null {
32
+ const keysNumber = Object.keys(comments).length
33
+
34
+ if (keysNumber === 0) {
35
+ return null
36
+ }
37
+
38
+ const stringCommentBuilder = new Array<string>()
39
+ let i = 0
40
+
41
+ for (const key in comments) {
42
+ if (!Object.hasOwn(comments, key)) continue
43
+
44
+ const newKey = Internals.cleanStringToComment(key)
45
+ const content = Internals.cleanStringToComment(comments[key])
46
+
47
+ stringCommentBuilder.push(`${newKey}: (${content})`)
48
+ }
49
+
50
+ return stringCommentBuilder.join(' ')
51
+ }
52
+
23
53
  export function includeOne(table: string, type: Sql.Joins,s: Knex.JoinCallback) {
24
54
  const t: Knex.QueryBuilder = this
25
55
  const context = t.queryContext() ?? Object.create(null)
@@ -60,11 +90,16 @@ export namespace Internals {
60
90
  }
61
91
  }
62
92
 
63
- export function getConnTable(this: Knex.QueryBuilder, table: string, trxName?: string) {
93
+ export function getConnTable(this: Knex.QueryBuilder, table: string, comments?: Record<string, string>) {
64
94
  let conn = this.table(table)
65
95
 
66
- if (trxName !== undefined && conn.comment !== undefined) {
67
- conn = conn.comment(`TRX: ${trxName}`)
96
+ if (comments !== undefined && conn.comment !== undefined) {
97
+ const stringComment = Internals.compileComments(comments)
98
+
99
+ if (stringComment !== null) {
100
+ conn = conn.comment(stringComment)
101
+ }
102
+
68
103
  }
69
104
 
70
105
  return conn
@@ -138,21 +173,36 @@ export class Driver<InTransaction extends boolean> {
138
173
  return trx
139
174
  }
140
175
 
141
- public runRawWithComment(query: { sql: string, bindings: readonly any[] }) {
142
- if (this.trxName === undefined) {
143
- return this.conn.raw(query.sql, query.bindings)
176
+ private compileCommentsIntoSql(sql: string, comments: Record<string, string>): string {
177
+ if (this.trxName !== undefined) {
178
+ comments.TRX = this.trxName
144
179
  }
145
180
 
146
- return this.conn.raw(`/*TRX: ${this.trxName}*/${query.sql}`, query.bindings)
181
+ const stringComment = Internals.compileComments(comments)
182
+
183
+ if (stringComment === null) {
184
+ return sql
185
+ }
186
+
187
+ return `/* ${stringComment} */${sql}`
188
+ }
189
+
190
+ public runRawWithComment(query: { sql: string, bindings: readonly any[] }, comments?: Record<string, string>) {
191
+ return this.conn.raw(
192
+ this.compileCommentsIntoSql(query.sql, comments ?? Object.create(null)),
193
+ query.bindings
194
+ )
147
195
  }
148
196
 
149
- public select<T extends Model.Template, C extends Model.Converters<T>>(table: string, model: ModelTemplate<T, C>) {
197
+ public select<T extends Model.Template, C extends Model.Converters<T>>(table: string, model: ModelTemplate<T, C>, options?: Sql.SelectOptions) {
150
198
  return {
151
199
  build: (builder: Sql.Builder<T>) =>
152
200
  new Query(
153
- builder(this.conn.queryBuilder().getConnTable(table, this.trxName)),
201
+ builder(this.conn.queryBuilder().table(table)),
154
202
  model,
155
203
  table,
204
+ this,
205
+ options,
156
206
  )
157
207
  ,
158
208
  }
@@ -172,7 +222,7 @@ export class Driver<InTransaction extends boolean> {
172
222
 
173
223
  const sql = queryInfo.query(queryBuilder as any, {} as any).toSQL()
174
224
 
175
- const result: PlataResult<any[]> = await this.runRawWithComment(sql).then(
225
+ const result: PlataResult<any[]> = await this.runRawWithComment(sql, queryInfo.comments).then(
176
226
  r => r,
177
227
  err => ({
178
228
  errorID: 'PLSQLRWSEL001',
@@ -210,9 +260,9 @@ export class Driver<InTransaction extends boolean> {
210
260
  return result
211
261
  }
212
262
 
213
- public async insert<T extends Model.Template, C extends Model.Converters<T>>(table: string, model: ModelTemplate<T, C>, values: Model.ParcialTemplateType<T>[], options?: Sql.InsertOptions): PlataPromise<Model.ExtractTemplateType<T>[]> {
263
+ public async insert<T extends Model.Template, C extends Model.Converters<T>>(table: string, model: ModelTemplate<T, C>, values: Model.ParcialTemplateType<T>[], options?: Sql.InsertOptions): PlataPromise<Model.ExtractTemplateType<T>[]> {
214
264
  if (this.config.client === 'mssql') {
215
- const sql = this.conn.queryBuilder().getConnTable(table, this.trxName).insert(
265
+ const sql = this.conn.queryBuilder().table(table).insert(
216
266
  values,
217
267
  '*',
218
268
  {
@@ -220,7 +270,7 @@ export class Driver<InTransaction extends boolean> {
220
270
  }
221
271
  ).toSQL()
222
272
 
223
- return this.runRawWithComment(sql).then(
273
+ return this.runRawWithComment(sql, options?.comments).then(
224
274
  r => r,
225
275
  err => Plata.BuildPlataError({
226
276
  errorID: 'PLSQL001',
@@ -233,10 +283,16 @@ export class Driver<InTransaction extends boolean> {
233
283
  )
234
284
  }
235
285
 
286
+ const comments: Record<string, string> = options?.comments ?? Object.create(null)
287
+
288
+ if (this.trxName !== undefined) {
289
+ comments.TRX = this.trxName
290
+ }
291
+
236
292
  // TODO ver a necessidade de comentario de trx nas outras conexões
237
293
 
238
294
  if (options?.ignoreTrigger === true)
239
- return this.conn.queryBuilder().getConnTable(table, this.trxName).insert(
295
+ return this.conn.queryBuilder().getConnTable(table, comments).insert(
240
296
  values,
241
297
  '*',
242
298
  {
@@ -282,7 +338,13 @@ export class Driver<InTransaction extends boolean> {
282
338
 
283
339
  return this.transaction(
284
340
  async (trx) => {
285
- const result: number[] = await trx.conn.queryBuilder().getConnTable(table, `${trx.trxName}<->${this.trxName}`).insert(
341
+ if (comments.TRX !== undefined) {
342
+ comments.TRX = `${trx.trxName}<->${this.trxName}`
343
+ } else {
344
+ comments.TRX_INSERT = trx.trxName ?? ''
345
+ }
346
+
347
+ const result: number[] = await trx.conn.queryBuilder().getConnTable(table, comments).insert(
286
348
  values,
287
349
  )
288
350
 
@@ -291,12 +353,12 @@ export class Driver<InTransaction extends boolean> {
291
353
  )
292
354
  }
293
355
 
294
- public update<T extends Model.Template, C extends Model.Converters<T>>(table: string, model: ModelTemplate<T, C>) {
356
+ public update<T extends Model.Template, C extends Model.Converters<T>>(table: string, model: ModelTemplate<T, C>, options?: Sql.UpdateOptions) {
295
357
  return {
296
358
  build: async (s: Sql.Builder<T>, set: Model.ParcialTemplateType<T>): PlataPromise<true> => {
297
- const sql = s(this.conn.queryBuilder().getConnTable(table, this.trxName)).update(set as any).toSQL()
359
+ const sql = s(this.conn.queryBuilder().table(table)).update(set as any).toSQL()
298
360
 
299
- return this.runRawWithComment(sql).then(
361
+ return this.runRawWithComment(sql, options?.comments).then(
300
362
  () => true,
301
363
  err => Plata.BuildPlataError({
302
364
  errorID: 'PLSQL002',
@@ -627,12 +689,20 @@ export class Driver<InTransaction extends boolean> {
627
689
  }
628
690
 
629
691
  export class Query<T extends Model.Template, C extends Model.Converters<T>> {
630
- public query: Sql.ModelQueryBuilder<T>
692
+ public query: { sql: string, bindings: readonly any[] }
631
693
  public readonly model: ModelTemplate<T, C>
632
694
  public readonly table: string
633
695
  public readonly joins: string[]
634
-
635
- constructor (query: Sql.ModelQueryBuilder<T>, model: ModelTemplate<T, C>, table: string) {
696
+ private readonly options: Sql.SelectOptions | undefined
697
+ private readonly conn: Driver<boolean>
698
+
699
+ constructor(
700
+ query: Sql.ModelQueryBuilder<T>,
701
+ model: ModelTemplate<T, C>,
702
+ table: string,
703
+ conn: Driver<boolean>,
704
+ options?: Sql.SelectOptions
705
+ ) {
636
706
  const context = query.queryContext() ?? Object.create(null)
637
707
 
638
708
  this.joins = context._joins ?? []
@@ -640,9 +710,11 @@ export class Query<T extends Model.Template, C extends Model.Converters<T>> {
640
710
  this.table = table
641
711
  this.model = model
642
712
  this.query = this._buildSelect(query, this.model.template)
713
+ this.conn = conn
714
+ this.options = options
643
715
  }
644
716
 
645
- private _buildSelect<T extends Model.Template>(query: Sql.ModelQueryBuilder<T>, template: T): Sql.ModelQueryBuilder<T> {
717
+ private _buildSelect<T extends Model.Template>(query: Sql.ModelQueryBuilder<T>, template: T): { sql: string, bindings: readonly any[] } {
646
718
  const cs: string[] = []
647
719
 
648
720
  for (const key in template) {
@@ -668,7 +740,7 @@ export class Query<T extends Model.Template, C extends Model.Converters<T>> {
668
740
  }
669
741
  }
670
742
 
671
- return query.select(...cs)
743
+ return query.select(...cs).toSQL()
672
744
  }
673
745
 
674
746
  private _buildModel<T extends Model.Template>(row: any): typeof this.model.type {
@@ -709,7 +781,7 @@ export class Query<T extends Model.Template, C extends Model.Converters<T>> {
709
781
  return new Promise(resolve => {
710
782
  let shoudContinue = true
711
783
 
712
- const stream = this.query.stream()
784
+ const stream = this.conn.runRawWithComment(this.query, this.options?.comments).stream()
713
785
 
714
786
  stream.on('close', async () => {
715
787
  return resolve(handler.close<Y>())
@@ -748,7 +820,7 @@ export class Query<T extends Model.Template, C extends Model.Converters<T>> {
748
820
  const errors: PlataError[] = []
749
821
  const itens: any[] = []
750
822
 
751
- const result: PlataResult<boolean[]> = await this.query.then(
823
+ const result: PlataResult<boolean[]> = await this.conn.runRawWithComment(this.query, this.options?.comments).then(
752
824
  r => {
753
825
  const promises: Promise<boolean>[] = []
754
826
 
@@ -537,6 +537,90 @@ describe('PlataSql', () => {
537
537
  assert.strictEqual(value.errorID, 'PLSQLRWSEL002')
538
538
  })
539
539
 
540
+ it('Select with SQL Comments', async () => {
541
+ let capturedSql = ''
542
+ const listener = (q: any) => { capturedSql = q.sql }
543
+
544
+ sql.conn.on('query', listener)
545
+
546
+ const result = await sql.select('TB_INSERT', modelSql, {
547
+ comments: {
548
+ user: 'test',
549
+ feature: 'select_test'
550
+ }
551
+ }).build(s => s.limit(1)).toListAsync()
552
+
553
+ sql.conn.off('query', listener)
554
+
555
+ assert.strictEqual(result.errorID, undefined)
556
+ assert.ok(capturedSql.includes('USER: (TEST)'))
557
+ assert.ok(capturedSql.includes('FEATURE: (SELECT_TEST)'))
558
+ })
559
+
560
+ it('Update with SQL Comments', async () => {
561
+ let capturedSql = ''
562
+ const listener = (q: any) => { capturedSql = q.sql }
563
+
564
+ sql.conn.on('query', listener)
565
+
566
+ const result = await sql.update('TB_UPDATE', modelSql, {
567
+ comments: {
568
+ operation: 'update_price'
569
+ }
570
+ }).build(
571
+ s => s.where('PK_ID', 1),
572
+ { VL_PRECO: 777, DS_OBS: 'TEST' }
573
+ )
574
+
575
+ sql.conn.off('query', listener)
576
+
577
+ assert.strictEqual(result, true)
578
+ assert.ok(capturedSql.includes('OPERATION: (UPDATE_PRICE)'))
579
+ })
580
+
581
+ it('Raw execution preserves comments', async () => {
582
+ let capturedSql = ''
583
+ const listener = (q: any) => { capturedSql = q.sql }
584
+
585
+ sql.conn.on('query', listener)
586
+
587
+ const raw = sql.conn.queryBuilder().from('TB_INSERT').select('*').limit(1).toSQL()
588
+
589
+ const result = await sql.runRawWithComment(raw, {
590
+ trace: 'raw_test'
591
+ })
592
+
593
+ sql.conn.off('query', listener)
594
+
595
+ assert.ok(Array.isArray(result))
596
+ assert.ok(capturedSql.includes('TRACE: (RAW_TEST)'))
597
+ })
598
+
599
+ it('Transaction automatically injects TRX comment', async () => {
600
+ let capturedSql = ''
601
+ const listener = (q: any) => {
602
+ capturedSql = q.sql
603
+ }
604
+
605
+ await sql.transaction(async trx => {
606
+ trx.trxConn.on('query', listener)
607
+
608
+ await trx
609
+ .select('TB_INSERT', modelSql)
610
+ .build(s => s.limit(1))
611
+ .toListAsync()
612
+ ;
613
+
614
+
615
+ trx.trxConn.off('query', listener)
616
+
617
+ return true
618
+ })
619
+
620
+ assert.ok(capturedSql.includes('TRX: ('))
621
+ })
622
+
623
+
540
624
 
541
625
  after(async () => { // Requerido para Sqlite3
542
626
  const sqlError = await sql.conn.destroy().then(