node-firebird icon indicating copy to clipboard operation
node-firebird copied to clipboard

deno

Open paulhendrix opened this issue 1 year ago • 7 comments

test.js:

import * as fb from "npm:node-firebird";

let options = {}; options.host = "localhost"; options.port = 3050; options.database = "test1"; options.user = "SYSDBA"; options.password = "masterkey";

fb.attach(options, function (err, db) { console.log("debug1"); });

deno run -A test.js

under deno callback is never called, under node.js works ok

paulhendrix avatar Dec 01 '23 11:12 paulhendrix

Has anyone resolved this problem? Some silent error occurs on this line:

cb.response.removeAllListeners('error');

File: connection.js Line: 1799

image

diegompbh avatar Apr 01 '24 02:04 diegompbh

I managed to trace the internal error that occurs, and the cause is a missing function 'removeAllListeners'. Now, how can we fix it?

TypeError: cb.response.removeAllListeners is not a function at exports.Connection.Connection.attach (file:///test/firebird/problem_deno/node_modules/.deno/[email protected]/node_modules/node-firebird/lib/index.js:3687:21) at file:///test/firebird/problem_deno/node_modules/.deno/[email protected]/node_modules/node-firebird/lib/index.js:1757:25 at cb (file:///test/firebird/problem_deno/node_modules/.deno/[email protected]/node_modules/node-firebird/lib/index.js:3615:13) at doCallback (file:///test/firebird/problem_deno/node_modules/.deno/[email protected]/node_modules/node-firebird/lib/index.js:1368:5) at file:///test/firebird/problem_deno/node_modules/.deno/[email protected]/node_modules/node-firebird/lib/index.js:3140:21 at decodeResponse (file:///test/firebird/problem_deno/node_modules/.deno/[email protected]/node_modules/node-firebird/lib/index.js:3419:24) at Socket. (file:///test/firebird/problem_deno/node_modules/.deno/[email protected]/node_modules/node-firebird/lib/index.js:3115:13) at Socket.emit (ext:deno_node/_stream.mjs:1851:9) at addChunk (ext:deno_node/_stream.mjs:2873:16) at readableAddChunk (ext:deno_node/_stream.mjs:2852:13) {stack: 'TypeError: cb.response.removeAllListeners is …eAddChunk (ext:deno_node/_stream.mjs:2852:13)', message: 'cb.response.removeAllListeners is not a function', __callSiteEvals: Array(10)}

paulhendrix avatar Apr 27 '24 12:04 paulhendrix

I haven't tested it enough yet, but I at least got it working. Everywhere socket functions are used, I added ._socket. And I manually set it where I saw it was undefined. Example:

image

The solution, at least temporarily, may be along this way.

diegompbh avatar May 14 '24 02:05 diegompbh

Great! I will test it and let you know

paulhendrix avatar May 14 '24 06:05 paulhendrix

With the update to version 1.1.9, I had to redo the changes. I will attach the files here. I haven't done a full test yet, but it appears to be working.

lib.zip

diegompbh avatar Jul 26 '24 22:07 diegompbh