Fixes for errors running dialect compliance suite #46
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Code changes to fix several errors that occur when running the SQLAlchemy dialect compliance suite with the Ingres dialect and an Ingres 11.2 database. The fixes allow the relevant tests to run beyond specific points of failure. Other errors are subsequently encountered and will be dealt with in different issues.
Environment and versions
Partial list of Python packages. Client and server are the same machine.
Fix 1
Internal tracking II-14170
Various tests such as AutocommitIsolationTest fail with these messages:
The error is alleviated by adding method
get_isolation_level_values
to class IngresDialect that returns the list of isolation level keywords supported by Ingres.With the fix, a new error
DBAPI has no isolation level support
occurs that will be dealt with in a separate issue (TBD).Fix 2
Internal tracking II-14171
The
ComponentReflectionTest
class contains 732 tests, all of which fail with this error:The error is alleviated by adding a decorated method in new file provision.py.
Fix 3
After fixing the above error that reported
no temp table keyword args routine for cfg
, many of the tests in classComponentReflectionTest
subsequently failed with the following error (example with the corresponding bad SQL):The error is alleviated in the Ingres dialect during column processing by checking whether any of the table columns are part of a unique constraint of the same table and if so, adding a
NOT NULL
clause for the column.Future Fix
Upon applying the above fixes, many of the affected test cases now fail with the following (already known) error when using the Ingres dialect that is being tracked by internal ticket II-14148.