summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Add 'native' autocommit support for mysql driverspr/157Roman Podoliaka2015-02-244-0/+57
| | | | | | Sometimes it might be useful to have 'native' autocommit support provided by a DB API driver rather than rely on SQLAlchemy autocommit emulation.
* - Fixed bugs in ORM object comparisons where comparison ofMike Bayer2015-02-204-13/+171
| | | | | | | | | | many-to-one ``!= None`` would fail if the source were an aliased class, or if the query needed to apply special aliasing to the expression due to aliased joins or polymorphic querying; also fixed bug in the case where comparing a many-to-one to an object state would fail if the query needed to apply special aliasing due to aliased joins or polymorphic querying. fixes #3310
* - remove the need for a recursive call hereMike Bayer2015-02-201-5/+12
|
* - Fixed bug where internal assertion would fail in the case whereMike Bayer2015-02-203-2/+44
| | | | | | | | an ``after_rollback()`` handler for a :class:`.Session` incorrectly adds state to that :class:`.Session` within the handler, and the task to warn and remove this state (established by :ticket:`2389`) attempts to proceed. fixes #3309
* - expect_warnings was not expecting and neither was assert_warningsMike Bayer2015-02-193-33/+55
| | | | asserting.
* - repair merge failureMike Bayer2015-02-191-22/+6
|
* - autopep8Mike Bayer2015-02-191-39/+43
|
* - Mapped state internals have been reworked to allow for a 50% reductionMike Bayer2015-02-1812-144/+300
| | | | | | | | in callcounts specific to the "expiration" of objects, as in the "auto expire" feature of :meth:`.Session.commit` and for :meth:`.Session.expire_all`, as well as in the "cleanup" step which occurs when object states are garbage collected. fixes #3307
* - add the test_expire_lots test for comparisonMike Bayer2015-02-182-0/+71
|
* - add a new section regarding multiprocessingMike Bayer2015-02-171-0/+60
|
* - additional mysql cast-related test fixesMike Bayer2015-02-092-0/+9
|
* - The MySQL dialect now supports CAST on types that are constructedMike Bayer2015-02-093-4/+23
| | | | as :class:`.TypeDecorator` objects.
* - add a fix to MySQL re: #3074 tests, make sure we check table is presentMike Bayer2015-02-091-1/+2
|
* - test skips for MySQL w new cast warningMike Bayer2015-02-091-0/+16
|
* - A warning is emitted when :func:`.cast` is used with the MySQLMike Bayer2015-02-093-29/+66
| | | | | | | | | | | dialect on a type where MySQL does not support CAST; MySQL only supports CAST on a subset of datatypes. SQLAlchemy has for a long time just omitted the CAST for unsupported types in the case of MySQL. While we don't want to change this now, we emit a warning to show that it's taken place. A warning is also emitted when a CAST is used with an older MySQL version (< 4) that doesn't support CAST at all, it's skipped in this case as well. fixes #3237
* - flake8Mike Bayer2015-02-091-74/+99
|
* - Literal values within a :class:`.DefaultClause`, which is invokedMike Bayer2015-02-094-6/+122
| | | | | | | when using the :paramref:`.Column.server_default` parameter, will now be rendered using the "inline" compiler, so that they are rendered as-is, rather than as bound parameters. fixes #3087
* - remove meaningless assignmentMike Bayer2015-02-081-1/+0
|
* - test + changelogMike Bayer2015-02-083-2/+24
|
* Merge remote-tracking branch 'origin/pr/147' into pr147Mike Bayer2015-02-081-1/+1
|\ | | | | | | | | Conflicts: lib/sqlalchemy/orm/query.py
| * It's the 'kwargs' which are iterable, not 'keys'pr/147Malthe Borch2014-10-301-2/+1
| |
* | - add versionadded for service_nameMike Bayer2015-02-081-0/+2
| |
* | - cx_Oracle.makedsn can now be passed service_name; squashSławek Ehlert2014-04-023-2/+48
| | | | | | | | commit of pr152
* | - make even more tablesMike Bayer2015-02-071-27/+30
| |
* | - break up the tables here to avoid the error we're gettingMike Bayer2015-02-061-15/+24
| | | | | | | | on jenkins
* | - The MySQL dialect now renders TIMESTAMP with NULL / NOT NULL inMike Bayer2015-02-055-77/+215
| | | | | | | | | | | | | | | | | | all cases, so that MySQL 5.6.6 with the ``explicit_defaults_for_timestamp`` flag enabled will will allow TIMESTAMP to continue to work as expected when ``nullable=False``. Existing applications are unaffected as SQLAlchemy has always emitted NULL for a TIMESTAMP column that is ``nullable=True``. fixes #3155
* | - Fixed bug in :class:`.Connection` and pool where theMike Bayer2015-02-045-0/+41
| | | | | | | | | | | | | | | | | | :meth:`.Connection.invalidate` method, or an invalidation due to a database disconnect, would fail if the ``isolation_level`` parameter had been used with :meth:`.Connection.execution_options`; the "finalizer" that resets the isolation level would be called on the no longer opened connection. fixes #3302
* | - A warning is emitted if the ``isolation_level`` parameter is usedMike Bayer2015-02-049-15/+279
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | with :meth:`.Connection.execution_options` when a :class:`.Transaction` is in play; DBAPIs and/or SQLAlchemy dialects such as psycopg2, MySQLdb may implicitly rollback or commit the transaction, or not change the setting til next transaction, so this is never safe. - Added new parameter :paramref:`.Session.connection.execution_options` which may be used to set up execution options on a :class:`.Connection` when it is first checked out, before the transaction has begun. This is used to set up options such as isolation level on the connection before the transaction starts. - added new documentation section detailing best practices for setting transaction isolation with sessions. fixes #3296
* | - Fixed bug in lazy loading SQL construction whereby a complexMike Bayer2015-02-024-17/+101
| | | | | | | | | | | | | | | | primaryjoin that referred to the same "local" column multiple times in the "column that points to itself" style of self-referential join would not be substituted in all cases. The logic to determine substitutions here has been reworked to be more open-ended. fixes #3300
* | - don't overwrite an existing _strategy_keys collection;Mike Bayer2015-02-021-1/+2
| | | | | | | | this would cause LazyLoader to be initialized twice per property.
* | - Repaired support for Postgresql UUID types in conjunction withMike Bayer2015-02-013-9/+75
| | | | | | | | | | | | | | | | | | | | the ARRAY type when using psycopg2. The psycopg2 dialect now employs use of the psycopg2.extras.register_uuid() hook so that UUID values are always passed to/from the DBAPI as UUID() objects. The :paramref:`.UUID.as_uuid` flag is still honored, except with psycopg2 we need to convert returned UUID objects back into strings when this is disabled. fixes #2940
* | Merge remote-tracking branch 'origin/pr/68' into pr68Mike Bayer2015-02-011-0/+13
|\ \
| * | Add unit test for UUID arrays in PostgreSQL.pr/68Kevin Deldycke2014-02-061-0/+13
| | |
* | | - Added support for the :class:`postgresql.JSONB` datatype whenMike Bayer2015-01-315-17/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | using psycopg2 2.5.4 or greater, which features native conversion of JSONB data so that SQLAlchemy's converters must be disabled; additionally, the newly added psycopg2 extension ``extras.register_default_jsonb`` is used to establish a JSON deserializer passed to the dialect via the ``json_deserializer`` argument. Also repaired the Postgresql integration tests which weren't actually round-tripping the JSONB type as opposed to the JSON type. Pull request courtesy Mateusz Susik. - Repaired the use of the "array_oid" flag when registering the HSTORE type with older psycopg2 versions < 2.4.3, which does not support this flag, as well as use of the native json serializer hook "register_default_json" with user-defined ``json_deserializer`` on psycopg2 versions < 2.5, which does not include native json.
* | | Merge remote-tracking branch 'origin/pr/145' into pr145Mike Bayer2015-01-311-2/+14
|\ \ \
| * | | Psycopg2 JSONB support.pr/145Mateusz Susik2014-10-241-2/+14
| | | |
* | | | - The :class:`.CheckConstraint` construct now supports namingMike Bayer2015-01-307-31/+258
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | conventions that include the token ``%(column_0_name)s``; the constraint expression is scanned for columns. Additionally, naming conventions for check constraints that don't include the ``%(constraint_name)s`` token will now work for :class:`.SchemaType`- generated constraints, such as those of :class:`.Boolean` and :class:`.Enum`; this stopped working in 0.9.7 due to :ticket:`3067`. fixes #3299
* | | | - Fixed bug in 0.9's foreign key setup system, such thatMike Bayer2015-01-283-9/+125
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the logic used to link a :class:`.ForeignKey` to its parent could fail when the foreign key used "link_to_name=True" in conjunction with a target :class:`.Table` that would not receive its parent column until later, such as within a reflection + "useexisting" scenario, if the target column in fact had a key value different from its name, as would occur in reflection if column reflect events were used to alter the .key of reflected :class:`.Column` objects so that the link_to_name becomes significant. Also repaired support for column type via FK transmission in a similar way when target columns had a different key and were referenced using link_to_name. fixes #3298
* | | | - fix link to non_primary flagMike Bayer2015-01-272-24/+41
| | | | | | | | | | | | | | | | - rewrite the multiple mappers section
* | | | - fix this test for py3kMike Bayer2015-01-261-1/+1
| | | |
* | | | - additional test adjustments for pypy / psycopg2cffi. ThisMike Bayer2015-01-2610-53/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | consists mainly of adjusting fixtures to ensure connections are closed explicitly. psycopg2cffi also handles unicode bind parameter names differently than psycopg2, and seems to possibly have a little less control over floating point values at least in one test which is marked as a "fail", though will see if it runs differently on linux than osx.. - changelog for psycopg2cffi, fixes #3052
* | | | Include psycopg2cffi in dialect docsShaun Stanworth2015-01-261-0/+5
| | | |
* | | | 78-char widthShaun Stanworth2015-01-262-2/+4
| | | |
* | | | Added psycopg2cffi dialectShaun Stanworth2015-01-2610-9/+74
| | | |
* | | | - changelog for #3262, fixes #3262Mike Bayer2015-01-261-0/+11
| | | |
* | | | Merge branch 'bb_issue_3262' of https://bitbucket.org/xflr6/sqlalchemyMike Bayer2015-01-262-0/+22
|\ \ \ \
| * | | | warn on duplicate polymorphic_identitySebastian Bank2014-12-042-0/+22
| | | | |
* | | | | - changelog for pullreq github:150Mike Bayer2015-01-261-0/+8
| | | | |
* | | | | Merge remote-tracking branch 'origin/pr/150'Mike Bayer2015-01-262-2/+4
|\ \ \ \ \
| * | | | | Report the type of unexpected expression objectspr/150Ryan P. Kelly2014-11-202-2/+4
| | | | | |