Conversation
|
It now includes support for sequences, triggers, and indexes. |
There was a problem hiding this comment.
Thanks for the PR! I pulled it and ran some tests. Found a few issues (missing space in SQL on line 162, cursor.execute() should be cursor.fetchone() on line 226). I've written integration tests that catch these. I am pushing the integration tests into main now. Let me know if you'd like to fix them.
The integration tests will catch some get definition bugs. The changes will include a new property "test_query" on the adapters. Firebird could have for example "SELECT 1 FROM RDB$DATABASE"
Also firebird should be added to docker_detector.py.
Right now the docker discovery tool will not find it.
|
I've rebased my branch locally on your new main branch and I'll check if there are any additional fixes needed. |
|
OK, that should be everything fixed now. |
Hi! This adds support for FirebirdSQL. I think I've covered everything that's required to support it, but if there's anything I've missed, I'm happy to add it.
The test suite runs slower than I'd like on my own laptop for reasons I can't quite identify, but it all passes. I don't see any comparable slowness when using it interactively versus the PostgreSQL adapter, and I've ruled out my selection of a pure-Python driver as the reason for the slowness by comparing pyfirebirdsql with firebird-driver, and both perform about as well. I'll see if I can do some extra profiling to figure out why it's so slow. It could just be some extra overhead I'm somehow accidentally introducing in how I'm running the test suite.It looks like the slowness is down to sleeps elsewhere in the test suite: I'd only been running the Firebird integration tests and not any of the others. It's no slower than SQLite, which ought to have been very fast.To do: