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
@@ -6,8 +6,11 @@ import { ExecuteOptions, ExecuteQueryOptions, FetchOptions, Statement } from '..
6
6
  export declare abstract class AbstractStatement implements Statement {
7
7
  attachment?: AbstractAttachment | undefined;
8
8
  resultSet?: AbstractResultSet;
9
+ abstract getExecPathText(): Promise<string | undefined>;
9
10
  /** Gets the query's result columns labels. Returns empty array for queries without result. */
10
- readonly columnLabels: Promise<string[]>;
11
+ abstract get columnLabels(): Promise<string[]>;
12
+ /** When true, query result must be obtained with method executeQuery. */
13
+ readonly hasResultSet: boolean;
11
14
  /** Default query's execute options. */
12
15
  defaultExecuteOptions: ExecuteOptions;
13
16
  /** Default query's executeQuery options. */
@@ -22,12 +25,18 @@ export declare abstract class AbstractStatement implements Statement {
22
25
  /** Executes a prepared statement that has no result set. */
23
26
  execute(transaction: AbstractTransaction, parameters?: any[], options?: ExecuteOptions): Promise<void>;
24
27
  /** Executes a statement that returns a single record as [col1, col2, ..., colN]. */
28
+ executeSingleton(transaction: AbstractTransaction, parameters?: any[], options?: ExecuteOptions): Promise<any[]>;
29
+ /** Executes a statement that returns a single record as an object. */
30
+ executeSingletonAsObject<T extends object>(transaction: AbstractTransaction, parameters?: any[], options?: ExecuteOptions): Promise<T>;
31
+ /** Executes a statement that returns a single record as [col1, col2, ..., colN]. */
25
32
  executeReturning(transaction: AbstractTransaction, parameters?: any[], options?: ExecuteOptions): Promise<any[]>;
26
33
  /** Executes a statement that returns a single record as an object. */
27
34
  executeReturningAsObject<T extends object>(transaction: AbstractTransaction, parameters?: any[], options?: ExecuteOptions): Promise<T>;
28
35
  /** Executes a prepared statement that has result set. */
29
36
  executeQuery(transaction: AbstractTransaction, parameters?: any[], options?: ExecuteQueryOptions): Promise<AbstractResultSet>;
37
+ get isValid(): boolean;
30
38
  private check;
39
+ abstract setCursorName(cursorName: string): Promise<void>;
31
40
  protected abstract internalDispose(): Promise<void>;
32
41
  protected abstract internalExecuteTransaction(transaction: AbstractTransaction): Promise<AbstractTransaction>;
33
42
  protected abstract internalExecute(transaction: AbstractTransaction, parameters?: any[], options?: ExecuteOptions): Promise<any[]>;
@@ -9,6 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.AbstractStatement = void 0;
12
13
  /** AbstractStatement implementation. */
13
14
  class AbstractStatement {
14
15
  constructor(attachment) {
@@ -42,7 +43,7 @@ class AbstractStatement {
42
43
  });
43
44
  }
44
45
  /** Executes a statement that returns a single record as [col1, col2, ..., colN]. */
45
- executeReturning(transaction, parameters, options) {
46
+ executeSingleton(transaction, parameters, options) {
46
47
  return __awaiter(this, void 0, void 0, function* () {
47
48
  this.check();
48
49
  //// TODO: check opened resultSet.
@@ -50,12 +51,11 @@ class AbstractStatement {
50
51
  });
51
52
  }
52
53
  /** Executes a statement that returns a single record as an object. */
53
- executeReturningAsObject(transaction, parameters, options) {
54
- var _a;
54
+ executeSingletonAsObject(transaction, parameters, options) {
55
55
  return __awaiter(this, void 0, void 0, function* () {
56
56
  this.check();
57
- const row = yield this.executeReturning(transaction, parameters, options);
58
- const cols = (yield ((_a = this) === null || _a === void 0 ? void 0 : _a.columnLabels)) || [];
57
+ const row = yield this.executeSingleton(transaction, parameters, options);
58
+ const cols = (yield (this === null || this === void 0 ? void 0 : this.columnLabels)) || [];
59
59
  const obj = {};
60
60
  // Loop on row column value.
61
61
  row.forEach((v, idx) => {
@@ -65,6 +65,18 @@ class AbstractStatement {
65
65
  return obj;
66
66
  });
67
67
  }
68
+ /** Executes a statement that returns a single record as [col1, col2, ..., colN]. */
69
+ executeReturning(transaction, parameters, options) {
70
+ return __awaiter(this, void 0, void 0, function* () {
71
+ return yield this.executeSingleton(transaction, parameters, options);
72
+ });
73
+ }
74
+ /** Executes a statement that returns a single record as an object. */
75
+ executeReturningAsObject(transaction, parameters, options) {
76
+ return __awaiter(this, void 0, void 0, function* () {
77
+ return yield this.executeSingletonAsObject(transaction, parameters, options);
78
+ });
79
+ }
68
80
  /** Executes a prepared statement that has result set. */
69
81
  executeQuery(transaction, parameters, options) {
70
82
  return __awaiter(this, void 0, void 0, function* () {
@@ -75,8 +87,11 @@ class AbstractStatement {
75
87
  return resultSet;
76
88
  });
77
89
  }
90
+ get isValid() {
91
+ return !!this.attachment;
92
+ }
78
93
  check() {
79
- if (!this.attachment)
94
+ if (!this.isValid)
80
95
  throw new Error('Statement is already disposed.');
81
96
  }
82
97
  }
@@ -1 +1 @@
1
- {"version":3,"file":"statement.js","sourceRoot":"","sources":["../../../src/lib/impl/statement.ts"],"names":[],"mappings":";;;;;;;;;;;AAYA,wCAAwC;AACxC,MAAsB,iBAAiB;IAetC,YAA6B,UAA+B;QAA/B,eAAU,GAAV,UAAU,CAAqB;IAC5D,CAAC;IAED,2CAA2C;IACrC,OAAO;;YACZ,IAAI,CAAC,KAAK,EAAE,CAAC;YAEb,IAAI,IAAI,CAAC,SAAS;gBACjB,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YAE9B,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAE7B,IAAI,CAAC,UAAW,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC7B,CAAC;KAAA;IAED,wGAAwG;IAClG,kBAAkB,CAAC,WAAgC;;YACxD,IAAI,CAAC,KAAK,EAAE,CAAC;YAEb,kCAAkC;YAClC,OAAO,MAAM,IAAI,CAAC,0BAA0B,CAAC,WAAW,CAAC,CAAC;QAC3D,CAAC;KAAA;IAED,4DAA4D;IACtD,OAAO,CAAC,WAAgC,EAAE,UAAkB,EAAE,OAAwB;;YAC3F,IAAI,CAAC,KAAK,EAAE,CAAC;YAEb,kCAAkC;YAClC,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,UAAU,EACjD,OAAO,IAAI,IAAI,CAAC,UAAW,CAAC,qBAAqB,IAAI,IAAI,CAAC,UAAW,CAAC,MAAO,CAAC,qBAAqB,CAAC,CAAC;QACvG,CAAC;KAAA;IAED,oFAAoF;IAC9E,gBAAgB,CAAC,WAAgC,EAAE,UAAkB,EAAE,OAAwB;;YACpG,IAAI,CAAC,KAAK,EAAE,CAAC;YAEb,kCAAkC;YAClC,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,UAAU,EACxD,OAAO,IAAI,IAAI,CAAC,UAAW,CAAC,qBAAqB,IAAI,IAAI,CAAC,UAAW,CAAC,MAAO,CAAC,qBAAqB,CAAC,CAAC;QACvG,CAAC;KAAA;IAED,sEAAsE;IAChE,wBAAwB,CAAmB,WAAgC,EAAE,UAAkB,EACnG,OAAwB;;;YACzB,IAAI,CAAC,KAAK,EAAE,CAAC;YAEb,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;YAC1E,MAAM,IAAI,GAAG,CAAC,aAAM,IAAI,0CAAE,YAAY,CAAA,CAAC,IAAI,EAAE,CAAC;YAE9C,MAAM,GAAG,GAAG,EAAO,CAAC;YAEpB,4BAA4B;YAC5B,GAAG,CAAC,OAAO,CAAC,CAAC,CAAM,EAAE,GAAW,EAAE,EAAE;gBACnC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;gBACrB,GAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACvB,CAAC,CAAC,CAAC;YAEH,OAAO,GAAG,CAAC;;KACX;IAED,yDAAyD;IACnD,YAAY,CAAC,WAAgC,EAAE,UAAkB,EAAE,OAA6B;;YAErG,IAAI,CAAC,KAAK,EAAE,CAAC;YAEb,kCAAkC;YAClC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,UAAU,EACxE,OAAO,IAAI,IAAI,CAAC,UAAW,CAAC,0BAA0B,IAAI,IAAI,CAAC,UAAW,CAAC,MAAO,CAAC,0BAA0B,CAAC,CAAC;YAChH,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC3B,OAAO,SAAS,CAAC;QAClB,CAAC;KAAA;IAEO,KAAK;QACZ,IAAI,CAAC,IAAI,CAAC,UAAU;YACnB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;CAQD;AAnGD,8CAmGC"}
1
+ {"version":3,"file":"statement.js","sourceRoot":"","sources":["../../../src/lib/impl/statement.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function tzIdToString(tzId: number): string;
2
+ export declare function tzStringToId(tzStr: string): number;