summaryrefslogtreecommitdiff
path: root/doc/build/orm
Commit message (Collapse)AuthorAgeFilesLines
* - tweaks regarding the use_alter updateMike Bayer2015-03-131-4/+2
|
* - add the fact that we can cache the sql naively as wellMike Bayer2015-03-121-5/+33
|
* - add a rationale sectionMike Bayer2015-03-121-0/+141
|
* - Added a new extension suite :mod:`sqlalchemy.ext.baked`. ThisMike Bayer2015-03-112-0/+208
| | | | | | | | simple but unusual system allows for a dramatic savings in Python overhead for the construction and processing of orm :class:`.Query` objects, from query construction up through rendering of a string SQL statement. fixes #3054
* - Added a new event suite :class:`.QueryEvents`. TheMike Bayer2015-03-101-1/+7
| | | | | | | | | | | :meth:`.QueryEvents.before_compile` event allows the creation of functions which may place additional modifications to :class:`.Query` objects before the construction of the SELECT statement. It is hoped that this event be made much more useful via the advent of a new inspection system that will allow for detailed modifications to be made against :class:`.Query` objects in an automated fashion. fixes #3317
* - A warning is emitted if the ``isolation_level`` parameter is usedMike Bayer2015-02-041-0/+143
| | | | | | | | | | | | | | | | with :meth:`.Connection.execution_options` when a :class:`.Transaction` is in play; DBAPIs and/or SQLAlchemy dialects such as psycopg2, MySQLdb may implicitly rollback or commit the transaction, or not change the setting til next transaction, so this is never safe. - Added new parameter :paramref:`.Session.connection.execution_options` which may be used to set up execution options on a :class:`.Connection` when it is first checked out, before the transaction has begun. This is used to set up options such as isolation level on the connection before the transaction starts. - added new documentation section detailing best practices for setting transaction isolation with sessions. fixes #3296
* - fix link to non_primary flagMike Bayer2015-01-271-24/+40
| | | | - rewrite the multiple mappers section
* - add new section to ORM referring to runtime inspection API,Mike Bayer2015-01-141-0/+49
| | | | more links, attempt to fix #3290
* - add MemoizedSlots, a generalized solution to using __getattr__Mike Bayer2015-01-051-0/+25
| | | | | for memoization on a class that uses slots. - apply many more __slots__. mem use for nova now at 46% savings
* - make a new page that introduces mapping a little better for theMike Bayer2015-01-054-69/+126
| | | | "mapping" section, contrasts declarative and classical some more
* - fix links for loading, add a redirect pageMike Bayer2014-12-271-0/+3
| | | | | | bump foo
* - remove private superclasses from docs in favor of fixingMike Bayer2014-12-271-1/+0
| | | | | | | zzzeeksphinx to omit these from warning Conflicts: doc/build/orm/internals.rst
* correctionsMike Bayer2014-12-271-0/+3
|
* - correctionsMike Bayer2014-12-279-6/+16
| | | | - attempt to add a script to semi-automate the fixing of links
* - create a new section on "custom load rules", to help with edgeMike Bayer2014-12-191-0/+76
| | | | cases like that of #3277. fixes #3277
* - classical is really not the most important topic hereMike Bayer2014-12-171-1/+1
|
* - squash-merge the improve_toc branch, which moves all the Sphinx stylingMike Bayer2014-12-1741-6200/+7685
| | | | | | and extensions into an external library, and also reorganizes most large documentation pages into many small areas to reduce scrolling and better present the context into a more fine-grained hierarchy.
* - rework the migration doc sectionsMike Bayer2014-12-141-4/+4
| | | | - small fixes in bulk docs
* - A new series of :class:`.Session` methods which provide hooksMike Bayer2014-12-081-3/+89
| | | | | | | | | | directly into the unit of work's facility for emitting INSERT and UPDATE statements has been created. When used correctly, this expert-oriented system can allow ORM-mappings to be used to generate bulk insert and update statements batched into executemany groups, allowing the statements to proceed at speeds that rival direct use of the Core. fixes #3100
* start docs...Mike Bayer2014-12-071-0/+55
|
* Merge branch 'master' into ticket_3100Mike Bayer2014-12-072-1/+22
|\
| * - Updated the :ref:`examples_versioned_history` example such thatMike Bayer2014-11-261-0/+2
| | | | | | | | | | | | | | | | | | | | mapped columns are re-mapped to match column names as well as grouping of columns; in particular, this allows columns that are explicitly grouped in a same-column-named joined inheritance scenario to be mapped in the same way in the history mappings, avoiding warnings added in the 0.9 series regarding this pattern and allowing the same view of attribute keys.
| * - The :meth:`.PropComparator.of_type` modifier has beenMike Bayer2014-11-241-1/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | improved in conjunction with loader directives such as :func:`.joinedload` and :func:`.contains_eager` such that if two :meth:`.PropComparator.of_type` modifiers of the same base type/path are encountered, they will be joined together into a single "polymorphic" entity, rather than replacing the entity of type A with the one of type B. E.g. a joinedload of ``A.b.of_type(BSub1)->BSub1.c`` combined with joinedload of ``A.b.of_type(BSub2)->BSub2.c`` will create a single joinedload of ``A.b.of_type((BSub1, BSub2)) -> BSub1.c, BSub2.c``, without the need for the ``with_polymorphic`` to be explicit in the query. fixes #3256
* | Merge branch 'master' into ticket_3100Mike Bayer2014-11-065-4/+171
|\ \ | |/
| * - edits to the subqueryload ordering mergeMike Bayer2014-11-052-11/+23
| |
| * Merge branch 'subqueryload_order' of ↵Mike Bayer2014-11-052-0/+21
| |\ | | | | | | | | | https://bitbucket.org/univerio/sqlalchemy into pr26
| | * Added documentation about interaction between `subqueryload` and LIMIT/OFFSET.Jack Zhou2014-08-072-0/+21
| | |
| * | - A warning is emitted in the case of multiple relationships thatticket_3230Mike Bayer2014-10-191-4/+131
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ultimately will populate a foreign key column in conflict with another, where the relationships are attempting to copy values from different source columns. This occurs in the case where composite foreign keys with overlapping columns are mapped to relationships that each refer to a different referenced column. A new documentation section illustrates the example as well as how to overcome the issue by specifying "foreign" columns specifically on a per-relationship basis. fixes #3230
| * | - add explicit warning re: polymorphic_on, cascading is not supportedMike Bayer2014-09-261-0/+6
| | | | | | | | | | | | at this time. ref #3214
| * | - refactor of declarative, break up into indiviudal methodsMike Bayer2014-09-251-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | that are now affixed to _MapperConfig - declarative now creates column copies ahead of time so that they are ready to go for a declared_attr - overhaul of declared_attr; memoization, cascading modifier - A relationship set up with :class:`.declared_attr` on a :class:`.AbstractConcreteBase` base class will now be configured on the abstract base mapping automatically, in addition to being set up on descendant concrete classes as usual. fixes #2670 - The :class:`.declared_attr` construct has newly improved behaviors and features in conjunction with declarative. The decorated function will now have access to the final column copies present on the local mixin when invoked, and will also be invoked exactly once for each mapped class, the returned result being memoized. A new modifier :attr:`.declared_attr.cascading` is added as well. fixes #3150 - the original plan for #3150 has been scaled back; by copying mixin columns up front and memoizing, we don't actually need the "map properties later" thing. - full docs + migration notes
* | | - try to finish up the performance example for nowMike Bayer2014-09-061-0/+7
|/ /
* | - The :func:`~.expression.column` and :func:`~.expression.table`Mike Bayer2014-09-011-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | constructs are now importable from the "from sqlalchemy" namespace, just like every other Core construct. - The implicit conversion of strings to :func:`.text` constructs when passed to most builder methods of :func:`.select` as well as :class:`.Query` now emits a warning with just the plain string sent. The textual conversion still proceeds normally, however. The only method that accepts a string without a warning are the "label reference" methods like order_by(), group_by(); these functions will now at compile time attempt to resolve a single string argument to a column or label expression present in the selectable; if none is located, the expression still renders, but you get the warning again. The rationale here is that the implicit conversion from string to text is more unexpected than not these days, and it is better that the user send more direction to the Core / ORM when passing a raw string as to what direction should be taken. Core/ORM tutorials have been updated to go more in depth as to how text is handled. fixes #2992
* | - more updates to text docs, literal_column, column etc. in prepMike Bayer2014-09-011-10/+6
| | | | | | | | for ticket 2992.
* | - walk back these literal SQL lectures into something much more succinct.Mike Bayer2014-08-311-85/+10
| | | | | | | | | | the ORM one in particular was really long winded and I don't really care if people use text() anyway, they'll figure it out ;)
* | - start encouraging the use of text() for injection of string-based SQLMike Bayer2014-08-311-8/+10
| | | | | | | | rather than straight strings. reference #2992
* | - major refactoring/inlining to loader.instances(), though not reallyMike Bayer2014-08-281-2/+8
| | | | | | | | | | | | | | | | | | | | | | any speed improvements :(. code is in a much better place to be run into C, however - The ``proc()`` callable passed to the ``create_row_processor()`` method of custom :class:`.Bundle` classes now accepts only a single "row" argument. - Deprecated event hooks removed: ``populate_instance``, ``create_instance``, ``translate_row``, ``append_result`` - the getter() idea is somewhat restored; see ref #3175
* | - updates to migration / changelog for 1.0Mike Bayer2014-08-261-1/+1
| |
* | Add note on begin_nested requiring rollback/commitpr/131Gunnlaugur Þór Briem2014-08-211-1/+4
| | | | | | | | | | | | | | Avoid confusion about rollback/commit "must be issued" after ``session.begin_nested()`` --- this might be taken to mean call must be *added*, but that's only true if not using the return value as a context manager.
* | - Fixed bug where attribute "set" events or columns withMike Bayer2014-08-171-0/+6
| | | | | | | | | | | | | | | | ``@validates`` would have events triggered within the flush process, when those columns were the targets of a "fetch and populate" operation, such as an autoincremented primary key, a Python side default, or a server-side default "eagerly" fetched via RETURNING. fixes #3167
* | - rename _InspectionAttr to InspectionAttrMike Bayer2014-08-131-1/+1
| |
* | - clarify docs that contains_eager() is included in the of_type() system,Mike Bayer2014-08-071-2/+5
| | | | | | | | fix #2438
* | fix typo in cascade documentationpr/127Michael White2014-08-051-1/+1
|/
* Materialized paths example.Jack Zhou2014-06-071-0/+5
|
* - hyperlink all the column operators listed in the ORM tutorial common ↵Mike Bayer2014-05-241-11/+15
| | | | | | | | | filter operators section - add language to MATCH explicitly stating this operator varies by backend and is not available on SQLite, as the tutorial defaults to SQLite to start with, fix #3059 - on the actual match() documentation fix this up to be more accurate, list some example renderings for different backends. again mention SQLite not supported
* - switch master to be 1.0Mike Bayer2014-05-231-2/+2
|
* Documentation fix-up: "its" vs. "it's"pr/91Matthias Urlichs2014-05-112-4/+4
| | | | | | | | | Removed ungrammatical apostrophes from documentation, replacing "it's" with "its" where appropriate (but in a few cases with "it is" when that read better). While doing that, I also fixed a couple of minor typos etc. as I noticed them.
* doc fixesMike Bayer2014-05-011-0/+1
|
* Fix many typos throughout the codebasepr/85Alex Gaynor2014-04-264-9/+9
| | | | Found using: https://github.com/intgr/topy
* - add a note about versioning only applying to flushesMike Bayer2014-04-251-0/+10
|
* - document that joinedload/eagerload work with of_type() + with_polymoprhic()Mike Bayer2014-04-231-3/+19
|