node-firebird-driver-native 2.4.0 → 3.0.1

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.
@@ -3,7 +3,7 @@ import { ClientImpl } from './client';
3
3
  import { StatementImpl } from './statement';
4
4
  import { TransactionImpl } from './transaction';
5
5
  import { EventsImpl } from './events';
6
- import { Blob, ConnectOptions, CreateDatabaseOptions, PrepareOptions, TransactionOptions } from 'node-firebird-driver';
6
+ import { Blob, ConnectOptions, CreateBlobOptions, CreateDatabaseOptions, PrepareOptions, TransactionOptions } from 'node-firebird-driver';
7
7
  import { AbstractAttachment } from 'node-firebird-driver/dist/lib/impl';
8
8
  import * as fb from 'node-firebird-native-api';
9
9
  /** Attachment implementation. */
@@ -18,7 +18,7 @@ export declare class AttachmentImpl extends AbstractAttachment {
18
18
  protected internalDropDatabase(): Promise<void>;
19
19
  /** Starts a new transaction. */
20
20
  protected internalStartTransaction(options?: TransactionOptions): Promise<TransactionImpl>;
21
- protected internalCreateBlob(transaction: TransactionImpl): Promise<BlobStreamImpl>;
21
+ protected internalCreateBlob(transaction: TransactionImpl, options?: CreateBlobOptions): Promise<BlobStreamImpl>;
22
22
  protected internalOpenBlob(transaction: TransactionImpl, blob: Blob): Promise<BlobStreamImpl>;
23
23
  /** Prepares a query. */
24
24
  protected internalPrepare(transaction: TransactionImpl, sqlStmt: string, options?: PrepareOptions): Promise<StatementImpl>;
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.AttachmentImpl = void 0;
13
4
  const blob_1 = require("./blob");
@@ -18,66 +9,48 @@ const fb_util_1 = require("./fb-util");
18
9
  const impl_1 = require("node-firebird-driver/dist/lib/impl");
19
10
  /** Attachment implementation. */
20
11
  class AttachmentImpl extends impl_1.AbstractAttachment {
21
- static connect(client, uri, options) {
22
- return __awaiter(this, void 0, void 0, function* () {
23
- const attachment = new AttachmentImpl(client);
24
- return yield client.statusAction((status) => __awaiter(this, void 0, void 0, function* () {
25
- const dpb = (0, fb_util_1.createDpb)(options);
26
- attachment.attachmentHandle = yield client.dispatcher.attachDatabaseAsync(status, uri, dpb.length, dpb);
27
- return attachment;
28
- }));
12
+ static async connect(client, uri, options) {
13
+ const attachment = new AttachmentImpl(client);
14
+ return await client.statusAction(async (status) => {
15
+ const dpb = (0, fb_util_1.createDpb)(options);
16
+ attachment.attachmentHandle = await client.dispatcher.attachDatabaseAsync(status, uri, dpb.length, dpb);
17
+ return attachment;
29
18
  });
30
19
  }
31
- static createDatabase(client, uri, options) {
32
- return __awaiter(this, void 0, void 0, function* () {
33
- const attachment = new AttachmentImpl(client);
34
- return yield client.statusAction((status) => __awaiter(this, void 0, void 0, function* () {
35
- const dpb = (0, fb_util_1.createDpb)(options);
36
- attachment.attachmentHandle = yield client.dispatcher.createDatabaseAsync(status, uri, dpb.length, dpb);
37
- return attachment;
38
- }));
20
+ static async createDatabase(client, uri, options) {
21
+ const attachment = new AttachmentImpl(client);
22
+ return await client.statusAction(async (status) => {
23
+ const dpb = (0, fb_util_1.createDpb)(options);
24
+ attachment.attachmentHandle = await client.dispatcher.createDatabaseAsync(status, uri, dpb.length, dpb);
25
+ return attachment;
39
26
  });
40
27
  }
41
28
  /** Disconnects this attachment. */
42
- internalDisconnect() {
43
- return __awaiter(this, void 0, void 0, function* () {
44
- yield this.client.statusAction(status => this.attachmentHandle.detachAsync(status));
45
- this.attachmentHandle = undefined;
46
- });
29
+ async internalDisconnect() {
30
+ await this.client.statusAction(status => this.attachmentHandle.detachAsync(status));
31
+ this.attachmentHandle = undefined;
47
32
  }
48
33
  /** Drops the database and release this attachment. */
49
- internalDropDatabase() {
50
- return __awaiter(this, void 0, void 0, function* () {
51
- yield this.client.statusAction(status => this.attachmentHandle.dropDatabaseAsync(status));
52
- this.attachmentHandle = undefined;
53
- });
34
+ async internalDropDatabase() {
35
+ await this.client.statusAction(status => this.attachmentHandle.dropDatabaseAsync(status));
36
+ this.attachmentHandle = undefined;
54
37
  }
55
38
  /** Starts a new transaction. */
56
- internalStartTransaction(options) {
57
- return __awaiter(this, void 0, void 0, function* () {
58
- return yield transaction_1.TransactionImpl.start(this, options);
59
- });
39
+ async internalStartTransaction(options) {
40
+ return await transaction_1.TransactionImpl.start(this, options);
60
41
  }
61
- internalCreateBlob(transaction) {
62
- return __awaiter(this, void 0, void 0, function* () {
63
- return yield blob_1.BlobStreamImpl.create(this, transaction);
64
- });
42
+ async internalCreateBlob(transaction, options) {
43
+ return await blob_1.BlobStreamImpl.create(this, transaction, options);
65
44
  }
66
- internalOpenBlob(transaction, blob) {
67
- return __awaiter(this, void 0, void 0, function* () {
68
- return yield blob_1.BlobStreamImpl.open(this, transaction, blob);
69
- });
45
+ async internalOpenBlob(transaction, blob) {
46
+ return await blob_1.BlobStreamImpl.open(this, transaction, blob);
70
47
  }
71
48
  /** Prepares a query. */
72
- internalPrepare(transaction, sqlStmt, options) {
73
- return __awaiter(this, void 0, void 0, function* () {
74
- return yield statement_1.StatementImpl.prepare(this, transaction, sqlStmt, options);
75
- });
49
+ async internalPrepare(transaction, sqlStmt, options) {
50
+ return await statement_1.StatementImpl.prepare(this, transaction, sqlStmt, options);
76
51
  }
77
- internalQueueEvents(names, callBack) {
78
- return __awaiter(this, void 0, void 0, function* () {
79
- return yield events_1.EventsImpl.queue(this, names, callBack);
80
- });
52
+ async internalQueueEvents(names, callBack) {
53
+ return await events_1.EventsImpl.queue(this, names, callBack);
81
54
  }
82
55
  }
83
56
  exports.AttachmentImpl = AttachmentImpl;
@@ -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,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"}
1
+ {"version":3,"file":"attachment.js","sourceRoot":"","sources":["../../src/lib/attachment.ts"],"names":[],"mappings":";;;AAAA,iCAAwC;AAExC,2CAA4C;AAC5C,+CAAgD;AAChD,qCAAsC;AACtC,uCAAsC;AAWtC,6DAAwE;AAKxE,iCAAiC;AACjC,MAAa,cAAe,SAAQ,yBAAkB;IAMrD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAkB,EAAE,GAAW,EAAE,OAAwB;QAC7E,MAAM,UAAU,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;QAE9C,OAAO,MAAM,MAAM,CAAC,YAAY,CAAC,KAAK,EAAC,MAAM,EAAC,EAAE;YAC/C,MAAM,GAAG,GAAG,IAAA,mBAAS,EAAC,OAAO,CAAC,CAAC;YAC/B,UAAU,CAAC,gBAAgB,GAAG,MAAM,MAAO,CAAC,UAAW,CAAC,mBAAmB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAC1G,OAAO,UAAU,CAAC;QACnB,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,MAAkB,EAAE,GAAW,EAAE,OAA+B;QAC3F,MAAM,UAAU,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;QAE9C,OAAO,MAAM,MAAM,CAAC,YAAY,CAAC,KAAK,EAAC,MAAM,EAAC,EAAE;YAC/C,MAAM,GAAG,GAAG,IAAA,mBAAS,EAAC,OAAO,CAAC,CAAC;YAC/B,UAAU,CAAC,gBAAgB,GAAG,MAAM,MAAO,CAAC,UAAW,CAAC,mBAAmB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAC1G,OAAO,UAAU,CAAC;QACnB,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,mCAAmC;IACzB,KAAK,CAAC,kBAAkB;QACjC,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAiB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;QACrF,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;IACnC,CAAC;IAED,sDAAsD;IAC5C,KAAK,CAAC,oBAAoB;QACnC,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAiB,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3F,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;IACnC,CAAC;IAED,gCAAgC;IACtB,KAAK,CAAC,wBAAwB,CAAC,OAA4B;QACpE,OAAO,MAAM,6BAAe,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IAES,KAAK,CAAC,kBAAkB,CAAC,WAA4B,EAAE,OAA2B;QAC3F,OAAO,MAAM,qBAAc,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;IAES,KAAK,CAAC,gBAAgB,CAAC,WAA4B,EAAE,IAAU;QACxE,OAAO,MAAM,qBAAc,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED,wBAAwB;IACd,KAAK,CAAC,eAAe,CAAC,WAA4B,EAAE,OAAe,EAAE,OAAwB;QACtG,OAAO,MAAM,yBAAa,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACzE,CAAC;IAES,KAAK,CAAC,mBAAmB,CAClC,KAAe,EAAE,QAAyD;QAE1E,OAAO,MAAM,mBAAU,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IACtD,CAAC;CACD;AA7DD,wCA6DC"}
@@ -1,6 +1,6 @@
1
1
  /// <reference types="node" />
2
2
  import { AttachmentImpl } from './attachment';
3
- import { Blob } from 'node-firebird-driver';
3
+ import { Blob, BlobSeekWhence, CreateBlobOptions } from 'node-firebird-driver';
4
4
  import { AbstractBlobStream } from 'node-firebird-driver/dist/lib/impl';
5
5
  import * as fb from 'node-firebird-native-api';
6
6
  import { TransactionImpl } from './transaction';
@@ -8,11 +8,12 @@ import { TransactionImpl } from './transaction';
8
8
  export declare class BlobStreamImpl extends AbstractBlobStream {
9
9
  attachment: AttachmentImpl;
10
10
  blobHandle?: fb.Blob;
11
- static create(attachment: AttachmentImpl, transaction: TransactionImpl): Promise<BlobStreamImpl>;
11
+ static create(attachment: AttachmentImpl, transaction: TransactionImpl, options?: CreateBlobOptions): Promise<BlobStreamImpl>;
12
12
  static open(attachment: AttachmentImpl, transaction: TransactionImpl, blob: Blob): Promise<BlobStreamImpl>;
13
13
  protected internalGetLength(): Promise<number>;
14
14
  protected internalClose(): Promise<void>;
15
15
  protected internalCancel(): Promise<void>;
16
+ protected internalSeek(offset: number, whence?: BlobSeekWhence): Promise<number>;
16
17
  protected internalRead(buffer: Buffer): Promise<number>;
17
18
  protected internalWrite(buffer: Buffer): Promise<void>;
18
19
  get isValid(): boolean;
package/dist/lib/blob.js CHANGED
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.BlobStreamImpl = void 0;
13
4
  const node_firebird_driver_1 = require("node-firebird-driver");
@@ -16,73 +7,65 @@ const fb = require("node-firebird-native-api");
16
7
  const MAX_SEGMENT_SIZE = 65535;
17
8
  /** BlobStream implementation. */
18
9
  class BlobStreamImpl extends impl_1.AbstractBlobStream {
19
- static create(attachment, transaction) {
20
- return __awaiter(this, void 0, void 0, function* () {
21
- return yield attachment.client.statusAction((status) => __awaiter(this, void 0, void 0, function* () {
22
- const blobId = new Uint8Array(8);
23
- const blobHandle = yield attachment.attachmentHandle.createBlobAsync(status, transaction.transactionHandle, blobId, 0, undefined);
24
- const blob = new node_firebird_driver_1.Blob(attachment, blobId);
25
- const blobStream = new BlobStreamImpl(blob, attachment);
26
- blobStream.blobHandle = blobHandle;
27
- return blobStream;
28
- }));
10
+ static async create(attachment, transaction, options) {
11
+ return await attachment.client.statusAction(async (status) => {
12
+ const blobId = new Uint8Array(8);
13
+ const bpb = (0, impl_1.createBpb)(options);
14
+ const blobHandle = await attachment.attachmentHandle.createBlobAsync(status, transaction.transactionHandle, blobId, bpb.length, bpb);
15
+ const blob = new node_firebird_driver_1.Blob(attachment, blobId);
16
+ const blobStream = new BlobStreamImpl(blob, attachment);
17
+ blobStream.blobHandle = blobHandle;
18
+ return blobStream;
29
19
  });
30
20
  }
31
- static open(attachment, transaction, blob) {
32
- return __awaiter(this, void 0, void 0, function* () {
33
- return yield attachment.client.statusAction((status) => __awaiter(this, void 0, void 0, function* () {
34
- const blobStream = new BlobStreamImpl(blob, attachment);
35
- blobStream.blobHandle = yield attachment.attachmentHandle.openBlobAsync(status, transaction.transactionHandle, blob.id, 0, undefined);
36
- return blobStream;
37
- }));
21
+ static async open(attachment, transaction, blob) {
22
+ return await attachment.client.statusAction(async (status) => {
23
+ const blobStream = new BlobStreamImpl(blob, attachment);
24
+ blobStream.blobHandle = await attachment.attachmentHandle.openBlobAsync(status, transaction.transactionHandle, blob.id, 0, undefined);
25
+ return blobStream;
38
26
  });
39
27
  }
40
- internalGetLength() {
41
- return __awaiter(this, void 0, void 0, function* () {
42
- return yield this.attachment.client.statusAction((status) => __awaiter(this, void 0, void 0, function* () {
43
- const infoReq = new Uint8Array([impl_1.blobInfo.totalLength]);
44
- const infoRet = new Uint8Array(20);
45
- yield this.blobHandle.getInfoAsync(status, infoReq.byteLength, infoReq, infoRet.byteLength, infoRet);
46
- if (infoRet[0] != impl_1.blobInfo.totalLength)
47
- throw new Error('Unrecognized response from Blob::getInfo.');
48
- const size = (0, impl_1.getPortableInteger)(infoRet.subarray(1), 2);
49
- return (0, impl_1.getPortableInteger)(infoRet.subarray(3), size);
50
- }));
28
+ async internalGetLength() {
29
+ return await this.attachment.client.statusAction(async (status) => {
30
+ const infoReq = new Uint8Array([impl_1.blobInfo.totalLength]);
31
+ const infoRet = new Uint8Array(20);
32
+ await this.blobHandle.getInfoAsync(status, infoReq.byteLength, infoReq, infoRet.byteLength, infoRet);
33
+ if (infoRet[0] != impl_1.blobInfo.totalLength)
34
+ throw new Error('Unrecognized response from Blob::getInfo.');
35
+ const size = (0, impl_1.getPortableInteger)(infoRet.subarray(1), 2);
36
+ return (0, impl_1.getPortableInteger)(infoRet.subarray(3), size);
51
37
  });
52
38
  }
53
- internalClose() {
54
- return __awaiter(this, void 0, void 0, function* () {
55
- yield this.attachment.client.statusAction(status => this.blobHandle.closeAsync(status));
56
- this.blobHandle = undefined;
57
- });
39
+ async internalClose() {
40
+ await this.attachment.client.statusAction(status => this.blobHandle.closeAsync(status));
41
+ this.blobHandle = undefined;
42
+ }
43
+ async internalCancel() {
44
+ await this.attachment.client.statusAction(status => this.blobHandle.cancelAsync(status));
45
+ this.blobHandle = undefined;
58
46
  }
59
- internalCancel() {
60
- return __awaiter(this, void 0, void 0, function* () {
61
- yield this.attachment.client.statusAction(status => this.blobHandle.cancelAsync(status));
62
- this.blobHandle = undefined;
47
+ async internalSeek(offset, whence) {
48
+ return await this.attachment.client.statusAction(async (status) => {
49
+ return await this.blobHandle.seekAsync(status, whence ?? node_firebird_driver_1.BlobSeekWhence.START, offset);
63
50
  });
64
51
  }
65
- internalRead(buffer) {
66
- return __awaiter(this, void 0, void 0, function* () {
67
- return yield this.attachment.client.statusAction((status) => __awaiter(this, void 0, void 0, function* () {
68
- const readingBytes = Math.min(buffer.length, MAX_SEGMENT_SIZE);
69
- const segLength = new Uint32Array(1);
70
- const result = yield this.blobHandle.getSegmentAsync(status, readingBytes, buffer, segLength);
71
- if (result == fb.Status.RESULT_NO_DATA)
72
- return -1;
73
- return segLength[0];
74
- }));
52
+ async internalRead(buffer) {
53
+ return await this.attachment.client.statusAction(async (status) => {
54
+ const readingBytes = Math.min(buffer.length, MAX_SEGMENT_SIZE);
55
+ const segLength = new Uint32Array(1);
56
+ const result = await this.blobHandle.getSegmentAsync(status, readingBytes, buffer, segLength);
57
+ if (result == fb.Status.RESULT_NO_DATA)
58
+ return -1;
59
+ return segLength[0];
75
60
  });
76
61
  }
77
- internalWrite(buffer) {
78
- return __awaiter(this, void 0, void 0, function* () {
79
- yield this.attachment.client.statusAction((status) => __awaiter(this, void 0, void 0, function* () {
80
- while (buffer.length > 0) {
81
- const writingBytes = Math.min(buffer.length, MAX_SEGMENT_SIZE);
82
- yield this.blobHandle.putSegmentAsync(status, writingBytes, buffer);
83
- buffer = buffer.slice(writingBytes);
84
- }
85
- }));
62
+ async internalWrite(buffer) {
63
+ await this.attachment.client.statusAction(async (status) => {
64
+ while (buffer.length > 0) {
65
+ const writingBytes = Math.min(buffer.length, MAX_SEGMENT_SIZE);
66
+ await this.blobHandle.putSegmentAsync(status, writingBytes, buffer);
67
+ buffer = buffer.slice(writingBytes);
68
+ }
86
69
  });
87
70
  }
88
71
  get isValid() {
@@ -1 +1 @@
1
- {"version":3,"file":"blob.js","sourceRoot":"","sources":["../../src/lib/blob.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blob.js","sourceRoot":"","sources":["../../src/lib/blob.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.ClientImpl = exports.createNativeClient = exports.getDefaultLibraryFilename = void 0;
13
4
  const attachment_1 = require("./attachment");
@@ -29,38 +20,30 @@ class ClientImpl extends impl_1.AbstractClient {
29
20
  this.dispatcher = this.master.getDispatcherSync();
30
21
  this.util = this.master.getUtilInterfaceSync();
31
22
  }
32
- statusAction(action) {
33
- return __awaiter(this, void 0, void 0, function* () {
34
- const status = this.master.getStatusSync();
35
- try {
36
- return yield action(status);
37
- }
38
- finally {
39
- status.disposeSync();
40
- }
41
- });
23
+ async statusAction(action) {
24
+ const status = this.master.getStatusSync();
25
+ try {
26
+ return await action(status);
27
+ }
28
+ finally {
29
+ status.disposeSync();
30
+ }
42
31
  }
43
32
  /** Connects to a database. */
44
- internalConnect(uri, options) {
45
- return __awaiter(this, void 0, void 0, function* () {
46
- return yield attachment_1.AttachmentImpl.connect(this, uri, options);
47
- });
33
+ async internalConnect(uri, options) {
34
+ return await attachment_1.AttachmentImpl.connect(this, uri, options);
48
35
  }
49
36
  /** Creates a database. */
50
- internalCreateDatabase(uri, options) {
51
- return __awaiter(this, void 0, void 0, function* () {
52
- return yield attachment_1.AttachmentImpl.createDatabase(this, uri, options);
53
- });
37
+ async internalCreateDatabase(uri, options) {
38
+ return await attachment_1.AttachmentImpl.createDatabase(this, uri, options);
54
39
  }
55
40
  /** Disposes this client's resources. */
56
- internalDispose() {
57
- return __awaiter(this, void 0, void 0, function* () {
58
- this.dispatcher.releaseSync();
59
- fb.disposeMaster(this.master);
60
- this.util = undefined;
61
- this.dispatcher = undefined;
62
- this.master = undefined;
63
- });
41
+ async internalDispose() {
42
+ this.dispatcher.releaseSync();
43
+ fb.disposeMaster(this.master);
44
+ this.util = undefined;
45
+ this.dispatcher = undefined;
46
+ this.master = undefined;
64
47
  }
65
48
  }
66
49
  exports.ClientImpl = ClientImpl;
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/lib/client.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAQ9C,6DAAoE;AAEpE,+CAA+C;AAG/C,kEAAkE;AAClE,qEAAqE;AAA5D,qIAAA,yBAAyB,OAAA;AAElC,qDAAqD;AACrD,SAAgB,kBAAkB,CAAC,OAAe;IACjD,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC;AAFD,gDAEC;AAGD,6BAA6B;AAC7B,MAAa,UAAW,SAAQ,qBAAc;IAK7C,YAAY,OAAe;QAC1B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;QAClD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC;IAChD,CAAC;IAEK,YAAY,CAAI,MAAyC;;YAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAO,CAAC,aAAa,EAAG,CAAC;YAC7C,IAAI;gBACH,OAAO,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;aAC5B;oBACO;gBACP,MAAM,CAAC,WAAW,EAAE,CAAC;aACrB;QACF,CAAC;KAAA;IAED,8BAA8B;IACd,eAAe,CAAC,GAAW,EAAE,OAAwB;;YACpE,OAAO,MAAM,2BAAc,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QACzD,CAAC;KAAA;IAED,0BAA0B;IACV,sBAAsB,CAAC,GAAW,EAAE,OAA+B;;YAClF,OAAO,MAAM,2BAAc,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QAChE,CAAC;KAAA;IAED,wCAAwC;IACxB,eAAe;;YAC9B,IAAI,CAAC,UAAW,CAAC,WAAW,EAAE,CAAC;YAC/B,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,MAAO,CAAC,CAAC;YAE/B,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;YACtB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;YAC5B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACzB,CAAC;KAAA;CACD;AAzCD,gCAyCC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/lib/client.ts"],"names":[],"mappings":";;;AAAA,6CAA8C;AAQ9C,6DAAoE;AAEpE,+CAA+C;AAG/C,kEAAkE;AAClE,qEAAqE;AAA5D,qIAAA,yBAAyB,OAAA;AAElC,qDAAqD;AACrD,SAAgB,kBAAkB,CAAC,OAAe;IACjD,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC;AAFD,gDAEC;AAGD,6BAA6B;AAC7B,MAAa,UAAW,SAAQ,qBAAc;IAK7C,YAAY,OAAe;QAC1B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;QAClD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,YAAY,CAAI,MAAyC;QAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAO,CAAC,aAAa,EAAG,CAAC;QAC7C,IAAI;YACH,OAAO,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;SAC5B;gBACO;YACP,MAAM,CAAC,WAAW,EAAE,CAAC;SACrB;IACF,CAAC;IAED,8BAA8B;IACpB,KAAK,CAAC,eAAe,CAAC,GAAW,EAAE,OAAwB;QACpE,OAAO,MAAM,2BAAc,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;IAED,0BAA0B;IAChB,KAAK,CAAC,sBAAsB,CAAC,GAAW,EAAE,OAA+B;QAClF,OAAO,MAAM,2BAAc,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;IAED,wCAAwC;IAC9B,KAAK,CAAC,eAAe;QAC9B,IAAI,CAAC,UAAW,CAAC,WAAW,EAAE,CAAC;QAC/B,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,MAAO,CAAC,CAAC;QAE/B,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;IACzB,CAAC;CACD;AAzCD,gCAyCC"}
@@ -1,36 +1,23 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.EventsImpl = void 0;
13
4
  const impl_1 = require("node-firebird-driver/dist/lib/impl");
14
5
  const fb = require("node-firebird-native-api");
15
6
  /** Events implementation. */
16
7
  class EventsImpl extends impl_1.AbstractEvents {
17
- static queue(attachment, names, callBack) {
18
- return __awaiter(this, void 0, void 0, function* () {
19
- const events = new EventsImpl(attachment);
20
- const { client } = attachment;
21
- events.eventCallback = yield fb.queueEvent(client.master, attachment.attachmentHandle, names, callBack);
22
- return events;
23
- });
8
+ static async queue(attachment, names, callBack) {
9
+ const events = new EventsImpl(attachment);
10
+ const { client } = attachment;
11
+ events.eventCallback = await fb.queueEvent(client.master, attachment.attachmentHandle, names, callBack);
12
+ return events;
24
13
  }
25
14
  /** Disposes this events' resources. */
26
- internalCancel() {
27
- return __awaiter(this, void 0, void 0, function* () {
28
- if (this.eventCallback) {
29
- const { eventCallback } = this;
30
- this.eventCallback = undefined;
31
- yield fb.cancelEvent(eventCallback);
32
- }
33
- });
15
+ async internalCancel() {
16
+ if (this.eventCallback) {
17
+ const { eventCallback } = this;
18
+ this.eventCallback = undefined;
19
+ await fb.cancelEvent(eventCallback);
20
+ }
34
21
  }
35
22
  }
36
23
  exports.EventsImpl = EventsImpl;
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/lib/events.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,6DAAoE;AAEpE,+CAA+C;AAG/C,6BAA6B;AAC7B,MAAa,UAAW,SAAQ,qBAAc;IAM7C,MAAM,CAAO,KAAK,CAAC,UAA0B,EAAE,KAAe,EAAE,QAAyD;;YAExH,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC;YAC1C,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;YAE9B,MAAM,CAAC,aAAa,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,MAAO,EAAE,UAAU,CAAC,gBAAiB,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;YAE1G,OAAO,MAAM,CAAC;QACf,CAAC;KAAA;IAED,uCAAuC;IACvB,cAAc;;YAC7B,IAAI,IAAI,CAAC,aAAa,EAAE;gBACvB,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;gBAC/B,IAAI,CAAC,aAAa,GAAG,SAAU,CAAC;gBAChC,MAAM,EAAE,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;aACpC;QACF,CAAC;KAAA;CACD;AAxBD,gCAwBC"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/lib/events.ts"],"names":[],"mappings":";;;AAEA,6DAAoE;AAEpE,+CAA+C;AAG/C,6BAA6B;AAC7B,MAAa,UAAW,SAAQ,qBAAc;IAM7C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,UAA0B,EAAE,KAAe,EAAE,QAAyD;QAExH,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC;QAC1C,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;QAE9B,MAAM,CAAC,aAAa,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,MAAO,EAAE,UAAU,CAAC,gBAAiB,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAE1G,OAAO,MAAM,CAAC;IACf,CAAC;IAED,uCAAuC;IAC7B,KAAK,CAAC,cAAc;QAC7B,IAAI,IAAI,CAAC,aAAa,EAAE;YACvB,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,aAAa,GAAG,SAAU,CAAC;YAChC,MAAM,EAAE,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;SACpC;IACF,CAAC;CACD;AAxBD,gCAwBC"}
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -1 +1 @@
1
- {"version":3,"file":"fb-util.js","sourceRoot":"","sources":["../../src/lib/fb-util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fb-util.js","sourceRoot":"","sources":["../../src/lib/fb-util.ts"],"names":[],"mappings":"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"}
package/dist/lib/index.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,mCAAyE;AAAhE,4GAAA,kBAAkB,OAAA;AAAE,mHAAA,yBAAyB,OAAA;AAEtD,uDAAqC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,mCAAyE;AAAhE,4GAAA,kBAAkB,OAAA;AAAE,mHAAA,yBAAyB,OAAA;AAEtD,uDAAqC"}
@@ -1,80 +1,65 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.ResultSetImpl = void 0;
13
4
  const impl_1 = require("node-firebird-driver/dist/lib/impl");
14
5
  const fb = require("node-firebird-native-api");
15
6
  /** ResultSet implementation. */
16
7
  class ResultSetImpl extends impl_1.AbstractResultSet {
17
- static open(statement, transaction, parameters, options) {
18
- return __awaiter(this, void 0, void 0, function* () {
19
- const resultSet = new ResultSetImpl(statement, transaction);
20
- return yield statement.attachment.client.statusAction((status) => __awaiter(this, void 0, void 0, function* () {
21
- //// FIXME: options
22
- yield statement.dataWriter(statement.attachment, transaction, statement.inBuffer, parameters);
23
- resultSet.resultSetHandle = yield statement.statementHandle.openCursorAsync(status, transaction.transactionHandle, statement.inMetadata, statement.inBuffer, statement.outMetadata, 0);
24
- return resultSet;
25
- }));
8
+ static async open(statement, transaction, parameters, options) {
9
+ const resultSet = new ResultSetImpl(statement, transaction);
10
+ return await statement.attachment.client.statusAction(async (status) => {
11
+ //// FIXME: options
12
+ await statement.dataWriter(statement.attachment, transaction, statement.inBuffer, parameters);
13
+ resultSet.resultSetHandle = await statement.statementHandle.openCursorAsync(status, transaction.transactionHandle, statement.inMetadata, statement.inBuffer, statement.outMetadata, 0);
14
+ return resultSet;
26
15
  });
27
16
  }
28
17
  /** Closes this result set. */
29
- internalClose() {
30
- return __awaiter(this, void 0, void 0, function* () {
31
- yield this.statement.attachment.client.statusAction((status) => __awaiter(this, void 0, void 0, function* () {
32
- yield this.resultSetHandle.closeAsync(status);
33
- this.resultSetHandle = undefined;
34
- }));
18
+ async internalClose() {
19
+ await this.statement.attachment.client.statusAction(async (status) => {
20
+ await this.resultSetHandle.closeAsync(status);
21
+ this.resultSetHandle = undefined;
35
22
  });
36
23
  }
37
24
  /** Fetchs data from this result set. */
38
- internalFetch(options) {
39
- return __awaiter(this, void 0, void 0, function* () {
40
- return yield this.statement.attachment.client.statusAction((status) => __awaiter(this, void 0, void 0, function* () {
41
- if (this.delayedError) {
42
- const error = this.delayedError;
43
- this.delayedError = undefined;
44
- throw error;
25
+ async internalFetch(options) {
26
+ return await this.statement.attachment.client.statusAction(async (status) => {
27
+ if (this.delayedError) {
28
+ const error = this.delayedError;
29
+ this.delayedError = undefined;
30
+ throw error;
31
+ }
32
+ const rows = [];
33
+ const buffers = [this.statement.outBuffer, new Uint8Array(this.statement.outMetadata.getMessageLengthSync(status))];
34
+ let buffer = 0;
35
+ let nextFetchPromise = this.resultSetHandle.fetchNextAsync(status, buffers[buffer]);
36
+ while (true) {
37
+ let nextFetch;
38
+ try {
39
+ nextFetch = await nextFetchPromise;
45
40
  }
46
- const rows = [];
47
- const buffers = [this.statement.outBuffer, new Uint8Array(this.statement.outMetadata.getMessageLengthSync(status))];
48
- let buffer = 0;
49
- let nextFetchPromise = this.resultSetHandle.fetchNextAsync(status, buffers[buffer]);
50
- while (true) {
51
- let nextFetch;
52
- try {
53
- nextFetch = yield nextFetchPromise;
54
- }
55
- catch (e) {
56
- if (rows.length == 0)
57
- throw e;
58
- else {
59
- this.delayedError = e;
60
- return { finished: false, rows };
61
- }
62
- }
63
- if (nextFetch == fb.Status.RESULT_OK) {
64
- const buffer1 = buffer;
65
- buffer = ++buffer % 2;
66
- const finish = options && options.fetchSize && rows.length + 1 >= options.fetchSize;
67
- if (!finish)
68
- nextFetchPromise = this.resultSetHandle.fetchNextAsync(status, buffers[buffer]);
69
- rows.push(yield this.statement.dataReader(this.statement.attachment, this.transaction, buffers[buffer1]));
70
- if (finish)
71
- return { finished: false, rows };
72
- }
41
+ catch (e) {
42
+ if (rows.length == 0)
43
+ throw e;
73
44
  else {
74
- return { finished: true, rows };
45
+ this.delayedError = e;
46
+ return { finished: false, rows };
75
47
  }
76
48
  }
77
- }));
49
+ if (nextFetch == fb.Status.RESULT_OK) {
50
+ const buffer1 = buffer;
51
+ buffer = ++buffer % 2;
52
+ const finish = options && options.fetchSize && rows.length + 1 >= options.fetchSize;
53
+ if (!finish)
54
+ nextFetchPromise = this.resultSetHandle.fetchNextAsync(status, buffers[buffer]);
55
+ rows.push(await this.statement.dataReader(this.statement.attachment, this.transaction, buffers[buffer1]));
56
+ if (finish)
57
+ return { finished: false, rows };
58
+ }
59
+ else {
60
+ return { finished: true, rows };
61
+ }
62
+ }
78
63
  });
79
64
  }
80
65
  }
@@ -1 +1 @@
1
- {"version":3,"file":"resultset.js","sourceRoot":"","sources":["../../src/lib/resultset.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resultset.js","sourceRoot":"","sources":["../../src/lib/resultset.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.StatementImpl = void 0;
13
4
  const resultset_1 = require("./resultset");
@@ -17,102 +8,88 @@ const fb = require("node-firebird-native-api");
17
8
  const util_1 = require("util");
18
9
  /** Statement implementation. */
19
10
  class StatementImpl extends impl_1.AbstractStatement {
20
- static prepare(attachment, transaction, sqlStmt, options) {
21
- return __awaiter(this, void 0, void 0, function* () {
22
- const statement = new StatementImpl(attachment);
23
- return yield attachment.client.statusAction((status) => __awaiter(this, void 0, void 0, function* () {
24
- //// FIXME: options/flags, dialect
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);
26
- statement.hasResultSet = (statement.statementHandle.getFlagsSync(status) & fb.Statement.FLAG_HAS_CURSOR) != 0;
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));
29
- if (statement.inMetadata) {
30
- statement.inBuffer = new Uint8Array(statement.inMetadata.getMessageLengthSync(status));
31
- statement.dataWriter = (0, fb_util_1.createDataWriter)((0, fb_util_1.createDescriptors)(status, statement.inMetadata));
32
- }
33
- if (statement.outMetadata) {
34
- statement.outBuffer = new Uint8Array(statement.outMetadata.getMessageLengthSync(status));
35
- statement.dataReader = (0, fb_util_1.createDataReader)((0, fb_util_1.createDescriptors)(status, statement.outMetadata));
36
- }
37
- return statement;
38
- }));
39
- });
40
- }
41
- /** Disposes this statement's resources. */
42
- internalDispose() {
43
- return __awaiter(this, void 0, void 0, function* () {
44
- if (this.outMetadata) {
45
- this.outMetadata.releaseSync();
46
- this.outMetadata = undefined;
11
+ static async prepare(attachment, transaction, sqlStmt, options) {
12
+ const statement = new StatementImpl(attachment);
13
+ return await attachment.client.statusAction(async (status) => {
14
+ //// FIXME: options/flags, dialect
15
+ statement.statementHandle = await attachment.attachmentHandle.prepareAsync(status, transaction?.transactionHandle, 0, sqlStmt, 3, fb.Statement.PREPARE_PREFETCH_ALL);
16
+ statement.hasResultSet = (statement.statementHandle.getFlagsSync(status) & fb.Statement.FLAG_HAS_CURSOR) != 0;
17
+ statement.inMetadata = (0, fb_util_1.fixMetadata)(status, await statement.statementHandle.getInputMetadataAsync(status));
18
+ statement.outMetadata = (0, fb_util_1.fixMetadata)(status, await statement.statementHandle.getOutputMetadataAsync(status));
19
+ if (statement.inMetadata) {
20
+ statement.inBuffer = new Uint8Array(statement.inMetadata.getMessageLengthSync(status));
21
+ statement.dataWriter = (0, fb_util_1.createDataWriter)((0, fb_util_1.createDescriptors)(status, statement.inMetadata));
47
22
  }
48
- if (this.inMetadata) {
49
- this.inMetadata.releaseSync();
50
- this.inMetadata = undefined;
23
+ if (statement.outMetadata) {
24
+ statement.outBuffer = new Uint8Array(statement.outMetadata.getMessageLengthSync(status));
25
+ statement.dataReader = (0, fb_util_1.createDataReader)((0, fb_util_1.createDescriptors)(status, statement.outMetadata));
51
26
  }
52
- yield this.attachment.client.statusAction(status => this.statementHandle.freeAsync(status));
53
- this.statementHandle = undefined;
27
+ return statement;
54
28
  });
55
29
  }
30
+ /** Disposes this statement's resources. */
31
+ async internalDispose() {
32
+ if (this.outMetadata) {
33
+ this.outMetadata.releaseSync();
34
+ this.outMetadata = undefined;
35
+ }
36
+ if (this.inMetadata) {
37
+ this.inMetadata.releaseSync();
38
+ this.inMetadata = undefined;
39
+ }
40
+ await this.attachment.client.statusAction(status => this.statementHandle.freeAsync(status));
41
+ this.statementHandle = undefined;
42
+ }
56
43
  /** Executes a prepared statement that uses the SET TRANSACTION command. Returns the new transaction. */
57
- internalExecuteTransaction(transaction) {
58
- return __awaiter(this, void 0, void 0, function* () {
59
- throw new Error('Uninplemented method: executeTransaction.');
60
- });
44
+ async internalExecuteTransaction(transaction) {
45
+ throw new Error('Uninplemented method: executeTransaction.');
61
46
  }
62
47
  /** Executes a prepared statement that has no result set. */
63
- internalExecute(transaction, parameters, options) {
64
- return __awaiter(this, void 0, void 0, function* () {
65
- return yield this.attachment.client.statusAction((status) => __awaiter(this, void 0, void 0, function* () {
66
- yield this.dataWriter(this.attachment, transaction, this.inBuffer, parameters);
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) {
69
- //// FIXME: newTransaction.releaseSync();
70
- }
71
- return this.outMetadata ? yield this.dataReader(this.attachment, transaction, this.outBuffer) : [];
72
- }));
48
+ async internalExecute(transaction, parameters, options) {
49
+ return await this.attachment.client.statusAction(async (status) => {
50
+ await this.dataWriter(this.attachment, transaction, this.inBuffer, parameters);
51
+ const newTransaction = await this.statementHandle.executeAsync(status, transaction?.transactionHandle, this.inMetadata, this.inBuffer, this.outMetadata, this.outBuffer);
52
+ if (newTransaction && transaction?.transactionHandle != newTransaction) {
53
+ //// FIXME: newTransaction.releaseSync();
54
+ }
55
+ return this.outMetadata ? await this.dataReader(this.attachment, transaction, this.outBuffer) : [];
73
56
  });
74
57
  }
75
58
  /** Executes a prepared statement that has result set. */
76
- internalExecuteQuery(transaction, parameters, options) {
77
- return __awaiter(this, void 0, void 0, function* () {
78
- return yield resultset_1.ResultSetImpl.open(this, transaction, parameters, options);
79
- });
59
+ async internalExecuteQuery(transaction, parameters, options) {
60
+ return await resultset_1.ResultSetImpl.open(this, transaction, parameters, options);
80
61
  }
81
- setCursorName(cursorName) {
82
- return __awaiter(this, void 0, void 0, function* () {
83
- return yield this.attachment.client.statusAction((status) => __awaiter(this, void 0, void 0, function* () { return yield this.statementHandle.setCursorNameAsync(status, cursorName); }));
84
- });
62
+ async setCursorName(cursorName) {
63
+ return await this.attachment.client.statusAction(async (status) => await this.statementHandle.setCursorNameAsync(status, cursorName));
85
64
  }
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
- }));
65
+ async getExecPathText() {
66
+ return await this.attachment.client.statusAction(async (status) => {
67
+ const infoReq = new Uint8Array([impl_1.statementInfo.sqlExecPathBlrText]);
68
+ const infoRet = new Uint8Array(65535);
69
+ await this.statementHandle.getInfoAsync(status, infoReq.byteLength, infoReq, infoRet.byteLength, infoRet);
70
+ if (infoRet[0] == impl_1.commonInfo.end)
71
+ return undefined;
72
+ else {
73
+ if (infoRet[0] != impl_1.statementInfo.sqlExecPathBlrText)
74
+ throw new Error('Error retrieving statement execution path.');
75
+ const size = (0, impl_1.getPortableInteger)(infoRet.subarray(1), 2);
76
+ return new util_1.TextDecoder().decode(infoRet.subarray(3, 3 + size));
77
+ }
101
78
  });
102
79
  }
103
80
  get columnLabels() {
104
- const asyncFunc = () => __awaiter(this, void 0, void 0, function* () {
81
+ const asyncFunc = async () => {
105
82
  if (!this.outMetadata)
106
83
  return [];
107
- return yield this.attachment.client.statusAction((status) => __awaiter(this, void 0, void 0, function* () {
84
+ return await this.attachment.client.statusAction(async (status) => {
108
85
  const metaData = this.outMetadata;
109
86
  const count = metaData.getCountSync(status);
110
87
  const array = [];
111
88
  for (let i = 0; i < count; ++i)
112
89
  array.push(metaData.getAliasSync(status, i));
113
90
  return array;
114
- }));
115
- });
91
+ });
92
+ };
116
93
  return asyncFunc();
117
94
  }
118
95
  }
@@ -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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"}
@@ -1,54 +1,35 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.TransactionImpl = void 0;
13
4
  const fb_util_1 = require("./fb-util");
14
5
  const impl_1 = require("node-firebird-driver/dist/lib/impl");
15
6
  /** Transaction implementation. */
16
7
  class TransactionImpl extends impl_1.AbstractTransaction {
17
- static start(attachment, options) {
18
- return __awaiter(this, void 0, void 0, function* () {
19
- const transaction = new TransactionImpl(attachment);
20
- return yield attachment.client.statusAction((status) => __awaiter(this, void 0, void 0, function* () {
21
- const tpb = (0, fb_util_1.createTpb)(options);
22
- transaction.transactionHandle = yield attachment.attachmentHandle.startTransactionAsync(status, tpb.length, tpb);
23
- return transaction;
24
- }));
8
+ static async start(attachment, options) {
9
+ const transaction = new TransactionImpl(attachment);
10
+ return await attachment.client.statusAction(async (status) => {
11
+ const tpb = (0, fb_util_1.createTpb)(options);
12
+ transaction.transactionHandle = await attachment.attachmentHandle.startTransactionAsync(status, tpb.length, tpb);
13
+ return transaction;
25
14
  });
26
15
  }
27
16
  /** Commits and release this transaction object. */
28
- internalCommit() {
29
- return __awaiter(this, void 0, void 0, function* () {
30
- yield this.attachment.client.statusAction(status => this.transactionHandle.commitAsync(status));
31
- this.transactionHandle = undefined;
32
- });
17
+ async internalCommit() {
18
+ await this.attachment.client.statusAction(status => this.transactionHandle.commitAsync(status));
19
+ this.transactionHandle = undefined;
33
20
  }
34
21
  /** Commits and maintains this transaction object for subsequent work. */
35
- internalCommitRetaining() {
36
- return __awaiter(this, void 0, void 0, function* () {
37
- return yield this.attachment.client.statusAction(status => this.transactionHandle.commitRetainingAsync(status));
38
- });
22
+ async internalCommitRetaining() {
23
+ return await this.attachment.client.statusAction(status => this.transactionHandle.commitRetainingAsync(status));
39
24
  }
40
25
  /** Rollbacks and release this transaction object. */
41
- internalRollback() {
42
- return __awaiter(this, void 0, void 0, function* () {
43
- yield this.attachment.client.statusAction(status => this.transactionHandle.rollbackAsync(status));
44
- this.transactionHandle = undefined;
45
- });
26
+ async internalRollback() {
27
+ await this.attachment.client.statusAction(status => this.transactionHandle.rollbackAsync(status));
28
+ this.transactionHandle = undefined;
46
29
  }
47
30
  /** Rollbacks and maintains this transaction object for subsequent work. */
48
- internalRollbackRetaining() {
49
- return __awaiter(this, void 0, void 0, function* () {
50
- return yield this.attachment.client.statusAction(status => this.transactionHandle.rollbackRetainingAsync(status));
51
- });
31
+ async internalRollbackRetaining() {
32
+ return await this.attachment.client.statusAction(status => this.transactionHandle.rollbackRetainingAsync(status));
52
33
  }
53
34
  }
54
35
  exports.TransactionImpl = TransactionImpl;
@@ -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,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"}
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,CAAC,KAAK,CAAC,KAAK,CAAC,UAA0B,EAAE,OAA4B;QAC1E,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC,UAAU,CAAC,CAAC;QAEpD,OAAO,MAAM,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,EAAC,MAAM,EAAC,EAAE;YAC1D,MAAM,GAAG,GAAG,IAAA,mBAAS,EAAC,OAAO,CAAC,CAAC;YAC/B,WAAW,CAAC,iBAAiB,GAAG,MAAM,UAAW,CAAC,gBAAiB,CAAC,qBAAqB,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YACnH,OAAO,WAAW,CAAC;QACpB,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,mDAAmD;IACzC,KAAK,CAAC,cAAc;QAC7B,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;QACjG,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;IACpC,CAAC;IAED,yEAAyE;IAC/D,KAAK,CAAC,uBAAuB;QACtC,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAkB,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;IAClH,CAAC;IAED,qDAAqD;IAC3C,KAAK,CAAC,gBAAgB;QAC/B,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAkB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;QACnG,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;IACpC,CAAC;IAED,2EAA2E;IACjE,KAAK,CAAC,yBAAyB;QACxC,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAkB,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC;IACpH,CAAC;CACD;AArCD,0CAqCC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-firebird-driver-native",
3
- "version": "2.4.0",
3
+ "version": "3.0.1",
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": "^17.0.10",
52
- "node-firebird-driver": "^2.4.0",
53
- "node-firebird-native-api": "^2.1.4"
51
+ "@types/node": "^18.11.15",
52
+ "node-firebird-driver": "^3.0.1",
53
+ "node-firebird-native-api": "^3.0.0"
54
54
  },
55
- "gitHead": "3514f2b8fae52f1379db80a8149016f161603a54"
55
+ "gitHead": "33c672ce105ff0cd00b5cfda910b6d750eb91749"
56
56
  }
@@ -8,6 +8,7 @@ import { createDpb } from './fb-util';
8
8
  import {
9
9
  Blob,
10
10
  ConnectOptions,
11
+ CreateBlobOptions,
11
12
  CreateDatabaseOptions,
12
13
  PrepareOptions,
13
14
  TransactionOptions
@@ -62,8 +63,8 @@ export class AttachmentImpl extends AbstractAttachment {
62
63
  return await TransactionImpl.start(this, options);
63
64
  }
64
65
 
65
- protected async internalCreateBlob(transaction: TransactionImpl): Promise<BlobStreamImpl> {
66
- return await BlobStreamImpl.create(this, transaction);
66
+ protected async internalCreateBlob(transaction: TransactionImpl, options?: CreateBlobOptions): Promise<BlobStreamImpl> {
67
+ return await BlobStreamImpl.create(this, transaction, options);
67
68
  }
68
69
 
69
70
  protected async internalOpenBlob(transaction: TransactionImpl, blob: Blob): Promise<BlobStreamImpl> {
package/src/lib/blob.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { AttachmentImpl } from './attachment';
2
2
 
3
- import { Blob } from 'node-firebird-driver';
4
- import { AbstractBlobStream, blobInfo, getPortableInteger } from 'node-firebird-driver/dist/lib/impl';
3
+ import { Blob, BlobSeekWhence, CreateBlobOptions } from 'node-firebird-driver';
4
+ import { AbstractBlobStream, blobInfo, createBpb, getPortableInteger } from 'node-firebird-driver/dist/lib/impl';
5
5
 
6
6
  import * as fb from 'node-firebird-native-api';
7
7
  import { TransactionImpl } from './transaction';
@@ -17,11 +17,13 @@ export class BlobStreamImpl extends AbstractBlobStream {
17
17
 
18
18
  blobHandle?: fb.Blob;
19
19
 
20
- static async create(attachment: AttachmentImpl, transaction: TransactionImpl): Promise<BlobStreamImpl> {
20
+ static async create(attachment: AttachmentImpl, transaction: TransactionImpl, options?: CreateBlobOptions): Promise<BlobStreamImpl> {
21
21
  return await attachment.client.statusAction(async status => {
22
22
  const blobId = new Uint8Array(8);
23
+ const bpb = createBpb(options);
24
+
23
25
  const blobHandle = await attachment.attachmentHandle!.createBlobAsync(
24
- status, transaction.transactionHandle, blobId, 0, undefined);
26
+ status, transaction.transactionHandle, blobId, bpb.length, bpb);
25
27
 
26
28
  const blob = new Blob(attachment, blobId);
27
29
 
@@ -65,6 +67,12 @@ export class BlobStreamImpl extends AbstractBlobStream {
65
67
  this.blobHandle = undefined;
66
68
  }
67
69
 
70
+ protected async internalSeek(offset: number, whence?: BlobSeekWhence): Promise<number> {
71
+ return await this.attachment.client.statusAction(async status => {
72
+ return await this.blobHandle!.seekAsync(status, whence ?? BlobSeekWhence.START, offset);
73
+ });
74
+ }
75
+
68
76
  protected async internalRead(buffer: Buffer): Promise<number> {
69
77
  return await this.attachment.client.statusAction(async status => {
70
78
  const readingBytes = Math.min(buffer.length, MAX_SEGMENT_SIZE);