summaryrefslogtreecommitdiff
path: root/doc
Commit message (Collapse)AuthorAgeFilesLines
* Updated documenation for engines.rstpr/135Jim Hokanson2014-09-141-1/+6
| | | Clarified connecting to absolute path for sqlite using Windows.
* - Fixed warning that would emit when a complex self-referentialMike Bayer2014-09-111-1/+11
| | | | | | | primaryjoin contained functions, while at the same time remote_side was specified; the warning would suggest setting "remote side". It now only emits if remote_side isn't present. fixes #3194
* - Fixed bug in ordering list where the order of items would beMike Bayer2014-09-101-0/+11
| | | | | | | | thrown off during a collection replace event, if the reorder_on_append flag were set to True. The fix ensures that the ordering list only impacts the list that is explicitly associated with the object. fixes #3191
* - for whatever reason, Insert.values() with multi values wasn'tMike Bayer2014-09-092-0/+28
| | | | in the 0.8 migration, so let's just add that
* - Added new event handlers :meth:`.AttributeEvents.init_collection`Mike Bayer2014-09-071-0/+9
| | | | | | | and :meth:`.AttributeEvents.dispose_collection`, which track when a collection is first associated with an instance and when it is replaced. These handlers supersede the :meth:`.collection.linker` annotation. The old hook remains supported through an event adapter.
* - mako_layout isn't used, remove itMike Bayer2014-09-072-4/+4
| | | | - to check for epub look at "builder"
* Merge pull request #133 from hiaselhans/doc_epubmike bayer2014-09-072-1/+8
|\ | | | | Docs: use layout.mako only when mako_layout=='html'
| * Docs: use the base layout when mako_layout=='epub'pr/133hiaselhans2014-09-072-1/+8
| | | | | | | | | | | | - https://readthedocs.org/projects/sqlalchemy/downloads/epub/latest/ renders with the full template which is unreadable on e-readers - in the makefile the template-variable mako_layout is set for target: epub which makes mako use only the base layout. - this is the more elegant solution as proposed to #133
* | - changelog and migration for #3188, #3148.Mike Bayer2014-09-072-1/+108
|/ | | | | fixes #3188 fixes #3148
* - MySQL boolean symbols "true", "false" work again. 0.9's changeMike Bayer2014-09-052-0/+36
| | | | | | | | | | | in :ticket:`2682` disallowed the MySQL dialect from making use of the "true" and "false" symbols in the context of "IS" / "IS NOT", but MySQL supports this syntax even though it has no boolean type. MySQL remains "non native boolean", but the :func:`.true` and :func:`.false` symbols again produce the keywords "true" and "false", so that an expression like ``column.is_(true())`` again works on MySQL. fixes #3186
* - ensure literal_binds works with LIMIT clause, FOR UPDATEMike Bayer2014-09-031-1/+5
|
* - The hostname-based connection format for SQL Server when usingMike Bayer2014-09-032-0/+32
| | | | | | | | pyodbc will no longer specify a default "driver name", and a warning is emitted if this is missing. The optimal driver name for SQL Server changes frequently and is per-platform, so hostname based connections need to specify this. DSN-based connections are preferred. fixes #3182
* - An adjustment to table/index reflection such that if an indexMike Bayer2014-09-021-0/+11
| | | | | | | reports a column that isn't found to be present in the table, a warning is emitted and the column is skipped. This can occur for some special system column situations as has been observed with Oracle. fixes #3180
* - reorganizeMike Bayer2014-09-011-434/+436
|
* - The :func:`~.expression.column` and :func:`~.expression.table`Mike Bayer2014-09-015-4/+195
| | | | | | | | | | | | | | | | | | | | | 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-012-32/+157
| | | | for ticket 2992.
* - walk back these literal SQL lectures into something much more succinct.Mike Bayer2014-08-312-100/+23
| | | | | 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 ;)
* - A new style of warning can be emitted which will "filter" up toMike Bayer2014-08-312-0/+64
| | | | | | | | | N occurrences of a parameterized string. This allows parameterized warnings that can refer to their arguments to be delivered a fixed number of times until allowing Python warning filters to squelch them, and prevents memory from growing unbounded within Python's warning registries. fixes #3178
* - start encouraging the use of text() for injection of string-based SQLMike Bayer2014-08-312-15/+18
| | | | rather than straight strings. reference #2992
* - alter the yield_per eager restriction such that joined many-to-one loadsMike Bayer2014-08-302-7/+22
| | | | are still OK, since these should be fine.
* - The :class:`.Query` will raise an exception when :meth:`.Query.yield_per`Mike Bayer2014-08-292-0/+25
| | | | | | | | is used with mappings or options where eager loading, either joined or subquery, would take place. These loading strategies are not currently compatible with yield_per, so by raising this error, the method is safer to use - combine with sending False to :meth:`.Query.enable_eagerloads` to disable the eager loaders.
* - we've got 25% improvement so let's talk about itMike Bayer2014-08-291-0/+48
|
* - Changed the approach by which the "single inheritance criterion"Mike Bayer2014-08-292-0/+73
| | | | | | | | | | is applied, when using :meth:`.Query.from_self`, or its common user :meth:`.Query.count`. The criteria to limit rows to those with a certain type is now indicated on the inside subquery, not the outside one, so that even if the "type" column is not available in the columns clause, we can filter on it on the "inner" query. fixes #3177
* - major refactoring/inlining to loader.instances(), though not reallyMike Bayer2014-08-283-2/+82
| | | | | | | | | | | 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
* - Made a small adjustment to the mechanics of lazy loading,Mike Bayer2014-08-281-0/+12
| | | | | | | | | | such that it has less chance of interfering with a joinload() in the very rare circumstance that an object points to itself; in this scenario, the object refers to itself while loading its attributes which can cause a mixup between loaders. The use case of "object points to itself" is not fully supported, but the fix also removes some overhead so for now is part of testing. fixes #3145
* - A new implementation for :class:`.KeyedTuple` used by theMike Bayer2014-08-282-0/+61
| | | | | | :class:`.Query` object offers dramatic speed improvements when fetching large numbers of column-oriented rows. fixes #3176
* - The behavior of :paramref:`.joinedload.innerjoin` as well asMike Bayer2014-08-262-0/+62
| | | | | | | :paramref:`.relationship.innerjoin` is now to use "nested" inner joins, that is, right-nested, as the default behavior when an inner join joined eager load is chained to an outer join eager load. fixes #3008
* - updates to migration / changelog for 1.0Mike Bayer2014-08-263-25/+164
|
* - changelog for pr bitbucket:28Mike Bayer2014-08-251-0/+9
|
* - changelog for pr bitbucket:27Mike Bayer2014-08-251-0/+10
|
* - The "resurrect" ORM event has been removed. This event hook hadMike Bayer2014-08-251-0/+8
| | | | | | no purpose since the old "mutable attribute" system was removed in 0.8. fixes #3171
* Merge branch 'pr129'Mike Bayer2014-08-231-0/+13
|\ | | | | | | | | Conflicts: doc/build/changelog/changelog_10.rst
| * - pep8 formatting for pg table opts feature, testsMike Bayer2014-08-231-0/+13
| | | | | | | | | | | | | | - add support for PG INHERITS - fix mis-named tests - changelog fixes #2051
* | 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.
* | - The INSERT...FROM SELECT construct now implies ``inline=True``Mike Bayer2014-08-201-0/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | on :class:`.Insert`. This helps to fix a bug where an INSERT...FROM SELECT construct would inadvertently be compiled as "implicit returning" on supporting backends, which would cause breakage in the case of an INSERT that inserts zero rows (as implicit returning expects a row), as well as arbitrary return data in the case of an INSERT that inserts multiple rows (e.g. only the first row of many). A similar change is also applied to an INSERT..VALUES with multiple parameter sets; implicit RETURNING will no longer emit for this statement either. As both of these constructs deal with varible numbers of rows, the :attr:`.ResultProxy.inserted_primary_key` accessor does not apply. Previously, there was a documentation note that one may prefer ``inline=True`` with INSERT..FROM SELECT as some databases don't support returning and therefore can't do "implicit" returning, but there's no reason an INSERT...FROM SELECT needs implicit returning in any case. Regular explicit :meth:`.Insert.returning` should be used to return variable numbers of result rows if inserted data is needed. fixes #3169
* | - Fixed bug in connection pool logging where the "connection checked out"Mike Bayer2014-08-201-0/+11
| | | | | | | | | | | | | | | | debug logging message would not emit if the logging were set up using ``logging.setLevel()``, rather than using the ``echo_pool`` flag. Tests to assert this logging have been added. This is a regression that was introduced in 0.9.0. fixes #3168
* | - Fixed bug where attribute "set" events or columns withMike Bayer2014-08-172-0/+16
|/ | | | | | | | ``@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
* - changelog for pullreq github:125Mike Bayer2014-08-161-0/+10
| | | | - add pg8000 version detection for the "sane multi rowcount" feature
* - The :class:`.IdentityMap` exposed from :class:`.Session.identity`Mike Bayer2014-08-151-0/+8
| | | | | | now returns lists for ``items()`` and ``values()`` in Py3K. Early porting to Py3K here had these returning iterators, when they technically should be "iterable views"..for now, lists are OK.
* - UPDATE statements can now be batched within an ORM flushMike Bayer2014-08-141-0/+11
| | | | | | | | | | into more performant executemany() call, similarly to how INSERT statements can be batched; this will be invoked within flush to the degree that subsequent UPDATE statements for the same mapping and table involve the identical columns within the VALUES clause, as well as that no VALUES-level SQL expressions are embedded. - some other inlinings within persistence.py
* - The string keys that are used to determine the columns impactedMike Bayer2014-08-141-0/+12
| | | | | | | | | for an INSERT or UPDATE are now sorted when they contribute towards the "compiled cache" cache key. These keys were previously not deterministically ordered, meaning the same statement could be cached multiple times on equivalent keys, costing both in terms of memory as well as performance. fixes #3165
* - Removing (or adding) an event listener at the same time that the eventMike Bayer2014-08-141-0/+11
| | | | | | | | | is being run itself, either from inside the listener or from a concurrent thread, now raises a RuntimeError, as the collection used is now an instance of ``colletions.deque()`` and does not support changes while being iterated. Previously, a plain Python list was used where removal from inside the event itself would produce silent failures. fixes #3163
* on second thought we need to prioritize what really needs to beMike Bayer2014-08-141-7/+0
| | | | here and what's just in changelog
* - updatesMike Bayer2014-08-141-1/+64
|
* - The ``info`` parameter has been added to the constructor forMike Bayer2014-08-131-0/+17
| | | | | | | | | | | :class:`.SynonymProperty` and :class:`.ComparableProperty`. - The ``info`` parameter has been added as a constructor argument to all schema constructs including :class:`.MetaData`, :class:`.Index`, :class:`.ForeignKey`, :class:`.ForeignKeyConstraint`, :class:`.UniqueConstraint`, :class:`.PrimaryKeyConstraint`, :class:`.CheckConstraint`. fixes #2963
* - The :meth:`.InspectionAttr.info` collection is now moved down toMike Bayer2014-08-131-0/+10
| | | | | | | | :class:`.InspectionAttr`, where in addition to being available on all :class:`.MapperProperty` objects, it is also now available on hybrid properties, association proxies, when accessed via :attr:`.Mapper.all_orm_descriptors`. fixes #2971
* - rename _InspectionAttr to InspectionAttrMike Bayer2014-08-131-1/+1
|
* Merge branch 'pr126'Mike Bayer2014-08-131-0/+8
|\ | | | | | | | | Conflicts: doc/build/changelog/changelog_10.rst
| * - public method name is get_enums()Mike Bayer2014-08-131-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - return a list of dicts like other methods do - don't combine 'schema' with 'name', leave them separate - support '*' argument so that we can retrieve cross-schema if needed - remove "conn" argument - use bound parameters for 'schema' in SQL - order by schema, name, label - adapt _load_enums changes to column reflection - changelog - module docs for get_enums() - add drop of enums to --dropfirst
* | - changelog, fixes #3027Mike Bayer2014-08-091-0/+9
|/