summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/util
Commit message (Collapse)AuthorAgeFilesLines
...
* Make MonkeyPatchedBinaryTest not fail on Python 2.5 (which doesn't haveMarc Abramowitz2013-03-201-0/+8
| | | | the `b` notation for byte string literals)
* - remove all compat items that are pre-2.5 (hooray)Mike Bayer2013-03-095-189/+50
| | | | | | - other cleanup - don't need compat.decimal, that approach never panned out. hopefully outside libs aren't pulling it in, they shouldn't be
* happy new year (see #2645)Diana Clarke2013-01-017-7/+7
|
* Fixed a regression caused by :ticket:`2410` whereby aMike Bayer2012-12-111-4/+6
| | | | | | | | | :class:`.CheckConstraint` would apply itself back to the original table during a :meth:`.Table.tometadata` operation, as it would parse the SQL expression for a parent table. The operation now copies the given expression to correspond to the new table. [ticket:2633]
* - documentation and changelog for [ticket:2601]Mike Bayer2012-12-091-9/+57
|
* just a pep8 pass of lib/sqlalchemy/util/Diana Clarke2012-11-196-17/+79
|
* just a pep8 pass of this fileDiana Clarke2012-11-181-13/+32
|
* initializing _labels to an empty list so that the other methods don't throw ↵Diana Clarke2012-11-171-0/+1
| | | | exceptions in the None labels case, but rather return (), [], or {}. this is not backwards compatible, but doubt anyone is relying on those exceptions #2601
* adding _fields, _asdict() to KeyedTuple #2601Diana Clarke2012-11-171-0/+7
|
* __sub__ was declared twice, just increasing test coverage before I change ↵Diana Clarke2012-11-131-3/+0
| | | | anything
* - move most/all operator specific tests into test_operator, convert fully to TOTMike Bayer2012-10-242-1/+2
|
* - [bug] TypeDecorator now includes a generic repr()Mike Bayer2012-10-181-2/+4
| | | | | | | | | that works in terms of the "impl" type by default. This is a behavioral change for those TypeDecorator classes that specify a custom __init__ method; those types will need to re-define __repr__() if they need __repr__() to provide a faithful constructor representation. [ticket:2594]
* - fix annotation transfer when producing m2m backref, [ticket:2578]Mike Bayer2012-09-281-0/+3
|
* - use our new Cls.memoized_name._reset(self) method in place of all those ↵Mike Bayer2012-09-232-4/+1
| | | | | | __dict__.pop(), remove reset_memoized
* - [bug] When the primary key column of a TableMike Bayer2012-09-231-0/+2
| | | | | | | | is replaced, such as via extend_existing, the "auto increment" column used by insert() constructs is reset. Previously it would remain referring to the previous primary key column. [ticket:2525]
* - rework the test exclusions system to work on a consistent themeMike Bayer2012-09-032-2/+3
|
* Add items(), values() methods to Properties.Michael Elsdörfer2012-08-291-0/+6
|
* - [feature] The Core oeprator system now includesMike Bayer2012-08-201-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the `getitem` operator, i.e. the bracket operator in Python. This is used at first to provide index and slice behavior to the Postgresql ARRAY type, and also provides a hook for end-user definition of custom __getitem__ schemes which can be applied at the type level as well as within ORM-level custom operator schemes. Note that this change has the effect that descriptor-based __getitem__ schemes used by the ORM in conjunction with synonym() or other "descriptor-wrapped" schemes will need to start using a custom comparator in order to maintain this behavior. - [feature] postgresql.ARRAY now supports indexing and slicing. The Python [] operator is available on all SQL expressions that are of type ARRAY; integer or simple slices can be passed. The slices can also be used on the assignment side in the SET clause of an UPDATE statement by passing them into Update.values(); see the docs for examples. - [feature] Added new "array literal" construct postgresql.array(). Basically a "tuple" that renders as ARRAY[1,2,3].
* - [bug] Fixed the repr() of Enum to includeMike Bayer2012-08-081-1/+10
| | | | | the "name" and "native_enum" flags. Helps Alembic autogenerate.
* more import cleanupsMike Bayer2012-08-077-15/+12
|
* -whitespace bonanza, contdMike Bayer2012-07-282-6/+6
|
* - document the inspection systemMike Bayer2012-07-181-13/+16
|
* adjust the compat namedtuple to handle subclassingMike Bayer2012-07-171-3/+3
|
* - justify NamedTuple, now called KeyedTupleMike Bayer2012-07-162-3/+12
| | | | - fix this test
* - [feature] *Very limited* support forMike Bayer2012-07-143-12/+47
| | | | | | | | | | | | | | inheriting mappers to be GC'ed when the class itself is deferenced. The mapper must not have its own table (i.e. single table inh only) without polymorphic attributes in place. This allows for the use case of creating a temporary subclass of a declarative mapped class, with no table or mapping directives of its own, to be garbage collected when dereferenced by a unit test. [ticket:2526]
* notify_all workaround for 2.5Mike Bayer2012-06-251-1/+10
|
* add 2.5 compat for next()Mike Bayer2012-06-252-1/+6
|
* - change notify to notify_all() so all waiters exit immediately,Mike Bayer2012-06-251-1/+1
| | | | continuing [ticket:2522]
* - [moved] The InstrumentationManager interfaceMike Bayer2012-06-243-88/+16
| | | | | | | | | | | | | and the entire related system of alternate class implementation is now moved out to sqlalchemy.ext.instrumentation. This is a seldom used system that adds significant complexity and overhead to the mechanics of class instrumentation. The new architecture allows it to remain unused until InstrumentationManager is actually imported, at which point it is bootstrapped into the core.
* - [bug] Fixed bug wherebyMike Bayer2012-06-221-3/+37
| | | | | | | | | | | | a disconnect detect + dispose that occurs when the QueuePool has threads waiting for connections would leave those threads waiting for the duration of the timeout on the old pool. The fix now notifies those waiters with a special exception case and has them move onto the new pool. This fix may or may not be ported to 0.7. [ticket:2522]
* - [feature] The of_type() construct on attributesMike Bayer2012-06-202-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | now accepts aliased() class constructs as well as with_polymorphic constructs, and works with query.join(), any(), has(), and also eager loaders subqueryload(), joinedload(), contains_eager() [ticket:2438] [ticket:1106] - a rewrite of the query path system to use an object based approach for more succinct usage. the system has been designed carefully to not add an excessive method overhead. - [feature] select() features a correlate_except() method, auto correlates all selectables except those passed. Is needed here for the updated any()/has() functionality. - remove some old cruft from LoaderStrategy, init(),debug_callable() - use a namedtuple for _extended_entity_info. This method should become standard within the orm internals - some tweaks to the memory profile tests, number of runs can be customized to work around pysqlite's very annoying behavior - try to simplify PropertyOption._get_paths(), rename to _process_paths(), returns a single list now. overall works more completely as was needed for of_type() functionality
* - [feature] Added a new systemMike Bayer2012-04-242-1/+40
| | | | | | | for registration of new dialects in-process without using an entrypoint. See the docs for "Registering New Dialects". [ticket:2462]
* - merge attribute flag overhaul for [ticket:2358]Mike Bayer2012-04-231-7/+13
|
* - [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]