]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commit
Add sequence support for MariaDB 10.3+.
authorGord Thompson <gord@gordthompson.com>
Thu, 21 Nov 2019 14:43:40 +0000 (09:43 -0500)
committerMike Bayer <mike_mp@zzzcomputing.com>
Tue, 26 Nov 2019 16:06:37 +0000 (11:06 -0500)
commit6f99bdf013f3a0637f0544c4c3daeac0392553d6
tree806937a8f44eddd254e41ed7597371a87d2108fa
parentd933ddd503a1ca0a7c562c51c503139c541e707e
Add sequence support for MariaDB 10.3+.

Added support for use of the :class:`.Sequence` construct with MariaDB 10.3
and greater, as this is now supported by this database.  The construct
integrates with the :class:`.Table` object in the same way that it does for
other databases like PostrgreSQL and Oracle; if is present on the integer
primary key "autoincrement" column, it is used to generate defaults.   For
backwards compatibility, to support a :class:`.Table` that has a
:class:`.Sequence` on it to support sequence only databases like Oracle,
while still not having the sequence fire off for MariaDB, the optional=True
flag should be set, which indicates the sequence should only be used to
generate the primary key if the target database offers no other option.

Fixes: #4976
Closes: #4996
Pull-request: https://github.com/sqlalchemy/sqlalchemy/pull/4996
Pull-request-sha: cb2e1426ea0b6bc6c93dbe8f033a11df9d8c4915

Change-Id: I507bc405eee6cae2c5991345d0eac53a37fe7512
doc/build/changelog/migration_14.rst
doc/build/changelog/unreleased_14/4976.rst [new file with mode: 0644]
doc/build/core/defaults.rst
lib/sqlalchemy/dialects/mysql/base.py
lib/sqlalchemy/sql/crud.py
lib/sqlalchemy/sql/schema.py
lib/sqlalchemy/testing/fixtures.py
lib/sqlalchemy/testing/requirements.py
test/engine/test_execute.py
test/sql/test_defaults.py