node-firebird-driver 2.1.0 → 2.4.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.
Files changed (49) hide show
  1. package/dist/lib/impl/attachment.d.ts +11 -0
  2. package/dist/lib/impl/attachment.js +21 -5
  3. package/dist/lib/impl/attachment.js.map +1 -1
  4. package/dist/lib/impl/blob.js +1 -0
  5. package/dist/lib/impl/blob.js.map +1 -1
  6. package/dist/lib/impl/client.d.ts +1 -0
  7. package/dist/lib/impl/client.js +5 -1
  8. package/dist/lib/impl/client.js.map +1 -1
  9. package/dist/lib/impl/date-time.js +1 -0
  10. package/dist/lib/impl/date-time.js.map +1 -1
  11. package/dist/lib/impl/events.d.ts +1 -0
  12. package/dist/lib/impl/events.js +5 -1
  13. package/dist/lib/impl/events.js.map +1 -1
  14. package/dist/lib/impl/fb-util.d.ts +23 -0
  15. package/dist/lib/impl/fb-util.js +98 -10
  16. package/dist/lib/impl/fb-util.js.map +1 -1
  17. package/dist/lib/impl/index.d.ts +1 -0
  18. package/dist/lib/impl/index.js +20 -12
  19. package/dist/lib/impl/index.js.map +1 -1
  20. package/dist/lib/impl/resultset.d.ts +1 -0
  21. package/dist/lib/impl/resultset.js +5 -1
  22. package/dist/lib/impl/resultset.js.map +1 -1
  23. package/dist/lib/impl/statement.d.ts +10 -1
  24. package/dist/lib/impl/statement.js +21 -6
  25. package/dist/lib/impl/statement.js.map +1 -1
  26. package/dist/lib/impl/time-zones.d.ts +2 -0
  27. package/dist/lib/impl/time-zones.js +655 -0
  28. package/dist/lib/impl/time-zones.js.map +1 -0
  29. package/dist/lib/impl/transaction.d.ts +1 -0
  30. package/dist/lib/impl/transaction.js +5 -1
  31. package/dist/lib/impl/transaction.js.map +1 -1
  32. package/dist/lib/index.d.ts +63 -3
  33. package/dist/lib/index.js +5 -0
  34. package/dist/lib/index.js.map +1 -1
  35. package/dist/test/tests.js +192 -13
  36. package/dist/test/tests.js.map +1 -1
  37. package/package.json +3 -3
  38. package/src/lib/impl/attachment.ts +34 -12
  39. package/src/lib/impl/blob.ts +5 -5
  40. package/src/lib/impl/client.ts +8 -4
  41. package/src/lib/impl/events.ts +6 -2
  42. package/src/lib/impl/fb-util.ts +115 -4
  43. package/src/lib/impl/index.ts +1 -0
  44. package/src/lib/impl/resultset.ts +7 -3
  45. package/src/lib/impl/statement.ts +31 -9
  46. package/src/lib/impl/time-zones.ts +655 -0
  47. package/src/lib/impl/transaction.ts +9 -5
  48. package/src/lib/index.ts +84 -3
  49. package/src/test/tests.ts +240 -13
@@ -1 +1 @@
1
- {"version":3,"file":"tests.js","sourceRoot":"","sources":["../../src/test/tests.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tests.js","sourceRoot":"","sources":["../../src/test/tests.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-firebird-driver",
3
- "version": "2.1.0",
3
+ "version": "2.4.0",
4
4
  "description": "Firebird Driver Interfaces for Node.js",
5
5
  "main": "dist/lib/index.js",
6
6
  "scripts": {
@@ -29,7 +29,7 @@
29
29
  "homepage": "https://github.com/asfernandes/node-firebird-drivers#readme",
30
30
  "typings": "./dist/lib/index.d.ts",
31
31
  "dependencies": {
32
- "@types/node": "^12.12.12"
32
+ "@types/node": "^17.0.10"
33
33
  },
34
- "gitHead": "4099e7a19af85ad7427e98439383e867454534cf"
34
+ "gitHead": "3514f2b8fae52f1379db80a8149016f161603a54"
35
35
  }
@@ -95,7 +95,7 @@ export abstract class AbstractAttachment implements Attachment {
95
95
  }
96
96
 
97
97
  /** Executes a statement that returns a single record. */
98
- async executeReturning(transaction: AbstractTransaction, sqlStmt: string, parameters?: Array<any>,
98
+ async executeSingleton(transaction: AbstractTransaction, sqlStmt: string, parameters?: Array<any>,
99
99
  options?: {
100
100
  prepareOptions?: PrepareOptions,
101
101
  executeOptions?: ExecuteOptions
@@ -104,7 +104,7 @@ export abstract class AbstractAttachment implements Attachment {
104
104
 
105
105
  const statement = await this.prepare(transaction, sqlStmt, options && options.prepareOptions);
106
106
  try {
107
- return await statement.executeReturning(transaction, parameters, options && options.executeOptions);
107
+ return await statement.executeSingleton(transaction, parameters, options && options.executeOptions);
108
108
  }
109
109
  finally {
110
110
  await statement.dispose();
@@ -112,7 +112,7 @@ export abstract class AbstractAttachment implements Attachment {
112
112
  }
113
113
 
114
114
  /** Executes a statement that returns a single record in object form. */
115
- async executeReturningAsObject<T extends object>(transaction: AbstractTransaction, sqlStmt: string, parameters?: any[],
115
+ async executeSingletonAsObject<T extends object>(transaction: AbstractTransaction, sqlStmt: string, parameters?: any[],
116
116
  options?: {
117
117
  prepareOptions?: PrepareOptions,
118
118
  executeOptions?: ExecuteOptions
@@ -121,13 +121,31 @@ export abstract class AbstractAttachment implements Attachment {
121
121
 
122
122
  const statement = await this.prepare(transaction, sqlStmt, options && options.prepareOptions);
123
123
  try {
124
- return await statement.executeReturningAsObject(transaction, parameters, options && options.executeOptions);
124
+ return await statement.executeSingletonAsObject(transaction, parameters, options && options.executeOptions);
125
125
  }
126
126
  finally {
127
127
  await statement.dispose();
128
128
  }
129
129
  }
130
130
 
131
+ /** Executes a statement that returns a single record. */
132
+ async executeReturning(transaction: AbstractTransaction, sqlStmt: string, parameters?: Array<any>,
133
+ options?: {
134
+ prepareOptions?: PrepareOptions,
135
+ executeOptions?: ExecuteOptions
136
+ }): Promise<Array<any>> {
137
+ return await this.executeSingleton(transaction, sqlStmt, parameters, options);
138
+ }
139
+
140
+ /** Executes a statement that returns a single record in object form. */
141
+ async executeReturningAsObject<T extends object>(transaction: AbstractTransaction, sqlStmt: string, parameters?: any[],
142
+ options?: {
143
+ prepareOptions?: PrepareOptions,
144
+ executeOptions?: ExecuteOptions
145
+ }): Promise<T> {
146
+ return await this.executeSingletonAsObject<T>(transaction, sqlStmt, parameters, options);
147
+ }
148
+
131
149
  /** Executes a statement that has result set. */
132
150
  async executeQuery(transaction: AbstractTransaction, sqlStmt: string, parameters?: any[],
133
151
  options?: {
@@ -155,7 +173,7 @@ export abstract class AbstractAttachment implements Attachment {
155
173
  const trimmedName = name.trimRight();
156
174
 
157
175
  if (Buffer.from(trimmedName).byteLength > 255)
158
- throw new Error(`Invalid event name: ${name}.`);
176
+ throw new Error(`Invalid event name: ${name}.`);
159
177
 
160
178
  return trimmedName;
161
179
  });
@@ -194,8 +212,12 @@ export abstract class AbstractAttachment implements Attachment {
194
212
  return statement;
195
213
  }
196
214
 
215
+ get isValid(): boolean {
216
+ return !!this.client;
217
+ }
218
+
197
219
  private check() {
198
- if (!this.client)
220
+ if (!this.isValid)
199
221
  throw new Error('Attachment is already disconnected.');
200
222
  }
201
223
 
@@ -217,13 +239,13 @@ export abstract class AbstractAttachment implements Attachment {
217
239
  this.client = undefined;
218
240
  }
219
241
 
220
- protected abstract async internalDisconnect(): Promise<void>;
221
- protected abstract async internalDropDatabase(): Promise<void>;
222
- protected abstract async internalCreateBlob(transaction: AbstractTransaction): Promise<AbstractBlobStream>;
223
- protected abstract async internalOpenBlob(transaction: AbstractTransaction, blob: Blob): Promise<AbstractBlobStream>;
224
- protected abstract async internalPrepare(transaction: AbstractTransaction, sqlStmt: string, options?: PrepareOptions):
242
+ protected abstract internalDisconnect(): Promise<void>;
243
+ protected abstract internalDropDatabase(): Promise<void>;
244
+ protected abstract internalCreateBlob(transaction: AbstractTransaction): Promise<AbstractBlobStream>;
245
+ protected abstract internalOpenBlob(transaction: AbstractTransaction, blob: Blob): Promise<AbstractBlobStream>;
246
+ protected abstract internalPrepare(transaction: AbstractTransaction, sqlStmt: string, options?: PrepareOptions):
225
247
  Promise<AbstractStatement>;
226
- protected abstract async internalStartTransaction(options?: TransactionOptions): Promise<AbstractTransaction>;
248
+ protected abstract internalStartTransaction(options?: TransactionOptions): Promise<AbstractTransaction>;
227
249
  protected abstract internalQueueEvents(names: string[], callBack: (counters: [string, number][]) => Promise<void>):
228
250
  Promise<AbstractEvents>;
229
251
  }
@@ -29,9 +29,9 @@ export abstract class AbstractBlobStream extends BlobStream {
29
29
  return await this.internalWrite(buffer);
30
30
  }
31
31
 
32
- protected abstract async internalGetLength(): Promise<number>;
33
- protected abstract async internalClose(): Promise<void>;
34
- protected abstract async internalCancel(): Promise<void>;
35
- protected abstract async internalRead(buffer: Buffer): Promise<number>;
36
- protected abstract async internalWrite(buffer: Buffer): Promise<void>;
32
+ protected abstract internalGetLength(): Promise<number>;
33
+ protected abstract internalClose(): Promise<void>;
34
+ protected abstract internalCancel(): Promise<void>;
35
+ protected abstract internalRead(buffer: Buffer): Promise<number>;
36
+ protected abstract internalWrite(buffer: Buffer): Promise<void>;
37
37
  }
@@ -72,12 +72,16 @@ export abstract class AbstractClient implements Client {
72
72
  return attachment;
73
73
  }
74
74
 
75
+ get isValid(): boolean {
76
+ return !!this.connected;
77
+ }
78
+
75
79
  private check() {
76
- if (!this.connected)
80
+ if (!this.isValid)
77
81
  throw new Error('Client is already disposed.');
78
82
  }
79
83
 
80
- protected abstract async internalDispose(): Promise<void>;
81
- protected abstract async internalConnect(uri: string, options?: ConnectOptions): Promise<AbstractAttachment>;
82
- protected abstract async internalCreateDatabase(uri: string, options?: CreateDatabaseOptions): Promise<AbstractAttachment>;
84
+ protected abstract internalDispose(): Promise<void>;
85
+ protected abstract internalConnect(uri: string, options?: ConnectOptions): Promise<AbstractAttachment>;
86
+ protected abstract internalCreateDatabase(uri: string, options?: CreateDatabaseOptions): Promise<AbstractAttachment>;
83
87
  }
@@ -18,10 +18,14 @@ export abstract class AbstractEvents implements Events {
18
18
  this.attachment = undefined;
19
19
  }
20
20
 
21
+ get isValid(): boolean {
22
+ return !!this.attachment;
23
+ }
24
+
21
25
  private check() {
22
- if (!this.attachment)
26
+ if (!this.isValid)
23
27
  throw new Error('Events are already cancelled.');
24
28
  }
25
29
 
26
- protected abstract async internalCancel(): Promise<void>;
30
+ protected abstract internalCancel(): Promise<void>;
27
31
  }
@@ -6,6 +6,7 @@ import * as stringDecoder from 'string_decoder';
6
6
  import { AbstractAttachment } from './attachment';
7
7
  import { AbstractTransaction } from './transaction';
8
8
  import { decodeDate, decodeTime, encodeDate, encodeTime } from './date-time';
9
+ import { tzIdToString, tzStringToId } from './time-zones';
9
10
 
10
11
  import {
11
12
  Attachment,
@@ -15,7 +16,9 @@ import {
15
16
  CreateDatabaseOptions,
16
17
  Transaction,
17
18
  TransactionIsolation,
18
- TransactionOptions
19
+ TransactionOptions,
20
+ ZonedDate,
21
+ ZonedDateEx
19
22
  } from '..';
20
23
 
21
24
 
@@ -35,6 +38,13 @@ export namespace sqlTypes {
35
38
  export const SQL_TYPE_TIME = 560;
36
39
  export const SQL_TYPE_DATE = 570;
37
40
  export const SQL_INT64 = 580;
41
+ export const SQL_TIMESTAMP_TZ_EX = 32748;
42
+ export const SQL_TIME_TZ_EX = 32750;
43
+ export const SQL_TIMESTAMP_TZ = 32754;
44
+ export const SQL_TIME_TZ = 32756;
45
+ export const SQL_INT128 = 32752;
46
+ export const SQL_DEC16 = 32760;
47
+ export const SQL_DEC34 = 32762;
38
48
  export const SQL_BOOLEAN = 32764;
39
49
  export const SQL_NULL = 32766;
40
50
  }
@@ -83,6 +93,25 @@ export namespace blobInfo {
83
93
  export const totalLength = 6;
84
94
  }
85
95
 
96
+ /** Statement info. */
97
+ export namespace statementInfo {
98
+ export const sqlExecPathBlrText = 32;
99
+ }
100
+
101
+ /** Common info. */
102
+ export namespace commonInfo {
103
+ export const end = 1;
104
+ export const truncated = 2;
105
+ export const error = 3;
106
+ export const dataNotReady = 4;
107
+ export const length = 126;
108
+ export const flagEnd = 127;
109
+ }
110
+
111
+ export namespace charSets {
112
+ export const ascii = 2;
113
+ }
114
+
86
115
  export function createDpb(options?: ConnectOptions | CreateDatabaseOptions): Buffer {
87
116
  const code = (c: number) => String.fromCharCode(c);
88
117
  const charSet = 'utf8';
@@ -262,16 +291,71 @@ export function createDataReader(descriptors: Descriptor[]): DataReader {
262
291
  decodedTime.hours, decodedTime.minutes, decodedTime.seconds, decodedTime.fractions / 10);
263
292
  }
264
293
 
294
+ case sqlTypes.SQL_TIME_TZ_EX: {
295
+ const now = new Date();
296
+ const decodedTime = decodeTime(dataView.getUint32(descriptor.offset, littleEndian));
297
+ const date = new Date(Date.UTC(now.getUTCFullYear(), now.getUTCMonth(), now.getUTCDate(),
298
+ decodedTime.hours, decodedTime.minutes, decodedTime.seconds, decodedTime.fractions / 10));
299
+ const timeZone = tzIdToString(dataView.getUint16(descriptor.offset + 4, littleEndian));
300
+ const offset = dataView.getInt16(descriptor.offset + 6, littleEndian);
301
+
302
+ return {
303
+ date,
304
+ timeZone,
305
+ offset
306
+ } as ZonedDateEx;
307
+ }
308
+
265
309
  case sqlTypes.SQL_TYPE_DATE: {
266
310
  const decodedDate = decodeDate(dataView.getInt32(descriptor.offset, littleEndian));
267
- return new Date(decodedDate.year, decodedDate.month - 1, decodedDate.day);
311
+
312
+ if (decodedDate.year >= 100)
313
+ return new Date(decodedDate.year, decodedDate.month - 1, decodedDate.day);
314
+ else {
315
+ const date = new Date(2000, decodedDate.month - 1, decodedDate.day);
316
+ date.setFullYear(decodedDate.year);
317
+ return date;
318
+ }
268
319
  }
269
320
 
270
321
  case sqlTypes.SQL_TIMESTAMP: {
271
322
  const decodedDate = decodeDate(dataView.getInt32(descriptor.offset, littleEndian));
272
323
  const decodedTime = decodeTime(dataView.getUint32(descriptor.offset + 4, littleEndian));
273
- return new Date(decodedDate.year, decodedDate.month - 1, decodedDate.day,
274
- decodedTime.hours, decodedTime.minutes, decodedTime.seconds, decodedTime.fractions / 10);
324
+
325
+ if (decodedDate.year >= 100) {
326
+ return new Date(decodedDate.year, decodedDate.month - 1, decodedDate.day,
327
+ decodedTime.hours, decodedTime.minutes, decodedTime.seconds, decodedTime.fractions / 10);
328
+ }
329
+ else {
330
+ const date = new Date(2000, decodedDate.month - 1, decodedDate.day,
331
+ decodedTime.hours, decodedTime.minutes, decodedTime.seconds, decodedTime.fractions / 10);
332
+ date.setFullYear(decodedDate.year);
333
+ return date;
334
+ }
335
+ }
336
+
337
+ case sqlTypes.SQL_TIMESTAMP_TZ_EX: {
338
+ const decodedDate = decodeDate(dataView.getInt32(descriptor.offset, littleEndian));
339
+ const decodedTime = decodeTime(dataView.getUint32(descriptor.offset + 4, littleEndian));
340
+ const timeZone = tzIdToString(dataView.getUint16(descriptor.offset + 8, littleEndian));
341
+ const offset = dataView.getInt16(descriptor.offset + 10, littleEndian);
342
+ let date: Date;
343
+
344
+ if (decodedDate.year >= 100) {
345
+ date = new Date(Date.UTC(decodedDate.year, decodedDate.month - 1, decodedDate.day,
346
+ decodedTime.hours, decodedTime.minutes, decodedTime.seconds, decodedTime.fractions / 10));
347
+ }
348
+ else {
349
+ date = new Date(Date.UTC(2000, decodedDate.month - 1, decodedDate.day,
350
+ decodedTime.hours, decodedTime.minutes, decodedTime.seconds, decodedTime.fractions / 10));
351
+ date.setUTCFullYear(decodedDate.year);
352
+ }
353
+
354
+ return {
355
+ date,
356
+ timeZone,
357
+ offset
358
+ } as ZonedDateEx;
275
359
  }
276
360
 
277
361
  case sqlTypes.SQL_BOOLEAN:
@@ -314,6 +398,8 @@ export function createDataWriter(descriptors: Descriptor[]): DataWriter {
314
398
  return;
315
399
  }
316
400
 
401
+ dataView.setInt16(descriptor.nullOffset, 0, littleEndian);
402
+
317
403
  switch (descriptor.type) {
318
404
  // SQL_TEXT is handled changing its descriptor to SQL_VARYING with IMetadataBuilder.
319
405
  case sqlTypes.SQL_VARYING: {
@@ -364,6 +450,17 @@ export function createDataWriter(descriptors: Descriptor[]): DataWriter {
364
450
  break;
365
451
  }
366
452
 
453
+ case sqlTypes.SQL_TIME_TZ:
454
+ case sqlTypes.SQL_TIME_TZ_EX: {
455
+ const zonedDate = value as ZonedDate;
456
+ dataView.setUint32(descriptor.offset,
457
+ encodeTime(zonedDate.date.getUTCHours(), zonedDate.date.getUTCMinutes(), zonedDate.date.getUTCSeconds(),
458
+ zonedDate.date.getUTCMilliseconds() * 10),
459
+ littleEndian);
460
+ dataView.setUint16(descriptor.offset + 4, tzStringToId(zonedDate.timeZone), littleEndian);
461
+ break;
462
+ }
463
+
367
464
  case sqlTypes.SQL_TYPE_DATE: {
368
465
  const date = value as Date;
369
466
  dataView.setInt32(descriptor.offset,
@@ -383,6 +480,20 @@ export function createDataWriter(descriptors: Descriptor[]): DataWriter {
383
480
  break;
384
481
  }
385
482
 
483
+ case sqlTypes.SQL_TIMESTAMP_TZ:
484
+ case sqlTypes.SQL_TIMESTAMP_TZ_EX: {
485
+ const zonedDate = value as ZonedDate;
486
+ dataView.setInt32(descriptor.offset,
487
+ encodeDate(zonedDate.date.getUTCFullYear(), zonedDate.date.getUTCMonth() + 1, zonedDate.date.getUTCDate()),
488
+ littleEndian);
489
+ dataView.setUint32(descriptor.offset + 4,
490
+ encodeTime(zonedDate.date.getUTCHours(), zonedDate.date.getUTCMinutes(), zonedDate.date.getUTCSeconds(),
491
+ zonedDate.date.getUTCMilliseconds() * 10),
492
+ littleEndian);
493
+ dataView.setUint16(descriptor.offset + 8, tzStringToId(zonedDate.timeZone), littleEndian);
494
+ break;
495
+ }
496
+
386
497
  case sqlTypes.SQL_BOOLEAN:
387
498
  dataView.setInt8(descriptor.offset, value ? 1 : 0);
388
499
  break;
@@ -8,3 +8,4 @@ export * from './events';
8
8
 
9
9
  export * from './date-time';
10
10
  export * from './fb-util';
11
+ export * from './time-zones';
@@ -79,12 +79,16 @@ export abstract class AbstractResultSet implements ResultSet {
79
79
  });
80
80
  }
81
81
 
82
+ get isValid(): boolean {
83
+ return !!this.statement;
84
+ }
85
+
82
86
  private check() {
83
- if (!this.statement)
87
+ if (!this.isValid)
84
88
  throw new Error('ResultSet is already closed.');
85
89
  }
86
90
 
87
- protected abstract async internalClose(): Promise<void>;
91
+ protected abstract internalClose(): Promise<void>;
88
92
 
89
- protected abstract async internalFetch(options?: FetchOptions): Promise<{ finished: boolean; rows: any[][] }>;
93
+ protected abstract internalFetch(options?: FetchOptions): Promise<{ finished: boolean; rows: any[][] }>;
90
94
  }
@@ -14,8 +14,13 @@ import {
14
14
  export abstract class AbstractStatement implements Statement {
15
15
  resultSet?: AbstractResultSet;
16
16
 
17
+ abstract getExecPathText(): Promise<string | undefined>;
18
+
17
19
  /** Gets the query's result columns labels. Returns empty array for queries without result. */
18
- readonly columnLabels: Promise<string[]>;
20
+ abstract get columnLabels(): Promise<string[]>
21
+
22
+ /** When true, query result must be obtained with method executeQuery. */
23
+ readonly hasResultSet: boolean;
19
24
 
20
25
  /** Default query's execute options. */
21
26
  defaultExecuteOptions: ExecuteOptions;
@@ -60,7 +65,7 @@ export abstract class AbstractStatement implements Statement {
60
65
  }
61
66
 
62
67
  /** Executes a statement that returns a single record as [col1, col2, ..., colN]. */
63
- async executeReturning(transaction: AbstractTransaction, parameters?: any[], options?: ExecuteOptions): Promise<any[]> {
68
+ async executeSingleton(transaction: AbstractTransaction, parameters?: any[], options?: ExecuteOptions): Promise<any[]> {
64
69
  this.check();
65
70
 
66
71
  //// TODO: check opened resultSet.
@@ -69,11 +74,11 @@ export abstract class AbstractStatement implements Statement {
69
74
  }
70
75
 
71
76
  /** Executes a statement that returns a single record as an object. */
72
- async executeReturningAsObject<T extends object>(transaction: AbstractTransaction, parameters?: any[],
77
+ async executeSingletonAsObject<T extends object>(transaction: AbstractTransaction, parameters?: any[],
73
78
  options?: ExecuteOptions): Promise<T> {
74
79
  this.check();
75
80
 
76
- const row = await this.executeReturning(transaction, parameters, options);
81
+ const row = await this.executeSingleton(transaction, parameters, options);
77
82
  const cols = (await this?.columnLabels) || [];
78
83
 
79
84
  const obj = {} as T;
@@ -87,6 +92,17 @@ export abstract class AbstractStatement implements Statement {
87
92
  return obj;
88
93
  }
89
94
 
95
+ /** Executes a statement that returns a single record as [col1, col2, ..., colN]. */
96
+ async executeReturning(transaction: AbstractTransaction, parameters?: any[], options?: ExecuteOptions): Promise<any[]> {
97
+ return await this.executeSingleton(transaction, parameters, options);
98
+ }
99
+
100
+ /** Executes a statement that returns a single record as an object. */
101
+ async executeReturningAsObject<T extends object>(transaction: AbstractTransaction, parameters?: any[],
102
+ options?: ExecuteOptions): Promise<T> {
103
+ return await this.executeSingletonAsObject<T>(transaction, parameters, options);
104
+ }
105
+
90
106
  /** Executes a prepared statement that has result set. */
91
107
  async executeQuery(transaction: AbstractTransaction, parameters?: any[], options?: ExecuteQueryOptions):
92
108
  Promise<AbstractResultSet> {
@@ -99,15 +115,21 @@ export abstract class AbstractStatement implements Statement {
99
115
  return resultSet;
100
116
  }
101
117
 
118
+ get isValid(): boolean {
119
+ return !!this.attachment;
120
+ }
121
+
102
122
  private check() {
103
- if (!this.attachment)
123
+ if (!this.isValid)
104
124
  throw new Error('Statement is already disposed.');
105
125
  }
106
126
 
107
- protected abstract async internalDispose(): Promise<void>;
108
- protected abstract async internalExecuteTransaction(transaction: AbstractTransaction): Promise<AbstractTransaction>;
109
- protected abstract async internalExecute(transaction: AbstractTransaction, parameters?: any[], options?: ExecuteOptions):
127
+ public abstract setCursorName(cursorName: string): Promise<void>;
128
+
129
+ protected abstract internalDispose(): Promise<void>;
130
+ protected abstract internalExecuteTransaction(transaction: AbstractTransaction): Promise<AbstractTransaction>;
131
+ protected abstract internalExecute(transaction: AbstractTransaction, parameters?: any[], options?: ExecuteOptions):
110
132
  Promise<any[]>;
111
- protected abstract async internalExecuteQuery(transaction: AbstractTransaction, parameters?: any[], options?: ExecuteQueryOptions):
133
+ protected abstract internalExecuteQuery(transaction: AbstractTransaction, parameters?: any[], options?: ExecuteQueryOptions):
112
134
  Promise<AbstractResultSet>;
113
135
  }