summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/util
Commit message (Collapse)AuthorAgeFilesLines
* - [feature] Added "no_autoflush" contextMike Bayer2012-02-252-1/+7
| | | | | manager to Session, used with with: will temporarily disable autoflush.
* - [bug] Changed LRUCache, used by the mapperMike Bayer2012-01-271-4/+9
| | | | | | | | | to cache INSERT/UPDATE/DELETE statements, to use an incrementing counter instead of a timestamp to track entries, for greater reliability versus using time.time(), which can cause test failures on some platforms. [ticket:2379]
* don't need to use __builtin__ for these things, doesn't work in py3kMike Bayer2012-01-231-8/+5
|
* 2.4 doesn't have any()Mike Bayer2012-01-222-1/+11
|
* happy new yearMike Bayer2012-01-047-7/+7
|
* fix a whole bunch of note:: / warning:: that were inline,Mike Bayer2011-12-251-1/+3
| | | | no longer compatible with docutils 0.8
* - [bug] Fixed inappropriate usage of util.py3kMike Bayer2011-12-153-24/+26
| | | | | | | flag and renamed it to util.py3k_warning, since this flag is intended to detect the -3 flag series of import restrictions only. [ticket:2348]
* - [feature] IdentitySet supports the - operatorMike Bayer2011-12-061-0/+3
| | | | | as the same as difference(), handy when dealing with Session.dirty etc. [ticket:2301]
* - Enhanced the instrumentation in the ORM to supportMike Bayer2011-09-282-6/+34
| | | | | | | | Py3K's new argument style of "required kw arguments", i.e. fn(a, b, *, c, d), fn(a, b, *args, c, d). Argument signatures of mapped object's __init__ method will be preserved, including required kw rules. [ticket:2237]
* document CircularDependencyError. [ticket:2285]Mike Bayer2011-09-231-1/+1
|
* - Fixed bug in unit of work whereby detection ofMike Bayer2011-09-221-3/+12
| | | | | | | | | | "cycles" among classes in highly interlinked patterns would not produce a deterministic result; thereby sometimes missing some nodes that should be considered cycles and causing further issues down the road. Note this bug is in 0.6 also; not backported at the moment. [ticket:2282]
* - Adjusted the "importlater" mechanism, which isMike Bayer2011-09-211-12/+42
| | | | | | | | | used internally to resolve import cycles, such that the usage of __import__ is completed when the import of sqlalchemy or sqlalchemy.orm is done, thereby avoiding any usage of __import__ after the application starts new threads, fixes [ticket:2279]. Also in 0.6.9.
* - Fixed bug regarding calculation of "from" listMike Bayer2011-09-051-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | for a select() element. The "from" calc is now delayed, so that if the construct uses a Column object that is not yet attached to a Table, but is later associated with a Table, it generates SQL using the table as a FROM. This change impacted fairly deeply the mechanics of how the FROM list as well as the "correlates" collection is calculated, as some "clause adaption" schemes (these are used very heavily in the ORM) were relying upon the fact that the "froms" collection would typically be cached before the adaption completed. The rework allows it such that the "froms" collection can be cleared and re-generated at any time. [ticket:2261] - RelationshipProperty.Comparator._criterion_exists() adds an "_orm_adapt" annotation to the correlates target, to work with the change in [ticket:2261]. It's not clear if the change to correlation+adaption mechanics will affect end user code yet. - FromClause now uses group_expirable_memoized_property for late-generated values like primary key, _columns, etc. The Select class adds some tokens to this object and has the nice effect that FromClause doesn't need to know about Select's names anymore. An additional change might be to have Select use a different group_expirable_memoized_property so that it's collection of attribute names are specific to Select though this isn't really necessary right now.
* - Added a slightly nicer __repr__() to SchemaItemMike Bayer2011-08-141-3/+6
| | | | | | | | classes. Note the repr here can't fully support the "repr is the constructor" idea since schema items can be very deeply nested/cyclical, have late initialization of some things, etc. [ticket:2223]
* sigh...*NOW* fix it for py3k so the next transformer doesn't squash itMike Bayer2011-08-061-2/+3
|
* - use itertools.count() plus mutex for Query _new_runid, psycopg2 serverMike Bayer2011-08-062-1/+16
| | | | side cursor names, mentinoed in [ticket:2247]
* - Added an improved repr() to TypeEngine objectsMike Bayer2011-07-042-1/+29
| | | | | | that will only display constructor args which are positional or kwargs that deviate from the default. [ticket:2209]
* - Added mixin class sqlalchemy.ext.DontWrapMixin.Mike Bayer2011-06-221-1/+0
| | | | | | | | | | User-defined exceptions of this type are never wrapped in StatementException when they occur in the context of a statement execution. - StatementException wrapping will display the original exception class in the message.
* - Use urllib.parse_qsl() in Python 2.6 and above,Mike Bayer2011-06-212-1/+10
| | | | | no deprecation warning about cgi.parse_qsl() [ticket:1682]
* take out a little cruft. Spend two hours trying to make things simpler,Mike Bayer2011-06-011-1/+0
| | | | | maybe we dont need state.callables (nope we do), maybe we can move populate_state out (nope we lose speed that way), things are the way they are...
* - The limit/offset keywords to select() as wellMike Bayer2011-04-072-1/+9
| | | | | | | | | | | as the value passed to select.limit()/offset() will be coerced to integer. [ticket:2116] (also in 0.6.7) - Oracle dialect adds use_binds_for_limits=False create_engine() flag, will render the LIMIT/OFFSET values inline instead of as binds, reported to modify the execution plan used by Oracle. [ticket:2116] (Also in 0.6.7)
* - AssertionPool now stores the traceback indicatingMike Bayer2011-03-302-1/+24
| | | | | | | | where the currently checked out connection was acquired; this traceback is reported within the assertion raised upon a second concurrent checkout; courtesy Gunnlaugur Briem [ticket:2103]
* - alex gaynor's latest batch of pypy test fixesMike Bayer2011-03-161-16/+18
|
* Fix 3 errors in py32, from patch from lsblakk. There are still 8 failures. ↵Taavi Burns2011-03-161-0/+1
| | | | See #2088.
* Added required import (somehow we never seem to hit the unimported ref)Taavi Burns2011-03-151-0/+1
|
* Modifications for PyPy support from Alex Gaynor.Michael Trier2011-03-082-1/+2
|
* fix this directive for py3kMike Bayer2011-02-121-1/+1
|
* - Fixed bug whereby Session.merge() would call theMike Bayer2011-02-122-1/+11
| | | | | | | | | | load() event with one too few arguments. [ticket:2053] - Added logic which prevents the generation of events from a MapperExtension or SessionExtension from generating do-nothing events for all the methods not overridden. [ticket:2052]
* - fix long lines in test_attributesMike Bayer2011-02-111-3/+12
| | | | | | - add deprecation warning to get_history() when passed True or False, convert - rearrange symbol() so we can get sphinx autodata to work
* - replace all usage of True and False for passive with PASSIVE_NO_INITIALIZE,Mike Bayer2011-02-111-0/+1
| | | | | | PASSIVE_OFF, now expresed as non-boolean symbols - make "passive" available positionally on all get_history() methods, call it like that
* rename 'frozendict' to 'immutabledict', since 'frozen' implies hashabilityMike Bayer2011-01-202-6/+6
| | | | | like frozenset which isn't really the purpose of 'immutabledict' (could be someday, in which case, we'd change the name back :) )
* - whitespace removal bonanzaMike Bayer2011-01-026-70/+70
|
* - clean up copyright, update for 2011, stamp every file withMike Bayer2011-01-027-4/+34
| | | | | a consistent tag - AUTHORS file
* - another heap of inlinings and now I really have to be done with thisMike Bayer2010-12-211-7/+14
|
* callcount reductionMike Bayer2010-12-201-3/+4
|
* - use a subset of inspect.getargspec() so that ↵Mike Bayer2010-12-191-2/+29
| | | | get_func_kwargs()/constructor_copy() don't take up 20 function calls
* merge tipMike Bayer2010-12-171-2/+1
|\
| * - inliningsMike Bayer2010-12-161-2/+1
| | | | | | | | - in particular, mapper.primary_key is a tuple now
* | - an approach I like better, remove most adapt() methods and use a genericMike Bayer2010-12-152-1/+15
| | | | | | | | | | copier - mssql reflection fix, but this will come in again from the tip merge
* | - system to cache the bind/result processors in a dialect-wide registry.Mike Bayer2010-12-131-1/+0
|/ | | | its an idea with pointy edges.
* - why type.dialect_impl(dialect).bind_processor(dialect), caching just the impl?Mike Bayer2010-12-131-1/+1
| | | | | | just call type._cached_bind_processor(dialect), cache the impl *and* the processor function. same for result sets. - use plain dict + update for defaultexecutioncontext.execution_options
* - another easy win, cache the calc of bind processors in the compiled objectMike Bayer2010-12-121-3/+3
|
* - inlinings and callcount reductionsMike Bayer2010-12-122-1/+11
| | | | - add test coverage for the rare case of noload->lazyload + pickle
* - support for cdecimalMike Bayer2010-12-111-1/+4
| | | | | | | | | | | | | | | | | | - add --with-cdecimal flag to tests, monkeypatches cdecimal in - fix mssql/pyodbc.py to not use private '_int' accessor in decimal conversion routines - pyodbc version 2.1.8 is needed for cdecimal in any case as previous versions also called '_int', 2.1.8 adds the same string logic as our own dialect, so that logic is skipped for modern pyodbc version - make the imports for "Decimal" consistent across the whole lib. not sure yet how we should be importing "Decimal" or what the best way forward is that would allow a clean user-invoked swap of cdecimal; for now, added docs suggesting a global monkeypatch - the two decimal libs are not compatible with each other so any chance of mixing produces serious issues. adding adapters to DBAPIs tedious and adds in-python overhead. suggestions welcome on how we should be doing Decimal/cdecimal.
* squash sets warningMike Bayer2010-12-051-0/+1
|
* have a 'buffer' symbol present in util in py3k as wellMike Bayer2010-12-051-1/+1
|
* - merge default tipMike Bayer2010-12-051-4/+6
|
* - move topological, queue into utilMike Bayer2010-12-055-16/+270
| | | | | - move function_named into test.lib.util - use @decorator for all decorators in test/
* - use class name by itself in flush warnings to prevent overflow of warnings ↵Mike Bayer2010-11-291-0/+11
| | | | | | | registry - test suite swaps out warnings.warn with warnings.warn_explicit, to solve warnings registry issue - explicitly disallow functions from inside test.bootstrap, test.lib being interpreted as tests
* - replace util.py with util/ package, [ticket:1986]Mike Bayer2010-11-285-0/+1909