]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/log
thirdparty/sqlalchemy/sqlalchemy.git
7 years agoAdd SQL Server CI coverage
Mike Bayer [Tue, 29 Aug 2017 16:36:54 +0000 (12:36 -0400)] 
Add SQL Server CI coverage

Change-Id: Ida0d01ae9bcc0573b86e24fddea620a38c962822

7 years ago- pin on cx_Oracle 6.0.1 for the moment while we wait for
Mike Bayer [Thu, 31 Aug 2017 20:22:52 +0000 (16:22 -0400)] 
- pin on cx_Oracle 6.0.1 for the moment while we wait for
either https://github.com/oracle/python-cx_Oracle/issues/75
to be fixed or we can merge a workaround

Change-Id: Ia3927337fb48824e0fdc764ed3a9d4930ca7a9c6

7 years agoAdditional fixes to sane rowcount
Mike Bayer [Thu, 31 Aug 2017 19:27:26 +0000 (15:27 -0400)] 
Additional fixes to sane rowcount

Implement rowcount assertions and single row check
for post_update as well as deletes.

Change-Id: I4e5ba7e8747bf0e0b41f569089eb8cdbf064b7a9
Fixes: #4062
7 years agoAdd new sane_rowcount_w_returning flag
Mike Bayer [Thu, 31 Aug 2017 17:12:50 +0000 (13:12 -0400)] 
Add new sane_rowcount_w_returning flag

Added a new class of "rowcount support" for dialects that is specific to
when "RETURNING", which on SQL Server looks like "OUTPUT inserted", is in
use, as the PyODBC backend isn't able to give us rowcount on an UPDATE or
DELETE statement when OUTPUT is in effect.  This primarily affects the ORM
when a flush is updating a row that contains server-calcluated values,
raising an error if the backend does not return the expected row count.
PyODBC now states that it supports rowcount except if OUTPUT.inserted is
present, which is taken into account by the ORM during a flush as to
whether it will look for a rowcount.

ORM tests are implicit in existing tests run against PyODBC

Fixes: #4062
Change-Id: Iff17cbe4c7a5742971ed85a4d58660c18cc569c2

7 years agoUse text_type, not unicode
Mike Bayer [Thu, 31 Aug 2017 14:04:22 +0000 (10:04 -0400)] 
Use text_type, not unicode

Revise the fix from 03560c4b83308719067ec635662c35f9a437fb7f
to use compat.text_type for py3k compatibility

Change-Id: Ia6807bd4de3bba4b33b5327a1be7e728b45eb093

7 years agoEnable native boolean for SQL Server
Mike Bayer [Wed, 30 Aug 2017 22:06:07 +0000 (18:06 -0400)] 
Enable native boolean for SQL Server

SQL Server supports what SQLAlchemy calls "native boolean"
with its BIT type, as this type only accepts 0 or 1 and the
DBAPIs return its value as True/False.   So the SQL Server
dialects now enable "native boolean" support, in that a
CHECK constraint is not generated for a :class:`.Boolean`
datatype.  The only difference vs. other native boolean
is that there are no "true" / "false" constants so "1" and
"0" are still rendered here.

Tests are implicit in the existing suites.

Change-Id: I75bbcd549884099fb1a177e68667bf880c40fa7c
Fixes: #4061
7 years agoMerge "Join key_constraints on schema as well for SQL server get_fks"
mike bayer [Wed, 30 Aug 2017 16:30:44 +0000 (12:30 -0400)] 
Merge "Join key_constraints on schema as well for SQL server get_fks"

7 years agoMerge "Ignore SQL Server "heap" indexes"
mike bayer [Wed, 30 Aug 2017 16:30:17 +0000 (12:30 -0400)] 
Merge "Ignore SQL Server "heap" indexes"

7 years agoAdd preparer to pymssql that disables percent doubling
Mike Bayer [Wed, 30 Aug 2017 16:19:54 +0000 (12:19 -0400)] 
Add preparer to pymssql that disables percent doubling

Fixed the pymssql dialect so that percent signs in SQL text, such
as used in modulus expressions or literal textual values, are
**not** doubled up, as seems to be what pymssql expects.  This is
despite the fact that the pymssql DBAPI uses the "pyformat" parameter
style which itself considers the percent sign to be significant.

Tests are part of standard suite already (CI has been disabled)

Change-Id: Ie05de403caefcba3292a967183a995e95a5854d5
Fixes: #4057
7 years agoIgnore SQL Server "heap" indexes
Mike Bayer [Wed, 30 Aug 2017 16:23:31 +0000 (12:23 -0400)] 
Ignore SQL Server "heap" indexes

Added a rule to SQL Server index reflection to ignore the so-called
"heap" index that is implicitly present on a table that does not
specify a clustered index.

Tests are part of standard suite already (CI has been disabled)

Change-Id: I593b95551c40ee5d95d54203611112cbff10856f
Fixes: #4059
7 years agoJoin key_constraints on schema as well for SQL server get_fks
Mike Bayer [Wed, 30 Aug 2017 16:25:57 +0000 (12:25 -0400)] 
Join key_constraints on schema as well for SQL server get_fks

Fixed bug where the SQL Server dialect could pull columns from multiple
schemas when reflecting a self-referential foreign key constraint, if
multiple schemas contained a constraint of the same name against a
table of the same name.

Tests are part of standard suite already (CI has been disabled)

Change-Id: I04ff4a5dea9b82c8e517b3700a28fe994b5550f3
Fixes: #4060
7 years ago- rename SQL server autocommit issue to 4058
Mike Bayer [Wed, 30 Aug 2017 16:15:00 +0000 (12:15 -0400)] 
- rename SQL server autocommit issue to 4058
Fixes #4058

Change-Id: I5d56f4a4d8e42659860fa982abee4698118e4d84

7 years agoImplement AUTOCOMMIT for pyodbc, pymssql
Mike Bayer [Tue, 29 Aug 2017 18:31:43 +0000 (14:31 -0400)] 
Implement AUTOCOMMIT for pyodbc, pymssql

In prep for CI coverage for SQL Server, allow AUTOCOMMIT
isolation level to work

Change-Id: I850b977e75f53385986f2c181be4e4412dd3b3f4

7 years agoGeneralize autocommit testing
Mike Bayer [Tue, 29 Aug 2017 17:37:02 +0000 (13:37 -0400)] 
Generalize autocommit testing

To support adding AUTOCOMMIT to more dialects, add a suite
test

Change-Id: I585dcce19fcdce70e8cf21aea4edaa97d7bf2bb9

7 years agoMerge "Apply percent sign escaping to literal binds, comments"
mike bayer [Mon, 28 Aug 2017 14:53:28 +0000 (10:53 -0400)] 
Merge "Apply percent sign escaping to literal binds, comments"

7 years agoMerge "Don't do recovery operations under Empty/AttributeError"
mike bayer [Fri, 25 Aug 2017 21:33:32 +0000 (17:33 -0400)] 
Merge "Don't do recovery operations under Empty/AttributeError"

7 years agoApply percent sign escaping to literal binds, comments
Mike Bayer [Fri, 25 Aug 2017 19:26:02 +0000 (15:26 -0400)] 
Apply percent sign escaping to literal binds, comments

Fixed bug in new percent-sign support (e.g. :ticket:`3740`) where a bound
parameter rendered with literal_binds would fail to escape percent-signs
for relevant dialects.  In addition, ensured new table / column comment
support feature also fully makes use of literal-rendered parameters so that
this percent sign support takes place with table / column comment DDL as
well, allowing percent sign support for the mysql / psycopg2 backends that
require escaping of percent signs.

Change-Id: Ia4136a300933e9bc6a01a7b9afd5c7b9a3fee4e3
Fixes: #4054
Fixes: #4052
7 years agoDon't do recovery operations under Empty/AttributeError
Mike Bayer [Fri, 14 Jul 2017 22:06:48 +0000 (18:06 -0400)] 
Don't do recovery operations under Empty/AttributeError

Made some adjustments to :class:`.Pool` and :class:`.Connection` such
that recovery logic is not run underneath exception catches for
``pool.Empty``, ``AttributeError``, since when the recovery operation
itself fails, Python 3 creates a misleading stack trace referring to the
``Empty`` / ``AttributeError`` as the cause, when in fact these exception
catches are part of control flow.

Change-Id: Id3ed9a8f96ce4ccb4009c94af30ddc2ddb9818b9
Fixes: #4028
7 years agoMerge "Allow for multiple FOLLOWING/PRECEDING in a window range"
mike bayer [Fri, 25 Aug 2017 19:29:25 +0000 (15:29 -0400)] 
Merge "Allow for multiple FOLLOWING/PRECEDING in a window range"

7 years agoAllow for multiple FOLLOWING/PRECEDING in a window range
Mike Bayer [Fri, 25 Aug 2017 13:41:18 +0000 (09:41 -0400)] 
Allow for multiple FOLLOWING/PRECEDING in a window range

Altered the range specification for window functions to allow
for two of the same PRECEDING or FOLLOWING keywords in a range
by allowing for the left side of the range to be positive
and for the right to be negative, e.g. (1, 3) is
"1 FOLLOWING AND 3 FOLLOWING".

Change-Id: I7d3a6c641151bb49219104968d18dac2266f3db8
Fixes: #4053
7 years agoMerge "Ensure col is not None when retrieving quick populators"
mike bayer [Thu, 24 Aug 2017 15:00:50 +0000 (11:00 -0400)] 
Merge "Ensure col is not None when retrieving quick populators"

7 years ago- remove 3.4's
Mike Bayer [Wed, 23 Aug 2017 21:24:00 +0000 (17:24 -0400)] 
- remove 3.4's

Change-Id: I16c9bceaf1ab68f72059b43bf01bb11f6395e6d5

7 years agoEnsure col is not None when retrieving quick populators
Mike Bayer [Wed, 23 Aug 2017 20:33:10 +0000 (16:33 -0400)] 
Ensure col is not None when retrieving quick populators

Fixed bug where an :func:`.undefer_group` option would not be recognized
if it extended from a relationship that was loading using joined eager
loading.

In particular we need to double check the column both in terms of
the given "adapter" as well as without applying the "adapter"
when searching for the column in the result.

As we now avoid redoing the row processor step we also
improve on callcounts in joined eager loading.

Change-Id: I0f48766f12f7299f4626ff41a00bf1f5bfca5f3b
Fixes: #4048
7 years agoHandle cache key for option that has no strategy
Mike Bayer [Tue, 22 Aug 2017 22:35:09 +0000 (18:35 -0400)] 
Handle cache key for option that has no strategy

Fixed regression where the use of a :func:`.undefer_group` option
in conjunction with a lazy loaded relationship option would cause
an attribute error, due to a bug in the SQL cache key generation
added in 1.2 as part of :ticket:`3954`.

Change-Id: Icd9a34f0b5aa96d6433a2ab9c8d3eaee0006f609
Fixes: #4049
7 years ago- fix typos
Mike Bayer [Tue, 22 Aug 2017 22:15:59 +0000 (18:15 -0400)] 
- fix typos

Change-Id: Ibf8bc0e997ff989c7b0c16afad48a95414078052

7 years ago- modernize the mysql connection timeout docs
Mike Bayer [Tue, 22 Aug 2017 20:50:19 +0000 (16:50 -0400)] 
- modernize the mysql connection timeout docs

Change-Id: Icb0474509539c1eb7536544749f2a48b4972078a
(cherry picked from commit 4ce46fb0a085c1cc739e21881cc25567e663f8dc)

7 years agoDeactivate transaction if rollback fails
Mike Bayer [Mon, 21 Aug 2017 18:21:50 +0000 (14:21 -0400)] 
Deactivate transaction if rollback fails

Fixed regression introduced in 1.2.0b1 due to :ticket:`3934` where the
:class:`.Session` would fail to "deactivate" the transaction, if a
rollback failed (the target issue is when MySQL loses track of a SAVEPOINT).
This would cause a subsequent call to :meth:`.Session.rollback` to raise
an error a second time, rather than completing and bringing the
:class:`.Session` back to ACTIVE.

Fixes: #4050
Change-Id: Id245e8dd3487cb006b2d6631c8bd513b5ce81abe

7 years ago- ensure identifier re-use doesn't make this break
Mike Bayer [Tue, 22 Aug 2017 17:55:49 +0000 (13:55 -0400)] 
- ensure identifier re-use doesn't make this break

Change-Id: I9fe6c42c097d31b50a479250d39a3cd8ebcbffaf

7 years ago- allow a separate template database to be used for
Mike Bayer [Tue, 22 Aug 2017 17:12:43 +0000 (13:12 -0400)] 
- allow a separate template database to be used for
PG CREATE DATABASE.  as nobody will connect to it that would
solve the contention issue here

Change-Id: I00a4d52091876e120faff4a8a5493c53280d96f1

7 years ago- repair --dbs
Mike Bayer [Tue, 22 Aug 2017 17:07:24 +0000 (13:07 -0400)] 
- repair --dbs

Change-Id: I69e39d2368f50b126c369ecc35e01799fd013254
(cherry picked from commit 3fc6f32ddc5fbbf439acff42c2fdae9e910154be)

7 years ago- add missing changelog file for #4045
Mike Bayer [Tue, 22 Aug 2017 02:14:19 +0000 (22:14 -0400)] 
- add missing changelog file for #4045

Change-Id: I649cef3f4d91dec79dbd425a7dc5aad35abe87e5

7 years ago- simplify and see if it still works
Mike Bayer [Tue, 22 Aug 2017 02:12:30 +0000 (22:12 -0400)] 
- simplify and see if it still works

Change-Id: Id0cf7ae2223507d413aaa22e5f8df066b7ac2b46

7 years ago- keep trying to get PG dbs to build
Mike Bayer [Mon, 21 Aug 2017 23:00:25 +0000 (19:00 -0400)] 
- keep trying to get PG dbs to build

Change-Id: Ib36949da8f079594494a482423d96e7509673481

7 years ago- add missing quotes
Mike Bayer [Mon, 21 Aug 2017 22:19:02 +0000 (18:19 -0400)] 
- add missing quotes

Change-Id: Ib6efc465cccd7c7661dd089856edfd4979b53517

7 years ago- try to get PG database create to be more reliable
Mike Bayer [Mon, 21 Aug 2017 21:55:26 +0000 (17:55 -0400)] 
- try to get PG database create to be more reliable

Change-Id: I9c9d101547f4484af447db924dc06afd0392a03e

7 years ago- sanitize class names for junit reporting
Mike Bayer [Mon, 21 Aug 2017 21:13:12 +0000 (17:13 -0400)] 
- sanitize class names for junit reporting

Change-Id: I42821d8324208b708adc17a10b1a2758797cb9db

7 years agoMerge branch 'fixtypo' of https://github.com/hsmtkk/sqlalchemy
Mike Bayer [Mon, 21 Aug 2017 20:28:12 +0000 (16:28 -0400)] 
Merge branch 'fixtypo' of https://github.com/hsmtkk/sqlalchemy

7 years ago- filter out non-oracle URLs
Mike Bayer [Mon, 21 Aug 2017 16:08:01 +0000 (12:08 -0400)] 
- filter out non-oracle URLs

Change-Id: I475f744f8801bc923d738e466d208d662e707413

7 years ago- this test doesn't work in strict mode, not that important
Mike Bayer [Mon, 21 Aug 2017 03:11:57 +0000 (23:11 -0400)] 
- this test doesn't work in strict mode, not that important

Change-Id: I3ed361af5c9f0c7acbeb8b534966828949f4958b

7 years ago- a few mysql fixes, more to come
Mike Bayer [Sun, 20 Aug 2017 22:57:05 +0000 (18:57 -0400)] 
- a few mysql fixes, more to come

Change-Id: Icdcc8ed03374251b8d3815ae58e2726ea27c14b4

7 years ago- rework oracle de-provisioning to write URLs to the file as well,
Mike Bayer [Sun, 20 Aug 2017 22:21:34 +0000 (18:21 -0400)] 
- rework oracle de-provisioning to write URLs to the file as well,
supporting custom dburi etc.

Change-Id: Ic0ab0b3b4223e40fd335ee3313fda4dfce942100

7 years ago- add some logging for the provisioning
Mike Bayer [Sun, 20 Aug 2017 02:45:31 +0000 (22:45 -0400)] 
- add some logging for the provisioning

Change-Id: I1ac16bc77642f4f576195ac10443ed8e641e0d49

7 years ago- dont run sql mode config tests if we aren't on mysql
Mike Bayer [Sat, 19 Aug 2017 22:20:48 +0000 (18:20 -0400)] 
- dont run sql mode config tests if we aren't on mysql

Change-Id: Ia5a491ec505afed1511a17a167cd1f7d8371acd4

7 years ago- do ten attempts to create database
Mike Bayer [Sat, 19 Aug 2017 22:06:02 +0000 (18:06 -0400)] 
- do ten attempts to create database

Change-Id: I14a5dd920d14096aa4401cb8b9d71f47d3915879

7 years agoMerge "First level repair for cx_Oracle 6.0 test regressions"
mike bayer [Sat, 19 Aug 2017 22:04:51 +0000 (18:04 -0400)] 
Merge "First level repair for cx_Oracle 6.0 test regressions"

7 years ago- correct server side cursor assertion for driver names
Mike Bayer [Sat, 19 Aug 2017 21:30:06 +0000 (17:30 -0400)] 
- correct server side cursor assertion for driver names

Change-Id: Id8156f6af15a36f7d5653dff56f68e81431692a6

7 years ago- name these TOX_ so that we can set them unconditionally
Mike Bayer [Sat, 19 Aug 2017 20:59:29 +0000 (16:59 -0400)] 
- name these TOX_ so that we can set them unconditionally
without them getting used unless we ask for them in the
build

Change-Id: Iec157ce9e70366af275acac959527461faebfdc1

7 years ago- rework the unittests README which was very out of date
Mike Bayer [Sat, 19 Aug 2017 18:06:14 +0000 (14:06 -0400)] 
- rework the unittests README which was very out of date

Change-Id: Id9bda43ea493a8d493be5ecb19da16a91a298f9d

7 years agoFirst level repair for cx_Oracle 6.0 test regressions
Mike Bayer [Fri, 18 Aug 2017 17:04:14 +0000 (13:04 -0400)] 
First level repair for cx_Oracle 6.0 test regressions

Fixed more regressions caused by cx_Oracle 6.0; at the moment, the only
behavioral change for users is disconnect detection now detects for
cx_Oracle.DatabaseError in addition to cx_Oracle.InterfaceError, as
this behavior seems to have changed.   Other issues regarding numeric
precision and uncloseable connections are pending with the upstream
cx_Oracle issue tracker.

Change-Id: Id61f1e33b21c155a598396340dfdecd28ff4066b
Fixes: #4045
7 years ago- convert to spaces
Mike Bayer [Thu, 17 Aug 2017 17:37:53 +0000 (13:37 -0400)] 
- convert to spaces

Change-Id: Ic5eb90049358935995721765b2239cf91144895a

7 years agoMerge "Enable uuid for pg8000"
mike bayer [Thu, 17 Aug 2017 13:14:07 +0000 (09:14 -0400)] 
Merge "Enable uuid for pg8000"

7 years agofix a typo
hsmtkk [Wed, 16 Aug 2017 09:38:40 +0000 (18:38 +0900)] 
fix a typo

7 years agoMerge "Ensure Oracle index w/ col DESC etc. is reflected"
mike bayer [Mon, 14 Aug 2017 17:54:12 +0000 (13:54 -0400)] 
Merge "Ensure Oracle index w/ col DESC etc. is reflected"

7 years agoIsolate memory tests in forks
Mike Bayer [Mon, 14 Aug 2017 16:04:26 +0000 (12:04 -0400)] 
Isolate memory tests in forks

Swing the biggest hammer, run multiprocessing.Process() for
each memusage test individually so that they are fully isolated
from the parent process and any side effects of pytest-xdist

Also add --nomemory as a shortcut to exclude_tags=memory-intensive
and add this to the setup.py test runner as the memory tests
should not be running for quick runs

Change-Id: I3c16c781e21b33deb939a64e77a6e0e41fb86922

7 years agoRestore original test names
Mike Bayer [Mon, 14 Aug 2017 13:32:08 +0000 (09:32 -0400)] 
Restore original test names

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

7 years agoEnsure Oracle index w/ col DESC etc. is reflected
Mike Bayer [Fri, 11 Aug 2017 19:52:28 +0000 (15:52 -0400)] 
Ensure Oracle index w/ col DESC etc. is reflected

Fixed bug where an index reflected under Oracle with an expression like
"column DESC" would not be returned, if the table also had no primary
key, as a result of logic that attempts to filter out the
index implicitly added by Oracle onto the primary key columns.

Reworked the "filter out the primary key index" logic in oracle
get_indexes() to be clearer.

This changeset also adds an internal check to ColumnCollection
to accomodate for the case of a column being added twice,
as well as adding a private _table argument to Index such that
reflection can specify the Table explicitly.  The _table
argument can become part of public API in a later revision
or release if needed.

Change-Id: I745711e03b3e450b7f31185fc70e10d3823063fa
Fixes: #4042
7 years ago- since we can't isolate the memory tests to run withtout pytest-xdist,
Mike Bayer [Mon, 14 Aug 2017 05:15:22 +0000 (01:15 -0400)] 
- since we can't isolate the memory tests to run withtout pytest-xdist,
add a new tag nomemory so we can at least limit on the build

Change-Id: I3935cf15047d77fc09f8ee229914e37e064e5b8b

7 years ago- try adding the prints back in and re-test
Mike Bayer [Fri, 11 Aug 2017 13:54:16 +0000 (09:54 -0400)] 
- try adding the prints back in and re-test

Change-Id: I3a82b06ecc3c065240cc05871dee2881f20e414e

7 years ago- take more print statements out, maybe this is not
Mike Bayer [Thu, 10 Aug 2017 19:44:54 +0000 (15:44 -0400)] 
- take more print statements out, maybe this is not
the issue
- unblock pytest-xdist now that the upstream issue is fixed,
maybe this old version is the issue

Change-Id: I28dd7ae0872948a188651d42e2f4af60bcbafe81

7 years agoMerge branch 'master--typos' of https://github.com/nphilipp/sqlalchemy
Mike Bayer [Wed, 9 Aug 2017 13:32:51 +0000 (09:32 -0400)] 
Merge branch 'master--typos' of https://github.com/nphilipp/sqlalchemy

7 years agoEnable uuid for pg8000
Mike Bayer [Tue, 8 Aug 2017 16:56:43 +0000 (12:56 -0400)] 
Enable uuid for pg8000

Enabled UUID support for the pg8000 driver, which supports native Python
uuid round trips for this datatype.  Arrays of UUID are still not supported,
however.

Change-Id: I44ca323c5d9f2cd87327210233bc36a3556eb050
Fixes: #4016
7 years agoAdd quoted_name to pg8000 py_types
Mike Bayer [Tue, 8 Aug 2017 17:30:49 +0000 (13:30 -0400)] 
Add quoted_name to pg8000 py_types

Fixed bug where the pg8000 driver would fail if using
:meth:`.MetaData.reflect` with a schema name, since the schema name would
be sent as a "quoted_name" object that's a string subclass, which pg8000
doesn't recognize.   The quoted_name type is added to pg8000's
py_types collection on connect.

Change-Id: Id0f838320cb66563685e094e4eae2d5116100d27
Fixes: #4041
7 years ago- dont print samples, this appears like it may be
Mike Bayer [Tue, 8 Aug 2017 21:24:23 +0000 (17:24 -0400)] 
- dont print samples, this appears like it may be
itself causing the memory leak in conjunction with pytest-xdist

Change-Id: Ia8704e54186e6dd60ea0e32a246fcf1419686663

7 years ago- allow the shrink phase for memusage to go until zeroed,
Mike Bayer [Tue, 8 Aug 2017 18:02:16 +0000 (14:02 -0400)] 
- allow the shrink phase for memusage to go until zeroed,
some MySQL-env element is causing memory growth that goes very
far before stopping

Change-Id: Ic0882dd78636067980fceba4e3a969de78d5b26a

7 years agoEnable multi-level selectin polymorphic loading
Mike Bayer [Thu, 13 Jul 2017 22:32:42 +0000 (18:32 -0400)] 
Enable multi-level selectin polymorphic loading

Change-Id: Icc742bbeecdb7448ce84caccd63e086af16e81c1
Fixes: #4026
7 years ago- modernize orm.reconstructor documentation a bit
Mike Bayer [Sun, 6 Aug 2017 01:46:24 +0000 (21:46 -0400)] 
- modernize orm.reconstructor documentation a bit

Change-Id: Ied786e8f9ad78f524be03a382d002dada7dd218b

7 years agofix "constrast" typos
Nils Philippsen [Sat, 5 Aug 2017 11:31:06 +0000 (13:31 +0200)] 
fix "constrast" typos

7 years agoAllow multiple versions of single backend
Mike Bayer [Fri, 4 Aug 2017 19:43:16 +0000 (15:43 -0400)] 
Allow multiple versions of single backend

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

7 years ago- fix one test for STRICT, which may be turned on by default
Mike Bayer [Fri, 4 Aug 2017 15:28:20 +0000 (11:28 -0400)] 
- fix one test for STRICT, which may be turned on by default
in mariadb 10.2.   more mariadb fixes coming

Change-Id: I6e3a94ae7340772663677b1082506adbb2d84a38

7 years agoPin to pytest<=3.0.7 pytest-xdist<=1.16.0
Mike Bayer [Fri, 4 Aug 2017 14:02:32 +0000 (10:02 -0400)] 
Pin to pytest<=3.0.7 pytest-xdist<=1.16.0

Until https://github.com/pytest-dev/pytest-xdist/issues/196 is fixed

Change-Id: I7dfd268e6078373ccaa0b5c13f9b6ffa1b2fd4b2

7 years ago- 1.0.19
Mike Bayer [Thu, 3 Aug 2017 15:36:44 +0000 (11:36 -0400)] 
- 1.0.19

Change-Id: I65ebe00fa7372151210a1f177f5417ac08c41586
(cherry picked from commit 90ef2c2314187b00e037a4b347b5d62eec387aac)

7 years ago- convert to spaces
Mike Bayer [Mon, 31 Jul 2017 12:30:45 +0000 (08:30 -0400)] 
- convert to spaces
- restore unreleased directories

Change-Id: Ia5c1142ffbdba6372f800c2e2521660ab62d9c4f

7 years agoMerge "Revert cx_Oracle WITH_UNICODE change under > 5.0"
mike bayer [Fri, 28 Jul 2017 22:06:21 +0000 (18:06 -0400)] 
Merge "Revert cx_Oracle WITH_UNICODE change under > 5.0"

7 years agoRevert cx_Oracle WITH_UNICODE change under > 5.0
Mike Bayer [Fri, 28 Jul 2017 19:05:25 +0000 (15:05 -0400)] 
Revert cx_Oracle WITH_UNICODE change under > 5.0

Fixed performance regression caused by the fix for :ticket:`3937` where
cx_Oracle as of version 5.3 dropped the ``.UNICODE`` symbol from its
namespace,  which was interpreted as cx_Oracle's "WITH_UNICODE" mode being
turned on unconditionally, which invokes functions on the SQLAlchemy
side which convert all strings to unicode unconditionally and causing
a performance impact.  In fact, per cx_Oracle's author the
"WITH_UNICODE" mode has been removed entirely as of 5.1, so the expensive unicode
conversion functions are no longer necessary and are disabled if
cx_Oracle 5.1 or greater is detected under Python 2.  The warning against
"WITH_UNICODE" mode that was removed under :ticket:`3937` is also restored.

Change-Id: Iddd38d81a5adb27c953a5ee2eae5529a21da16e1
Fixes: #4035
7 years ago- 1.1.13
Mike Bayer [Fri, 28 Jul 2017 19:16:17 +0000 (15:16 -0400)] 
- 1.1.13
- 1.0.19

Change-Id: I476213fe905a51826feeddb4e1c97416c2bac558
(cherry picked from commit f7beeb389d242d1c0fe56c22349f5dcc23722bde)

7 years ago- 1.2.0b3 prep
Mike Bayer [Tue, 25 Jul 2017 21:26:55 +0000 (17:26 -0400)] 
- 1.2.0b3 prep

Change-Id: I9aa6e891ca896b90b97fbd0e52f0ad73494e38d7

7 years ago- 1.2.0b2 rel_1_2_0b2
Mike Bayer [Mon, 24 Jul 2017 21:22:23 +0000 (17:22 -0400)] 
- 1.2.0b2

7 years ago- 1.1.12 release date
Mike Bayer [Mon, 24 Jul 2017 21:18:33 +0000 (17:18 -0400)] 
- 1.1.12 release date

(cherry picked from commit ad5626cdb9b4d4ac38b2169dc7377d4bc66ee549)

Change-Id: Icd2f3ce68451e609c0d1c116256c2e1cf8baf7eb

7 years ago- 1.0.18 release date
Mike Bayer [Mon, 24 Jul 2017 21:14:51 +0000 (17:14 -0400)] 
- 1.0.18 release date

(cherry picked from commit f00391a070d9031941bb1c17aecb265b566a6a5b)

Change-Id: I243a63d084d4b369ded7969d78e3ab033f6189bd

7 years agoMerge "Ensure we check for boolean condition when we inspect __exit__()"
mike bayer [Mon, 24 Jul 2017 20:54:13 +0000 (16:54 -0400)] 
Merge "Ensure we check for boolean condition when we inspect __exit__()"

7 years agoMerge "Guard all indexed access in WeakInstanceDict"
mike bayer [Mon, 24 Jul 2017 18:49:23 +0000 (14:49 -0400)] 
Merge "Guard all indexed access in WeakInstanceDict"

7 years agoMerge branch 'patch-1' of https://github.com/feanil/sqlalchemy
Mike Bayer [Mon, 24 Jul 2017 16:42:45 +0000 (12:42 -0400)] 
Merge branch 'patch-1' of https://github.com/feanil/sqlalchemy

7 years agoEnsure we check for boolean condition when we inspect __exit__()
Mike Bayer [Mon, 24 Jul 2017 16:13:05 +0000 (12:13 -0400)] 
Ensure we check for boolean condition when we inspect __exit__()

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
7 years agoGuard all indexed access in WeakInstanceDict
Mike Bayer [Mon, 17 Jul 2017 15:06:22 +0000 (11:06 -0400)] 
Guard all indexed access in WeakInstanceDict

Added ``KeyError`` checks to all methods within
:class:`.WeakInstanceDict` where a check for ``key in dict`` is
followed by indexed access to that key, to guard against a race against
garbage collection that under load can remove the key from the dict
after the code assumes its present, leading to very infrequent
``KeyError`` raises.

Change-Id: I881cc2899f7961d29a0549f44149a2615ae7a4ea
Fixes: #4030
7 years ago- Merge directory holder README from 1.0.x and also 1.0's changelog
Mike Bayer [Mon, 24 Jul 2017 14:52:07 +0000 (10:52 -0400)] 
- Merge directory holder README from 1.0.x and also 1.0's changelog

Change-Id: I588eebd027b4ad3428bd522f36a6f1cd77f105bb
(cherry picked from commit 39c72682b85c1d3912ced383733d03eca7a43845)

7 years agoMake flush logic slightly clearer in tutorial.
Feanil Patel [Sun, 23 Jul 2017 13:17:39 +0000 (09:17 -0400)] 
Make flush logic slightly clearer in tutorial.

Improve the wording of how sessions commit changes.

7 years ago- move to file-per-changelog for unreleased change notes,
Mike Bayer [Sat, 22 Jul 2017 20:32:01 +0000 (16:32 -0400)] 
- move to file-per-changelog for unreleased change notes,
so that we no longer have to rely upon merges within
the changelog files.   because gerrit doesn't allow us
to use custom merge engines unlike git, we have no ability
to merge multiple changes into the changelog files without
going through conflicts.   new version of changelog
in git supports these new patterns.

Change-Id: I588eebd027b4ad3428bd522f36a6f1cd77f105bb

7 years agoMerge "Check for column object in eval_none, not propkey"
mike bayer [Wed, 19 Jul 2017 20:21:57 +0000 (16:21 -0400)] 
Merge "Check for column object in eval_none, not propkey"

7 years agoCheck for column object in eval_none, not propkey
Mike Bayer [Tue, 18 Jul 2017 15:41:12 +0000 (11:41 -0400)] 
Check for column object in eval_none, not propkey

Fixed bug involving JSON NULL evaluation logic added in 1.1 as part
of :ticket:`3514` where the logic would not accommodate ORM
mapped attributes named differently from the :class:`.Column`
that was mapped.

Change-Id: I1848afcfb63ad7f074f315d8d3097666069b42be
Fixes: #4031
7 years agoCheck for non-entity when inspecting for subqueryload
Mike Bayer [Tue, 18 Jul 2017 18:58:26 +0000 (14:58 -0400)] 
Check for non-entity when inspecting for subqueryload

Fixed issue where adding additional non-entity columns to
a query that includes an entity with subqueryload relationships
would fail, due to an inspection added in 1.1.11 as a result of
:ticket:`4011`.

Change-Id: I8ef082be649125bdc07b428cb9b0a77a65d73671
Fixes: #4033
7 years agoMerge branch 'patch-1' of https://github.com/tomsitter/sqlalchemy
Mike Bayer [Mon, 17 Jul 2017 14:31:07 +0000 (10:31 -0400)] 
Merge branch 'patch-1' of https://github.com/tomsitter/sqlalchemy

7 years agoMerge branch 'patch-2' of https://github.com/pablogamboa/sqlalchemy
Mike Bayer [Mon, 17 Jul 2017 14:29:13 +0000 (10:29 -0400)] 
Merge branch 'patch-2' of https://github.com/pablogamboa/sqlalchemy

7 years ago- 1.2.0b2 placeholder
Mike Bayer [Fri, 14 Jul 2017 22:05:41 +0000 (18:05 -0400)] 
- 1.2.0b2 placeholder

Change-Id: I95ff7f4bb0048b363987344d359f252469b23b79

8 years agoReplace Session class with session instance
Tom Sitter [Wed, 12 Jul 2017 15:54:25 +0000 (11:54 -0400)] 
Replace Session class with session instance

The Session class was used instead of the session instance which resulted in an attribute error.

8 years agoFix typo, foriegn -> foreign
Pablo Marti [Mon, 10 Jul 2017 17:43:58 +0000 (19:43 +0200)] 
Fix typo, foriegn -> foreign

8 years ago- 1.2.0b1 rel_1_2_0b1
Mike Bayer [Mon, 10 Jul 2017 13:23:28 +0000 (09:23 -0400)] 
- 1.2.0b1

8 years agoFix typo in migration_12
Pablo Marti [Mon, 10 Jul 2017 10:58:11 +0000 (11:58 +0100)] 
Fix typo in migration_12

8 years ago- remove "under development" for 1.2 migration notes
Mike Bayer [Sun, 9 Jul 2017 18:09:36 +0000 (14:09 -0400)] 
- remove "under development" for 1.2 migration notes

Change-Id: I660a4966e7375859058025ef132c595f74293e4c

8 years ago- fix exposed "sourcecode" tags
Mike Bayer [Sun, 9 Jul 2017 17:13:25 +0000 (13:13 -0400)] 
- fix exposed "sourcecode" tags

Change-Id: Ie1bdcf2773f3de96d5ca26ebf80657e5d72c70f9

8 years ago- remove intersphinx usage, the overhead of re-fetching
Mike Bayer [Sun, 9 Jul 2017 17:02:59 +0000 (13:02 -0400)] 
- remove intersphinx usage, the overhead of re-fetching
inventory on every build not worth it

Change-Id: I3c4506b246d0f327c4b56afa723975daee984476