IRIS workaround & SQL compatability #6
Merged
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.
This fix provides a workaround of DEFAULT values in alter statements and rename statements along with other SQL compatibility. (Changes mostly in schema.py). There is also a framework to inject our own SQL compiler in operations.py but I left that out of this commit as the other issues are fixed by the schema.py.
sql_rename_table = "ALTER TABLE %(old_table)s RENAME %(new_table)s"
sql_rename_column = ( "ALTER TABLE %(table)s ALTER COLUMN %(old_column)s RENAME %(new_column)s" )
ALTER TABLE <table> ADD COLUMN <col> <type> DEFAULT <value>
doesn't work if<value>
is a parameter and needs to be a prepared statement.ALTER TABLE <table> ADD COLUMN <col> <type> DEFAULT <value>
doesn't work if<col>
is an escaped reserved keyword such as"interval"