| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | |
|
| |
|
|
| |
- A bonus overhead reduction for IdentitySet instances
|
| |
|
|
|
|
| |
the DDL create/drop lifecycle of Tables and MetaData. [ticket:903]
- Added DDL event hooks, triggers callables before and after create / drop.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
| |
- added 2.4-style binops to util.Set on 2.3
- OrderedSets pickle on 2.3
- more lib/sqlalchemy set vs Set corrections
- fixed InstrumentedSet.discard for 2.3
- set, sorted compatibility for test suite
- added testing.fails_if decorator
|
| |
|
|
|
|
| |
util.warn() wraps this up.
- SADeprecationWarning has moved to exceptions. An alias remains in logging until 0.5.
|
| | |
|
| |
|
|
| |
No surprises.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
mapper->True, stores
all mappers including non primaries, and is strictly used for the list of "to compile/dispose".
- all global references are now weak referencing. if you del a mapped class and any dependent classes,
its mapper and all dependencies fall out of scope.
- attributes.py still had issues which were barely covered by tests. added way more tests (coverage.py still says 71%, doh)
fixed things, took out unnecessary commit to states. attribute history is also asserted for ordering.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
remains slightly problematic
- cleanup of mapper._instance, query.instances(). mapper identifies objects which are part of the
current load using a app-unique id on the query context.
- attributes refactor; attributes now mostly use copy-on-modify instead of copy-on-load behavior,
simplified get_history(), added a new set of tests
- fixes to OrderedSet such that difference(), intersection() and others can accept an iterator
- OrderedIdentitySet passes in OrderedSet to the IdentitySet superclass for usage in difference/intersection/etc. operations so that these methods actually work with ordering behavior.
- query.order_by() takes into account aliased joins, i.e. query.join('orders', aliased=True).order_by(Order.id)
- cleanup etc.
|
| |
|
|
|
|
|
| |
builtin dict-based collection types [ticket:886]
- Collections gain a @converter framework for flexible validation and adaptation of bulk assignment
- Bogus bulk assignments now raise TypeError instead of exceptions.ArgumentError
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
CompoundSelects
may extend from more than one root column.
- keys_ok argument from corresponding_column() removed. no more name-based matching of columns anywhere.
- DictDecorator is gone. all row translators provided by orm.util.create_row_adapter(). Mapper
and contains_alias() cache the adapters on target mapper to avoid re-computation of adapters.
- create_row_adapter() accepts an "equivalent_columns" map as produced by Mapper, so that
row adapters can take join conditions into account (as usual again, to help with the CompoundSelects
produced by polymorphic_union).
- simplified TableSingleton to just provide lookup; moved all initialization into Table.
- the "properties" accessor on Mapper is removed; it now throws an informative
exception explaining the usage of mapper.get_property() and
mapper.iterate_properties
|
| |
|
|
| |
classes can now implement arbitrary __eq__ and friends. [ticket:676]
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
- Fixed __hash__ for association proxy collections
|
| | |
|
| |
|
|
| |
wider range of string values for booleans [ticket:817]
|
| |
|
|
|
|
|
|
|
|
| |
occurs upon mapper construction. this allows us to have fewer
calls to mapper.compile() and also to allow class-based properties
to force a compilation (i.e. User.addresses == 7 will compile all
mappers; this is [ticket:758]). The only caveat here is that
an inheriting mapper now looks for its inherited mapper upon construction;
so mappers within inheritance relationships need to be constructed in
inheritance order (which should be the normal case anyway).
|
| | |
|
| | |
|
| |
|
|
| |
(some sql operations faster by nearly 10% wallclock, general orm around 3%)
|
| | |
|
| |
|
|
|
|
| |
and TypeDecorator classes which define convert_bind_param()/convert_result_value()
will continue to function. Also supports calling the super() version of
those methods.
|
| |
|
|
|
| |
speed up ThreadLocal for python 2.3 [ticket:743]
clean in topo (in patch from [ticket:743])
|
| | |
|
| | |
|
| |
|
|
|
|
| |
Added BIT and SET ([ticket:674])- all mysql data types are now covered!
Fix for YEAR DDL generation, also no longer a concatenable type.
Expanded docs for some mysql column esoterica.
|
| |
|
|
|
|
| |
- Session function is removed
- all replaced with new sessionmaker() function. description at:
http://www.sqlalchemy.org/trac/wiki/WhatsNewIn04#create_sessionSessionContextassignmapperDeprecated
|
| |
|
|
| |
for vanilla 2.3 Python.
|
| | |
|
| |
|
|
| |
SADeprecationWarning so that we can set the "once" filter across all SQLAlchemy-originating DeprecationWarnings.
|
| | |
|
| | |
|
| |
|
|
| |
maintenance branch in branches/rel_0_3.
|
| |
|
|
|
|
|
| |
columns from a join, equating foreign keys and otherwise equated columns.
this is also mostly to help inheritance scenarios formulate the best
choice of primary key columns. [ticket:185]
- added 'bind' argument to Sequence.create()/drop(), ColumnDefault.execute()
|
| | |
|
| |
|
|
|
| |
trace of the original __init__ exception; errors raised during session.expunge() will be
reported as warnings
|
| |
|
|
|
|
| |
list, dict and set-based relation collections (and scalar relations). Extensive tests.
- Added util.duck_type_collection
|
| |
|
|
| |
- added support for __getitem__ on OrderedSet
|
| |
|
|
| |
- docstring work
|
| |
|
|
|
|
| |
- Coercing sqlite connect args provided in query string to their expected type
(e.g. 'timeout' as float, fixes #544)
- Coerce mysql's client_flag to int too
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- much more functionality moved into ExecutionContext, which impacted
the API used by dialects to some degree
- ResultProxy and subclasses now designed sanely
- merged patch for #522, Unicode subclasses String directly,
MSNVarchar implements for MS-SQL, removed MSUnicode.
- String moves its "VARCHAR"/"TEXT" switchy thing into
"get_search_list()" function, which VARCHAR and CHAR can override
to not return TEXT in any case (didnt do the latter yet)
- implements server side cursors for postgres, unit tests, #514
- includes overhaul of dbapi import strategy #480, all dbapi
importing happens in dialect method "dbapi()", is only called
inside of create_engine() for default and threadlocal strategies.
Dialect subclasses have a datamember "dbapi" referencing the loaded
module which may be None.
- added "mock" engine strategy, doesnt require DBAPI module and
gives you a "Connecition" which just sends all executes to a callable.
can be used to create string output of create_all()/drop_all().
|
| |
|
|
|
| |
generate deterministic names for the aliases they create using
md5 hashes.
|