]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/log
thirdparty/sqlalchemy/sqlalchemy.git
15 years ago- ensure correct session usage + tests
Mike Bayer [Thu, 21 Jan 2010 20:41:52 +0000 (20:41 +0000)] 
- ensure correct session usage + tests

15 years agouse issubclass here, allows lazy loads from a subclass to hit a loader that was confi...
Mike Bayer [Thu, 21 Jan 2010 17:40:41 +0000 (17:40 +0000)] 
use issubclass here, allows lazy loads from a subclass to hit a loader that was configured on base

15 years agoadd autoflush to the list of attributes exported on scoped_session
Mike Bayer [Thu, 21 Jan 2010 16:23:22 +0000 (16:23 +0000)] 
add autoflush to the list of attributes exported on scoped_session

15 years agofixed the illegal_initial_chars collection + unit test, [ticket:1659]
Mike Bayer [Thu, 21 Jan 2010 15:56:23 +0000 (15:56 +0000)] 
fixed the illegal_initial_chars collection + unit test, [ticket:1659]

15 years agobase supports_native_enum on 8.3 or greater
Mike Bayer [Thu, 21 Jan 2010 03:41:35 +0000 (03:41 +0000)] 
base supports_native_enum on 8.3 or greater

15 years ago- agnosticize checking for the two phase events
Mike Bayer [Thu, 21 Jan 2010 01:46:06 +0000 (01:46 +0000)] 
- agnosticize checking for the two phase events

15 years agofix ResultProxy for SQLite truncated names
Gaëtan de Menten [Wed, 20 Jan 2010 20:47:20 +0000 (20:47 +0000)] 
fix ResultProxy for SQLite truncated names

15 years ago - query.select_from() also accepts mapped classes, aliased()
Mike Bayer [Wed, 20 Jan 2010 19:26:12 +0000 (19:26 +0000)] 
  - query.select_from() also accepts mapped classes, aliased()
    constructs, and mappers as arguments.  In particular this
    helps when querying from multiple joined-table classes to ensure
    the full join gets rendered.

15 years agomoved the metadata step of ResultProxy into a ResultMetaData object. this also repla...
Mike Bayer [Wed, 20 Jan 2010 17:48:43 +0000 (17:48 +0000)] 
moved the metadata step of ResultProxy into a ResultMetaData object.  this also replaces PickledResultProxy.
Allows RowProxy objects to reference just the metadata they need and provides the "core" of ResultProxy
detached from the object itself, allowing ResultProxy implementations to vary more easily.  will also
enable [ticket:1635]

15 years agolessons learned unpickling from an 0.5 cache
Mike Bayer [Tue, 19 Jan 2010 23:25:43 +0000 (23:25 +0000)] 
lessons learned unpickling from an 0.5 cache

15 years ago- mega example cleanup
Mike Bayer [Tue, 19 Jan 2010 00:53:12 +0000 (00:53 +0000)] 
- mega example cleanup
- added READMEs to all examples in each __init__.py and added to sphinx documentation
- added versioning example
- removed vertical/vertical.py, the dictlikes are more straightforward

15 years agosome cleanup
Mike Bayer [Mon, 18 Jan 2010 21:47:50 +0000 (21:47 +0000)] 
some cleanup

15 years agosorry, this example is just ridiculous
Mike Bayer [Mon, 18 Jan 2010 21:35:18 +0000 (21:35 +0000)] 
sorry, this example is just ridiculous

15 years agomodernized "adjacencytree" example
Mike Bayer [Mon, 18 Jan 2010 21:29:55 +0000 (21:29 +0000)] 
modernized "adjacencytree" example

15 years agoupdated the large_collection example to modern SQLA.
Mike Bayer [Mon, 18 Jan 2010 20:58:34 +0000 (20:58 +0000)] 
updated the large_collection example to modern SQLA.

15 years ago- added native INTERVAL type to the dialect. This supports
Mike Bayer [Mon, 18 Jan 2010 03:00:05 +0000 (03:00 +0000)] 
- added native INTERVAL type to the dialect.  This supports
  only the DAY TO SECOND interval type so far due to lack
  of support in cx_oracle for YEAR TO MONTH. [ticket:1467]
- The Interval type includes a "native" flag which controls
  if native INTERVAL types (postgresql + oracle) are selected
  if available, or not.  "day_precision" and "second_precision"
  arguments are also added which propagate as appropriately
  to these native types. Related to [ticket:1467].
- DefaultDialect.type_descriptor moves back to being per-dialect.
  TypeEngine/TypeDecorator key type impls to the dialect class
  + server_version_info so that the colspecs dict can be modified
  per-dialect based on server version.
- Fixed TypeDecorator's incorrect usage of _impl_dict

15 years ago- raise error when unpickling non-mapped state, [ticket:1610]
Mike Bayer [Sun, 17 Jan 2010 22:23:54 +0000 (22:23 +0000)] 
- raise error when unpickling non-mapped state, [ticket:1610]
- remove pickle language from regular unmapped class error

15 years ago- add a unit test for r6089 / [ticket:1438]
Mike Bayer [Sun, 17 Jan 2010 21:49:31 +0000 (21:49 +0000)] 
- add a unit test for r6089 / [ticket:1438]

15 years ago- implement dynamic type_affinity for Oracle.NUMBER
Mike Bayer [Sun, 17 Jan 2010 21:29:03 +0000 (21:29 +0000)] 
- implement dynamic type_affinity for Oracle.NUMBER
- standardize type tests on type affinity matches

15 years ago- remove the exclusion of cx_oracle.STRING from setinputsizes by
Mike Bayer [Sun, 17 Jan 2010 21:12:47 +0000 (21:12 +0000)] 
- remove the exclusion of cx_oracle.STRING from setinputsizes by
configuring cx_oracle.UNICODE on OracleNVarChar.  Attempts
were made to pass unicode data to/from a plain VARCHAR2 with
cx_oracle, both with and without setinputsizes in use, but
it doesn't appear to be possible - therefore users will need to use
Unicode/UnicodeText with oracle if data contains non-ASCII info.
[ticket:1517]
- updated the Unicode/UnicodeText docs to reflect this, that
convert_unicode might not be enough.
- allowed convert_unicode='force' to be significant for bind parameters
as well.

15 years agostatement_options -> execution_options
Mike Bayer [Sun, 17 Jan 2010 20:43:35 +0000 (20:43 +0000)] 
statement_options -> execution_options

15 years ago- reorganized and re-documented Oracle schema tests to assume
Mike Bayer [Sun, 17 Jan 2010 20:32:45 +0000 (20:32 +0000)] 
- reorganized and re-documented Oracle schema tests to assume
test user has DBA privs, and all objects can be created /dropped.
- added ORDER BY to oracle column listing
- Oracle all_tables always limits to current user if schema not given.
- views reflect - added documentation + a unit test for this.
- Table(autoload) with no bind produces an error message specific to
the fact that autoload_with should be the first option to try.

15 years agoupdate test_schema/test_schema_2 docs, per [ticket:1644]
Mike Bayer [Sun, 17 Jan 2010 18:10:37 +0000 (18:10 +0000)] 
update test_schema/test_schema_2 docs, per [ticket:1644]

15 years agodoc updates partially from [ticket:1651]
Mike Bayer [Sun, 17 Jan 2010 18:00:01 +0000 (18:00 +0000)] 
doc updates partially from [ticket:1651]

15 years ago- added "statement_options()" to Query, to so options can be
Mike Bayer [Sat, 16 Jan 2010 22:44:04 +0000 (22:44 +0000)] 
- added "statement_options()" to Query, to so options can be
passed to the resulting statement. Currently only
Select-statements have these options, and the only option
used is "stream_results", and the only dialect which knows
"stream_results" is psycopg2.
- Query.yield_per() will set the "stream_results" statement
option automatically.
- Added "statement_options()" to Selects, which set statement
specific options. These enable e.g. dialect specific options
such as whether to enable using server side cursors, etc.
- The psycopg2 now respects the statement option
"stream_results". This option overrides the connection setting
"server_side_cursors". If true, server side cursors will be
used for the statement. If false, they will not be used, even
if "server_side_cursors" is true on the
connection. [ticket:1619]
- added a "frozendict" from http://code.activestate.com/recipes/414283/,
adding more default collections as immutable class vars on
Query, Insert, Select

15 years agoadd a doc for query.delete()
Mike Bayer [Sat, 16 Jan 2010 21:31:07 +0000 (21:31 +0000)] 
add a doc for query.delete()

15 years ago- ConnectionProxy now has wrapper methods for all transaction
Mike Bayer [Sat, 16 Jan 2010 19:04:39 +0000 (19:04 +0000)] 
- ConnectionProxy now has wrapper methods for all transaction
lifecycle events, including begin(), rollback(), commit()
begin_nested(), begin_prepared(), prepare(), release_savepoint(),
etc.

15 years ago- sqlsoup objects no longer have the 'query' attribute - it's
Mike Bayer [Sat, 16 Jan 2010 18:04:11 +0000 (18:04 +0000)] 
- sqlsoup objects no longer have the 'query' attribute - it's
not needed for sqlsoup's usage paradigm and it gets in the
way of a column that is actually named 'query'.

15 years agoreflect MSSQL cols that have descending markers [ticket:1629]
Mike Bayer [Sat, 16 Jan 2010 01:40:51 +0000 (01:40 +0000)] 
reflect MSSQL cols that have descending markers [ticket:1629]

15 years agorestore common_parent logic in correspoinds_to, fixes [ticket:1657]
Mike Bayer [Fri, 15 Jan 2010 19:04:50 +0000 (19:04 +0000)] 
restore common_parent logic in correspoinds_to, fixes [ticket:1657]

15 years agolocal session caching example
Mike Bayer [Wed, 13 Jan 2010 20:42:09 +0000 (20:42 +0000)] 
local session caching example

15 years agoadd more examples, start basic
Mike Bayer [Wed, 13 Jan 2010 20:00:25 +0000 (20:00 +0000)] 
add more examples, start basic

15 years ago- replace the tip of the path info with the subclass mapper being used.
Mike Bayer [Wed, 13 Jan 2010 18:31:19 +0000 (18:31 +0000)] 
- replace the tip of the path info with the subclass mapper being used.
that way accurate "load_path" info is available for options
invoked during deferred loads.
we lose AliasedClass path elements this way, but currently,
those are not needed at this stage.

15 years agoNamedTuple is pickleable ! no really with all the protocols too !
Mike Bayer [Wed, 13 Jan 2010 17:11:27 +0000 (17:11 +0000)] 
NamedTuple is pickleable !  no really with all the protocols too !

15 years agoOK, you can't merge NamedTuples and such. Fine. New query method.
Mike Bayer [Tue, 12 Jan 2010 20:27:32 +0000 (20:27 +0000)] 
OK, you can't merge NamedTuples and such.  Fine.  New query method.

15 years agoyes you can even set_value(). I'm using it to prepopulate individual "by_id" elements
Mike Bayer [Tue, 12 Jan 2010 17:51:28 +0000 (17:51 +0000)] 
yes you can even set_value().  I'm using it to prepopulate individual "by_id" elements
from a multiple-row SELECT.

15 years agohave paths represented as their actual mapper, not the base mapper, allowing
Mike Bayer [Mon, 11 Jan 2010 20:26:34 +0000 (20:26 +0000)] 
have paths represented as their actual mapper, not the base mapper, allowing
more information for custom mapper opts to see what's going on.  add a new _reduce_path()
function to apply to the path as stored in dictionaries, adds a slight cost overhead.

15 years agoadd option to hardcode a cache key
Mike Bayer [Mon, 11 Jan 2010 17:16:59 +0000 (17:16 +0000)] 
add option to hardcode a cache key

15 years agocompare class in the given path with our own class using issubclass, since paths
Mike Bayer [Mon, 11 Jan 2010 17:12:04 +0000 (17:12 +0000)] 
compare class in the given path with our own class using issubclass, since paths
are always against the base class

15 years agomemcached wants this
Mike Bayer [Mon, 11 Jan 2010 16:59:16 +0000 (16:59 +0000)] 
memcached wants this

15 years agoensure criterion is not None
Mike Bayer [Mon, 11 Jan 2010 16:10:11 +0000 (16:10 +0000)] 
ensure criterion is not None

15 years ago- cut down on a few hundred method calls
Mike Bayer [Mon, 11 Jan 2010 03:16:10 +0000 (03:16 +0000)] 
- cut down on a few hundred method calls

15 years ago- merge() will not issue a needless merge of attributes if the
Mike Bayer [Sun, 10 Jan 2010 21:21:45 +0000 (21:21 +0000)] 
- merge() will not issue a needless merge of attributes if the
given instance is the same instance which is already present.

- merge() now also merges the "options" associated with a given
state, i.e. those passed through query.options() which follow
along with an instance, such as options to eagerly- or
lazyily- load various attributes.   This is essential for
the construction of highly integrated caching schemes.  This
is a subtle behavioral change vs. 0.5.

- A bug was fixed regarding the serialization of the "loader
path" present on an instance's state, which is also necessary
when combining the usage of merge() with serialized state
and associated options that should be preserved.

- The "query_cache" examples have been removed, and are replaced
with a fully comprehensive approach that combines the usage of
Beaker with SQLAlchemy.  New query options are used to indicate
the caching characteristics of a particular Query, which
can also be invoked deep within an object graph when lazily
loading related objects.  See /examples/beaker_caching/README.

15 years agohappy new year
Mike Bayer [Thu, 7 Jan 2010 23:56:00 +0000 (23:56 +0000)] 
happy new year

15 years ago- Session.merge() is performance optimized, using half the
Mike Bayer [Thu, 7 Jan 2010 22:09:17 +0000 (22:09 +0000)] 
- Session.merge() is performance optimized, using half the
call counts for "load=False" mode compared to 0.5 and
significantly fewer SQL queries in the case of collections
for "load=True" mode.

15 years ago- py3k binary type returned natively for sqlite3, pg8000, fixes [ticket:1639] and...
Mike Bayer [Thu, 7 Jan 2010 18:47:39 +0000 (18:47 +0000)] 
- py3k binary type returned natively for sqlite3, pg8000, fixes [ticket:1639] and [ticket:1581] for now
- use type(None), py3k compat, [ticket:1584]

15 years agoremove needless check_modified()
Mike Bayer [Thu, 7 Jan 2010 17:51:45 +0000 (17:51 +0000)] 
remove needless check_modified()

15 years agomerge r6616 of 0.5 branch, allow DefaultGenerators as "default" and "onupdate"
Mike Bayer [Thu, 7 Jan 2010 00:24:30 +0000 (00:24 +0000)] 
merge r6616 of 0.5 branch, allow DefaultGenerators as "default" and "onupdate"

15 years ago- fix mysqlconnector import
Mike Bayer [Mon, 4 Jan 2010 18:41:16 +0000 (18:41 +0000)] 
- fix mysqlconnector import
- mysqlconnector returns get_server_version() as a tuple-ready structure

15 years ago- accept 'expire' with a deprecation warning for query.update() [ticket:1648]
Mike Bayer [Mon, 4 Jan 2010 16:36:11 +0000 (16:36 +0000)] 
- accept 'expire' with a deprecation warning for query.update() [ticket:1648]

15 years ago- rename "myconnpy" to "mysqlconnector"
Mike Bayer [Mon, 4 Jan 2010 16:26:01 +0000 (16:26 +0000)] 
- rename "myconnpy" to "mysqlconnector"
- remove all bug workarounds in mysqlconnector dialect
- add mysqlconnector as one of two "official" DBAPIs for MySQL

15 years ago- Fixed a column arithmetic bug that affected column
Mike Bayer [Sun, 3 Jan 2010 20:57:37 +0000 (20:57 +0000)] 
- Fixed a column arithmetic bug that affected column
correspondence for cloned selectables which contain
free-standing column expressions.   This bug is
generally only noticeable when exercising newer
ORM behavior only availble in 0.6 via [ticket:1568],
but is more correct at the SQL expression level
as well. [ticket:1617]

15 years agoadd documentation for Numeric/Float types, [ticket:1624]
Mike Bayer [Sun, 3 Jan 2010 19:11:37 +0000 (19:11 +0000)] 
add documentation for Numeric/Float types, [ticket:1624]

15 years agofixed DDL quoting with literal strings that have ' [ticket:1640]
Mike Bayer [Sun, 3 Jan 2010 18:53:41 +0000 (18:53 +0000)] 
fixed DDL quoting with literal strings that have ' [ticket:1640]

15 years ago- added a refresh logger step to the nose plugin so that SQLA class loggers get corre...
Mike Bayer [Sun, 3 Jan 2010 18:42:23 +0000 (18:42 +0000)] 
- added a refresh logger step to the nose plugin so that SQLA class loggers get correct state from nose cmdline
- fix mapper logging [ticket:1620]

15 years ago- have inspector properly return default_schema_name [ticket:1626]
Mike Bayer [Sun, 3 Jan 2010 18:27:38 +0000 (18:27 +0000)] 
- have inspector properly return default_schema_name [ticket:1626]

15 years agoadd a brief doc for custom DDL
Mike Bayer [Sun, 3 Jan 2010 18:22:50 +0000 (18:22 +0000)] 
add a brief doc for custom DDL

15 years ago- clarify ForeignKey docs, copy operation
Mike Bayer [Sat, 2 Jan 2010 18:20:08 +0000 (18:20 +0000)] 
- clarify ForeignKey docs, copy operation
- link all classes/functions in expressions

15 years ago- The copy() method on Column now supports uninitialized,
Mike Bayer [Sat, 2 Jan 2010 03:50:50 +0000 (03:50 +0000)] 
- The copy() method on Column now supports uninitialized,
unnamed Column objects. This allows easy creation of
declarative helpers which place common columns on multiple
subclasses (merged from 0.5 with changes).

15 years agobegin modernize of informix dialect for [ticket:1499]
Mike Bayer [Thu, 31 Dec 2009 17:45:19 +0000 (17:45 +0000)] 
begin modernize of informix dialect for [ticket:1499]

15 years agoFix invalid behavior of Query.update and Query.delete with evaluate strategy and...
Ants Aasma [Thu, 31 Dec 2009 12:21:30 +0000 (12:21 +0000)] 
Fix invalid behavior of Query.update and Query.delete with evaluate strategy and no criterion.

15 years agofix error reporting in evaluator for unknown clauselist operators.
Ants Aasma [Wed, 30 Dec 2009 15:51:03 +0000 (15:51 +0000)] 
fix error reporting in evaluator for unknown clauselist operators.

15 years agosome compile docs
Mike Bayer [Wed, 30 Dec 2009 04:49:03 +0000 (04:49 +0000)] 
some compile docs

15 years ago- postgresql dialect can properly detect pg "devel" version
Mike Bayer [Tue, 29 Dec 2009 23:41:04 +0000 (23:41 +0000)] 
- postgresql dialect can properly detect pg "devel" version
strings, i.e. "8.5devel" [ticket:1636]

15 years ago- calling expr.in_([]), i.e. with an empty list, emits a warning
Mike Bayer [Tue, 29 Dec 2009 23:20:48 +0000 (23:20 +0000)] 
- calling expr.in_([]), i.e. with an empty list, emits a warning
before issuing the usual "expr != expr" clause.  The
"expr != expr" can be very expensive, and it's preferred
that the user not issue in_() if the list is empty,
instead simply not querying, or modifying the criterion
as appropriate for more complex situations.
[ticket:1628]

15 years agoadd note re #1646
Mike Bayer [Tue, 29 Dec 2009 23:06:23 +0000 (23:06 +0000)] 
add note re #1646

15 years agomerge r6591, r6592 from 0.5 branch for PGInterval etc. /extract
Mike Bayer [Tue, 29 Dec 2009 16:19:09 +0000 (16:19 +0000)] 
merge r6591, r6592 from 0.5 branch for PGInterval etc. /extract

15 years agoonly on oracle
Mike Bayer [Tue, 29 Dec 2009 02:45:32 +0000 (02:45 +0000)] 
only on oracle

15 years ago- merge r6586 from 0.5 branch, for [ticket:1647]
Mike Bayer [Tue, 29 Dec 2009 02:41:16 +0000 (02:41 +0000)] 
- merge r6586 from 0.5 branch, for [ticket:1647]

15 years agorest tweaks
Mike Bayer [Mon, 28 Dec 2009 03:22:24 +0000 (03:22 +0000)] 
rest tweaks

15 years agoclean up mapperextension docs
Mike Bayer [Mon, 28 Dec 2009 03:18:13 +0000 (03:18 +0000)] 
clean up mapperextension docs

15 years agoRecognize more Firebird disconnection cases, fixing #1646 on trunk
Lele Gaifax [Sun, 27 Dec 2009 18:56:27 +0000 (18:56 +0000)] 
Recognize more Firebird disconnection cases, fixing #1646 on trunk

15 years agoinclude .jpg in recursive doc
Mike Bayer [Sat, 26 Dec 2009 23:27:08 +0000 (23:27 +0000)] 
include .jpg in recursive doc

15 years agomerged r6570 from 0.5 branch, dont reflect IOT tables [ticket:1637]
Mike Bayer [Sat, 26 Dec 2009 22:41:44 +0000 (22:41 +0000)] 
merged r6570 from 0.5 branch, dont reflect IOT tables [ticket:1637]

15 years ago- merge sqlite 2.5 memory exception from r6567 of 0.5 branch
Mike Bayer [Fri, 25 Dec 2009 16:50:49 +0000 (16:50 +0000)] 
- merge sqlite 2.5 memory exception from r6567 of 0.5 branch

15 years agoadd the uselist=False / single row assertion from [ticket:1643] for lazy loads too.
Mike Bayer [Sat, 19 Dec 2009 05:41:37 +0000 (05:41 +0000)] 
add the uselist=False / single row assertion from [ticket:1643] for lazy loads too.

15 years agoand the docs...
Mike Bayer [Fri, 18 Dec 2009 21:12:18 +0000 (21:12 +0000)] 
and the docs...

15 years agothe arg is on Table, ahhh
Mike Bayer [Fri, 18 Dec 2009 21:11:26 +0000 (21:11 +0000)] 
the arg is on Table, ahhh

15 years ago- Column() supports a keyword argument "sqlite_autoincrement", which
Mike Bayer [Fri, 18 Dec 2009 21:08:35 +0000 (21:08 +0000)] 
- Column() supports a keyword argument "sqlite_autoincrement", which
applies the SQLite keyword "AUTOINCREMENT" to columns within DDL -
will prevent generation of a separate PRIMARY KEY constraint.
[ticket:1016]
- added docs
- fixed underlines in mysql.rst

15 years ago- added _with_options() to Connection. not publicizing this yet.
Mike Bayer [Fri, 18 Dec 2009 20:41:34 +0000 (20:41 +0000)] 
- added _with_options() to Connection.  not publicizing this yet.
- updated oursql driver with latest fixes using options. [ticket:1613]
- all the MySQL drivers get a shoutout in the docs
- marked tests that OurSQL has problems with (only three), passes 100% now

15 years ago- mysql: a column of type TIMESTAMP now defaults to NULL if
Mike Bayer [Fri, 18 Dec 2009 20:09:14 +0000 (20:09 +0000)] 
- mysql:  a column of type TIMESTAMP now defaults to NULL if
"nullable=False" is not passed to Column(), and no default
is present. This is now consistent with all other types,
and in the case of TIMESTAMP explictly renders "NULL"
due to MySQL's "switching" of default nullability
for TIMESTAMP columns. [ticket:1539]

15 years ago- The version_id_col feature on mapper() will raise a warning when
Mike Bayer [Fri, 18 Dec 2009 19:11:19 +0000 (19:11 +0000)] 
- The version_id_col feature on mapper() will raise a warning when
used with dialects that don't support "rowcount" adequately.
[ticket:1569]

15 years ago- All pyodbc-dialects now support extra pyodbc-specific
Mike Bayer [Fri, 18 Dec 2009 18:55:14 +0000 (18:55 +0000)] 
- All pyodbc-dialects now support extra pyodbc-specific
kw arguments 'ansi', 'unicode_results', 'autocommit'.
[ticket:1621]

15 years ago- Fixed bug preventing alias() of an alias() from being
Mike Bayer [Fri, 18 Dec 2009 18:46:40 +0000 (18:46 +0000)] 
- Fixed bug preventing alias() of an alias() from being
cloned or adapted (occurs frequently in ORM operations).
[ticket:1641]

15 years ago- relation() with uselist=False will emit a warning when
Mike Bayer [Fri, 18 Dec 2009 17:24:20 +0000 (17:24 +0000)] 
- relation() with uselist=False will emit a warning when
an eager load locates more than one valid value for the row,
typically due to primaryjoin/secondaryjoin conditions which
aren't appropriate for LEFT OUTER JOIN.  [ticket:1643]

15 years ago- Session.merge() now properly overwrites a many-to-one or
Mike Bayer [Mon, 14 Dec 2009 01:29:51 +0000 (01:29 +0000)] 
- Session.merge() now properly overwrites a many-to-one or
uselist=False attribute to None if the attribute
is also None in the given object to be merged.

15 years agodocumentation patch for [ticket:1354]
Mike Bayer [Wed, 9 Dec 2009 00:00:48 +0000 (00:00 +0000)] 
documentation patch for [ticket:1354]

15 years ago- merge r6549 of 0.5 branch
Mike Bayer [Tue, 8 Dec 2009 23:47:09 +0000 (23:47 +0000)] 
- merge r6549 of 0.5 branch
- Fixed bug in query.update() when passing Cls.attribute
as keys in the value dict and using synchronize_session='expire'
('fetch' in 0.6). [ticket:1436]

15 years agodon't advocate for `text()` inside of `select()`, plain strings are interpreted more...
Mike Bayer [Tue, 8 Dec 2009 23:17:14 +0000 (23:17 +0000)] 
don't advocate for `text()` inside of `select()`, plain strings are interpreted more intelligently, [ticket:1374]

15 years ago- The signature of the proxy_factory callable passed to
Mike Bayer [Tue, 8 Dec 2009 23:09:48 +0000 (23:09 +0000)] 
- The signature of the proxy_factory callable passed to
association_proxy is now (lazy_collection, creator,
value_attr, association_proxy), adding a fourth argument
that is the parent AssociationProxy argument.  Allows
serializability and subclassing of the built in collections.
[ticket:1259]

15 years ago- Session.execute() now locates table- and
Mike Bayer [Tue, 8 Dec 2009 03:09:18 +0000 (03:09 +0000)] 
- Session.execute() now locates table- and
mapper-specific binds based on a passed
in expression which is an insert()/update()/delete()
construct. [ticket:1054]

15 years ago- removed needless "counter" behavior with select()
Mike Bayer [Tue, 8 Dec 2009 02:31:59 +0000 (02:31 +0000)] 
- removed needless "counter" behavior with select()
labelnames that match a column name in the table,
i.e. generates "tablename_id" for "id", instead of
"tablename_id_1" in an attempt to avoid naming
conflicts, when the table has a column actually
named "tablename_id" - this is because
the labeling logic is always applied to all columns
      so a naming conflict will never occur.

15 years ago- multi-part schema names, i.e. with dots such as
Mike Bayer [Tue, 8 Dec 2009 02:27:35 +0000 (02:27 +0000)] 
- multi-part schema names, i.e. with dots such as
"dbo.master", are now rendered in select() labels
with underscores for dots, i.e. "dbo_master_table_column".
This is a "friendly" label that behaves better
in result sets. [ticket:1428]

15 years ago- The "use get" behavior of many-to-one relations, i.e. that a
Mike Bayer [Tue, 8 Dec 2009 01:53:21 +0000 (01:53 +0000)] 
- The "use get" behavior of many-to-one relations, i.e. that a
lazy load will fallback to the possibly cached query.get()
value, now works across join conditions where the two compared
types are not exactly the same class, but share the same
"affinity" - i.e. Integer and SmallInteger.  Also allows
combinations of reflected and non-reflected types to work
with 0.5 style type reflection, such as PGText/Text (note 0.6
reflects types as their generic versions).   [ticket:1556]
- types now support an "affinity comparison" operation, i.e.
that an Integer/SmallInteger are "compatible", or
a Text/String, PickleType/Binary, etc.  Part of
[ticket:1556].

15 years ago- sqlite dialect properly generates CREATE INDEX for a table
Mike Bayer [Mon, 7 Dec 2009 23:08:42 +0000 (23:08 +0000)] 
- sqlite dialect properly generates CREATE INDEX for a table
that is in an alternate schema.  [ticket:1439]

15 years agofixed CHANGES message location
Mike Bayer [Mon, 7 Dec 2009 22:53:32 +0000 (22:53 +0000)] 
fixed CHANGES message location

15 years ago- Fixed a needless select which would occur when merging
Mike Bayer [Mon, 7 Dec 2009 22:39:33 +0000 (22:39 +0000)] 
- Fixed a needless select which would occur when merging
transient objects that contained a null primary key
identifier.  [ticket:1618]

15 years agoremove unfinished dialects
Mike Bayer [Mon, 7 Dec 2009 19:29:36 +0000 (19:29 +0000)] 
remove unfinished dialects

15 years agoseriously, this is not 0.6 code !
Mike Bayer [Sun, 6 Dec 2009 23:47:13 +0000 (23:47 +0000)] 
seriously, this is not 0.6 code !

15 years agoadd a warning for unported dialects. considered a full blown NotImplementedError...
Mike Bayer [Sun, 6 Dec 2009 23:45:19 +0000 (23:45 +0000)] 
add a warning for unported dialects.   considered a full blown NotImplementedError but will see if this gets the message across