Open paulhendrix opened 11 months ago
Has anyone resolved this problem? Some silent error occurs on this line:
cb.response.removeAllListeners('error');
File: connection.js Line: 1799
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/node-firebird@1.1.8/node_modules/node-firebird/lib/index.js:3687:21) at file:///test/firebird/problem_deno/node_modules/.deno/node-firebird@1.1.8/node_modules/node-firebird/lib/index.js:1757:25 at cb (file:///test/firebird/problem_deno/node_modules/.deno/node-firebird@1.1.8/node_modules/node-firebird/lib/index.js:3615:13) at doCallback (file:///test/firebird/problem_deno/node_modules/.deno/node-firebird@1.1.8/node_modules/node-firebird/lib/index.js:1368:5) at file:///test/firebird/problem_deno/node_modules/.deno/node-firebird@1.1.8/node_modules/node-firebird/lib/index.js:3140:21 at decodeResponse (file:///test/firebird/problem_deno/node_modules/.deno/node-firebird@1.1.8/node_modules/node-firebird/lib/index.js:3419:24) at Socket. (file:///test/firebird/problem_deno/node_modules/.deno/node-firebird@1.1.8/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)}
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:
The solution, at least temporarily, may be along this way.
Great! I will test it and let you know
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.
Your change appears to be working correctly in both Deno and Node.js. It would be great if we could update this change in the official version of node-firebird, or alternatively, add the improved node-firebird module to https://jsr.io ?
I've noticed another problem with handling the pool in the file pool.js
db.on('detach'...
=>
db._socket.on('detach'...
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