summaryrefslogtreecommitdiff
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
* Distinct for subqueryload only for non-primary key columns.pr/33Alexander Koval2013-10-111-3/+10
|
* subqueryload() now produces distinct subquery.Alexander Koval2013-10-081-0/+2
|
* - add an option to Bundle single_entity=True to allow for singleMike Bayer2013-10-072-3/+25
| | | | 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-062-5/+5
|
* 11th hour realization that Load() needs to do the _chop_path() thing asMike Bayer2013-10-062-25/+55
| | | | well. this probably has some bugs
* - merge ticket_1418 branch, [ticket:1418]Mike Bayer2013-10-0611-878/+1190
| | | | | | | | | | | | | - 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-051-1/+8
| | | | | | 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-041-1/+10
|
* - A new construct :class:`.Bundle` is added, which allows for specificationMike Bayer2013-10-035-11/+204
| | | | | | | | | | | | | | | | 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 support for removal of instance methods as event listeners, takingMike Bayer2013-10-011-2/+6
| | | | into account the id() of the function itself and self, [ticket:2832]
* - put exact version string in the testMike Bayer2013-09-291-2/+2
| | | | - use match with a .* preceding instead of search
* 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
* | Merge pull request #25 from gthb/ticket_2821mike bayer2013-09-292-3/+10
|\ \ | | | | | | Hide password in URL and Engine __repr__
| * | Hide password in URL and Engine __repr__pr/25Gunnlaugur Þór Briem2013-09-062-3/+10
| |/ | | | | | | Fixes #2821
* | 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-222-12/+1
| |
* | - modify what we did in [ticket:2793] so that we can also set theMike Bayer2013-09-063-7/+10
|/ | | | | 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-041-1/+1
| | | | filters applied.
* add caveats regarding RETURNINGMike Bayer2013-09-022-3/+59
|
* plus some more adjustments for mysql, or in general if an Index refers toMike Bayer2013-08-281-1/+9
| | | | in-python only cols
* Fixed bug where using the ``column_reflect`` event to change the ``.key``Mike Bayer2013-08-281-6/+17
| | | | | | 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-281-11/+11
| | | | - callcount
* comment this alternative approach...Mike Bayer2013-08-281-0/+7
|
* - rework the profile thing to just rewrite all failing numbers when ↵Mike Bayer2013-08-281-6/+18
| | | | | | --write-profiles is set - some sqlite callcounts
* - cx_oracle seems to have a bug here though it is hard to track downMike Bayer2013-08-272-2/+0
| | | | - cx_oracle dialect doesn't use normal col names, lets just not rely on that for now
* more seealsos...Mike Bayer2013-08-271-3/+4
|
* - A rework to the way that "quoted" identifiers are handled, in thatMike Bayer2013-08-2714-127/+317
| | | | | | | | | | | | | | | | instead of relying upon various ``quote=True`` flags being passed around, these flags are converted into rich string objects with quoting information included at the point at which they are passed to common schema constructs like :class:`.Table`, :class:`.Column`, etc. This solves the issue of various methods that don't correctly honor the "quote" flag such as :meth:`.Engine.has_table` and related methods. The :class:`.quoted_name` object is a string subclass that can also be used explicitly if needed; the object will hold onto the quoting preferences passed and will also bypass the "name normalization" performed by dialects that standardize on uppercase symbols, such as Oracle, Firebird and DB2. The upshot is that the "uppercase" backends can now work with force-quoted names, such as lowercase-quoted names and new reserved words. [ticket:2812]
* - ensure rowcount is returned for an UPDATE with no implicit returningMike Bayer2013-08-252-7/+6
| | | | | - modernize test for that - use py3k compatible next() in test_returning/test_versioning
* - restore constructor docs blown away in the mergeMike Bayer2013-08-251-0/+141
|
* - The ``version_id_generator`` parameter of ``Mapper`` can now be specifiedMike Bayer2013-08-258-224/+293
| | | | | | | | | | | | | | | | | | | | | to rely upon server generated version identifiers, using triggers or other database-provided versioning features, by passing the value ``False``. The ORM will use RETURNING when available to immediately load the new version identifier, else it will emit a second SELECT. [ticket:2793] - The ``eager_defaults`` flag of :class:`.Mapper` will now allow the newly generated default values to be fetched using an inline RETURNING clause, rather than a second SELECT statement, for backends that support RETURNING. - Added a new variant to :meth:`.ValuesBase.returning` called :meth:`.ValuesBase.return_defaults`; this allows arbitrary columns to be added to the RETURNING clause of the statement without interfering with the compilers usual "implicit returning" feature, which is used to efficiently fetch newly generated primary key values. For supporting backends, a dictionary of all fetched values is present at :attr:`.ResultProxy.returned_defaults`. - add a glossary entry for RETURNING - add documentation for version id generation, [ticket:867]
* forgot to add system to the copy() methodMike Bayer2013-08-251-0/+1
| | | | | Conflicts: lib/sqlalchemy/schema.py
* added "system=True" to Column, so that we generally don't have to botherMike Bayer2013-08-253-5/+26
| | | | with CreateColumn rules
* Merge pull request #23 from yoloseem/mastermike bayer2013-08-252-3/+3
|\ | | | | Fixed two typos.
| * fix typospr/23Hyunjun Kim2013-08-252-3/+3
| |
* | - The :class:`.CreateColumn` construct can be appled to a customMike Bayer2013-08-242-3/+34
|/ | | | | compilation rule which allows skipping of columns, by producing a rule that returns ``None``. Also in 0.8.3.
* - "primary mapper entity" is now an attribute on Query,Mike Bayer2013-08-241-16/+11
| | | | | | | | making _MapperEntity slightly less dependent on a particular parent Query (in theory more shareable by multiple Query objects in different contexts) - remove some comments that have been misunderstanding what _mapper_entities does, or perhaps forgot to get removed - simplify _mapper_entities
* move FAQ to the docs, [ticket:2133]Mike Bayer2013-08-214-5/+28
|
* Fixed bug where list instrumentation would fail to represent aMike Bayer2013-08-201-1/+4
| | | | | | | | setslice of ``[0:0]`` correctly, which in particular could occur when using ``insert(0, item)`` with the association proxy. Due to some quirk in Python collections, the issue was much more likely with Python 3 rather than 2. Also in 0.8.3, 0.7.11. [ticket:2807]
* additoinalMike Bayer2013-08-181-2/+19
|
* and we don't need weaksetMike Bayer2013-08-182-24/+1
|
* - use newly fixed WeakSequence (#2794) to not have to rely on class name for ↵Mike Bayer2013-08-181-5/+4
| | | | sorting in #2779
* - add WeakSequence.append()Mike Bayer2013-08-181-3/+10
| | | | - fix and test weakref cleanout for WeakSequence, [ticket:2794]
* formattingMike Bayer2013-08-181-1/+2
|
* Fixed a potential issue in an ordered sequence implementation usedMike Bayer2013-08-182-5/+11
| | | | | | | by the ORM to iterate mapper hierarchies; under the Jython interpreter this implementation wasn't ordered, even though cPython and Pypy maintained ordering. Also in 0.8.3. [ticket:2794]
* - also do delete, add seealsos, formatting, etc. [ticket:2798]Mike Bayer2013-08-181-13/+37
|
* - add better notes to query.update(), most notably how to deal with a joined ↵Mike Bayer2013-08-181-12/+36
| | | | | | table update, [ticket:2798]
* Fixed regression dating back to 0.7.9 whereby the name of a CTE mightMike Bayer2013-08-181-1/+1
| | | | | not be properly quoted if it was referred to in multiple FROM clauses. Also in 0.8.3, 0.7.11. [ticket:2801]
* - spot checking of imports, obsolete functionsMike Bayer2013-08-179-33/+11
|