Commit Graph

10240 Commits

Author SHA1 Message Date
Mike Bayer e9b2e33f15 - The :class:.CreateColumn construct can be appled to a custom
compilation rule which allows skipping of columns, by producing
a rule that returns ``None``.  Also in 0.8.3.
2013-08-24 13:56:01 -04:00
Mike Bayer 460b23731c - "primary mapper entity" is now an attribute on Query,
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
2013-08-24 11:27:44 -04:00
Mike Bayer 41f24ba134 formatting 2013-08-23 18:58:09 -04:00
Mike Bayer 1281b50d6d - update the test times, include pypy, clean up the script 2013-08-21 19:18:18 -04:00
Mike Bayer 9059df8762 add FAQ entry on large inserts 2013-08-21 19:09:01 -04:00
Mike Bayer 0c00892556 fix link 2013-08-21 18:57:00 -04:00
Mike Bayer 4268ea06b3 move FAQ to the docs, [ticket:2133] 2013-08-21 18:48:34 -04:00
Mike Bayer ce6c1557a3 yikes return the modname if no lookup found... 2013-08-21 17:14:19 -04:00
Mike Bayer b13a434f6f Fixed bug where list instrumentation would fail to represent a
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]
2013-08-20 13:27:27 -04:00
Mike Bayer 5b8e8598ab too small! 2013-08-18 21:29:49 -04:00
Mike Bayer baf6d9214e add some height 2013-08-18 20:49:07 -04:00
Mike Bayer 9302be39a5 additoinal 2013-08-18 18:16:40 -04:00
Mike Bayer 0c19c1c66f - reorganize docs so expression, schema are broken out into subfiles, they're too big
- fix the targeting of module names moved around by using custom handlers for "Bases", etc.
2013-08-18 18:01:27 -04:00
Mike Bayer 633a86bfd4 and we don't need weakset 2013-08-18 16:16:25 -04:00
Mike Bayer 806a9b7785 0.9 needs 0.8's changelog also..... 2013-08-18 16:11:15 -04:00
Mike Bayer a622305c0b - use newly fixed WeakSequence (#2794) to not have to rely on class name for sorting in #2779 2013-08-18 16:09:17 -04:00
Mike Bayer 9769628ac1 - add WeakSequence.append()
- fix and test weakref cleanout for WeakSequence, [ticket:2794]
2013-08-18 16:05:38 -04:00
Mike Bayer 76e1a76e17 formatting 2013-08-18 15:53:16 -04:00
Mike Bayer 676876f466 Fixed a potential issue in an ordered sequence implementation used
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]
2013-08-18 15:34:23 -04:00
Mike Bayer c5792c277b - also do delete, add seealsos, formatting, etc. [ticket:2798] 2013-08-18 15:15:38 -04:00
Mike Bayer 902e013ec1 - add better notes to query.update(), most notably how to deal with a joined table
update, [ticket:2798]
2013-08-18 15:01:59 -04:00
Mike Bayer 236db85f96 Fixed regression dating back to 0.7.9 whereby the name of a CTE might
not be properly quoted if it was referred to in multiple FROM clauses.
Also in 0.8.3, 0.7.11. [ticket:2801]
2013-08-18 14:46:04 -04:00
Mike Bayer e7c179ac72 more tests regarding expiry, deferral 2013-08-17 15:26:45 -04:00
Mike Bayer 68ee6725b8 some tests regarding how newly inserted rows are treated as far as fetch on access 2013-08-17 14:58:02 -04:00
Mike Bayer 2038837fa4 - spot checking of imports, obsolete functions 2013-08-17 12:14:58 -04:00
Mike Bayer b83a1564f1 Improved support for the cymysql driver, supporting version 0.6.5,
courtesy Hajime Nakagami.
2013-08-17 00:31:57 -04:00
Mike Bayer ade6b233d7 0.8 changelog 2013-08-17 00:23:37 -04:00
Mike Bayer d102864609 - changelog
- clean up these tests to not use globals so much, close out the session
2013-08-17 00:20:46 -04:00
Mike Bayer 86853e14d5 Merged in prschmid/sqlalchemy (pull request #4)
Made primary_key autoincrement=False in versioning example.
2013-08-17 00:12:59 -04:00
Mike Bayer efb71bd4f3 Merged in bacher09/sqlalchemy (pull request #5)
Fix typo in comparator_factory example
2013-08-17 00:05:19 -04:00
Mike Bayer 869620902a merge error here, though also hedge between explaining about the expressions here vs.
hoping they read the class-level docstring
2013-08-16 10:03:05 -04:00
Mike Bayer 59141d360e - apply an import refactoring to the ORM as well
- rework the event system so that event modules load after their
targets, dependencies are reversed
- create an improved strategy lookup system for the ORM
- rework the ORM to have very few import cycles
- move out "importlater" to just util.dependency
- other tricks to cross-populate modules in as clear a way as possible
2013-08-14 19:58:34 -04:00
Mike Bayer 688d799814 fix missing savepoint structures 2013-08-12 19:39:26 -04:00
Mike Bayer 4c2863765e - header comments 2013-08-12 17:56:11 -04:00
Mike Bayer f6198d9abf - A large refactoring of the `sqlalchemy.sql` package has reorganized
the import structure of many core modules.
``sqlalchemy.schema`` and ``sqlalchemy.types``
remain in the top-level package, but are now just lists of names
that pull from within ``sqlalchemy.sql``.  Their implementations
are now broken out among ``sqlalchemy.sql.type_api``, ``sqlalchemy.sql.sqltypes``,
``sqlalchemy.sql.schema`` and ``sqlalchemy.sql.ddl``, the last of which was
moved from ``sqlalchemy.engine``.  ``sqlalchemy.sql.expression`` is also
a namespace now which pulls implementations mostly from ``sqlalchemy.sql.elements``,
``sqlalchemy.sql.selectable``, and ``sqlalchemy.sql.dml``.
Most of the "factory" functions
used to create SQL expression objects have been moved to classmethods
or constructors, which are exposed in ``sqlalchemy.sql.expression``
using a programmatic system.  Care has been taken such that all the
original import namespaces remain intact and there should be no impact
on any existing applications.   The rationale here was to break out these
very large modules into smaller ones, provide more manageable lists
of function names, to greatly reduce "import cycles" and clarify the
up-front importing of names, and to remove the need for redundant
functions and documentation throughout the expression package.
2013-08-12 17:50:37 -04:00
Mike Bayer e8c2a2738b add some more detail about concurrency 2013-08-12 14:20:01 -04:00
Mike Bayer f080b87a61 - more "when do i create the session" docs, get specific
- more glossary terms
- turn the session FAQ into rst sections at last
2013-08-12 11:33:17 -04:00
Mike Bayer 73c8658831 add more docs to index, even though this seems to be a little redundant 2013-08-11 02:22:36 -04:00
Slava Bacherikov a34dc8488b Fix typo in comparator_factory example 2013-08-09 17:16:59 +03:00
mike bayer 9dcdf7ff73 Merge pull request #21 from svrin/patch-1
Typo in engines.rst
2013-08-08 13:39:23 -07:00
Severin Orth 0f68eceff4 Typo 2013-08-08 10:09:42 +10:00
Mike Bayer 34ef21909b - The :meth:.Operators.notin_ operator added in 0.8 now properly
produces the negation of the expression "IN" returns
when used against an empty collection.  Also in 0.8.3.
2013-08-07 13:28:45 -05:00
Mike Bayer fe34b4ee63 ok forget it, that approach didn't really cover every base, so
we are pretty much back to the beginning, nothing to see here
2013-08-04 16:21:37 -04:00
Mike Bayer 1a88a982b4 find some more inline imports and move them out 2013-08-04 15:28:40 -04:00
Mike Bayer 9a49e09d0b - add predictable_gc to a few more tests showing up on pypy 2013-08-04 15:11:17 -04:00
Mike Bayer e0237aac2b - don't need resolve, don't need import for this. just look in sys.modules,
since we are dealing with cycles in any case.
2013-08-04 15:03:50 -04:00
Mike Bayer b79a5c25bc tweaks 2013-08-02 18:29:25 -04:00
Mike Bayer 268d4cfcb1 - after discussions with the original project folks working with zope security
proxies, they aren't overriding getattr() or setattr() at all.  so all the
hardcoded getattr()/setattr() is removed from collections.py.   Lots of these
getattr/setattr were against the attributeimpl and decorated functions
and don't seem like they'd ever be needed; for a user that needs special access
to a collection, we can evaulate that use case and add a single point of
"unwrapping", and probably add a hook for it via
InstrumentationManager so that the collection implementation isn't complicated
by it.
2013-08-02 18:21:02 -04:00
Mike Bayer 7f9becf3fb rework the test here to suit 0.8/0.9 mostly, include time tests 2013-08-02 17:37:59 -04:00
Mike Bayer 58b4b88907 a missing cursor.close() here caused a *huge* amount of weird locking issues with pypy,
what is strange is how it only occurred in some very specific places under very
particular conditions, perhaps it has to do with whether or not this cursor gets
gc'ed or not.
2013-08-02 13:27:30 -04:00