:released: Mon Mar 13 2006
.. change::
:tags:
:tickets:
create_engine() now uses genericized parameters; host/hostname,
db/dbname/database, password/passwd, etc. for all engine connections. makes
engine URIs much more "universal"
.. change::
:tags:
:tickets:
added support for SELECT statements embedded into a column clause, using the
flag "scalar=True"
.. change::
:tags:
:tickets:
another overhaul to EagerLoading when used in conjunction with mappers that
inherit; improvements to eager loads figuring out their aliased queries
correctly, also relations set up against a mapper with inherited mappers will
create joins against the table that is specific to the mapper itself (i.e. and
not any tables that are inherited/are further down the inheritance chain),
this can be overridden by using custom primary/secondary joins.
.. change::
:tags:
:tickets:
added J.Ellis patch to mapper.py so that selectone() throws an exception
if query returns more than one object row, selectfirst() to not throw the
exception. also adds selectfirst_by (synonymous with get_by) and selectone_by
.. change::
:tags:
:tickets:
added onupdate parameter to Column, will exec SQL/python upon an update
statement.Also adds "for_update=True" to all DefaultGenerator subclasses
.. change::
:tags:
:tickets:
added support for Oracle table reflection contributed by Andrija Zaric;
still some bugs to work out regarding composite primary keys/dictionary selection
.. change::
:tags:
:tickets:
checked in an initial Firebird module, awaiting testing.
.. change::
:tags:
:tickets:
added sql.ClauseParameters dictionary object as the result for
compiled.get_params(), does late-typeprocessing of bind parameters so
that the original values are easier to access
.. change::
:tags:
:tickets:
more docs for indexes, column defaults, connection pooling, engine construction
.. change::
:tags:
:tickets:
overhaul to the construction of the types system. uses a simpler inheritance
pattern so that any of the generic types can be easily subclassed, with no need
for TypeDecorator.
.. change::
:tags:
:tickets:
added "convert_unicode=False" parameter to SQLEngine, will cause all String
types to perform unicode encoding/decoding (makes Strings act like Unicodes)
.. change::
:tags:
:tickets:
added 'encoding="utf8"' parameter to engine. the given encoding will be
used for all encode/decode calls within Unicode types as well as Strings
when convert_unicode=True.
.. change::
:tags:
:tickets:
improved support for mapping against UNIONs, added polymorph.py example
to illustrate multi-class mapping against a UNION
.. change::
:tags:
:tickets:
fix to SQLite LIMIT/OFFSET syntax
.. change::
:tags:
:tickets:
fix to Oracle LIMIT syntax
.. change::
:tags:
:tickets:
added backref() function, allows backreferences to have keyword arguments
that will be passed to the backref.
.. change::
:tags:
:tickets:
Sequences and ColumnDefault objects can do execute()/scalar() standalone
.. change::
:tags:
:tickets:
SQL functions (i.e. func.foo()) can do execute()/scalar() standalone
.. change::
:tags:
:tickets:
fix to SQL functions so that the ANSI-standard functions, i.e. current_timestamp
etc., do not specify parenthesis. all other functions do.
.. change::
:tags:
:tickets:
added settattr_clean and append_clean to SmartProperty, which set
attributes without triggering a "dirty" event or any history. used as:
myclass.prop1.setattr_clean(myobject, 'hi')
.. change::
:tags:
:tickets:
improved support to column defaults when used by mappers; mappers will pull
pre-executed defaults from statement's executed bind parameters
(pre-conversion) to populate them into a saved object's attributes; if any
PassiveDefaults have fired off, will instead post-fetch the row from the DB to
populate the object.
.. change::
:tags:
:tickets:
added 'get_session().invalidate(\*obj)' method to objectstore, instances will
refresh() themselves upon the next attribute access.
.. change::
:tags:
:tickets:
improvements to SQL func calls including an "engine" keyword argument so
they can be execute()d or scalar()ed standalone, also added func accessor to
SQLEngine
.. change::
:tags:
:tickets:
fix to MySQL4 custom table engines, i.e. TYPE instead of ENGINE
.. change::
:tags:
:tickets:
slightly enhanced logging, includes timestamps and a somewhat configurable
formatting system, in lieu of a full-blown logging system
.. change::
:tags:
:tickets:
improvements to the ActiveMapper class from the TG gang, including
many-to-many relationships
.. change::
:tags:
:tickets:
added Double and TinyInt support to mysql
.. changelog::