node-firebird-driver-native 2.3.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.
@@ -22,7 +22,7 @@ class AttachmentImpl extends impl_1.AbstractAttachment {
22
22
  return __awaiter(this, void 0, void 0, function* () {
23
23
  const attachment = new AttachmentImpl(client);
24
24
  return yield client.statusAction((status) => __awaiter(this, void 0, void 0, function* () {
25
- const dpb = fb_util_1.createDpb(options);
25
+ const dpb = (0, fb_util_1.createDpb)(options);
26
26
  attachment.attachmentHandle = yield client.dispatcher.attachDatabaseAsync(status, uri, dpb.length, dpb);
27
27
  return attachment;
28
28
  }));
@@ -32,7 +32,7 @@ class AttachmentImpl extends impl_1.AbstractAttachment {
32
32
  return __awaiter(this, void 0, void 0, function* () {
33
33
  const attachment = new AttachmentImpl(client);
34
34
  return yield client.statusAction((status) => __awaiter(this, void 0, void 0, function* () {
35
- const dpb = fb_util_1.createDpb(options);
35
+ const dpb = (0, fb_util_1.createDpb)(options);
36
36
  attachment.attachmentHandle = yield client.dispatcher.createDatabaseAsync(status, uri, dpb.length, dpb);
37
37
  return attachment;
38
38
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"attachment.js","sourceRoot":"","sources":["../../src/lib/attachment.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iCAAwC;AAExC,2CAA4C;AAC5C,+CAAgD;AAChD,qCAAsC;AACtC,uCAAsC;AAUtC,6DAAwE;AAKxE,iCAAiC;AACjC,MAAa,cAAe,SAAQ,yBAAkB;IAMrD,MAAM,CAAO,OAAO,CAAC,MAAkB,EAAE,GAAW,EAAE,OAAwB;;YAC7E,MAAM,UAAU,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;YAE9C,OAAO,MAAM,MAAM,CAAC,YAAY,CAAC,CAAM,MAAM,EAAC,EAAE;gBAC/C,MAAM,GAAG,GAAG,mBAAS,CAAC,OAAO,CAAC,CAAC;gBAC/B,UAAU,CAAC,gBAAgB,GAAG,MAAM,MAAO,CAAC,UAAW,CAAC,mBAAmB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBAC1G,OAAO,UAAU,CAAC;YACnB,CAAC,CAAA,CAAC,CAAC;QACJ,CAAC;KAAA;IAED,MAAM,CAAO,cAAc,CAAC,MAAkB,EAAE,GAAW,EAAE,OAA+B;;YAC3F,MAAM,UAAU,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;YAE9C,OAAO,MAAM,MAAM,CAAC,YAAY,CAAC,CAAM,MAAM,EAAC,EAAE;gBAC/C,MAAM,GAAG,GAAG,mBAAS,CAAC,OAAO,CAAC,CAAC;gBAC/B,UAAU,CAAC,gBAAgB,GAAG,MAAM,MAAO,CAAC,UAAW,CAAC,mBAAmB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBAC1G,OAAO,UAAU,CAAC;YACnB,CAAC,CAAA,CAAC,CAAC;QACJ,CAAC;KAAA;IAED,mCAAmC;IACnB,kBAAkB;;YACjC,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAiB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;YACrF,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;QACnC,CAAC;KAAA;IAED,sDAAsD;IACtC,oBAAoB;;YACnC,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAiB,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;YAC3F,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;QACnC,CAAC;KAAA;IAED,gCAAgC;IAChB,wBAAwB,CAAC,OAA4B;;YACpE,OAAO,MAAM,6BAAe,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC;KAAA;IAEe,kBAAkB,CAAC,WAA4B;;YAC9D,OAAO,MAAM,qBAAc,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACvD,CAAC;KAAA;IAEe,gBAAgB,CAAC,WAA4B,EAAE,IAAU;;YACxE,OAAO,MAAM,qBAAc,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;QAC3D,CAAC;KAAA;IAED,wBAAwB;IACR,eAAe,CAAC,WAA4B,EAAE,OAAe,EAAE,OAAwB;;YACtG,OAAO,MAAM,yBAAa,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACzE,CAAC;KAAA;IAEe,mBAAmB,CAClC,KAAe,EAAE,QAAyD;;YAE1E,OAAO,MAAM,mBAAU,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QACtD,CAAC;KAAA;CACD;AA7DD,wCA6DC"}
1
+ {"version":3,"file":"attachment.js","sourceRoot":"","sources":["../../src/lib/attachment.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iCAAwC;AAExC,2CAA4C;AAC5C,+CAAgD;AAChD,qCAAsC;AACtC,uCAAsC;AAUtC,6DAAwE;AAKxE,iCAAiC;AACjC,MAAa,cAAe,SAAQ,yBAAkB;IAMrD,MAAM,CAAO,OAAO,CAAC,MAAkB,EAAE,GAAW,EAAE,OAAwB;;YAC7E,MAAM,UAAU,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;YAE9C,OAAO,MAAM,MAAM,CAAC,YAAY,CAAC,CAAM,MAAM,EAAC,EAAE;gBAC/C,MAAM,GAAG,GAAG,IAAA,mBAAS,EAAC,OAAO,CAAC,CAAC;gBAC/B,UAAU,CAAC,gBAAgB,GAAG,MAAM,MAAO,CAAC,UAAW,CAAC,mBAAmB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBAC1G,OAAO,UAAU,CAAC;YACnB,CAAC,CAAA,CAAC,CAAC;QACJ,CAAC;KAAA;IAED,MAAM,CAAO,cAAc,CAAC,MAAkB,EAAE,GAAW,EAAE,OAA+B;;YAC3F,MAAM,UAAU,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;YAE9C,OAAO,MAAM,MAAM,CAAC,YAAY,CAAC,CAAM,MAAM,EAAC,EAAE;gBAC/C,MAAM,GAAG,GAAG,IAAA,mBAAS,EAAC,OAAO,CAAC,CAAC;gBAC/B,UAAU,CAAC,gBAAgB,GAAG,MAAM,MAAO,CAAC,UAAW,CAAC,mBAAmB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBAC1G,OAAO,UAAU,CAAC;YACnB,CAAC,CAAA,CAAC,CAAC;QACJ,CAAC;KAAA;IAED,mCAAmC;IACnB,kBAAkB;;YACjC,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAiB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;YACrF,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;QACnC,CAAC;KAAA;IAED,sDAAsD;IACtC,oBAAoB;;YACnC,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAiB,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;YAC3F,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;QACnC,CAAC;KAAA;IAED,gCAAgC;IAChB,wBAAwB,CAAC,OAA4B;;YACpE,OAAO,MAAM,6BAAe,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC;KAAA;IAEe,kBAAkB,CAAC,WAA4B;;YAC9D,OAAO,MAAM,qBAAc,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACvD,CAAC;KAAA;IAEe,gBAAgB,CAAC,WAA4B,EAAE,IAAU;;YACxE,OAAO,MAAM,qBAAc,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;QAC3D,CAAC;KAAA;IAED,wBAAwB;IACR,eAAe,CAAC,WAA4B,EAAE,OAAe,EAAE,OAAwB;;YACtG,OAAO,MAAM,yBAAa,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACzE,CAAC;KAAA;IAEe,mBAAmB,CAClC,KAAe,EAAE,QAAyD;;YAE1E,OAAO,MAAM,mBAAU,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QACtD,CAAC;KAAA;CACD;AA7DD,wCA6DC"}
@@ -15,4 +15,5 @@ export declare class BlobStreamImpl extends AbstractBlobStream {
15
15
  protected internalCancel(): Promise<void>;
16
16
  protected internalRead(buffer: Buffer): Promise<number>;
17
17
  protected internalWrite(buffer: Buffer): Promise<void>;
18
+ get isValid(): boolean;
18
19
  }
package/dist/lib/blob.js CHANGED
@@ -45,8 +45,8 @@ class BlobStreamImpl extends impl_1.AbstractBlobStream {
45
45
  yield this.blobHandle.getInfoAsync(status, infoReq.byteLength, infoReq, infoRet.byteLength, infoRet);
46
46
  if (infoRet[0] != impl_1.blobInfo.totalLength)
47
47
  throw new Error('Unrecognized response from Blob::getInfo.');
48
- const size = impl_1.getPortableInteger(infoRet.subarray(1), 2);
49
- return impl_1.getPortableInteger(infoRet.subarray(3), size);
48
+ const size = (0, impl_1.getPortableInteger)(infoRet.subarray(1), 2);
49
+ return (0, impl_1.getPortableInteger)(infoRet.subarray(3), size);
50
50
  }));
51
51
  });
52
52
  }
@@ -85,6 +85,9 @@ class BlobStreamImpl extends impl_1.AbstractBlobStream {
85
85
  }));
86
86
  });
87
87
  }
88
+ get isValid() {
89
+ return !!this.blobHandle && this.attachment.isValid;
90
+ }
88
91
  }
89
92
  exports.BlobStreamImpl = BlobStreamImpl;
90
93
  //# sourceMappingURL=blob.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"blob.js","sourceRoot":"","sources":["../../src/lib/blob.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,+DAA4C;AAC5C,6DAAsG;AAEtG,+CAA+C;AAI/C,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAG/B,iCAAiC;AACjC,MAAa,cAAe,SAAQ,yBAAkB;IAMrD,MAAM,CAAO,MAAM,CAAC,UAA0B,EAAE,WAA4B;;YAC3E,OAAO,MAAM,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAM,MAAM,EAAC,EAAE;gBAC1D,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;gBACjC,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,gBAAiB,CAAC,eAAe,CACpE,MAAM,EAAE,WAAW,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;gBAE9D,MAAM,IAAI,GAAG,IAAI,2BAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;gBAE1C,MAAM,UAAU,GAAG,IAAI,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBACxD,UAAU,CAAC,UAAU,GAAG,UAAU,CAAC;gBACnC,OAAO,UAAU,CAAC;YACnB,CAAC,CAAA,CAAC,CAAC;QACJ,CAAC;KAAA;IAED,MAAM,CAAO,IAAI,CAAC,UAA0B,EAAE,WAA4B,EAAE,IAAU;;YACrF,OAAO,MAAM,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAM,MAAM,EAAC,EAAE;gBAC1D,MAAM,UAAU,GAAG,IAAI,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBACxD,UAAU,CAAC,UAAU,GAAG,MAAM,UAAU,CAAC,gBAAiB,CAAC,aAAa,CACvE,MAAM,EAAE,WAAW,CAAC,iBAAiB,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;gBAC/D,OAAO,UAAU,CAAC;YACnB,CAAC,CAAA,CAAC,CAAC;QACJ,CAAC;KAAA;IAEe,iBAAiB;;YAChC,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAM,MAAM,EAAC,EAAE;gBAC/D,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,CAAC,eAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;gBACvD,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;gBACnC,MAAM,IAAI,CAAC,UAAW,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBAEtG,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,eAAQ,CAAC,WAAW;oBACrC,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;gBAE9D,MAAM,IAAI,GAAG,yBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAExD,OAAO,yBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YACtD,CAAC,CAAA,CAAC,CAAC;QACJ,CAAC;KAAA;IAEe,aAAa;;YAC5B,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,UAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;YACzF,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC7B,CAAC;KAAA;IAEe,cAAc;;YAC7B,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,UAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;YAC1F,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC7B,CAAC;KAAA;IAEe,YAAY,CAAC,MAAc;;YAC1C,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAM,MAAM,EAAC,EAAE;gBAC/D,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;gBAC/D,MAAM,SAAS,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;gBACrC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAW,CAAC,eAAe,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;gBAE/F,IAAI,MAAM,IAAI,EAAE,CAAC,MAAM,CAAC,cAAc;oBACrC,OAAO,CAAC,CAAC,CAAC;gBAEX,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;YACrB,CAAC,CAAA,CAAC,CAAC;QACJ,CAAC;KAAA;IAEe,aAAa,CAAC,MAAc;;YAC3C,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAM,MAAM,EAAC,EAAE;gBACxD,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;oBACzB,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;oBAC/D,MAAM,IAAI,CAAC,UAAW,CAAC,eAAe,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;oBACrE,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;iBACpC;YACF,CAAC,CAAA,CAAC,CAAC;QACJ,CAAC;KAAA;CACD;AA5ED,wCA4EC"}
1
+ {"version":3,"file":"blob.js","sourceRoot":"","sources":["../../src/lib/blob.ts"],"names":[],"mappings":"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"}
@@ -26,5 +26,6 @@ export declare class StatementImpl extends AbstractStatement {
26
26
  /** Executes a prepared statement that has result set. */
27
27
  protected internalExecuteQuery(transaction: TransactionImpl, parameters?: Array<any>, options?: ExecuteQueryOptions): Promise<ResultSetImpl>;
28
28
  setCursorName(cursorName: string): Promise<void>;
29
+ getExecPathText(): Promise<string | undefined>;
29
30
  get columnLabels(): Promise<string[]>;
30
31
  }
@@ -14,6 +14,7 @@ const resultset_1 = require("./resultset");
14
14
  const impl_1 = require("node-firebird-driver/dist/lib/impl");
15
15
  const fb_util_1 = require("./fb-util");
16
16
  const fb = require("node-firebird-native-api");
17
+ const util_1 = require("util");
17
18
  /** Statement implementation. */
18
19
  class StatementImpl extends impl_1.AbstractStatement {
19
20
  static prepare(attachment, transaction, sqlStmt, options) {
@@ -21,17 +22,17 @@ class StatementImpl extends impl_1.AbstractStatement {
21
22
  const statement = new StatementImpl(attachment);
22
23
  return yield attachment.client.statusAction((status) => __awaiter(this, void 0, void 0, function* () {
23
24
  //// FIXME: options/flags, dialect
24
- statement.statementHandle = yield attachment.attachmentHandle.prepareAsync(status, transaction.transactionHandle, 0, sqlStmt, 3, fb.Statement.PREPARE_PREFETCH_ALL);
25
+ statement.statementHandle = yield attachment.attachmentHandle.prepareAsync(status, transaction === null || transaction === void 0 ? void 0 : transaction.transactionHandle, 0, sqlStmt, 3, fb.Statement.PREPARE_PREFETCH_ALL);
25
26
  statement.hasResultSet = (statement.statementHandle.getFlagsSync(status) & fb.Statement.FLAG_HAS_CURSOR) != 0;
26
- statement.inMetadata = fb_util_1.fixMetadata(status, yield statement.statementHandle.getInputMetadataAsync(status));
27
- statement.outMetadata = fb_util_1.fixMetadata(status, yield statement.statementHandle.getOutputMetadataAsync(status));
27
+ statement.inMetadata = (0, fb_util_1.fixMetadata)(status, yield statement.statementHandle.getInputMetadataAsync(status));
28
+ statement.outMetadata = (0, fb_util_1.fixMetadata)(status, yield statement.statementHandle.getOutputMetadataAsync(status));
28
29
  if (statement.inMetadata) {
29
30
  statement.inBuffer = new Uint8Array(statement.inMetadata.getMessageLengthSync(status));
30
- statement.dataWriter = fb_util_1.createDataWriter(fb_util_1.createDescriptors(status, statement.inMetadata));
31
+ statement.dataWriter = (0, fb_util_1.createDataWriter)((0, fb_util_1.createDescriptors)(status, statement.inMetadata));
31
32
  }
32
33
  if (statement.outMetadata) {
33
34
  statement.outBuffer = new Uint8Array(statement.outMetadata.getMessageLengthSync(status));
34
- statement.dataReader = fb_util_1.createDataReader(fb_util_1.createDescriptors(status, statement.outMetadata));
35
+ statement.dataReader = (0, fb_util_1.createDataReader)((0, fb_util_1.createDescriptors)(status, statement.outMetadata));
35
36
  }
36
37
  return statement;
37
38
  }));
@@ -63,8 +64,8 @@ class StatementImpl extends impl_1.AbstractStatement {
63
64
  return __awaiter(this, void 0, void 0, function* () {
64
65
  return yield this.attachment.client.statusAction((status) => __awaiter(this, void 0, void 0, function* () {
65
66
  yield this.dataWriter(this.attachment, transaction, this.inBuffer, parameters);
66
- const newTransaction = yield this.statementHandle.executeAsync(status, transaction.transactionHandle, this.inMetadata, this.inBuffer, this.outMetadata, this.outBuffer);
67
- if (newTransaction && transaction.transactionHandle != newTransaction) {
67
+ const newTransaction = yield this.statementHandle.executeAsync(status, transaction === null || transaction === void 0 ? void 0 : transaction.transactionHandle, this.inMetadata, this.inBuffer, this.outMetadata, this.outBuffer);
68
+ if (newTransaction && (transaction === null || transaction === void 0 ? void 0 : transaction.transactionHandle) != newTransaction) {
68
69
  //// FIXME: newTransaction.releaseSync();
69
70
  }
70
71
  return this.outMetadata ? yield this.dataReader(this.attachment, transaction, this.outBuffer) : [];
@@ -82,6 +83,23 @@ class StatementImpl extends impl_1.AbstractStatement {
82
83
  return yield this.attachment.client.statusAction((status) => __awaiter(this, void 0, void 0, function* () { return yield this.statementHandle.setCursorNameAsync(status, cursorName); }));
83
84
  });
84
85
  }
86
+ getExecPathText() {
87
+ return __awaiter(this, void 0, void 0, function* () {
88
+ return yield this.attachment.client.statusAction((status) => __awaiter(this, void 0, void 0, function* () {
89
+ const infoReq = new Uint8Array([impl_1.statementInfo.sqlExecPathBlrText]);
90
+ const infoRet = new Uint8Array(65535);
91
+ yield this.statementHandle.getInfoAsync(status, infoReq.byteLength, infoReq, infoRet.byteLength, infoRet);
92
+ if (infoRet[0] == impl_1.commonInfo.end)
93
+ return undefined;
94
+ else {
95
+ if (infoRet[0] != impl_1.statementInfo.sqlExecPathBlrText)
96
+ throw new Error('Error retrieving statement execution path.');
97
+ const size = (0, impl_1.getPortableInteger)(infoRet.subarray(1), 2);
98
+ return new util_1.TextDecoder().decode(infoRet.subarray(3, 3 + size));
99
+ }
100
+ }));
101
+ });
102
+ }
85
103
  get columnLabels() {
86
104
  const asyncFunc = () => __awaiter(this, void 0, void 0, function* () {
87
105
  if (!this.outMetadata)
@@ -1 +1 @@
1
- {"version":3,"file":"statement.js","sourceRoot":"","sources":["../../src/lib/statement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"statement.js","sourceRoot":"","sources":["../../src/lib/statement.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,7 @@ class TransactionImpl extends impl_1.AbstractTransaction {
18
18
  return __awaiter(this, void 0, void 0, function* () {
19
19
  const transaction = new TransactionImpl(attachment);
20
20
  return yield attachment.client.statusAction((status) => __awaiter(this, void 0, void 0, function* () {
21
- const tpb = fb_util_1.createTpb(options);
21
+ const tpb = (0, fb_util_1.createTpb)(options);
22
22
  transaction.transactionHandle = yield attachment.attachmentHandle.startTransactionAsync(status, tpb.length, tpb);
23
23
  return transaction;
24
24
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../src/lib/transaction.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,uCAAsC;AAGtC,6DAAyE;AAKzE,kCAAkC;AAClC,MAAa,eAAgB,SAAQ,0BAAmB;IAMvD,MAAM,CAAO,KAAK,CAAC,UAA0B,EAAE,OAA4B;;YAC1E,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC,UAAU,CAAC,CAAC;YAEpD,OAAO,MAAM,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAM,MAAM,EAAC,EAAE;gBAC1D,MAAM,GAAG,GAAG,mBAAS,CAAC,OAAO,CAAC,CAAC;gBAC/B,WAAW,CAAC,iBAAiB,GAAG,MAAM,UAAW,CAAC,gBAAiB,CAAC,qBAAqB,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBACnH,OAAO,WAAW,CAAC;YACpB,CAAC,CAAA,CAAC,CAAC;QACJ,CAAC;KAAA;IAED,mDAAmD;IACnC,cAAc;;YAC7B,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;YACjG,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;QACpC,CAAC;KAAA;IAED,yEAAyE;IACzD,uBAAuB;;YACtC,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAkB,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;QAClH,CAAC;KAAA;IAED,qDAAqD;IACrC,gBAAgB;;YAC/B,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAkB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;YACnG,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;QACpC,CAAC;KAAA;IAED,2EAA2E;IAC3D,yBAAyB;;YACxC,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAkB,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC;QACpH,CAAC;KAAA;CACD;AArCD,0CAqCC"}
1
+ {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../src/lib/transaction.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,uCAAsC;AAGtC,6DAAyE;AAKzE,kCAAkC;AAClC,MAAa,eAAgB,SAAQ,0BAAmB;IAMvD,MAAM,CAAO,KAAK,CAAC,UAA0B,EAAE,OAA4B;;YAC1E,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC,UAAU,CAAC,CAAC;YAEpD,OAAO,MAAM,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAM,MAAM,EAAC,EAAE;gBAC1D,MAAM,GAAG,GAAG,IAAA,mBAAS,EAAC,OAAO,CAAC,CAAC;gBAC/B,WAAW,CAAC,iBAAiB,GAAG,MAAM,UAAW,CAAC,gBAAiB,CAAC,qBAAqB,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBACnH,OAAO,WAAW,CAAC;YACpB,CAAC,CAAA,CAAC,CAAC;QACJ,CAAC;KAAA;IAED,mDAAmD;IACnC,cAAc;;YAC7B,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;YACjG,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;QACpC,CAAC;KAAA;IAED,yEAAyE;IACzD,uBAAuB;;YACtC,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAkB,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;QAClH,CAAC;KAAA;IAED,qDAAqD;IACrC,gBAAgB;;YAC/B,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAkB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;YACnG,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;QACpC,CAAC;KAAA;IAED,2EAA2E;IAC3D,yBAAyB;;YACxC,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAkB,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC;QACpH,CAAC;KAAA;CACD;AArCD,0CAqCC"}
package/dist/test/test.js CHANGED
@@ -2,6 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const lib_1 = require("../lib");
4
4
  const tests_1 = require("node-firebird-driver/dist/test/tests");
5
- const client = lib_1.createNativeClient(lib_1.getDefaultLibraryFilename());
6
- tests_1.runCommonTests(client);
5
+ const client = (0, lib_1.createNativeClient)((0, lib_1.getDefaultLibraryFilename)());
6
+ (0, tests_1.runCommonTests)(client);
7
7
  //# sourceMappingURL=test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/test/test.ts"],"names":[],"mappings":";;AAAA,gCAAuE;AAEvE,gEAAsE;AAEtE,MAAM,MAAM,GAAG,wBAAkB,CAAC,+BAAyB,EAAE,CAAC,CAAC;AAE/D,sBAAc,CAAC,MAAM,CAAC,CAAC"}
1
+ {"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/test/test.ts"],"names":[],"mappings":";;AAAA,gCAAuE;AAEvE,gEAAsE;AAEtE,MAAM,MAAM,GAAG,IAAA,wBAAkB,EAAC,IAAA,+BAAyB,GAAE,CAAC,CAAC;AAE/D,IAAA,sBAAc,EAAC,MAAM,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-firebird-driver-native",
3
- "version": "2.3.0",
3
+ "version": "2.4.0",
4
4
  "description": "Firebird Native Driver for Node.js",
5
5
  "main": "dist/lib/index.js",
6
6
  "scripts": {
@@ -48,9 +48,9 @@
48
48
  ]
49
49
  },
50
50
  "dependencies": {
51
- "@types/node": "^14.10.1",
52
- "node-firebird-driver": "^2.3.0",
53
- "node-firebird-native-api": "^2.1.3"
51
+ "@types/node": "^17.0.10",
52
+ "node-firebird-driver": "^2.4.0",
53
+ "node-firebird-native-api": "^2.1.4"
54
54
  },
55
- "gitHead": "ba0d6ba3448d260e8d7dada85bde1dc76c1f56c4"
55
+ "gitHead": "3514f2b8fae52f1379db80a8149016f161603a54"
56
56
  }
package/src/lib/blob.ts CHANGED
@@ -87,4 +87,8 @@ export class BlobStreamImpl extends AbstractBlobStream {
87
87
  }
88
88
  });
89
89
  }
90
+
91
+ get isValid(): boolean {
92
+ return !!this.blobHandle && this.attachment.isValid;
93
+ }
90
94
  }
@@ -8,7 +8,7 @@ import {
8
8
  PrepareOptions
9
9
  } from 'node-firebird-driver';
10
10
 
11
- import { AbstractStatement } from 'node-firebird-driver/dist/lib/impl';
11
+ import { AbstractStatement, commonInfo, getPortableInteger, statementInfo } from 'node-firebird-driver/dist/lib/impl';
12
12
 
13
13
  import {
14
14
  createDataReader,
@@ -21,6 +21,8 @@ import {
21
21
 
22
22
  import * as fb from 'node-firebird-native-api';
23
23
 
24
+ import { TextDecoder } from 'util';
25
+
24
26
 
25
27
  /** Statement implementation. */
26
28
  export class StatementImpl extends AbstractStatement {
@@ -42,7 +44,7 @@ export class StatementImpl extends AbstractStatement {
42
44
 
43
45
  return await attachment.client.statusAction(async status => {
44
46
  //// FIXME: options/flags, dialect
45
- statement.statementHandle = await attachment!.attachmentHandle!.prepareAsync(status, transaction.transactionHandle,
47
+ statement.statementHandle = await attachment!.attachmentHandle!.prepareAsync(status, transaction?.transactionHandle,
46
48
  0, sqlStmt, 3, fb.Statement.PREPARE_PREFETCH_ALL);
47
49
 
48
50
  statement.hasResultSet = (statement.statementHandle!.getFlagsSync(status) & fb.Statement.FLAG_HAS_CURSOR) != 0;
@@ -91,10 +93,10 @@ export class StatementImpl extends AbstractStatement {
91
93
  return await this.attachment.client.statusAction(async status => {
92
94
  await this.dataWriter(this.attachment, transaction, this.inBuffer, parameters);
93
95
 
94
- const newTransaction = await this.statementHandle!.executeAsync(status, transaction.transactionHandle,
96
+ const newTransaction = await this.statementHandle!.executeAsync(status, transaction?.transactionHandle,
95
97
  this.inMetadata, this.inBuffer, this.outMetadata, this.outBuffer);
96
98
 
97
- if (newTransaction && transaction.transactionHandle != newTransaction) {
99
+ if (newTransaction && transaction?.transactionHandle != newTransaction) {
98
100
  //// FIXME: newTransaction.releaseSync();
99
101
  }
100
102
 
@@ -114,6 +116,24 @@ export class StatementImpl extends AbstractStatement {
114
116
  );
115
117
  }
116
118
 
119
+ async getExecPathText(): Promise<string | undefined> {
120
+ return await this.attachment.client.statusAction(async status => {
121
+ const infoReq = new Uint8Array([statementInfo.sqlExecPathBlrText]);
122
+ const infoRet = new Uint8Array(65535);
123
+ await this.statementHandle!.getInfoAsync(status, infoReq.byteLength, infoReq, infoRet.byteLength, infoRet);
124
+
125
+ if (infoRet[0] == commonInfo.end)
126
+ return undefined;
127
+ else {
128
+ if (infoRet[0] != statementInfo.sqlExecPathBlrText)
129
+ throw new Error('Error retrieving statement execution path.');
130
+
131
+ const size = getPortableInteger(infoRet.subarray(1), 2);
132
+ return new TextDecoder().decode(infoRet.subarray(3, 3 + size));
133
+ }
134
+ });
135
+ }
136
+
117
137
  get columnLabels(): Promise<string[]> {
118
138
  const asyncFunc = async (): Promise<string[]> => {
119
139
  if (!this.outMetadata)