summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Perform fewer dict lookups - tiny microoptimizationpr/35Alex Gaynor2013-10-141-5/+4
|
* nameMike Bayer2013-10-131-1/+1
|
* - Added new option to :func:`.relationship` ``distinct_target_key``.Mike Bayer2013-10-134-5/+257
| | | | | | | | | | | | | | | This enables the subquery eager loader strategy to apply a DISTINCT to the innermost SELECT subquery, to assist in the case where duplicate rows are generated by the innermost query which corresponds to this relationship (there's not yet a general solution to the issue of dupe rows within subquery eager loading, however, when joins outside of the innermost subquery produce dupes). When the flag is set to ``True``, the DISTINCT is rendered unconditionally, and when it is set to ``None``, DISTINCT is rendered if the innermost relationship targets columns that do not comprise a full primary key. The option defaults to False in 0.8 (e.g. off by default in all cases), None in 0.9 (e.g. automatic by default). Thanks to Alexander Koval for help with this. [ticket:2836]
* MySQL-connector dialect now allows options in the create_engineMike Bayer2013-10-133-7/+66
| | | | | | query string to override those defaults set up in the connect, including "buffered" and "raise_on_warnings". [ticket:2515]
* Parenthesis will be applied to a compound SQL expression asMike Bayer2013-10-123-2/+24
| | | | | rendered in the column list of a CREATE INDEX statement. [ticket:2742]
* - Fixed bug in default compiler plus those of postgresql, mysql, andMike Bayer2013-10-1211-34/+87
| | | | | | | | mssql to ensure that any literal SQL expression values are rendered directly as literals, instead of as bound parameters, within a CREATE INDEX statement. [ticket:2742] - don't need expression_as_ddl(); literal_binds and include_table take care of this functionality.
* use accepts scalar loader here so we deal with _ProxyImpl correctlyMike Bayer2013-10-112-7/+7
|
* - fix bug due to regression from #2793, make sure we only go to loadMike Bayer2013-10-113-3/+24
| | | | | scalar attributes here and not relationships, else we get an error if there's no actual scalars to load
* The ``default`` argument of :class:`.Column` now accepts a classMike Bayer2013-10-113-11/+28
| | | | | or object method as an argument, in addition to a standalone function; will properly detect if the "context" argument is accepted or not.
* The "name" attribute is set on :class:`.Index` before the "attach"Mike Bayer2013-10-113-7/+22
| | | | | | events are called, so that attachment events can be used to dynamically generate a name for the index based on the parent table and/or columns. [ticket:2835]
* - The method signature of :meth:`.Dialect.reflecttable`, which inMike Bayer2013-10-113-11/+22
| | | | | | | all known cases is provided by :class:`.DefaultDialect`, has been tightened to expect ``include_columns`` and ``exclude_columns`` arguments without any kw option, reducing ambiguity - previously ``exclude_columns`` was missing. [ticket:2748]
* A :func:`.select` that is made to refer to itself in its FROM clause,Mike Bayer2013-10-083-0/+24
| | | | | | typically via in-place mutation, will raise an informative error message rather than causing a recursion overflow. [ticket:2815]
* Fixed bug where using an annotation such as :func:`.remote` orMike Bayer2013-10-083-1/+24
| | | | | | | :func:`.foreign` on a :class:`.Column` before association with a parent :class:`.Table` could produce issues related to the parent table not rendering within joins, due to the inherent copy operation performed by an annotation. [ticket:2813]
* 0.8 changelogMike Bayer2013-10-081-0/+7
|
* The erroneous kw arg "schema" has been removed from the :class:`.ForeignKey`Mike Bayer2013-10-082-1/+8
| | | | | object. this was an accidental commit that did nothing; a warning is raised in 0.8.3 when this kw arg is used. [ticket:2831]
* - fix a bunch of test failuresMike Bayer2013-10-084-8/+9
|
* - add an option to Bundle single_entity=True to allow for singleMike Bayer2013-10-073-3/+56
| | | | entity returns without otherwise changing much [ticket:2824]
* - fix a glitch with how the default thing worked outMike Bayer2013-10-071-4/+5
|
* - add some tests for propagate of wildcard lazyloadMike Bayer2013-10-063-6/+53
|
* 11th hour realization that Load() needs to do the _chop_path() thing asMike Bayer2013-10-064-32/+148
| | | | well. this probably has some bugs
* - merge ticket_1418 branch, [ticket:1418]Mike Bayer2013-10-0626-1903/+2847
| | | | | | | | | | | | | - The system of loader options has been entirely rearchitected to build upon a much more comprehensive base, the :class:`.Load` object. This base allows any common loader option like :func:`.joinedload`, :func:`.defer`, etc. to be used in a "chained" style for the purpose of specifying options down a path, such as ``joinedload("foo").subqueryload("bar")``. The new system supersedes the usage of dot-separated path names, multiple attributes within options, and the usage of ``_all()`` options. - Added a new load option :func:`.orm.load_only`. This allows a series of column names to be specified as loading "only" those attributes, deferring the rest.
* - fix propagation of quote flag within _gen_label() so that if theMike Bayer2013-10-052-1/+21
| | | | | | name is already an instance of _anonymous_label(), we don't downgrade it to a plain quoted_name - fixes regression from [ticket:2812]. [ticket:2834]
* fix entity_zero resolutionMike Bayer2013-10-042-1/+23
|
* - A new construct :class:`.Bundle` is added, which allows for specificationMike Bayer2013-10-0311-14/+634
| | | | | | | | | | | | | | | | of groups of column expressions to a :class:`.Query` construct. The group of columns are returned as a single tuple by default. The behavior of :class:`.Bundle` can be overridden however to provide any sort of result processing to the returned row. One example included is :attr:`.Composite.Comparator.bundle`, which applies a bundled form of a "composite" mapped attribute. [ticket:2824] - The :func:`.composite` construct now maintains the return object when used in a column-oriented :class:`.Query`, rather than expanding out into individual columns. This makes use of the new :class:`.Bundle` feature internally. This behavior is backwards incompatible; to select from a composite column which will expand out, use ``MyClass.some_composite.clauses``.
* - add monetdbMike Bayer2013-10-011-2/+10
| | | | - break out into "production" and "experimental"
* - add support for removal of instance methods as event listeners, takingMike Bayer2013-10-012-2/+32
| | | | into account the id() of the function itself and self, [ticket:2832]
* - put exact version string in the testMike Bayer2013-09-292-5/+4
| | | | - use match with a .* preceding instead of search
* changelogMike Bayer2013-09-291-0/+9
|
* Merge branch 'master' of github.com:zzzeek/sqlalchemyMike Bayer2013-09-291-1/+1
|\
| * Merge pull request #26 from hackop/ticket_2819mike bayer2013-09-291-1/+1
| |\ | | | | | | re.match to re.search
| | * re.match to re.searchpr/26Scott Schaefer2013-09-061-1/+1
| | | | | | | | | | | | | | | Convert to re.search to eliminate the restriction on only matching the beginning of the string
* | | add test for upcoming pullreqMike Bayer2013-09-291-1/+6
|/ /
* | its a featureMike Bayer2013-09-291-1/+1
| |
* | changelogMike Bayer2013-09-291-0/+9
| |
* | Merge pull request #25 from gthb/ticket_2821mike bayer2013-09-293-3/+14
|\ \ | | | | | | Hide password in URL and Engine __repr__
| * | Hide password in URL and Engine __repr__pr/25Gunnlaugur Þór Briem2013-09-063-3/+14
| |/ | | | | | | Fixes #2821
* | Merge pull request #30 from alex/visitor-patternmike bayer2013-09-256-18/+22
|\ \ | | | | | | Replace a big loop + dict lookup in Connection.execute() with a simple visitor pattern
| * | Replace a big loop + dict lookup in Connection.execute() with a simple visitorpr/30Alex Gaynor2013-09-256-18/+22
|/ / | | | | | | pattern
* | - Removed some now unneeded version checks [ticket:2829] courtesy alex gaynorMike Bayer2013-09-2214-51/+5
| |
* | fix typo [ticket:2827]Mike Bayer2013-09-171-1/+1
| |
* | render "backports"/ "forward ports" automatically, only write outMike Bayer2013-09-174-594/+137
| | | | | | | | changelog once
* | - modify what we did in [ticket:2793] so that we can also set theMike Bayer2013-09-067-14/+156
|/ | | | | version id programmatically outside of the generator. using this system, we can also leave the version id alone.
* Fixed Query.exists() method for the case, when query doesn't have any ↵Vladimir Magamedov2013-09-044-2/+26
| | | | filters applied.
* add caveats regarding RETURNINGMike Bayer2013-09-022-3/+59
|
* use a different col here to keep oracle happyMike Bayer2013-09-021-2/+12
|
* plus some more adjustments for mysql, or in general if an Index refers toMike Bayer2013-08-282-2/+12
| | | | in-python only cols
* Fixed bug where using the ``column_reflect`` event to change the ``.key``Mike Bayer2013-08-284-10/+68
| | | | | | of the incoming :class:`.Column` would prevent primary key constraints, indexes, and foreign key constraints from being correctly reflected. Also in 0.8.3. [ticket:2811]
* - fix bug here in profiling.pyMike Bayer2013-08-282-12/+12
| | | | - callcount
* repair missing oracle skipMike Bayer2013-08-281-1/+1
|
* comment this alternative approach...Mike Bayer2013-08-281-0/+7
|