| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
pytest has removed support for pytest.Class().collect()
and we need to use from_parent.
Change-Id: Ia5fed9b22e76c99f71489283acee207f996f52a4
|
| |
|
|
|
|
|
|
|
| |
With version 2.0.0 they removed the old terminology, which
I had no idea had been changed in any case for several years.
pushing this out for all branches
Change-Id: If200b4335a6331b606499c569cee4586a41f03fb
|
| |
|
|
|
|
|
|
|
| |
In 14b1e6fe8e18d139846c1aba6761d4eea3dc25c3 we added
suite-level requirements but did not add them to the
base, causing failures in third party dialect test suites.
Change-Id: I7edf0be86b814b508071c5c752fc2dd744a3d9ad
(cherry picked from commit f79967441fd092ba9cc81f53b6a71e8cf0223b35)
|
| |
|
|
|
|
|
|
|
| |
In 2efd89d02941ab4267d6e2842963fd38b1539f6c we added
suite-level requirements but did not add them to the
base, causing failures in third party dialect test suites.
Change-Id: Ic5f1a053f5c47166e1b12c613595823106c8736e
(cherry picked from commit 33648643f227929f083b67d817701f930078f901)
|
| |
|
|
|
|
|
| |
in order to allow the 1.1 branch to include its test suite
under Python 3, filter out the formatargspec warning
Change-Id: I20aeddb6bb88817f7d2b1d50543df2aa4d43a8cc
|
| |
|
|
|
|
|
|
|
|
|
|
| |
These changes should be ported from 1.3 back to 1.0 or
possibly 0.9 to the extent they are relevant in each
version. In 1.3 we hope to turn all deprecation documentation
into warnings.
(cherry picked from commit 77e9534673d58f2f4c33d16c0ed4e8671cea48b6)
(cherry picked from commit dcfe5a3f8929a11fd8d89b3b34449e1894bb2a3b)
Change-Id: I205186cde161af9389af513a425c62ce90dd54d8
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Author: Lele Gaifax <lele@metapensiero.it>
Date: Tue Dec 25 12:35:41 2018 +0100
Consistently use "PostgreSQL", fixing also a few doc glitches
commit 0e382aaee4427193926f0dc10ad29056bc12c85e
Author: Lele Gaifax <lele@metapensiero.it>
Date: Tue Dec 25 12:08:49 2018 +0100
Remove duplicated words
Change-Id: Iaa586b9412f46a50fe6ff3bbb92e07d6cb1905c8
(cherry picked from commit c0f9708fde39175c8695fdd87873464f516fdf98)
(cherry picked from commit 7ec092063a7defe2b60d8f01b2eb3cda9dd28c90)
|
| |
|
|
|
|
|
|
|
|
|
| |
Use the existence of ConnectionRecord.connection to estimate
that this connection is likely closed, and if so, don't
try to call "rollback" on it. This rollback is normally harmless
but is causing segfaults in mysqlclient due to
https://github.com/PyMySQL/mysqlclient-python/issues/270.
Change-Id: I1d7c5f5a520527d8268b6334795c2051f7ceeea6
(cherry picked from commit a8781b51b4039eee56791b9dbfdee183f7a5b797)
|
| |
|
|
|
|
|
|
|
|
| |
MariaDB seems to handle some additional UPDATE/DELETE FROM
syntaxes as well as some forms of INTERSECT and EXCEPT. Open
up tests that expect failure for MySQL to allow success for
MariaDB 10.3.
Change-Id: Ia9341a82485ef7201bb8130d8dbf4a9b6976035a
(cherry picked from commit 081d4275cf5c3e6842c8e0198542ff89617eaa96)
|
| |
|
|
|
| |
Change-Id: I3ef36bfd0cb0ba62b3123c8cf92370a43156cf8f
(cherry picked from commit 699272e4dcb9aa71ebbc0d9487fb6de82d3abc2b)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
MySQL 5.7.20 now warns for use of the @tx_isolation variable; a version
check is now performed and uses @transaction_isolation instead
to prevent this warning.
For 1.1, also backport our_warn() test fixture fix from
9f0fb6c601 1.2 branch.
(cherry picked from commit 41cfe44b5e5806b3d3b13949e41dbb347bfa29e1)
Co-authored by: Mike Bayer <mike_mp@zzzcomputing.com>
Fixes: #4120
Pull-request: https://github.com/zzzeek/sqlalchemy/pull/391
Change-Id: I4d2e04df760c5351a71dde8b32145cdc69fa6115
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Fixed bug where SQLite CHECK constraint reflection would fail
if the referenced table were in a remote schema, e.g. on SQLite a
remote database referred to by ATTACH.
Also add suite support for general CHECK constraint reflection.
Change-Id: I073a72cb47dc4f8c5683000d708768523759332f
Fixes: #4099
(cherry picked from commit 68b52c48b775f9a99d0bc3666ebe02c54e401303)
|
| |
|
|
|
| |
Change-Id: I42821d8324208b708adc17a10b1a2758797cb9db
(cherry picked from commit a61ff195b5687b32828e1bc4d958c5cd87e94ff0)
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The change in de1f8f8345ecd6af0ec1177703465e9471cfe862
modified how test classes are named, breaking logic that
extracts the class name for the profiling suite.
Add a new variable _sa_orig_cls_name if we've modified the
name so that the profiling logic doesn't need to guess
the original class name.
Change-Id: Ica15a97408b9e0749a78c87f62749c15c1627009
(cherry picked from commit bb9d511e52ee5ab3621d8595328ee2400242461a)
|
| |
|
|
|
|
|
|
|
|
|
| |
Improve screen output to illustrate which server version is
running for a particular database config, and additionally
allow full overriding for the backend-specific targets in
tox.ini via environment variables, so that CI can inject
multiple server urls for a particular database such as MySQL/MariaDB.
Change-Id: Ibf443bb9fb82e4563efd1bb66058fa9989aa2fda
(cherry picked from commit de1f8f8345ecd6af0ec1177703465e9471cfe862)
|
| |
|
|
|
|
|
|
|
| |
PG CREATE DATABASE. as nobody will connect to it that would
solve the contention issue here
- backport --nomemory since tox.ini is using it
Change-Id: I00a4d52091876e120faff4a8a5493c53280d96f1
(cherry picked from commit 4c306818396c8cc98a16a14c5ed3361cf6ff373a)
|
| |
|
|
|
| |
Change-Id: I69e39d2368f50b126c369ecc35e01799fd013254
(cherry picked from commit 3fc6f32ddc5fbbf439acff42c2fdae9e910154be)
|
| |
|
|
| |
Change-Id: Iaaababf83b9c3a6e4dc784fc9807bed01c90b69b
|
| |
|
|
|
| |
Change-Id: Id0cf7ae2223507d413aaa22e5f8df066b7ac2b46
(cherry picked from commit fe5eede555973044aceda038e28a190ebb483579)
|
| |
|
|
| |
Change-Id: I5630eb8ba503c567bebddd10f6e525ceb3dd5998
|
| |
|
|
|
| |
Change-Id: I475f744f8801bc923d738e466d208d662e707413
(cherry picked from commit 97e455f21b513936b7afda760c2ab0f3c04a12fd)
|
| |
|
|
|
| |
Change-Id: Icdcc8ed03374251b8d3815ae58e2726ea27c14b4
(cherry picked from commit 64032a35ae3dbed0bd5bbdf4d07b3f0094684f87)
|
| |
|
|
|
|
|
| |
supporting custom dburi etc.
Change-Id: Ic0ab0b3b4223e40fd335ee3313fda4dfce942100
(cherry picked from commit cc741e1ac7fce9ce7117b4855d56e38749c04868)
|
| |
|
|
|
| |
Change-Id: I1ac16bc77642f4f576195ac10443ed8e641e0d49
(cherry picked from commit 00309662008b8c4a66f3e008d417ff836c91004b)
|
| |
|
|
|
| |
Change-Id: Id8156f6af15a36f7d5653dff56f68e81431692a6
(cherry picked from commit ecdd922d9627c60058833fbcc2c8c2bc06d7332b)
|
| |
|
|
|
|
|
|
|
| |
Fixed issue in testing fixtures which was incompatible with a change
made as of Python 3.6.2 involving context managers.
Change-Id: I0f12aa6cc15cba89153f7e4888ac347e7ce599c7
Fixes: #4034
(cherry picked from commit 7d4005156b5a48989dae7c4424faafc03cc8410d)
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Added an exception handler that will warn for the "cause" exception on
Py2K when the "autorollback" feature of :class:`.Connection` itself
raises an exception. In Py3K, the two exceptions are naturally reported
by the interpreter as one occurring during the handling of the other.
This is continuing with the series of changes for rollback failure
handling that were last visited as part of :ticket:`2696` in 1.0.12.
Change-Id: I600ba455a14ebaea27c6189889181f97c632f179
Fixes: #3946
(cherry picked from commit c0a224aba3d4e2a41f92a29f9d18c6cb9d09d61f)
|
| |
|
|
|
|
|
|
|
|
|
| |
Some options need to be passed to engines in all cases,
such as currently the oracle 12516 workaround. make sure
calls to testing_engine also set up the dictionary with
defaults even if options is passed. not clear if this affects
other backends yet.
Change-Id: I5a1f7634e4ce5af6fe55dc21a24db6afacd19bb7
(cherry picked from commit 28edc2604a96d5ecd8318232c95a034433aa07d1)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
cx_Oracle 5.3 seems to code this flag ON now, so
remove the warning and ensure WITH_UNICODE handling works.
Additionally, the XE setup on jenkins is having more
problems here, in particular low-connections mode is
causing cx_Oracle to fail more frequently now. Turning
off low-connections fixes those but then we get the
TNS errors, so adding an emergency "retry" flag that
is not yet a feature available to users. Real world
applications are not dropping/creating thousands of
tables the way our test suite is.
Change-Id: Ie95b0e697276c404d3264c2e624e870463d966d6
Fixes: #3937
|
| |
|
|
|
|
|
|
|
|
|
| |
Corrects some warnings and adds tox config. Adds DeprecationWarning
to the error category. Large sweep for string literals w/ backslashes
as this is common in docstrings
Co-authored-by: Andrii Soldatenko
Fixes: #3886
Change-Id: Ia7c838dfbbe70b262622ed0803d581edc736e085
Pull-request: https://github.com/zzzeek/sqlalchemy/pull/337
|
| |
|
|
| |
Change-Id: I4e8c2aa8fe817bb2af8707410fa0201f938781de
|
| |
|
|
|
|
|
|
|
|
|
| |
- Fixed bug where SQL Server dialects would attempt to select the
last row identity for an INSERT from SELECT, failing in the case when
the SELECT has no rows. For such a statement,
the inline flag is set to True indicating no last primary key
should be fetched.
Change-Id: Ic40d56d9eadadc3024a4d71245f9eed4c420024a
Fixes: #3876
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixed issue in :class:`.Variant` where the "right hand coercion" logic,
inherited from :class:`.TypeDecorator`, would
coerce the right-hand side into the :class:`.Variant` itself, rather than
what the default type for the :class:`.Variant` would do. In the
case of :class:`.Variant`, we want the type to act mostly like the base
type so the default logic of :class:`.TypeDecorator` is now overridden
to fall back to the underlying wrapped type's logic. Is mostly relevant
for JSON at the moment.
This patch additionally adds documentation and basic tests to allow
for backend-agnostic comparison of JSON index elements to other objects.
A future version should attempt to improve upon this by providing
"astext", "asint" types of operators.
Change-Id: I7b7b45d604a4ae8d1dc236a5a1248695aab5232e
Fixes: #3859
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Ported the fix for Oracle quoted-lowercase names to Firebird, so that
a table name that is quoted as lower case can be reflected properly
including when the table name comes from the get_table_names()
inspection function.
Also genericize the test to the test suite for denormlized name
dialects.
Fixes: #3548
Change-Id: I8ca62e8d2b359e363ccb01cfe2daa0995354a3cb
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows to skip buffering of the results on the client side, e.g.
the following snippet:
table = sa.Table(
'testtbl', sa.MetaData(),
sa.Column('id', sa.Integer, primary_key=True),
sa.Column('a', sa.Integer),
sa.Column('b', sa.String(512))
)
table.create(eng, checkfirst=True)
with eng.connect() as conn:
result = conn.execute(table.select().limit(1)).fetchone()
if result is None:
for _ in range(1000):
conn.execute(
table.insert(),
[{'a': random.randint(1, 100000),
'b': ''.join(random.choice(string.ascii_letters) for _ in range(100))}
for _ in range(1000)]
)
with eng.connect() as conn:
for row in conn.execution_options(stream_results=True).execute(table.select()):
pass
now uses ~23 MB of memory instead of ~327 MB on CPython 3.5.2 and
PyMySQL 0.7.9.
psycopg2 implementation and execution options (stream_results,
server_side_cursors) are reused.
Change-Id: I4dc23ce3094f027bdff51b896b050361991c62e2
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- add a connect=True key to connection record to support
pre-loading of _ConnectionRecord objects
- ensure _ConnectionRecord.close() leaves the record in a good
state for reopening
- add _ConnectionRecord.record_info for persistent storage
- add "in_use" accessor based on fairy_ref being present or not
- allow for the exclusions system and SuiteRequirements to be
usable without the full plugin_base setup.
- move some Python-env requirements to the importable
requirements.py module.
- allow starttime to be queried
- add additional events for engine plugins
- have "dialect" be a first-class parameter to the pool,
ensure the engine strategy supplies it up front
Change-Id: Ibf549f7a1766e49d335cd6f5e26bacfaef9a8229
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixed bug where the "simple many-to-one" condition that allows lazy
loading to use get() from identity map would fail to be invoked if the
primaryjoin of the relationship had multiple clauses separated by AND
which were not in the same order as that of the primary key columns
being compared in each clause. This ordering
difference occurs for a composite foreign key where the table-bound
columns on the referencing side were not in the same order in the .c
collection as the primary key columns on the referenced side....which
in turn occurs a lot if one is using declarative mixins and/or
declared_attr to set up columns.
Change-Id: I66cce74f614c04ed693dc0d58ac8c952b2f8ae54
Fixes: #3788
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Fixed regression in JSON datatypes where the "literal processor" for
a JSON index value, that needs to take effect for example within DDL,
would not be invoked for the value. The native String and Integer
datatypes are now called upon from within the JSONIndexType
and JSONPathType. This is applied to the generic, Postgresql, and
MySQL JSON types.
Change-Id: Ifa5f2acfeee57a79d01d7fc85d265a37bd27c716
Fixes: #3765
|
| |
|
|
|
|
|
|
|
|
| |
this must have been an oversight. Leave mysql.JSON in place still
as we might need to add things to it.
- CAST(json, String) still confusing MySQL drivers even mysqlclient.
Since here we're checking for the raw form of the JSON and not a typical
round trip, add a force for unicode
Change-Id: I727f4526a01a0875037cf0dede45cd074da5205a
|
| |
|
|
| |
Change-Id: I2dc6961f9b692a8bb6bfb2296d159df145dec679
|
| |
|
|
|
|
|
|
|
| |
Regarding 0e88bcc30ed49193b91f248123f526fa30007f22, "options"
needs to be present as a key in the dictionary because Alembic
uses this as a guide to know if the backend is even capable of
reporting on foreign key options.
Change-Id: I271090f75088cfeec24315a878060f9b8a265335
|
| |
|
|
|
|
| |
run to prevent race conditions against concurrent runs
Change-Id: I065d1cec346ea7af03792c3cc2f30766f73c2bd3
|
| |
|
|
|
|
|
| |
sometimes and it really breaks the build once this
error occurs.
Change-Id: I577c78d623b22a6429f8b083fe08821bc467eb7a
|
| | |
|
| |
|
|
| |
for stray connection
|
| |
|
|
| |
like this
|
| |
|
|
|
| |
for example an exception object made within a test suite can
still repr (error seen in Keystone)
|
| |
|
|
|
|
|
| |
INSERT, UPDATE, and DELETE statements to both specify their own
WITH clause, as well as for these statements themselves to be
CTE expressions when they include a RETURNING clause.
fixes #2551
|
| |
|
|
|
| |
because we never log in on the ts1/ts2. races against other runs
and erases their DBs
|