[gerrit]
host=gerrit.sqlalchemy.org
-project=zzzeek/sqlalchemy
+project=sqlalchemy/sqlalchemy
defaultbranch=rel_1_1
.. change::
:tags: bug, ext
:versions: 0.9.5, 1.0.0b1
- :pullreq: bitbucket:24
:tickets: 3093, 3051
Fixed bug where :meth:`.MutableDict.setdefault` didn't return the
.. change::
:tags: bug, mysql
:versions: 0.9.5, 1.0.0b1
- :pullreq: bitbucket:15
Added support for reflecting tables where an index includes
KEY_BLOCK_SIZE using an equal sign. Pull request courtesy
.. change::
:tags: bug, postgresql
- :pullreq: bitbucket:13
:versions: 0.9.5, 1.0.0b1
Added a new "disconnect" message "connection has been closed unexpectedly".
:tags: bug, mysql
:versions: 0.9.3
:tickets: 2966
- :pullreq: bitbucket:12
Added support for the ``PARTITION BY`` and ``PARTITIONS``
MySQL table keywords, specified as ``mysql_partition_by='value'`` and
.. change::
:tags: bug, sqlite
- :pullreq: github:72
Restored a change that was missed in the backport of unique
constraint reflection to 0.8, where :class:`.UniqueConstraint`
.. change::
:tags: bug, mysql
- :pullreq: github:61
:versions: 0.9.2
Some missing methods added to the cymysql dialect, including
.. change::
:tags: bug, py3k
- :pullreq: github:63
Fixed Py3K bug where a missing import would cause "literal binary"
mode to fail to import "util.binary_type" when rendering a bound
.. change::
:tags: bug, orm
:versions: 0.9.2
- :pullreq: github:58
Fixed error message when an iterator object is passed to
:func:`.class_mapper` or similar, where the error would fail to
.. change::
:tags: bug, mssql, pymssql
:versions: 0.9.0
- :pullreq: github:51
Added "Net-Lib error during Connection reset by peer" message
to the list of messages checked for "disconnect" within the
.. change::
:tags: bug, mssql
:versions: 0.9.0
- :pullreq: bitbucket:7
Fixed bug introduced in 0.8.0 where the ``DROP INDEX``
statement for an index in MSSQL would render incorrectly if the
.. change::
:tags: bug, engine
- :pullreq: github:6
:versions: 0.9.0b1
Fixed bug where the ``reset_on_return`` argument to various :class:`.Pool`
.. change::
:tags: bug, postgresql
- :pullreq: github:2
:tickets: 2735
Fixed the HSTORE type to correctly encode/decode for unicode.
.. change::
:tags: bug, py3k, mysql
:tickets: 3333
- :pullreq: github:158
:versions: 1.0.0b2
Fixed the :class:`.mysql.BIT` type on Py3K which was not using the
.. change::
:tags: feature, postgresql
- :pullreq: bitbucket:45
:versions: 1.0.0b1
Added support for the ``CONCURRENTLY`` keyword with PostgreSQL
.. change::
:tags: bug, ext, py3k
- :pullreq: github:154
:versions: 1.0.0b1
Fixed bug where the association proxy list class would not interpret
.. change::
:tags: feature, sqlite
- :pullreq: bitbucket:42
:versions: 1.0.0b1
Added support for partial indexes (e.g. with a WHERE clause) on
.. change::
:tags: bug, orm
- :pullreq: github:147
:versions: 1.0.0b1
Fixed bug where TypeError raised when :meth:`.Query.join` called
.. change::
:tags: bug, postgresql
- :pullreq: github:145
:versions: 1.0.0b1
Added support for the :class:`postgresql.JSONB` datatype when
.. change::
:tags: bug, sql
:versions: 1.0.0b1
- :pullreq: bitbucket:41
Added the ``native_enum`` flag to the ``__repr__()`` output
of :class:`.Enum`, which is mostly important when using it with
.. change::
:tags: bug, ext
:versions: 1.0.0b1
- :pullrequest: bitbucket:28
Fixed bug where :class:`.ext.mutable.MutableDict`
failed to implement the ``update()`` dictionary method, thus
.. change::
:tags: bug, ext
:versions: 1.0.0b1
- :pullrequest: bitbucket:27
Fixed bug where a custom subclass of :class:`.ext.mutable.MutableDict`
would not show up in a "coerce" operation, and would instead
.. change::
:tags: feature, postgresql, pg8000
:versions: 1.0.0b1
- :pullreq: github:125
Support is added for "sane multi row count" with the pg8000 driver,
which applies mostly to when using versioning with the ORM.
:tags: bug, postgresql
:versions: 1.0.0b1
:tickets: 3141
- :pullreq: github:124
Fixed bug in :class:`.postgresql.array` object where comparison
to a plain Python list would fail to use the correct array constructor.
.. change::
:tags: feature, postgresql
:versions: 1.0.0b1
- :pullreq: bitbucket:22
:tickets: 3078
Added kw argument ``postgresql_regconfig`` to the
.. change::
:tags: feature, postgresql
:versions: 1.0.0b1
- :pullreq: github:101
Added support for PostgreSQL JSONB via :class:`.JSONB`. Pull request
courtesy Damian Dimmich.
.. change::
:tags: feature, mssql
- :pullreq: github:98
:versions: 1.0.0b1
Enabled "multivalues insert" for SQL Server 2008. Pull request
.. change::
:tags: feature, examples
- :pullreq: bitbucket:21
:versions: 1.0.0b1
Added a new example illustrating materialized paths, using the
.. change::
:tags: bug, testsuite
- :pullreq: github:95
:versions: 1.0.0b1
In public test suite, shanged to use of ``String(40)`` from
.. change::
:tags: feature, postgresql
:versions: 1.0.0b1
- :pullreq: github:88
Added support for AUTOCOMMIT isolation level when using the pg8000
DBAPI. Pull request courtesy Tony Locke.
:tags: bug, postgresql
:tickets: 3021
:versions: 1.0.0b1
- :pullreq: github:87
The psycopg2 ``.closed`` accessor is now consulted when determining
if an exception is a "disconnect" error; ideally, this should remove
.. change::
:tags: feature, postgresql
:tickets: 2785
- :pullreq: bitbucket:18
:versions: 1.0.0b1
Added a new flag :paramref:`.ARRAY.zero_indexes` to the PostgreSQL
.. change::
:tags: bug, py3k, tests
:tickets: 2830
- :pullreq: bitbucket:2830
:versions: 1.0.0b1
Corrected for some deprecation warnings involving the ``imp``
.. change::
:tags: bug, sql
:tickets: 2988
- :pullreq: github:78
Fixed an 0.9 regression where a :class:`.Table` that failed to
reflect correctly wouldn't be removed from the parent
.. change::
:tags: feature, oracle
:tickets: 2911
- :pullreq: github:74
Added a new engine option ``coerce_to_unicode=True`` to the
cx_Oracle dialect, which restores the cx_Oracle outputtypehandler
.. change::
:tags: sqlite, bug
- :pullreq: github:65
Support has been added to SQLite type reflection to fully support
the "type affinity" contract specified at http://www.sqlite.org/datatype3.html.
.. change::
:tags: postgresql, feature
- :pullreq: github:64
Added the :attr:`.TypeEngine.python_type` convenience accessor onto the
:class:`.postgresql.ARRAY` type. Pull request courtesy Alexey Terentev.
.. change::
:tags: examples, feature
- :pullreq: github:41
Added optional "changed" column to the versioned rows example, as well
as support for when the versioned :class:`.Table` has an explicit
.. change::
:tags: bug, mysql, cymysql
:tickets: 2934
- :pullreq: github:69
Fixed bug in cymysql dialect where a version string such as
``'33a-MariaDB'`` would fail to parse properly. Pull request
.. change::
:tags: bug, sql
- :pullreq: github:67
Fixed regression in new "naming convention" feature where conventions
would fail if the referred table in a foreign key contained a schema
.. change::
:tags: bug, sql
- :pullreq: bitbucket:11
A :class:`.UniqueConstraint` created inline with a :class:`.Table`
that has no columns within it will be skipped. Pullreq courtesy
.. change::
:tags: feature, mssql
- :pullreq: bitbucket:11
Added an option ``mssql_clustered`` to the :class:`.UniqueConstraint`
and :class:`.PrimaryKeyConstraint` constructs; on SQL Server, this adds
.. change::
:tags: bug, py3k, cextensions
- :pullreq: github:55
Fixed an issue where the C extensions in Py3K are using the wrong API
to specify the top-level module function, which breaks
.. change::
:tags: bug, schema
- :pullreq: github:57
Restored :class:`sqlalchemy.schema.SchemaVisitor` to the ``.schema``
module. Pullreq courtesy Sean Dague.
.. change::
:tags: bug, orm
- :pullreq: bitbucket:9
Fixed bug where using new :attr:`.Session.info` attribute would fail
if the ``.info`` argument were only passed to the :class:`.sessionmaker`
.. change::
:tags: feature, postgresql
:tickets: 2581
- :pullreq: github:50
Support for PostgreSQL JSON has been added, using the new
:class:`.JSON` type. Huge thanks to Nathan Rice for
.. change::
:tags: feature, postgresql
- :pullreq: bitbucket:8
Added support for PostgreSQL TSVECTOR via the
:class:`.postgresql.TSVECTOR` type. Pull request courtesy
.. change::
:tags: bug, orm, collections, py3k
- :pullreq: github:40
Added support for the Python 3 method ``list.clear()`` within
the ORM collection instrumentation system; pull request
.. change::
:tags: feature, sql
- :pullreq: github:42
A new API for specifying the ``FOR UPDATE`` clause of a ``SELECT``
is added with the new :meth:`.GenerativeSelect.with_for_update` method.
.. change::
:tags: feature, orm
- :pullreq: github:42
A new API for specifying the ``FOR UPDATE`` clause of a ``SELECT``
is added with the new :meth:`.Query.with_for_update` method,
.. change::
:tags: bug, sql
:tickets: 3643
- :pullreq: github:232
Fixed issue where the "literal_binds" flag was not propagated
for :func:`.expression.insert`, :func:`.expression.update` or
.. change::
:tags: bug, mssql
:tickets: 3624
- :pullreq: bitbucket:70
Fixed the syntax of the :func:`.extract` function when used on
MSSQL against a datetime value; the quotes around the keyword
.. change::
:tags: bug, mysql
- :pullreq: github:222
Added new reserved words for MySQL 5.7 to the MySQL dialect,
including 'generated', 'optimizer_costs', 'stored', 'virtual'.
.. change::
:tags: bug, postgresql
- :pullreq: github:216
:tickets: 3573
.. change::
:tags: bug, postgresql
- :pullreq: github:215
Fixed bug where some varieties of SQL expression passed to the
.. change::
:tags: bug, orm, declarative
- :pullreq: github:212
Fixed bug where in Py2K a unicode literal would not be accepted as the
.. change::
:tags: bug, mssql
- :pullreq: github:206
A descriptive ValueError is now raised in the event that SQL server
returns an invalid date or time format from a DATE or TIME
.. change::
:tags: bug, py3k
- :pullreq: github:210, github:218, github:211
Updates to internal getargspec() calls, some py36-related
fixture updates, and alterations to two iterators to "return" instead
.. change::
:tags: feature, sql
- :pullreq: github:200
Added support for parameter-ordered SET clauses in an UPDATE
statement. This feature is available by passing the
.. change::
:tags: bug, mssql
- :pullreq: github:213
Fixed issue where DDL generated for the MSSQL types DATETIME2,
.. change::
:tags: feature, orm
- :pullreq: github:201
Added new method :meth:`.Query.one_or_none`; same as
:meth:`.Query.one` but returns None if no row found. Pull request
.. change::
:tags: bug, postgresql
- :pullreq: github:190
An adjustment to the new PostgreSQL feature of reflecting storage
.. change::
:tags: feature, sql
:tickets: 3459
- :pullreq: bitbucket:56
Added a :meth:`.ColumnElement.cast` method which performs the same
purpose as the standalone :func:`.cast` function. Pull request
.. change::
:tags: bug, sql
- :pullreq: github:188
Fixed bug where the modulus SQL operator wouldn't work in reverse
due to a missing ``__rmod__`` method. Pull request courtesy
.. change::
:tags: feature, schema
- :pullreq: github:186
Added support for the MINVALUE, MAXVALUE, NO MINVALUE, NO MAXVALUE,
and CYCLE arguments for CREATE SEQUENCE as supported by PostgreSQL
.. change::
:tags: feature, postgresql
:tickets: 3455
- :pullreq: github:179
Added support for storage parameters under CREATE INDEX, using
a new keyword argument ``postgresql_with``. Also added support for
.. change::
:tags: feature, postgresql
- :pullreq: github:182
Added new execution option ``max_row_buffer`` which is interpreted
by the psycopg2 dialect when the ``stream_results`` option is
.. change::
:tags: bug, orm
:tickets: 3451
- :pullreq: github:181
Fixed bug in new :meth:`.Session.bulk_update_mappings` feature where
the primary key columns used in the WHERE clause to locate the row
.. change::
:tags: feature, ext
- :pullreq: bitbucket:54
Added support for ``*args`` to be passed to the baked query
initial callable, in the same way that ``*args`` are supported
.. change::
:tags: bug, firebird
:tickets: 3380
- :pullreq: github:168
Fixed a regression due to :ticket:`3034` where limit/offset
clauses were not properly interpreted by the Firebird dialect.
.. change::
:tags: bug, mssql
- :pullreq: github:166
Using the ``Binary`` constructor now present in pymssql rather than
patching one in. Pull request courtesy Ramiro Morales.
.. change::
:tags: feature, sql
:tickets: 3084
- :pullreq: bitbucket:47
The topological sorting used to sort :class:`.Table` objects
and available via the :attr:`.MetaData.sorted_tables` collection
.. change::
:tags: feature, orm
- :pullreq: github:164
Added new argument :paramref:`.Query.update.update_args` which allows
kw arguments such as ``mysql_limit`` to be passed to the underlying
.. change::
:tags: bug, mysql
:tickets: 2771
- :pullreq: bitbucket:49
Fixes to fully support using the ``'utf8mb4'`` MySQL-specific charset
with MySQL dialects, in particular MySQL-Python and PyMySQL. In
.. change::
:tags: bug, orm
:tickets: 3327
- :pullreq: github:160
Fixed unexpected use regression from pullreq github:137 where
Py2K unicode literals (e.g. ``u""``) would not be accepted by the
.. change::
:tags: feature, postgresql
- :pullreq: github:132
The PG8000 dialect now supports the
:paramref:`.create_engine.encoding` parameter, by setting up
.. change::
:tags: feature, postgresql
- :pullreq: github:132
Added support for PG8000's native JSONB feature. Pull request
courtesy Tony Locke.
.. change::
:tags: feature, oracle
- :pullreq: github:152
Added support for cx_oracle connections to a specific service
name, as opposed to a tns name, by passing ``?service_name=<name>``
.. change::
:tags: feature, postgresql, pypy
:tickets: 3052
- :pullreq: bitbucket:34
Added support for the psycopg2cffi DBAPI on pypy. Pull request
courtesy shauns.
.. change::
:tags: feature, orm
:tickets: 3262
- :pullreq: bitbucket:38
A warning is emitted when the same polymorphic identity is assigned
to two different mappers in the same hierarchy. This is typically a
.. change::
:tags: feature, sql
- :pullreq: github:150
The type of expression is reported when an object passed to a
SQL expression unit can't be interpreted as a SQL fragment;
.. change::
:tags: bug, sql
- :pullreq: github:146
Fixed the name of the :paramref:`.PoolEvents.reset.dbapi_connection`
parameter as passed to this event; in particular this affects
.. change::
:tags: feature, sql
- :pullreq: github:139
Added a new parameter :paramref:`.Table.tometadata.name` to
the :meth:`.Table.tometadata` method. Similar to
.. change::
:tags: bug, orm
- :pullreq: github:137
Repaired support of the ``copy.deepcopy()`` call when used by the
:class:`.orm.util.CascadeOptions` argument, which occurs
.. change::
:tags: feature, sql
:tickets: 3184
- :pullreq: bitbucket:30
The :class:`.UniqueConstraint` construct is now included when
reflecting a :class:`.Table` object, for databases where this
.. change::
:tags: feature, postgresql
- :pullreq: github:134
Added support for the FILTER keyword as applied to aggregate
functions, supported by PostgreSQL 9.4. Pull request
.. change::
:tags: bug, sqlite
:tickets: 3203
- :pullreq: bitbucket:31
SQLite now supports reflection of unique constraints from
temp tables; previously, this would fail with a TypeError.
.. change::
:tags: feature, postgresql
:tickets: 2891
- :pullreq: github:128
Support has been added for reflection of materialized views
and foreign tables, as well as support for materialized views
.. change::
:tags: sql, feature
:tickets: 3027
- :pullrequest: bitbucket:29
The :paramref:`.Table.autoload_with` flag now implies that
:paramref:`.Table.autoload` should be ``True``. Pull request
.. change::
:tags: postgresql, feature
- :pullreq: github:126
Added new method :meth:`.PGInspector.get_enums`, when using the
inspector for PostgreSQL will provide a list of ENUM types.
.. change::
:tags: feature, postgresql
- :pullreq: bitbucket:84
The DDL for DROP INDEX will emit "CONCURRENTLY" if the
``postgresql_concurrently`` flag is set upon the
.. change::
:tags: orm, feature
- :pullreq: github:237
Added :paramref:`.AutomapBase.prepare.schema` to the
:meth:`.AutomapBase.prepare` method, to indicate which schema
.. change::
:tags: feature, sqlite
- :pullreq: github:244
The SQLite dialect now reflects ON UPDATE and ON DELETE phrases
within foreign key constraints. Pull request courtesy
.. change::
:tags: bug, mssql
- :pullreq: bitbucket:58
Adjustments to the mxODBC dialect to make use of the ``BinaryNull``
symbol when appropriate in conjunction with the ``VARBINARY``
.. change::
:tags: feature, sql
- :pullreq: bitbucket:80
Implemented reflection of CHECK constraints for SQLite and PostgreSQL.
This is available via the new inspector method
.. change::
:tags: feature, postgresql
- :pullreq: github:297
-
+3
Added new parameter
:paramref:`.GenerativeSelect.with_for_update.key_share`, which
will render the ``FOR NO KEY UPDATE`` version of ``FOR UPDATE``
.. change::
:tags: feature, postgresql, oracle
- :pullreq: bitbucket:86
Added new parameter
:paramref:`.GenerativeSelect.with_for_update.skip_locked`, which
.. change::
:tags: feature, sql
- :pullreq: github:275
Added a hook in :meth:`.DDLCompiler.visit_create_table` called
:meth:`.DDLCompiler.create_table_suffix`, allowing custom dialects
.. change::
:tags: feature, sql
- :pullreq: github:231
Negative integer indexes are now accommodated by rows
returned from a :class:`.ResultProxy`. Pull request courtesy
.. change::
:tags: feature, sql
:tickets: 1957
- :pullreq: github:209
Added support for rendering "FULL OUTER JOIN" to both Core and ORM.
Pull request courtesy Stefan Urbanek.
.. change::
:tags: enhancement, schema
- :pullreq: github:204
The default generation functions passed to :class:`.Column` objects
are now run through "update_wrapper", or an equivalent function
.. change::
:tags: change, sqlite
- :pullreq: github:198
Added support to the SQLite dialect for the
:meth:`.Inspector.get_schema_names` method to work with SQLite;
.. change::
:tags: feature, orm
:tickets: 3512
- :pullreq: github:193
Added new relationship loading strategy :func:`.orm.raiseload` (also
accessible via ``lazy='raise'``). This strategy behaves almost like
changelog_render_ticket = "http://www.sqlalchemy.org/trac/ticket/%s"
changelog_render_pullreq = {
- "bitbucket": "https://bitbucket.org/zzzeek/sqlalchemy/pull-request/%s",
- "default": "https://bitbucket.org/zzzeek/sqlalchemy/pull-request/%s",
- "github": "https://github.com/zzzeek/sqlalchemy/pull/%s",
+ "default": "https://github.com/sqlalchemy/sqlalchemy/pull/%s",
+ "github": "https://github.com/sqlalchemy/sqlalchemy/pull/%s",
}
changelog_render_changeset = "http://www.sqlalchemy.org/trac/changeset/%s"
without an explicit name being specified.
The use case of alteration of existing tables and constraints can be handled
-by schema migration tools such as `Alembic <http://alembic.zzzcomputing.com/>`_.
+by schema migration tools such as `Alembic <https://alembic.sqlalchemy.org/>`_.
However, neither Alembic nor SQLAlchemy currently create names for constraint
objects where the name is otherwise unspecified, leading to the case where
being able to alter existing constraints means that one must reverse-engineer
:paramref:`.MetaData.naming_convention` - for additional usage details
as well as a listing of all available naming components.
- `The Importance of Naming Constraints <http://alembic.zzzcomputing.com/en/latest/naming.html>`_ - in the Alembic documentation.
+ `The Importance of Naming Constraints <https://alembic.sqlalchemy.org/en/latest/naming.html>`_ - in the Alembic documentation.
.. versionadded:: 0.9.2 Added the :paramref:`.MetaData.naming_convention` argument.
There are two major migration tools available for SQLAlchemy:
-* `Alembic <http://alembic.zzzcomputing.com>`_ - Written by the author of SQLAlchemy,
+* `Alembic <https://alembic.sqlalchemy.org>`_ - Written by the author of SQLAlchemy,
Alembic features a highly customizable environment and a minimalistic usage pattern,
supporting such features as transactional DDL, automatic generation of "candidate"
migrations, an "offline" mode which generates SQL scripts, and support for branch
resolution.
* `SQLAlchemy-Migrate <https://github.com/openstack/sqlalchemy-migrate>`_ - The original
- migration tool for SQLAlchemy, SQLAlchemy-Migrate is widely used and continues
- under active development. SQLAlchemy-Migrate includes features such as
- SQL script generation, ORM class generation, ORM model comparison, and extensive
- support for SQLite migrations.
+ migration tool for SQLAlchemy, SQLAlchemy-Migrate is still used by projects
+ such as Openstack, however is being superseded by Alembic.
Specifying the Schema Name
engine = create_engine('postgresql://', strategy='mock', executor=dump)
metadata.create_all(engine, checkfirst=False)
-The `Alembic <https://bitbucket.org/zzzeek/alembic>`_ tool also supports
+The `Alembic <https://alembic.sqlalchemy.org>`_ tool also supports
an "offline" SQL generation mode that renders database migrations as SQL scripts.
How can I subclass Table/Column to provide certain behaviors/configurations?