- Update tests to adapt to changes in Redshift and SQLAlchemy (Issue #140)
- Fix incompatibility of reflection code with SQLAlchemy 1.2.0+ (Issue #138)
- Do not enumerate search_path with external schemas (Issue #120)
- Return constraint name from get_pk_constraint and get_foreign_keys
- Use Enums for Format, Compression and Encoding. Deprecate string parameters for these parameter types (Issue #133)
- Update included certificate with the transitional ACM cert bundle (Issue #130)
- Support role-based access control in COPY and UNLOAD commands (Issue #88)
- Increase max_identifier_length to 127 characters (Issue #96)
- Fix a bug where table names containing a period caused an error on reflection (Issue #97)
- Performance improvement for reflection by caching table constraint info (Issue #101)
- Support BZIP2 compression in COPY command (Issue #110)
- Allow tests to tolerate new default column encodings in Redshift (Issue #114)
- Pull in set of reserved words from Redshift docs (Issue #94 <sqlalchemy-redshift#94> _)
- Support reflecting tables with foriegn keys to tables in non-public schemas (Issue #70)
- Fix a bug where DISTKEY and SORTKEY could not be used on column names containing spaces or commas. This is a breaking behavioral change for a command like __table_args__ = {'redshift_sortkey': ('foo, bar')}. Previously, this would sort on the columns named foo and bar. Now, it sorts on the column named foo, bar. (Issue #74)
- Change the name of the package to sqlalchemy_redshift to match the naming convention for other dialects; the redshift_sqlalchemy package now emits a DeprecationWarning and references sqlalchemy_redshift. The redshift_sqlalchemy compatibility package will be removed in a future release. (Issue #58)
- Fix a bug where reflected tables could have incorrect column order for some CREATE TABLE statements, particularly for columns with an IDENTITY constraint. (Issue #60)
- Fix a bug where reflecting a table could raise a
NoSuchTableError
in cases where its schema is not on the currentsearch_path
(Issue #64) - Add python 3.5 to the list of versions for integration tests. (Issue #61)
- Fix breakages to CopyCommand introduced in 0.3.0:
Thanks solackerman.
(Issue #53)
- When format is omitted, no FORMAT AS ... is appended to the query. This makes the default the same as a normal redshift query.
- fix STATUPDATE as a COPY parameter
- Fix view support to be more in line with SQLAlchemy standards. get_view_definition output no longer includes a trailing semicolon and views no longer raise an exception when reflected as Table objects. (Issue #46)
- Rename RedShiftDDLCompiler to RedshiftDDLCompiler. (Issue #43)
- Update commands
(Issue #52)
- Expose optional TRUNCATECOLUMNS in CopyCommand.
- Add all other COPY parameters to CopyCommand.
- Move commands to their own module.
- Support inserts into ordered columns in CopyCommand.
- Use SYSDATE instead of NOW(). Thanks bouk. (Issue #15)
- Default to SSL with hardcoded AWS Redshift CA. (Issue #20)
- Refactor of CopyCommand including support for specifying format and compression type. (Issue #21)
- Explicitly require SQLAlchemy >= 0.9.2 for 'dialect_options'. (Issue #13)
- Refactor of UnloadFromSelect including support for specifying all documented redshift options. (Issue #27)
- Fix unicode issue with SORTKEY on python 2. (Issue #34)
- Add support for Redshift
DELETE
statements that refer other tables in theWHERE
clause. Thanks haleemur. (Issue #35) - Raise
NoSuchTableError
when trying to reflect a table that doesn't exist. (Issue #38)
- Register RedshiftImpl as an alembic 3rd party dialect.
- First version of sqlalchemy-redshift that can be installed from PyPI