FirebirdSQL/fdb

does not work in pypy

hmoffatt opened this issue · 4 comments

I tried to use fdb in pypy 7.3.5, but I get an internal error when calling connect():

  File "<my program>", line 26, in dbConnect
    result = fdb.connect(**kwarg)
  File "/usr/lib/python3/dist-packages/fdb/fbcore.py", line 851, in connect
    charset, isolation_level)
  File "/usr/lib/python3/dist-packages/fdb/fbcore.py", line 1087, in __init__
    verstr = self.db_info(isc_info_firebird_version)
  File "/usr/lib/python3/dist-packages/fdb/fbcore.py", line 1545, in db_info
    buf = self.database_info(info_code, 'b')
  File "/usr/lib/python3/dist-packages/fdb/fbcore.py", line 1449, in database_info
    raise InternalError("Exited request loop sucessfuly, but"
fdb.fbcore.InternalError: Exited request loop sucessfuly, but res_buf[i] != sc_info_end.

Is the error present when used with Python 2.7 or 3? Because the error suggests malformed response from Firebird server to information ruequest.

The same code works in Python 3.7 and 3.9 (CPython).

will fdb work on pypy3 in the future?

FDB is a legacy driver that is not maintained anymore (although I could make releases with contributed patches). All active development is done on new firebird-driver. I did not tested it with pypy, so I don't know whether there any issues with pypy and the new driver, but you are welcome to test it and submit any issues found in firebird-driver issues tracker.