Sqlalchemy

Latest version: v2.0.30

Safety actively analyzes 629599 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 47 of 50

0.3.2

Not secure
:released: Sun Dec 10 2006

.. change::
:tags:
:tickets: 387

major connection pool bug fixed. fixes MySQL out of sync
errors, will also prevent transactions getting rolled back
accidentally in all DBs

.. change::
:tags:
:tickets:

major speed enhancements vs. 0.3.1, to bring speed
back to 0.2.8 levels

.. change::
:tags:
:tickets:

made conditional dozens of debug log calls that were
time-intensive to generate log messages

.. change::
:tags:
:tickets:

fixed bug in cascade rules whereby the entire object graph
could be unnecessarily cascaded on the save/update cascade

.. change::
:tags:
:tickets:

various speedups in attributes module

.. change::
:tags:
:tickets: 388

identity map in Session is by default *no longer weak referencing*.
to have it be weak referencing, use create_session(weak_identity_map=True)
fixes

.. change::
:tags:
:tickets:

MySQL detects errors 2006 (server has gone away) and 2014
(commands out of sync) and invalidates the connection on which it occurred.

.. change::
:tags:
:tickets: 307

MySQL bool type fix:

.. change::
:tags:
:tickets: 382, 349

postgres reflection fixes:

.. change::
:tags:
:tickets: 247

added keywords for EXCEPT, INTERSECT, EXCEPT ALL, INTERSECT ALL

.. change::
:tags:
:tickets: 2110

assign_mapper in assignmapper extension returns the created mapper

.. change::
:tags:
:tickets:

added label() function to Select class, when scalar=True is used
to create a scalar subquery
i.e. "select x, y, (select max(foo) from table) AS foomax from table"

.. change::
:tags:
:tickets:

added onupdate and ondelete keyword arguments to ForeignKey; propagate
to underlying ForeignKeyConstraint if present. (don't propagate in the
other direction, however)

.. change::
:tags:
:tickets:

fix to session.update() to preserve "dirty" status of incoming object

.. change::
:tags:
:tickets:

sending a selectable to an IN via the in_() function no longer creates
a "union" out of multiple selects; only one selectable to a the in_() function
is allowed now (make a union yourself if union is needed)

.. change::
:tags:
:tickets:

improved support for disabling save-update cascade via cascade="none" etc.

.. change::
:tags:
:tickets:

added "remote_side" argument to relation(), used only with self-referential
mappers to force the direction of the parent/child relationship. replaces
the usage of the "foreignkey" parameter for "switching" the direction.
"foreignkey" argument is deprecated for all uses and will eventually
be replaced by an argument dedicated to ForeignKey specification on mappers.

.. changelog::

0.3.1

Not secure
:released: Mon Nov 13 2006

.. change::
:tags: engine/pool
:tickets:

some new Pool utility classes, updated docs

.. change::
:tags: engine/pool
:tickets:

"use_threadlocal" on Pool defaults to False (same as create_engine)

.. change::
:tags: engine/pool
:tickets:

fixed direct execution of Compiled objects

.. change::
:tags: engine/pool
:tickets:

create_engine() reworked to be strict about incoming \**kwargs. all keyword
arguments must be consumed by one of the dialect, connection pool, and engine
constructors, else a TypeError is thrown which describes the full set of
invalid kwargs in relation to the selected dialect/pool/engine configuration.

.. change::
:tags: databases/types
:tickets:

MySQL catches exception on "describe" and reports as NoSuchTableError

.. change::
:tags: databases/types
:tickets:

further fixes to sqlite booleans, weren't working as defaults

.. change::
:tags: databases/types
:tickets:

fix to postgres sequence quoting when using schemas

.. change::
:tags: orm
:tickets:

the "delete" cascade will load in all child objects, if they were not
loaded already. this can be turned off (i.e. the old behavior) by setting
passive_deletes=True on a relation().

.. change::
:tags: orm
:tickets:

adjustments to reworked eager query generation to not fail on circular
eager-loaded relationships (like backrefs)

.. change::
:tags: orm
:tickets:

fixed bug where eagerload() (nor lazyload()) option didn't properly
instruct the Query whether or not to use "nesting" when producing a
LIMIT query.

.. change::
:tags: orm
:tickets: 360

fixed bug in circular dependency sorting at flush time; if object A
contained a cyclical many-to-one relationship to object B, and object B
was just attached to object A, *but* object B itself wasn't changed,
the many-to-one synchronize of B's primary key attribute to A's foreign key
attribute wouldn't occur.

.. change::
:tags: orm
:tickets: 325

implemented from_obj argument for query.count, improves count function
on selectresults

.. change::
:tags: orm
:tickets:

added an assertion within the "cascade" step of ORM relationships to check
that the class of object attached to a parent object is appropriate
(i.e. if A.items stores B objects, raise an error if a C is appended to A.items)

.. change::
:tags: orm
:tickets:

new extension sqlalchemy.ext.associationproxy, provides transparent
"association object" mappings. new example
examples/association/proxied_association.py illustrates.

.. change::
:tags: orm
:tickets:

improvement to single table inheritance to load full hierarchies beneath
the target class

.. change::
:tags: orm
:tickets: 362

fix to subtle condition in topological sort where a node could appear twice,
for

.. change::
:tags: orm
:tickets: 365

additional rework to topological sort, refactoring, for

.. change::
:tags: orm
:tickets:

"delete-orphan" for a certain type can be set on more than one parent class;
the instance is an "orphan" only if its not attached to *any* of those parents

.. changelog::

0.3.0

Not secure
:released: Sun Oct 22 2006

.. change::
:tags: general
:tickets:

logging is now implemented via standard python "logging" module.
"echo" keyword parameters are still functional but set/unset
log levels for their respective classes/instances. all logging
can be controlled directly through the Python API by setting
INFO and DEBUG levels for loggers in the "sqlalchemy" namespace.
class-level logging is under "sqlalchemy.<module>.<classname>",
instance-level logging under "sqlalchemy.<module>.<classname>.0x..<00-FF>".
Test suite includes "--log-info" and "--log-debug" arguments
which work independently of --verbose/--quiet. Logging added
to orm to allow tracking of mapper configurations, row iteration.

.. change::
:tags: general
:tickets:

the documentation-generation system has been overhauled to be
much simpler in design and more integrated with Markdown

.. change::
:tags: sqlite
:tickets:

sqlite boolean datatype converts False/True to 0/1 by default

.. change::
:tags: sqlite
:tickets: 335

fixes to Date/Time (SLDate/SLTime) types; works as good as postgres
now

.. change::
:tags: ms-sql
:tickets:

fixes bug 261 (table reflection broken for MS-SQL case-sensitive
databases)

.. change::
:tags: ms-sql
:tickets:

can now specify port for pymssql

.. change::
:tags: ms-sql
:tickets:

introduces new "auto_identity_insert" option for auto-switching
between "SET IDENTITY_INSERT" mode when values specified for IDENTITY columns

.. change::
:tags: ms-sql
:tickets:

now supports multi-column foreign keys

.. change::
:tags: ms-sql
:tickets:

fix to reflecting date/datetime columns

.. change::
:tags: ms-sql
:tickets:

NCHAR and NVARCHAR type support added

.. change::
:tags: oracle
:tickets:

Oracle has experimental support for cx_Oracle.TIMESTAMP, which requires
a setinputsizes() call on the cursor that is now enabled via the
'auto_setinputsizes' flag to the oracle dialect.

.. change::
:tags: firebird
:tickets:

aliases do not use "AS"

.. change::
:tags: firebird
:tickets:

correctly raises NoSuchTableError when reflecting non-existent table

.. change::
:tags: schema
:tickets:

a fair amount of cleanup to the schema package, removal of ambiguous
methods, methods that are no longer needed. slightly more constrained
usage, greater emphasis on explicitness

.. change::
:tags: schema
:tickets:

the "primary_key" attribute of Table and other selectables becomes
a setlike ColumnCollection object; is ordered but not numerically
indexed. a comparison clause between two pks that are derived from the
same underlying tables (i.e. such as two Alias objects) can be generated
via table1.primary_key==table2.primary_key

.. change::
:tags: schema
:tickets:

ForeignKey(Constraint) supports "use_alter=True", to create/drop a foreign key
via ALTER. this allows circular foreign key relationships to be set up.

.. change::
:tags: schema
:tickets:

append_item() methods removed from Table and Column; preferably
construct Table/Column/related objects inline, but if needed use
append_column(), append_foreign_key(), append_constraint(), etc.

.. change::
:tags: schema
:tickets:

table.create() no longer returns the Table object, instead has no
return value. the usual case is that tables are created via metadata,
which is preferable since it will handle table dependencies.

.. change::
:tags: schema
:tickets:

added UniqueConstraint (goes at Table level), CheckConstraint
(goes at Table or Column level).

.. change::
:tags: schema
:tickets:

index=False/unique=True on Column now creates a UniqueConstraint,
index=True/unique=False creates a plain Index,
index=True/unique=True on Column creates a unique Index. 'index'
and 'unique' keyword arguments to column are now boolean only; for
explicit names and groupings of indexes or unique constraints, use the
UniqueConstraint/Index constructs explicitly.

.. change::
:tags: schema
:tickets:

added autoincrement=True to Column; will disable schema generation
of SERIAL/AUTO_INCREMENT/identity seq for postgres/mysql/mssql if
explicitly set to False

.. change::
:tags: schema
:tickets:

TypeEngine objects now have methods to deal with copying and comparing
values of their specific type. Currently used by the ORM, see below.

.. change::
:tags: schema
:tickets:

fixed condition that occurred during reflection when a primary key
column was explicitly overridden, where the PrimaryKeyConstraint would
get both the reflected and the programmatic column doubled up

.. change::
:tags: schema
:tickets:

the "foreign_key" attribute on Column and ColumnElement in general
is deprecated, in favor of the "foreign_keys" list/set-based attribute,
which takes into account multiple foreign keys on one column.
"foreign_key" will return the first element in the "foreign_keys" list/set
or None if the list is empty.

.. change::
:tags: connections/pooling/execution
:tickets:

connection pool tracks open cursors and automatically closes them
if connection is returned to pool with cursors still opened. Can be
affected by options which cause it to raise an error instead, or to
do nothing. fixes issues with MySQL, others

.. change::
:tags: connections/pooling/execution
:tickets:

fixed bug where Connection wouldn't lose its Transaction
after commit/rollback

.. change::
:tags: connections/pooling/execution
:tickets:

added scalar() method to ComposedSQLEngine, ResultProxy

.. change::
:tags: connections/pooling/execution
:tickets:

ResultProxy will close() the underlying cursor when the ResultProxy
itself is closed. this will auto-close cursors for ResultProxy objects
that have had all their rows fetched (or had scalar() called).

.. change::
:tags: connections/pooling/execution
:tickets:

ResultProxy.fetchall() internally uses DBAPI fetchall() for better efficiency,
added to mapper iteration as well (courtesy Michael Twomey)

.. change::
:tags: construction, sql
:tickets: 292

changed "for_update" parameter to accept False/True/"nowait"
and "read", the latter two of which are interpreted only by
Oracle and MySQL

.. change::
:tags: construction, sql
:tickets:

added extract() function to sql dialect
(SELECT extract(field FROM expr))

.. change::
:tags: construction, sql
:tickets:

BooleanExpression includes new "negate" argument to specify
the appropriate negation operator if one is available.

.. change::
:tags: construction, sql
:tickets:

calling a negation on an "IN" or "IS" clause will result in
"NOT IN", "IS NOT" (as opposed to NOT (x IN y)).

.. change::
:tags: construction, sql
:tickets: 172

Function objects know what to do in a FROM clause now. their
behavior should be the same, except now you can also do things like
select(['*'], from_obj=[func.my_function()]) to get multiple
columns from the result, or even use sql.column() constructs to name the
return columns

.. change::
:tags: orm
:tickets:

attribute tracking modified to be more intelligent about detecting
changes, particularly with mutable types. TypeEngine objects now
take a greater role in defining how to compare two scalar instances,
including the addition of a MutableType mixin which is implemented by
PickleType. unit-of-work now tracks the "dirty" list as an expression
of all persistent objects where the attribute manager detects changes.
The basic issue that's fixed is detecting changes on PickleType
objects, but also generalizes type handling and "modified" object
checking to be more complete and extensible.

.. change::
:tags: orm
:tickets:

a wide refactoring to "attribute loader" and "options" architectures.
ColumnProperty and PropertyLoader define their loading behavior via switchable
"strategies", and MapperOptions no longer use mapper/property copying
in order to function; they are instead propagated via QueryContext
and SelectionContext objects at query/instances time.
All of the internal copying of mappers and properties that was used to handle
inheritance as well as options() has been removed; the structure
of mappers and properties is much simpler than before and is clearly laid out
in the new 'interfaces' module.

.. change::
:tags: orm
:tickets:

related to the mapper/property overhaul, internal refactoring to
mapper instances() method to use a SelectionContext object to track
state during the operation.
SLIGHT API BREAKAGE: the append_result() and populate_instances()
methods on MapperExtension have a slightly different method signature
now as a result of the change; hoping that these methods are not
in widespread use as of yet.

.. change::
:tags: orm
:tickets:

instances() method moved to Query now, backwards-compatible
version remains on Mapper.

.. change::
:tags: orm
:tickets:

added contains_eager() MapperOption, used in conjunction with
instances() to specify properties that should be eagerly loaded
from the result set, using their plain column names by default, or translated
given an custom row-translation function.

.. change::
:tags: orm
:tickets:

more rearrangements of unit-of-work commit scheme to better allow
dependencies within circular flushes to work properly...updated
task traversal/logging implementation

.. change::
:tags: orm
:tickets: 321

polymorphic mappers (i.e. using inheritance) now produces INSERT
statements in order of tables across all inherited classes

.. change::
:tags: orm
:tickets:

added an automatic "row switch" feature to mapping, which will
detect a pending instance/deleted instance pair with the same
identity key and convert the INSERT/DELETE to a single UPDATE

.. change::
:tags: orm
:tickets:

"association" mappings simplified to take advantage of
automatic "row switch" feature

.. change::
:tags: orm
:tickets: 212

"custom list classes" is now implemented via the "collection_class"
keyword argument to relation(). the old way still works but is
deprecated

.. change::
:tags: orm
:tickets:

added "viewonly" flag to relation(), allows construction of
relations that have no effect on the flush() process.

.. change::
:tags: orm
:tickets: 292

added "lockmode" argument to base Query select/get functions,
including "with_lockmode" function to get a Query copy that has
a default locking mode. Will translate "read"/"update"
arguments into a for_update argument on the select side.

.. change::
:tags: orm
:tickets:

implemented "version check" logic in Query/Mapper, used
when version_id_col is in effect and query.with_lockmode()
is used to get() an instance that's already loaded

.. change::
:tags: orm
:tickets: 208

post_update behavior improved; does a better job at not
updating too many rows, updates only required columns

.. change::
:tags: orm
:tickets: 308

adjustments to eager loading so that its "eager chain" is
kept separate from the normal mapper setup, thereby
preventing conflicts with lazy loader operation, fixes

.. change::
:tags: orm
:tickets:

fix to deferred group loading

.. change::
:tags: orm
:tickets: 346

session.flush() won't close a connection it opened

.. change::
:tags: orm
:tickets:

added "batch=True" flag to mapper; if False, save_obj
will fully save one object at a time including calls
to before_XXXX and after_XXXX

.. change::
:tags: orm
:tickets:

added "column_prefix=None" argument to mapper; prepends the
given string (typically '_') to column-based attributes automatically
set up from the mapper's Table

.. change::
:tags: orm
:tickets: 315

specifying joins in the from_obj argument of query.select() will
replace the main table of the query, if the table is somewhere within
the given from_obj. this makes it possible to produce custom joins and
outerjoins in queries without the main table getting added twice.

.. change::
:tags: orm
:tickets:

eagerloading is adjusted to more thoughtfully attach its LEFT OUTER JOINs
to the given query, looking for custom "FROM" clauses that may have
already been set up.

.. change::
:tags: orm
:tickets:

added join_to and outerjoin_to transformative methods to SelectResults,
to build up join/outerjoin conditions based on property names. also
added select_from to explicitly set from_obj parameter.

.. change::
:tags: orm
:tickets:

removed "is_primary" flag from mapper.



=============
0.4 Changelog
=============


.. changelog::

0.2.8

Not secure
:released: Tue Sep 05 2006

.. change::
:tags:
:tickets:

cleanup on connection methods + documentation. custom DBAPI
arguments specified in query string, 'connect_args' argument
to 'create_engine', or custom creation function via 'creator'
function to 'create_engine'.

.. change::
:tags:
:tickets: 274

added "recycle" argument to Pool, is "pool_recycle" on create_engine,
defaults to 3600 seconds; connections after this age will be closed and
replaced with a new one, to handle db's that automatically close
stale connections

.. change::
:tags:
:tickets: 121

changed "invalidate" semantics with pooled connection; will
instruct the underlying connection record to reconnect the next
time its called. "invalidate" will also automatically be called
if any error is thrown in the underlying call to connection.cursor().
this will hopefully allow the connection pool to reconnect to a
database that had been stopped and started without restarting
the connecting application

.. change::
:tags:
:tickets:

eesh ! the tutorial doctest was broken for quite some time.

.. change::
:tags:
:tickets:

add_property() method on mapper does a "compile all mappers"
step in case the given property references a non-compiled mapper
(as it did in the case of the tutorial !)

.. change::
:tags:
:tickets: 277

check for pg sequence already existing before create

.. change::
:tags:
:tickets:

if a contextual session is established via MapperExtension.get_session
(as it is using the sessioncontext plugin, etc), a lazy load operation
will use that session by default if the parent object is not
persistent with a session already.

.. change::
:tags:
:tickets:

lazy loads will not fire off for an object that does not have a
database identity (why?
see https://www.sqlalchemy.org/trac/wiki/WhyDontForeignKeysLoadData)

.. change::
:tags:
:tickets:

unit-of-work does a better check for "orphaned" objects that are
part of a "delete-orphan" cascade, for certain conditions where the
parent isn't available to cascade from.

.. change::
:tags:
:tickets:

mappers can tell if one of their objects is an "orphan" based
on interactions with the attribute package. this check is based
on a status flag maintained for each relationship
when objects are attached and detached from each other.

.. change::
:tags:
:tickets:

it is now invalid to declare a self-referential relationship with
"delete-orphan" (as the abovementioned check would make them impossible
to save)

.. change::
:tags:
:tickets:

improved the check for objects being part of a session when the
unit of work seeks to flush() them as part of a relationship..

.. change::
:tags:
:tickets: 280

statement execution supports using the same BindParam
object more than once in an expression; simplified handling of positional
parameters. nice job by Bill Noon figuring out the basic idea.

.. change::
:tags:
:tickets: 60, 71

postgres reflection moved to use pg_schema tables, can be overridden
with use_information_schema=True argument to create_engine.

.. change::
:tags:
:tickets: 155

added case_sensitive argument to MetaData, Table, Column, determines
itself automatically based on if a parent schemaitem has a non-None
setting for the flag, or if not, then whether the identifier name is all lower
case or not. when set to True, quoting is applied to identifiers with mixed or
uppercase identifiers. quoting is also applied automatically in all cases to
identifiers that are known to be reserved words or contain other non-standard
characters. various database dialects can override all of this behavior, but
currently they are all using the default behavior. tested with postgres, mysql,
sqlite, oracle. needs more testing with firebird, ms-sql. part of the ongoing
work with

.. change::
:tags:
:tickets:

unit tests updated to run without any pysqlite installed; pool
test uses a mock DBAPI

.. change::
:tags:
:tickets: 281

urls support escaped characters in passwords

.. change::
:tags:
:tickets:

added limit/offset to UNION queries (though not yet in oracle)

.. change::
:tags:
:tickets:

added "timezone=True" flag to DateTime and Time types. postgres
so far will convert this to "TIME[STAMP] (WITH|WITHOUT) TIME ZONE",
so that control over timezone presence is more controllable (psycopg2
returns datetimes with tzinfo's if available, which can create confusion
against datetimes that don't).

.. change::
:tags:
:tickets: 287

fix to using query.count() with distinct, \**kwargs with SelectResults
count()

.. change::
:tags:
:tickets: 289

deregister Table from MetaData when autoload fails;

.. change::
:tags:
:tickets: 293

import of py2.5s sqlite3

.. change::
:tags:
:tickets: 296

unicode fix for startswith()/endswith()

.. changelog::

0.2.7

Not secure
:released: Sat Aug 12 2006

.. change::
:tags:
:tickets:

quoting facilities set up so that database-specific quoting can be
turned on for individual table, schema, and column identifiers when
used in all queries/creates/drops. Enabled via "quote=True" in
Table or Column, as well as "quote_schema=True" in Table. Thanks to
Aaron Spike for the excellent efforts.

.. change::
:tags:
:tickets:

assignmapper was setting is_primary=True, causing all sorts of mayhem
by not raising an error when redundant mappers were set up, fixed

.. change::
:tags:
:tickets:

added allow_null_pks option to Mapper, allows rows where some
primary key columns are null (i.e. when mapping to outer joins etc)

.. change::
:tags:
:tickets:

modification to unitofwork to not maintain ordering within the
"new" list or within the UOWTask "objects" list; instead, new objects
are tagged with an ordering identifier as they are registered as new
with the session, and the INSERT statements are then sorted within the
mapper save_obj. the INSERT ordering has basically been pushed all
the way to the end of the flush cycle. that way the various sorts and
organizations occurring within UOWTask (particularly the circular task
sort) don't have to worry about maintaining order (which they weren't anyway)

.. change::
:tags:
:tickets:

fixed reflection of foreign keys to autoload the referenced table
if it was not loaded already

.. change::
:tags:
:tickets: 256

- pass URL query string arguments to connect() function

.. change::
:tags:
:tickets: 257

- oracle boolean type

.. change::
:tags:
:tickets:

custom primary/secondary join conditions in a relation *will* be propagated
to backrefs by default. specifying a backref() will override this behavior.

.. change::
:tags:
:tickets:

better check for ambiguous join conditions in sql.Join; propagates to a
better error message in PropertyLoader (i.e. relation()/backref()) for when
the join condition can't be reasonably determined.

.. change::
:tags:
:tickets:

sqlite creates ForeignKeyConstraint objects properly upon table
reflection.

.. change::
:tags:
:tickets: 224

adjustments to pool stemming from changes made for.
overflow counter should only be decremented if the connection actually
succeeded. added a test script to attempt testing this.

.. change::
:tags:
:tickets:

fixed mysql reflection of default values to be PassiveDefault

.. change::
:tags:
:tickets: 263, 264

added reflected 'tinyint', 'mediumint' type to MS-SQL.

.. change::
:tags:
:tickets:

SingletonThreadPool has a size and does a cleanup pass, so that
only a given number of thread-local connections stay around (needed
for sqlite applications that dispose of threads en masse)

.. change::
:tags:
:tickets: 267, 265

fixed small pickle bug(s) with lazy loaders

.. change::
:tags:
:tickets:

fixed possible error in mysql reflection where certain versions
return an array instead of string for SHOW CREATE TABLE call

.. change::
:tags:
:tickets: 1770

fix to lazy loads when mapping to joins

.. change::
:tags:
:tickets:

all create()/drop() calls have a keyword argument of "connectable".
"engine" is deprecated.

.. change::
:tags:
:tickets:

fixed ms-sql connect() to work with adodbapi

.. change::
:tags:
:tickets:

added "nowait" flag to Select()

.. change::
:tags:
:tickets: 271

inheritance check uses issubclass() instead of direct __mro__ check
to make sure class A inherits from B, allowing mapper inheritance to more
flexibly correspond to class inheritance

.. change::
:tags:
:tickets: 252

SelectResults will use a subselect, when calling an aggregate (i.e.
max, min, etc.) on a SelectResults that has an ORDER BY clause

.. change::
:tags:
:tickets: 269

fixes to types so that database-specific types more easily used;
fixes to mysql text types to work with this methodology

.. change::
:tags:
:tickets:

some fixes to sqlite date type organization

.. change::
:tags:
:tickets: 263

added MSTinyInteger to MS-SQL

.. changelog::

0.2.6

Not secure
:released: Thu Jul 20 2006

.. change::
:tags:
:tickets: 76

big overhaul to schema to allow truly composite primary and foreign
key constraints, via new ForeignKeyConstraint and PrimaryKeyConstraint
objects.
Existing methods of primary/foreign key creation have not been changed
but use these new objects behind the scenes. table creation
and reflection is now more table oriented rather than column oriented.

.. change::
:tags:
:tickets:

overhaul to MapperExtension calling scheme, wasn't working very well
previously

.. change::
:tags:
:tickets:

tweaks to ActiveMapper, supports self-referential relationships

.. change::
:tags:
:tickets:

slight rearrangement to objectstore (in activemapper/threadlocal)
so that the SessionContext is referenced by '.context' instead
of subclassed directly.

.. change::
:tags:
:tickets:

activemapper will use threadlocal's objectstore if the mod is
activated when activemapper is imported

.. change::
:tags:
:tickets:

small fix to URL regexp to allow filenames with '' in them

.. change::
:tags:
:tickets:

fixes to Session expunge/update/etc...needs more cleanup.

.. change::
:tags:
:tickets:

select_table mappers *still* weren't always compiling

.. change::
:tags:
:tickets:

fixed up Boolean datatype

.. change::
:tags:
:tickets:

added count()/count_by() to list of methods proxied by assignmapper;
this also adds them to activemapper

.. change::
:tags:
:tickets:

connection exceptions wrapped in DBAPIError

.. change::
:tags:
:tickets:

ActiveMapper now supports autoloading column definitions from the
database if you supply a __autoload__ = True attribute in your
mapping inner-class. Currently this does not support reflecting
any relationships.

.. change::
:tags:
:tickets:

deferred column load could screw up the connection status in
a flush() under some circumstances, this was fixed

.. change::
:tags:
:tickets:

expunge() was not working with cascade, fixed.

.. change::
:tags:
:tickets:

potential endless loop in cascading operations fixed.

.. change::
:tags:
:tickets:

added "synonym()" function, applied to properties to have a
propname the same as another, for the purposes of overriding props
and allowing the original propname to be accessible in select_by().

.. change::
:tags:
:tickets:

fix to typing in clause construction which specifically helps
type issues with polymorphic_union (CAST/ColumnClause propagates
its type to proxy columns)

.. change::
:tags:
:tickets:

mapper compilation work ongoing, someday it'll work....moved
around the initialization of MapperProperty objects to be after
all mappers are created to better handle circular compilations.
do_init() method is called on all properties now which are more
aware of their "inherited" status if so.

.. change::
:tags:
:tickets:

eager loads explicitly disallowed on self-referential relationships, or
relationships to an inheriting mapper (which is also self-referential)

.. change::
:tags:
:tickets: 244

reduced bind param size in query._get to appease the picky oracle

.. change::
:tags:
:tickets: 234

added 'checkfirst' argument to table.create()/table.drop(), as
well as table.exists()

.. change::
:tags:
:tickets: 245

some other ongoing fixes to inheritance

.. change::
:tags:
:tickets:

attribute/backref/orphan/history-tracking tweaks as usual...

.. changelog::

Page 47 of 50

Links

Releases

Has known vulnerabilities

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.