summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* python_type for ARRAY (PGArray)pr/64Terentev2014-02-031-0/+4
|
* typorel_0_9_2Mike Bayer2014-02-021-1/+1
|
* 0.9.2Mike Bayer2014-02-022-2/+3
|
* - Added a tweak to the "history_meta" example where the check forMike Bayer2014-02-022-1/+9
| | | | | "history" on a relationship-bound attribute will now no longer emit any SQL if the relationship is unloaded.
* - add a few missing methods to the cymysql dialectMike Bayer2014-02-022-0/+17
|
* - lets intersphinx the new alembic article on constraint namesMike Bayer2014-02-022-0/+7
|
* - Added :paramref:`.MetaData.reflect.**dialect_kwargs`Mike Bayer2014-02-025-134/+380
| | | | | | | | | | | | | | | | | | to support dialect-level reflection options for all :class:`.Table` objects reflected. - Added a new dialect-level argument ``postgresql_ignore_search_path``; this argument is accepted by both the :class:`.Table` constructor as well as by the :meth:`.MetaData.reflect` method. When in use against Postgresql, a foreign-key referenced table which specifies a remote schema name will retain that schema name even if the name is present in the ``search_path``; the default behavior since 0.7.3 has been that schemas present in ``search_path`` would not be copied to reflected :class:`.ForeignKey` objects. The documentation has been updated to describe in detail the behavior of the ``pg_get_constraintdef()`` function and how the ``postgresql_ignore_search_path`` feature essentially determines if we will honor the schema qualification reported by this function or not. [ticket:2922]
* - use from_statement() for the ORM column testMike Bayer2014-02-021-8/+7
| | | | - with select_from(), add external order by so that Oracle orders correctly
* - The behavior of :meth:`.Table.tometadata` has been adjusted such thatMike Bayer2014-02-023-186/+399
| | | | | | | | | | | | | | | | | | | | | | | | the schema target of a :class:`.ForeignKey` will not be changed unless that schema matches that of the parent table. That is, if a table "schema_a.user" has a foreign key to "schema_b.order.id", the "schema_b" target will be maintained whether or not the "schema" argument is passed to :meth:`.Table.tometadata`. However if a table "schema_a.user" refers to "schema_a.order.id", the presence of "schema_a" will be updated on both the parent and referred tables. This is a behavioral change hence isn't likely to be backported to 0.8; it is assumed that the previous behavior is pretty buggy however and that it's unlikely anyone was relying upon it. Additionally, a new parameter has been added :paramref:`.Table.tometadata.referred_schema_fn`. This refers to a callable function which will be used to determine the new referred schema for any :class:`.ForeignKeyConstraint` encountered in the tometadata operation. This callable can be used to revert to the previous behavior or to customize how referred schemas are treated on a per-constraint basis. [ticket:2913] - rework the tests in test.sql.test_metadata, all the "tometadata" tests now under new class ToMetaDataTest
* - Fixed bug in new :class:`.TextAsFrom` construct where :class:`.Column`-Mike Bayer2014-02-026-3/+108
| | | | | | | | | | oriented row lookups were not matching up to the ad-hoc :class:`.ColumnClause` objects that :class:`.TextAsFrom` generates, thereby making it not usable as a target in :meth:`.Query.from_statement`. Also fixed :meth:`.Query.from_statement` mechanics to not mistake a :class:`.TextAsFrom` for a :class:`.Select` construct. This bug is also an 0.9 regression as the :meth:`.Text.columns` method is called to accommodate the :paramref:`.text.typemap` argument. [ticket:2932]
* - Added a new feature which allows automated naming conventions to beMike Bayer2014-02-018-21/+460
| | | | | | | | | | | | | | | | applied to :class:`.Constraint` and :class:`.Index` objects. Based on a recipe in the wiki, the new feature uses schema-events to set up names as various schema objects are associated with each other. The events then expose a configuration system through a new argument :paramref:`.MetaData.naming_convention`. This system allows production of both simple and custom naming schemes for constraints and indexes on a per-:class:`.MetaData` basis. [ticket:2923] commit 7e65e52c086652de3dd3303c723f98f09af54db8 Author: Mike Bayer <mike_mp@zzzcomputing.com> Date: Sat Feb 1 15:09:04 2014 -0500 - first pass at new naming approach
* add a skip for oracle on thisMike Bayer2014-02-013-0/+46
|
* - don't duplicate docs for Pool within QueuePoolMike Bayer2014-01-311-71/+68
| | | | - add huge warning regarding how use_threadlocal probably not what you want
* - Added a new directive used within the scope of an attribute "set" operationMike Bayer2014-01-315-3/+70
| | | | | | | | to disable autoflush, in the case that the attribute needs to lazy-load the "old" value, as in when replacing one-to-one values or some kinds of many-to-one. A flush at this point otherwise occurs at the point that the attribute is None and can cause NULL violations. [ticket:2921]
* - Added a new parameter :paramref:`.Operators.op.is_comparison`. ThisMike Bayer2014-01-315-4/+133
| | | | | | flag allows a custom op from :meth:`.Operators.op` to be considered as a "comparison" operator, thus usable for custom :paramref:`.relationship.primaryjoin` conditions.
* - Fixed bug whereby SQLite compiler failed to propagate compiler argumentsMike Bayer2014-01-316-4/+43
| | | | | | | | | | such as "literal binds" into a CAST expression. - Fixed bug whereby binary type would fail in some cases if used with a "test" dialect, such as a DefaultDialect or other dialect with no DBAPI. - Fixed bug where "literal binds" wouldn't work with a bound parameter that's a binary type. A similar, but different, issue is fixed in 0.8.
* changelogMike Bayer2014-01-311-0/+9
|
* - Fixed regression whereby the "annotation" system used by the ORM was leakingMike Bayer2014-01-294-9/+38
| | | | | | | into the names used by standard functions in :mod:`sqlalchemy.sql.functions`, such as ``func.coalesce()`` and ``func.max()``. Using these functions in ORM attributes and thus producing annotated versions of them could corrupt the actual function name rendered in the SQL. [ticket:2927]
* - better way to do itMike Bayer2014-01-291-2/+4
|
* - add TypeError handling to the tests here, ensure TypeErrorMike Bayer2014-01-291-8/+15
| | | | | for the control is a TypeError for the row, as is raised on py3k when less/greater operators are used on incompatible types
* - Fixed 0.9 regression where the new sortable support for :class:`.RowProxy`Mike Bayer2014-01-283-4/+55
| | | | | | | | | would lead to ``TypeError`` when compared to non-tuple types as it attempted to apply tuple() to the "other" object unconditionally. The full range of Python comparison operators have now been implemented on :class:`.RowProxy`, using an approach that guarantees a comparison system that is equivalent to that of a tuple, and the "other" object is only coerced if it's an instance of RowProxy. [ticket:2924]
* - repair the fixture/test here to make sure state isn't left over causing ↵Mike Bayer2014-01-272-2/+2
| | | | other tests to fail
* - docsMike Bayer2014-01-261-37/+115
|
* updatesMike Bayer2014-01-261-52/+87
|
* hypothetical "floaty thing" for navigation, doesn't really work yetMike Bayer2014-01-252-1/+21
|
* tweak textMike Bayer2014-01-251-2/+16
|
* seealsos in the tutorialMike Bayer2014-01-252-7/+54
|
* caseMike Bayer2014-01-251-47/+139
|
* - start building out very comprehensive docstrings for core functionsMike Bayer2014-01-254-103/+467
|
* lets document join()Mike Bayer2014-01-241-20/+94
|
* - doc updates, include links to create_engine from tutorials, cleanupMike Bayer2014-01-235-60/+103
| | | | and modernize the engines chapter a bit
* typoMike Bayer2014-01-231-3/+5
|
* - remove this leftover commented pdbMike Bayer2014-01-231-5/+0
|
* - Fixed an 0.9 regression where the automatic aliasing applied byMike Bayer2014-01-235-3/+82
| | | | | | | | | | :class:`.Query` and in other situations where selects or joins were aliased (such as joined table inheritance) could fail if a user-defined :class:`.Column` subclass were used in the expression. In this case, the subclass would fail to propagate ORM-specific "annotations" along needed by the adaptation. The "expression annotations" system has been corrected to account for this case. [ticket:2918]
* Merge pull request #60 from wichert/mutable-doc-importmike bayer2014-01-231-1/+0
|\ | | | | Remove uneeded import from code example
| * Remove uneeded import from code examplepr/60Wichert Akkerman2014-01-201-1/+0
| | | | | | | | | | This had me reread the code twice to see if I missed why the import was present.
* | used the wrong joinMike Bayer2014-01-221-5/+2
| |
* | - Support is improved for supplying a :func:`.join` construct as theMike Bayer2014-01-2211-18/+459
| | | | | | | | | | | | | | | | | | | | target of :paramref:`.relationship.secondary` for the purposes of creating very complex :func:`.relationship` join conditions. The change includes adjustments to query joining, joined eager loading to not render a SELECT subquery, changes to lazy loading such that the "secondary" target is properly included in the SELECT, and changes to declarative to better support specification of a join() object with classes as targets.
* | - Added new test coverage for so-called "down adaptions" of SQL types,Mike Bayer2014-01-224-11/+43
| | | | | | | | | | | | | | | | | | | | | | where a more specific type is adapted to a more generic one - this use case is needed by some third party tools such as ``sqlacodegen``. The specific cases that needed repair within this test suite were that of :class:`.mysql.ENUM` being downcast into a :class:`.types.Enum`, and that of SQLite date types being cast into generic date types. The ``adapt()`` method needed to become more specific here to counteract the removal of a "catch all" ``**kwargs`` collection on the base :class:`.TypeEngine` class that was removed in 0.9. [ticket:2917]
* | - add redshift-sqlalchemy, essentially fixes [ticket:2727]Mike Bayer2014-01-211-0/+2
| |
* | - update docs for Numeric/Float, in particular warn against using mismatchedMike Bayer2014-01-211-32/+41
| | | | | | | | types (e.g. [ticket:2916])
* | - Fixed the multiple-table "UPDATE..FROM" construct, only usable onMike Bayer2014-01-205-51/+270
| | | | | | | | | | | | | | | | | | | | | | MySQL, to correctly render the SET clause among multiple columns with the same name across tables. This also changes the name used for the bound parameter in the SET clause to "<tablename>_<colname>" for the non-primary table only; as this parameter is typically specified using the :class:`.Column` object directly this should not have an impact on applications. The fix takes effect for both :meth:`.Table.update` as well as :meth:`.Query.update` in the ORM. [ticket:2912]
* | use new paramlinks 0.2.2, trying to fix param links for __init__ vs. classMike Bayer2014-01-201-1/+1
| |
* | - further refine this so that the ordering of columns is maintained asMike Bayer2014-01-202-16/+18
| | | | | | | | | | sent to the primary key constraint; existing tests in the PG dialect confirm this.
* | - simplify the mechanics of PrimaryKeyConstraint with regards to reflection;Mike Bayer2014-01-207-25/+267
| | | | | | | | | | | | | | | | | | | | | | | | reflection now updates the PKC in place. - support the use case of the empty PrimaryKeyConstraint in order to specify constraint options; the columns marked as primary_key=True will now be gathered into the columns collection, rather than being ignored. [ticket:2910] - add validation such that column specification should only take place in the PrimaryKeyConstraint directly, or by using primary_key=True flags; if both are present, they have to match exactly, otherwise the condition is assumed to be ambiguous, and a warning is emitted; the old behavior of using the PKC columns only is maintained.
* | - repair signature for base get_unique_constraints() methodMike Bayer2014-01-202-1/+2
| | | | | | | | - test_autoincrement_col still needs reflection overall
* | - ensure ordering is fully maintained, [ticket:2914]Mike Bayer2014-01-202-6/+9
|/
* fix typoMike Bayer2014-01-191-1/+1
|
* Merge pull request #59 from wichert/doc-relationship-typomike bayer2014-01-191-1/+1
|\ | | | | Fix a typo in the relationship docs
| * Fix a typo in the relationship docspr/59Wichert Akkerman2014-01-161-1/+1
| | | | | | | | | | The text refers to ``boston_addresses``, while the code sample uses ``addresses``.