asfernandes / node-firebird-drivers

Node.js Firebird Drivers
MIT License
53 stars 17 forks source link

[node-firebird-native-api] - Invalid argument when using XpbBuilder returned buffer #21

Closed sywka closed 5 years ago

sywka commented 5 years ago

Description

When we call method attachDatabaseAsync with argument dpb from XpbBuilder on new v1.0.0-beta.1 we get error Invalid argument.

All work fine on old version of driver.

Example

  ...
const dpbBuilder = (util.getXpbBuilderSync(status, XpbBuilderParams.DPB, undefined, 0))!;
  try {
    dpbBuilder.insertTagSync(status, isc_dpb.version1);
    dpbBuilder.insertIntSync(status, isc_dpb.set_db_sql_dialect, 3);
    dpbBuilder.insertStringSync(status, isc_dpb.lc_ctype, "utf8");

    dpbBuilder.insertStringSync(status, isc_dpb.user_name, dbOptions.username || "sysdba");
    dpbBuilder.insertStringSync(status, isc_dpb.password, dbOptions.password || "masterkey");

    const buffer = dpbBuilder.getBufferSync(status)!;
    const length = dpbBuilder.getBufferLengthSync(status);

     return await client!.dispatcher!.attachDatabaseAsync(status, uri, length, buffer)
   } finally {
     dpbBuilder.disposeSync();
   }
...

Versions

OS: Windows 10, MacOS 10.14.4 Firebird: 3.0.4 Node: 11.13.0 Yarn: 1.15.2 node-firebird-driver-native: 1.0.0-beta.1