summaryrefslogtreecommitdiff
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
* Add AUTOCOMMIT isolation level support for psycopg2pr/7Roman Podolyaka2013-06-151-0/+1
| | | | | | | | | | | | | | One can use this to emit statements, which can not be executed within a transaction (e. g. CREATE DATABASE): from sqlalchemy import create_engine eng = create_engine('postgresql://test:test@localhost/test') conn = eng.connect().execution_options(isolation_level='AUTOCOMMIT') conn.execute('CREATE DATABASE test2;') Fixes issue #2072.
* Preserve reset_on_return when recreating a Pool.pr/6Eevee2013-06-101-0/+3
|
* Fixed bug where sending a composite attribute into :meth:`.Query.order_by`Mike Bayer2013-06-101-1/+1
| | | | | would produce a parenthesized expression not accepted by some databases. [ticket:2754]
* Fixed the interaction between composite attributes andMike Bayer2013-06-102-15/+24
| | | | | | the :func:`.aliased` function. Previously, composite attributes wouldn't work correctly in comparison operations when aliasing was applied. Also in 0.8.2. [ticket:2755]
* this comment is ancientMike Bayer2013-06-091-5/+0
|
* these notes about **kw are incorrect, we are talking about the return value hereMike Bayer2013-06-091-8/+0
|
* - get_unique_constraints() pull requestMike Bayer2013-06-094-1/+53
| | | | | | - version (0.9 for now) - changelog - move the test into the test suite so that all dialects can take advantage of it
* Merge pull request #4 from malor/reflect_constraintsmike bayer2013-06-095-0/+104
|\ | | | | Add basic support of unique constraints reflection
| * Add basic support of unique constraints reflectionpr/4Roman Podolyaka2013-06-095-0/+104
| | | | | | | | | | | | | | | | | | | | | | | | Inspection API already supports reflection of table indexes information and those also include unique constraints (at least for PostgreSQL and MySQL). But it could be actually useful to distinguish between indexes and plain unique constraints (though both are implemented in the same way internally in RDBMS). This change adds a new method to Inspection API - get_unique_constraints() and implements it for SQLite, PostgreSQL and MySQL dialects.
* | Added pool logging for "rollback-on-return" and the less usedMike Bayer2013-06-091-6/+13
|/ | | | | | "commit-on-return". This is enabled with the rest of pool "debug" logging. [ticket:2752]
* cleanupMike Bayer2013-06-082-15/+6
|
* get nested joins to render on oracle 8Mike Bayer2013-06-081-3/+10
|
* - tests for the alias() APIMike Bayer2013-06-082-11/+116
| | | | - docs docs docs
* Merge pull request #3 from bslatkin/mastermike bayer2013-06-081-7/+16
|\ | | | | Makes gaerdbms for App Engine use local MySQL server when running in dev_appserver2
| * Fixing the error regex to match numbers with the long suffix, like 1146Lpr/3Brett Slatkin2013-06-081-1/+1
| |
| * PEP8Brett Slatkin2013-06-081-3/+3
| |
| * Makes gaerdbms for App Engine use local MySQL server when running under ↵Brett Slatkin2013-06-081-6/+15
| | | | | | | | dev_appserver2.
* | - changelog for [ticket:2704]Mike Bayer2013-06-081-9/+13
| | | | | | | | - use an isinstance() check, concerned a TypeError might be indiscriminate
* | Fix using of 'mysql_length' for composite indexesRoman Podolyaka2013-06-081-7/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, one can specify the prefix length for an index column using 'mysql_length' keyword argument when creating an Index instance. But in case of composite indexes the prefix length value is applied only to the last column. Extend the existing API in way so that 'mysql_length' argument value can be either: - an integer specifying the same prefix length value for each column of an index - a (column_name --> integer value) mapping specifying the prefix length value for each column of an index separately Fixes issue #2704.
* | Added additional criterion to the ==, != comparators, used withMike Bayer2013-06-081-4/+26
|/ | | | | | | | | | | | | | | | | | | scalar values, for comparisons to None to also take into account the association record itself being non-present, in addition to the existing test for the scalar endpoint on the association record being NULL. Previously, comparing ``Cls.scalar == None`` would return records for which ``Cls.associated`` were present and ``Cls.associated.scalar`` is None, but not rows for which ``Cls.associated`` is non-present. More significantly, the inverse operation ``Cls.scalar != None`` *would* return ``Cls`` rows for which ``Cls.associated`` was non-present. Additionally, added a special use case where you can call ``Cls.scalar.has()`` with no arguments, when ``Cls.scalar`` is a column-based value - this returns whether or not ``Cls.associated`` has any rows present, regardless of whether or not ``Cls.associated.scalar`` is NULL or not. [ticket:2751]
* - Fixed an obscure bug where the wrong results would beMike Bayer2013-06-072-2/+9
| | | | | | | | | | | fetched when joining/joinedloading across a many-to-many relationship to a single-table-inheriting subclass with a specific discriminator value, due to "secondary" rows that would come back. The "secondary" and right-side tables are now inner joined inside of parenthesis for all ORM joins on many-to-many relationships so that the left->right join can accurately filtered. [ticket:2369]
* remove all remaining start/end py2k/py3k blocksMike Bayer2013-06-075-41/+35
|
* Merge branch 'ticket_2587'Mike Bayer2013-06-065-19/+36
|\
| * dial back the default "flatness" a bit, it will be there for joinedload and ↵Mike Bayer2013-06-065-19/+28
| | | | | | | | | | | | | | query.join(), but if you're dealing with aliased() or with_polymorphic() you need to say "flat=True". Just the one flag though, "flat" implies "aliased".
| * shrugsMike Bayer2013-06-051-1/+6
| |
| * a test for what's breaking, plus a non-working fix for it...Mike Bayer2013-06-051-0/+3
| |
* | When querying the information schema on SQL Server 2000, removedMike Bayer2013-06-061-2/+15
|/ | | | | | | a CAST call that was added in 0.8.1 to help with driver issues, which apparently is not compatible on 2000. The CAST remains in place for SQL Server 2005 and greater. [ticket:2747]
* Merge branch 'ticket_2587'Mike Bayer2013-06-0410-57/+222
|\ | | | | | | | | | | Conflicts: test/profiles.txt test/sql/test_selectable.py
| * - add coverage for result map rewritingMike Bayer2013-06-041-1/+6
| | | | | | | | | | - fix the result map rewriter for col mismatches, since the rewritten select at the moment typically has more columns than the original
| * - if the select() does not have use_labels on, then we just renderMike Bayer2013-06-041-0/+1
| | | | | | | | | | | | the joins as is, regardless of the dialect not supporting it. use_labels=True indicates a higher level of automation and also can maintain the labels between rewritten and not. use_labels=False indicates a manual use case.
| * - support for a__b_dc, i.e. two levels of nestingMike Bayer2013-06-041-4/+19
| |
| * clean up the dialect selection thing hereMike Bayer2013-06-041-8/+12
| |
| * - add a flag to DefaultDialect for this so that people will have someMike Bayer2013-06-041-0/+3
| | | | | | | | workaround
| * - improve overlapping selectables, apply to both query and relationshipMike Bayer2013-06-044-29/+37
| | | | | | | | | | | | - clean up inspect() calls within query._join() - make sure join.alias(flat) propagates - fix almost all assertion tests
| * - eager loadsMike Bayer2013-06-042-3/+2
| | | | | | | | - two suite of SQL assertions converted
| * here's the flat join thing. it just works. Changing the existing compiled ↵Mike Bayer2013-06-043-8/+19
| | | | | | | | | | | | SQL assertions might even be most of the tests we need (though dedicated sql tests would be needed anyway)
| * and this commentMike Bayer2013-06-041-0/+4
| |
| * rewriting scheme now works.Mike Bayer2013-06-042-77/+46
| |
| * capture the really hard one in a test (hooray)Mike Bayer2013-06-041-1/+1
| |
| * OK this is the broken version, need to think a lot more about thisMike Bayer2013-06-033-4/+48
| |
| * - pulling out more aliases, sort ofMike Bayer2013-06-031-4/+9
| |
| * working through tests....Mike Bayer2013-06-025-12/+44
| |
| * - figured out what the from_self() thing was about, part of query.statement, ↵Mike Bayer2013-06-024-9/+6
| | | | | | | | | | | | but would like to improve upon query.statement needing to do this
| * getting things to join without subqueries, but some glitches in the compiler ↵Mike Bayer2013-06-024-15/+21
| | | | | | | | | | | | step when we do query.count() are showing
| * implement join rewriting inside of visit_select(). Currently this is global ↵Mike Bayer2013-06-023-13/+75
| | | | | | | | or not based on fixing nested_join_translation as True or not.
* | The ``deferrable`` keyword argument on :class:`.ForeignKey` andMike Bayer2013-06-031-0/+2
| | | | | | | | | | | | | | | | :class:`.ForeignKeyConstraint` will not render the ``DEFERRABLE`` keyword on the MySQL dialect. For a long time we left this in place because a non-deferrable foreign key would act very differently than a deferrable one, but some environments just disable FKs on MySQL, so we'll be less opinionated here. [ticket:2721]
* | Fixed bug where :class:`.MutableDict` didn't report a change eventMike Bayer2013-06-031-0/+4
| | | | | | | | | | when ``clear()`` was called. [ticket:2730]
* | Fixed bug whereby joining a select() of a table "A" with multipleMike Bayer2013-06-031-1/+2
| | | | | | | | | | | | | | | | foreign key paths to a table "B", to that table "B", would fail to produce the "ambiguous join condition" error that would be reported if you join table "A" directly to "B"; it would instead produce a join condition with multiple criteria. [ticket:2738]
* | Fixed bug whereby using :meth:`.MetaData.reflect` across a remoteMike Bayer2013-06-031-3/+12
| | | | | | | | | | | | schema as well as a local schema could produce wrong results in the case where both schemas had a table of the same name. [ticket:2728]
* | - remove the ``__iter__()`` with notimplemented since it interferesMike Bayer2013-06-031-5/+0
| | | | | | | | with legitimate iterable detection, [ticket:2726]