summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy
Commit message (Collapse)AuthorAgeFilesLines
* Fix unique constraints reflection in PostgreSQLpr/11Roman Podolyaka2013-06-232-11/+18
| | | | Reflection of unique constraints must preserve the order of columns.
* Fix unique constraints reflection in SQLiteRoman Podolyaka2013-06-232-1/+6
| | | | | | | If SQLite keywords are used as column names, they are quoted. The code parsing the information about table unique constraints should be modified so that it properly removes double-quotes from column names.
* Improve _test_get_unique_constraints()Roman Podolyaka2013-06-231-1/+2
| | | | | | Call eq_() in a loop instead of comparing two lists directly. This makes it much easier to find out which element is not equal to the reference value.
* Provided a new attribute for :class:`.TypeDecorator`Mike Bayer2013-06-222-3/+39
| | | | | | | | | called :attr:`.TypeDecorator.coerce_to_is_types`, to make it easier to control how comparisons using ``==`` or ``!=`` to ``None`` and boolean types goes about producing an ``IS`` expression, or a plain equality expression with a bound parameter. [ticket:2744]
* versionaddsMike Bayer2013-06-221-6/+33
|
* - 0.8 changelogMike Bayer2013-06-221-11/+11
| | | | - some whitespace
* Merge pull request #5 from cjw296/pg-rangesmike bayer2013-06-224-2/+246
|\ | | | | Support for Postgres range types.
| * Documentation for the new range type support.pr/5Chris Withers2013-06-103-6/+19
| |
| * Implement EXCLUDE constraints for postgres.Chris Withers2013-06-103-0/+90
| |
| * add support for range operators listed in ↵Chris Withers2013-06-101-6/+75
| | | | | | | | http://www.postgresql.org/docs/9.2/interactive/functions-range.html
| * Basic type support for the new range types in postgres 9.2Chris Withers2013-06-103-1/+73
| |
* | fix up the isolation level docs which were a messMike Bayer2013-06-172-25/+58
| |
* | remove double methodsMike Bayer2013-06-171-19/+0
| |
* | - rework PropComparator.adapted() to be PropComparator.adapt_to_entity(),Mike Bayer2013-06-176-121/+138
| | | | | | | | | | | | | | passes in AliasedInsp and allows more flexibility. - rework the AliasedClass/AliasedInsp relationship so that AliasedInsp has all state and functionality. AliasedClass is just a facade. [ticket:2756]
* | - changelogMike Bayer2013-06-152-3/+8
| | | | | | | | - docs
* | Merge pull request #7 from malor/psycopg2_execution_optionsmike bayer2013-06-151-0/+1
|\ \ | | | | | | Add AUTOCOMMIT isolation level support for psycopg2
| * | 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.
* | | Fixed bug in polymorphic SQL generation where multiple joined-inheritanceMike Bayer2013-06-151-5/+10
|/ / | | | | | | | | | | | | entities against the same base class joined to each other as well would not track columns on the base table independently of each other if the string of joins were more than two entities long. Also in 0.8.2. [ticket:2759]
* | 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