On implementing a new dialect I am running into lots of issues. All caught
by test cases part of the standard test suite - so thanks for this!
I have an issue with a reserved word being used as column name: data.
The test case HasTableTest.test_has_table creates a table using:
Table('test_table', metadata,
Column('id', Integer, primary_key=True),
Column('data', String(50))
)
A few things are suspicious. Running the resulting create statement on the
DB console I get an error. However, I do not see any error on test
execution, but only the message that the table does not exist:
Error emptying table test_table: ProgrammingError("(ProgrammingError)
('42000', '[42000] [EXASOL][EXASolution driver]object TEST_TABLE not found
[line 1, column 13] (-1) (SQLExecDirectW)')",)
ERROR
I would have expected an error on CREATE TABLE.
I also added 'data' to the list of reserved_words and added a
_bindparam_requires_quotes method similar to the Oracle dialect. But I am
not sure if, how and when this set is being used. When running the test
suite I do not see any prints I have added to check if my code is being
executed (but adding syntax errors cause the expected error). So far I have
not understood the test suite magic.
Any help on understanding the test suite magic or how reserved words are
being used is greatly appreciated.
Jan
--
You received this message because you are subscribed to the Google Groups
"sqlalchemy" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
Visit this group at http://groups.google.com/group/sqlalchemy?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.