]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/log
thirdparty/sqlalchemy/sqlalchemy.git
16 years agomerge r6497 of 0.5 branch
Mike Bayer [Wed, 11 Nov 2009 03:46:45 +0000 (03:46 +0000)] 
merge r6497 of 0.5 branch

16 years agoreduce some call overhead
Mike Bayer [Tue, 10 Nov 2009 23:15:39 +0000 (23:15 +0000)] 
reduce some call overhead

16 years agoscan for autocommit based on text() specific flag, saves isinstance() call on each...
Mike Bayer [Tue, 10 Nov 2009 22:59:59 +0000 (22:59 +0000)] 
scan for autocommit based on text() specific flag, saves isinstance() call on each execution.

16 years ago- new oursql dialect added. [ticket:1613]
Mike Bayer [Tue, 10 Nov 2009 22:39:42 +0000 (22:39 +0000)] 
- new oursql dialect added.  [ticket:1613]

16 years agodont run sqlsoup test on jython
Mike Bayer [Tue, 10 Nov 2009 00:48:06 +0000 (00:48 +0000)] 
dont run sqlsoup test on jython

16 years ago- subclassed Function off of new FunctionElement generic base
Mike Bayer [Tue, 10 Nov 2009 00:43:53 +0000 (00:43 +0000)] 
- subclassed Function off of new FunctionElement generic base
- removed "key" accessor of Function, Grouping - this doesn't seem to be used for anything
- various formatting
- documented the four "Element" classes in the compiler extension as per [ticket:1590]

16 years agotest fix, [ticket:1595]
Mike Bayer [Tue, 10 Nov 2009 00:10:11 +0000 (00:10 +0000)] 
test fix, [ticket:1595]

16 years ago- ForeignKey(constraint=some_parent) is now private _constraint
Mike Bayer [Mon, 9 Nov 2009 23:40:57 +0000 (23:40 +0000)] 
- ForeignKey(constraint=some_parent) is now private _constraint
- ForeignKey and ForeignKeyConstraint objects now correctly
copy() all their public keyword arguments.  [ticket:1605]

16 years ago- query.get() can be used with a mapping to an outer join
Mike Bayer [Mon, 9 Nov 2009 23:20:31 +0000 (23:20 +0000)] 
- query.get() can be used with a mapping to an outer join
where one or more of the primary key values are None.
[ticket:1135]

16 years agoadd test for map explicit Table
Mike Bayer [Mon, 9 Nov 2009 22:32:33 +0000 (22:32 +0000)] 
add test for map explicit Table

16 years ago- added a real unit test for sqlsoup
Mike Bayer [Mon, 9 Nov 2009 19:41:45 +0000 (19:41 +0000)] 
- added a real unit test for sqlsoup
- removed doctest stuff
- redid session docs for sqlsoup
- sqlsoup stays within the transaction of a Session now, is explcitly autocommit=False by default and includes commit()/rollback() methods
- sqlsoup db.<sometable>.update() and delete() now call
query(cls).update() and delete(), respectively.
- sqlsoup now has execute() and connection(), which call upon
the Session methods of those names, ensuring that the bind is
in terms of the SqlSoup object's bind.

16 years agomoved modified_event() calls below the attribute extension fires. this basically...
Mike Bayer [Sun, 8 Nov 2009 21:54:56 +0000 (21:54 +0000)] 
moved modified_event() calls below the attribute extension fires.  this basically has no difference in any case except that where an extension is calling commit() on the attribute -  in that case it usually, but not always, maintains the same history.   [ticket:1601]

16 years agoallow setattr() access to _CursorFairy directly, thereby removing the need for dialec...
Mike Bayer [Fri, 6 Nov 2009 15:51:06 +0000 (15:51 +0000)] 
allow setattr() access to _CursorFairy directly, thereby removing the need for dialects to guess whether they have a wrapped cursor or not, fixes #1609, regression from r6471

16 years agosupports unicode binds in PG too. even without the UNICODE extension it seems to...
Mike Bayer [Fri, 6 Nov 2009 02:39:16 +0000 (02:39 +0000)] 
supports unicode binds in PG too.  even without the UNICODE extension it seems to work now...

16 years agoWithin NamedTuple, izip is faster on most cases, and equally fast on others
Gaëtan de Menten [Thu, 5 Nov 2009 14:30:33 +0000 (14:30 +0000)] 
Within NamedTuple, izip is faster on most cases, and equally fast on others

16 years agouse list comprehension instead of generator as it is much faster for small
Gaëtan de Menten [Wed, 4 Nov 2009 20:22:00 +0000 (20:22 +0000)] 
use list comprehension instead of generator as it is much faster for small
lists, as will usually be the case here. provides a ~11% speedup for large
column-only queries.

16 years ago- Fixed bug in two-phase transaction whereby commit() method
Mike Bayer [Wed, 4 Nov 2009 17:15:36 +0000 (17:15 +0000)] 
- Fixed bug in two-phase transaction whereby commit() method
didn't set the full state which allows subsequent close()
call to succeed. [ticket:1603]

16 years ago- Fixed bug where Query would crash if a join() with no clear
Mike Bayer [Wed, 4 Nov 2009 13:27:59 +0000 (13:27 +0000)] 
- Fixed bug where Query would crash if a join() with no clear
"left" side were called when a non-mapped column entity
appeared in the columns list. [ticket:1602]

16 years agoUsing generators for small lists is highly inefficient. This change shoves
Gaëtan de Menten [Wed, 4 Nov 2009 13:19:47 +0000 (13:19 +0000)] 
Using generators for small lists is highly inefficient. This change shoves
6% of total time for large ORM queries. Not bad for a 2 characters change :)

16 years ago- simplify default schema name test
Mike Bayer [Tue, 3 Nov 2009 19:48:07 +0000 (19:48 +0000)] 
- simplify default schema name test
- MySQL + zxjdbc *is* unicode by default.  it was the broken initialize()

16 years agofix MySQL initialize to use defaultdialect first
Mike Bayer [Tue, 3 Nov 2009 19:05:58 +0000 (19:05 +0000)] 
fix MySQL initialize to use defaultdialect first

16 years ago- The "start" and "increment" attributes on Sequence now
Mike Bayer [Tue, 3 Nov 2009 18:33:57 +0000 (18:33 +0000)] 
- The "start" and "increment" attributes on Sequence now
generate "START WITH" and "INCREMENT BY" by default,
on Oracle and Postgresql.  Firebird doesn't support
these keywords right now.  [ticket:1545]

16 years ago- Connection pool logging now uses both INFO and DEBUG
Mike Bayer [Tue, 3 Nov 2009 17:52:02 +0000 (17:52 +0000)] 
- Connection pool logging now uses both INFO and DEBUG
log levels for logging.  INFO is for major events such
as invalidated connections, DEBUG for all the acquire/return
logging.  `echo_pool` can be False, None, True or "debug"
the same way as `echo` works.

16 years ago- dialect.get_default_schema_name(connection) is now
Mike Bayer [Tue, 3 Nov 2009 17:35:13 +0000 (17:35 +0000)] 
- dialect.get_default_schema_name(connection) is now
public via dialect.default_schema_name.
[ticket:1571]

16 years ago * tweaked PickleType result_processor and bind_processor so that they are more
Gaëtan de Menten [Tue, 3 Nov 2009 16:30:07 +0000 (16:30 +0000)] 
 * tweaked PickleType result_processor and bind_processor so that they are more
   correct and more easily maintainable.
 * implemented specific result_processor and bind_processor for Interval type
   to avoid TypeDecorator call overhead (closes #1598)

16 years agorewrote PickleType bind_processor and result_processors to bypass TypeDecorator
Gaëtan de Menten [Tue, 3 Nov 2009 15:52:57 +0000 (15:52 +0000)] 
rewrote PickleType bind_processor and result_processors to bypass TypeDecorator
call overhead and avoid pickler function lookup for each row (see #1598).
Provides a speedup of ~7 % on total query time for a 1000 record query on a
table with 1 PickeType field and 25% None values.

16 years ago- Fixed the call to get_committed_value() on CompositeProperty.
Mike Bayer [Tue, 3 Nov 2009 04:58:18 +0000 (04:58 +0000)] 
- Fixed the call to get_committed_value() on CompositeProperty.
[ticket:1504]

16 years agorevert r6466
Mike Bayer [Tue, 3 Nov 2009 04:57:09 +0000 (04:57 +0000)] 
revert r6466

16 years ago- Fixed the call to get_committed_value() on CompositeProperty.
Mike Bayer [Tue, 3 Nov 2009 04:54:56 +0000 (04:54 +0000)] 
- Fixed the call to get_committed_value() on CompositeProperty.
[ticket:1504]

16 years agoadded a test for #1349
Mike Bayer [Tue, 3 Nov 2009 04:30:18 +0000 (04:30 +0000)] 
added a test for #1349

16 years agoomit this test for non-oracle
Mike Bayer [Mon, 2 Nov 2009 03:07:13 +0000 (03:07 +0000)] 
omit this test for non-oracle

16 years agofix adapt() so that DB-specified typedecorator replacements work
Mike Bayer [Sun, 1 Nov 2009 23:28:44 +0000 (23:28 +0000)] 
fix adapt() so that DB-specified typedecorator replacements work

16 years ago- INTERVAL supports an optional "precision" argument
Mike Bayer [Sun, 1 Nov 2009 22:47:14 +0000 (22:47 +0000)] 
- INTERVAL supports an optional "precision" argument
corresponding to the argument that PG accepts.
- Added support for reflecting the INTERVAL YEAR TO MONTH
and INTERVAL DAY TO SECOND syntaxes of the INTERVAL
type.  [ticket:460]

16 years ago- filter out SYS_NC\d+$ columns [ticket:1513]
Mike Bayer [Sun, 1 Nov 2009 21:53:00 +0000 (21:53 +0000)] 
- filter out SYS_NC\d+$ columns [ticket:1513]
- remove explicit INNER JOIN from index query to support oracle 8

16 years agoadded test for [ticket:1450]
Mike Bayer [Sun, 1 Nov 2009 21:08:12 +0000 (21:08 +0000)] 
added test for [ticket:1450]

16 years agoadd "dialect" to the __all__ of each root dialect package
Mike Bayer [Sun, 1 Nov 2009 20:59:40 +0000 (20:59 +0000)] 
add "dialect" to the __all__ of each root dialect package

16 years ago- added py3k and "OS Independent" classifiers
Mike Bayer [Sun, 1 Nov 2009 20:48:03 +0000 (20:48 +0000)] 
- added py3k and "OS Independent" classifiers

16 years ago- the `__contains__()` method of `MetaData` now accepts
Mike Bayer [Sun, 1 Nov 2009 20:39:43 +0000 (20:39 +0000)] 
- the `__contains__()` method of `MetaData` now accepts
strings or `Table` objects as arguments.  If given
a `Table`, the argument is converted to `table.key` first,
i.e. "[schemaname.]<tablename>" [ticket:1541]

16 years agoget more speed out of the Time type on Mysql
Gaëtan de Menten [Fri, 30 Oct 2009 11:37:26 +0000 (11:37 +0000)] 
get more speed out of the Time type on Mysql

16 years agoget a bit more speed out of datetime and LOB-based types on cx_oracle
Gaëtan de Menten [Fri, 30 Oct 2009 11:09:45 +0000 (11:09 +0000)] 
get a bit more speed out of datetime and LOB-based types on cx_oracle

16 years agoadded comment so that other people don't spend their time trying to optimize
Gaëtan de Menten [Fri, 30 Oct 2009 10:28:43 +0000 (10:28 +0000)] 
added comment so that other people don't spend their time trying to optimize
optimal code

16 years agominor speed improvement on date, datetime and time types on SQLite
Gaëtan de Menten [Fri, 30 Oct 2009 10:20:19 +0000 (10:20 +0000)] 
minor speed improvement on date, datetime and time types on SQLite

16 years agolarge speed improvement of the Interval type on non-native dialects
Gaëtan de Menten [Thu, 29 Oct 2009 21:24:33 +0000 (21:24 +0000)] 
large speed improvement of the Interval type on non-native dialects

16 years agoslightly sped-up Binary type, PickleType and all TypeDecorators
Gaëtan de Menten [Thu, 29 Oct 2009 20:41:16 +0000 (20:41 +0000)] 
slightly sped-up Binary type, PickleType and all TypeDecorators

16 years agoadded docs to case() illusrtating usage of `literal_column()`, can't implement #809...
Mike Bayer [Wed, 28 Oct 2009 15:46:51 +0000 (15:46 +0000)] 
added docs to case() illusrtating usage of `literal_column()`, can't implement #809 directly

16 years agopartially PEP8-ified informix dialect
Gaëtan de Menten [Tue, 27 Oct 2009 09:25:13 +0000 (09:25 +0000)] 
partially PEP8-ified informix dialect

16 years agono native unicode for mysql + zxjdbc
Mike Bayer [Mon, 26 Oct 2009 18:52:12 +0000 (18:52 +0000)] 
no native unicode for mysql + zxjdbc

16 years agowhats up with the native_unicode test on jython
Mike Bayer [Mon, 26 Oct 2009 18:23:20 +0000 (18:23 +0000)] 
whats up with the native_unicode test on jython

16 years agotest fixes
Mike Bayer [Mon, 26 Oct 2009 01:29:56 +0000 (01:29 +0000)] 
test fixes

16 years agooracle test fixes
Mike Bayer [Mon, 26 Oct 2009 01:20:38 +0000 (01:20 +0000)] 
oracle test fixes

16 years ago- The psycopg2 dialect now uses psycopg2's "unicode extension"
Mike Bayer [Mon, 26 Oct 2009 00:32:39 +0000 (00:32 +0000)] 
- The psycopg2 dialect now uses psycopg2's "unicode extension"
on all new connections, which allows all String/Text/etc.
types to skip the need to post-process bytestrings into
unicode (an expensive step due to its volume).  Other
dialects which return unicode natively (pg8000, zxjdbc)
also skip unicode post-processing.

- String/Text/Unicode types now skip the unicode() check
on each result column value if the dialect has
detected the DBAPI as returning Python unicode objects
natively.  This check is issued on first connect
using "SELECT CAST 'some text' AS VARCHAR(10)" or
equivalent, then checking if the returned object
is a Python unicode.   This allows vast performance
increases for native-unicode DBAPIs, including
pysqlite/sqlite3, psycopg2, and pg8000.

16 years ago- generalized Enum to issue a CHECK constraint + VARCHAR on default platform
Mike Bayer [Sun, 25 Oct 2009 21:27:08 +0000 (21:27 +0000)] 
- generalized Enum to issue a CHECK constraint + VARCHAR on default platform
- added native_enum=False flag to do the same on MySQL, PG, if desired

16 years agowell great nobody even supports PG enum.
Mike Bayer [Sun, 25 Oct 2009 16:50:09 +0000 (16:50 +0000)] 
well great nobody even supports PG enum.

16 years ago- Using a "dynamic" loader with a "secondary" table now produces
Mike Bayer [Sun, 25 Oct 2009 16:31:54 +0000 (16:31 +0000)] 
- Using a "dynamic" loader with a "secondary" table now produces
a query where the "secondary" table is *not* aliased.  This
allows the secondary Table object to be used in the "order_by"
attribute of the relation(), and also allows it to be used
in filter criterion against the dynamic relation.
[ticket:1531]

- a "dynamic" loader sets up its query criterion at construction
time so that the actual query is returned from non-cloning
accessors like "statement".

16 years agofix errant 2.6ism
Mike Bayer [Sun, 25 Oct 2009 14:58:21 +0000 (14:58 +0000)] 
fix errant 2.6ism

16 years ago- Fixed a slight inaccuracy in the sharding example.
Mike Bayer [Sun, 25 Oct 2009 01:40:23 +0000 (01:40 +0000)] 
- Fixed a slight inaccuracy in the sharding example.
Comparing equivalence of columns in the ORM is best
accomplished using col1.shares_lineage(col2).
[ticket:1491]

16 years ago- Added new ENUM type to the Postgresql dialect, which exists as a schema-level
Mike Bayer [Sun, 25 Oct 2009 00:40:34 +0000 (00:40 +0000)] 
- Added new ENUM type to the Postgresql dialect, which exists as a schema-level
construct and extends the generic Enum type.  Automatically
associates itself with tables and their parent metadata
to issue the appropriate CREATE TYPE/DROP TYPE
commands as needed, supports unicode labels, supports
reflection.  [ticket:1511]

- MySQL ENUM now subclasses the new generic Enum type, and also handles
unicode values implicitly, if the given labelnames are unicode
objects.

- Added a new Enum generic type, currently supported on
Postgresql and MySQL.  Enum is a schema-aware object
to support databases which require specific DDL in
order to use enum or equivalent; in the case of PG
it handles the details of `CREATE TYPE`, and on
other databases without native enum support can
support generation of CHECK constraints.
[ticket:1109] [ticket:1511]

- types documentation updates

- some cleanup on schema/expression docs

16 years ago- apply ged's suggested optimization of not needlessly wrapping mapper._instance_proc...
Mike Bayer [Sat, 24 Oct 2009 20:58:21 +0000 (20:58 +0000)] 
- apply ged's suggested optimization of not needlessly wrapping mapper._instance_processor
- start playing with semi-automated 78-col wrapping

16 years agofix some 2.4 callcounts
Mike Bayer [Sat, 24 Oct 2009 20:36:44 +0000 (20:36 +0000)] 
fix some 2.4 callcounts

16 years ago- ResultProxy internals have been overhauled to greatly reduce
Mike Bayer [Sat, 24 Oct 2009 16:38:07 +0000 (16:38 +0000)] 
- ResultProxy internals have been overhauled to greatly reduce
method call counts when fetching columns that have no
type-level processing applied.   Provides a 100% speed
improvement when fetching large result sets with no unicode
conversion.  Many thanks to Elixir's Gaëtan de Menten
for this dramatic improvement !  [ticket:1586]

16 years agoupdate counts for 2.4
Mike Bayer [Fri, 23 Oct 2009 21:30:02 +0000 (21:30 +0000)] 
update counts for 2.4

16 years ago- Mutable collection passed to the "extension" attribute
Mike Bayer [Fri, 23 Oct 2009 19:46:58 +0000 (19:46 +0000)] 
- Mutable collection passed to the "extension" attribute
of relation(), column_property() etc. will not be mutated
or shared among multiple instrumentation calls, preventing
duplicate extensions, such as backref populators,
from being inserted into the list.
[ticket:1585]

16 years ago - insert() and update() constructs can now embed bindparam()
Mike Bayer [Fri, 23 Oct 2009 01:08:02 +0000 (01:08 +0000)] 
- insert() and update() constructs can now embed bindparam()
      objects using names that match the keys of columns.  These
      bind parameters will circumvent the usual route to those
      keys showing up in the VALUES or SET clause of the generated
      SQL. [ticket:1579]

16 years agoRemoved references to sequence in MSSQL
Michael Trier [Thu, 22 Oct 2009 03:29:52 +0000 (03:29 +0000)] 
Removed references to sequence in MSSQL

Implicit identities in mssql work the same as implicit sequences on any
other dialects. Explicit sequences are enabled through the use of
"default=Sequence()". See the MSSQL dialect documentation for more
information.

16 years ago- RETURNING is supported by 8.2+
Mike Bayer [Wed, 21 Oct 2009 16:33:04 +0000 (16:33 +0000)] 
- RETURNING is supported by 8.2+
- add docs for PG delete..returning

16 years ago- Corrected the "has_sequence" query to take current schema,
Mike Bayer [Wed, 21 Oct 2009 04:47:02 +0000 (04:47 +0000)] 
- Corrected the "has_sequence" query to take current schema,
or explicit sequence-stated schema, into account.
[ticket:1576]

16 years agosome cleanup
Mike Bayer [Wed, 21 Oct 2009 04:45:29 +0000 (04:45 +0000)] 
some cleanup

16 years agomerged scopefunc patch from r6420 of 0.5 branch
Mike Bayer [Tue, 20 Oct 2009 17:33:33 +0000 (17:33 +0000)] 
merged scopefunc patch from r6420 of 0.5 branch

16 years agomerge r6418 from 0.5, dedupe expressions on clause ident, not string value
Mike Bayer [Tue, 20 Oct 2009 17:12:58 +0000 (17:12 +0000)] 
merge r6418 from 0.5, dedupe expressions on clause ident, not string value
[ticket:1574]

16 years agomerged r6416 of 0.5 branch, fix the "numeric" paramstyle and add tests
Mike Bayer [Tue, 20 Oct 2009 16:19:54 +0000 (16:19 +0000)] 
merged r6416 of 0.5 branch, fix the "numeric" paramstyle and add tests

16 years agoFix reST markup
Lele Gaifax [Mon, 19 Oct 2009 08:39:36 +0000 (08:39 +0000)] 
Fix reST markup

16 years agoModernise doc about returning() support
Lele Gaifax [Mon, 19 Oct 2009 08:00:55 +0000 (08:00 +0000)] 
Modernise doc about returning() support

16 years agoattempt to fix some jython ordering annoyingness
Mike Bayer [Sun, 18 Oct 2009 22:50:14 +0000 (22:50 +0000)] 
attempt to fix some jython ordering annoyingness

16 years ago- the behavior of eagerloading such that the main query is
Mike Bayer [Sun, 18 Oct 2009 21:59:54 +0000 (21:59 +0000)] 
- the behavior of eagerloading such that the main query is
wrapped in a subquery when LIMIT/OFFSET are present now
makes an exception for the case when all eager loads are
many-to-one joins. In those cases, the eager joins are
against the parent table directly along with the
limit/offset without the extra overhead of a subquery,
since a many-to-one join does not add rows to the result.

16 years ago- added a flag to relation(), eagerload(), and eagerload_all()
Mike Bayer [Sun, 18 Oct 2009 20:28:19 +0000 (20:28 +0000)] 
- added a flag to relation(), eagerload(), and eagerload_all()
called 'innerjoin'.  Specify `True` or `False` to control
whether an eager join is constructed as an INNER or OUTER
join.   Default is `False` as always.   The mapper options
will override whichever setting is specified on relation().
Should generally be set for many-to-one, not nullable
foreign key relations to allow improved join performance.
[ticket:1544]

16 years ago- initial MySQL Connector/Python driver
Mike Bayer [Sun, 18 Oct 2009 16:48:46 +0000 (16:48 +0000)] 
- initial MySQL Connector/Python driver
- support exceptions raised in dialect initialize phase
- provide default dialect create_connect_args() method

16 years agogratuitous try/except/else usage
Mike Bayer [Sun, 18 Oct 2009 04:05:47 +0000 (04:05 +0000)] 
gratuitous try/except/else usage

16 years agofix MySQL tests
Mike Bayer [Sun, 18 Oct 2009 02:52:56 +0000 (02:52 +0000)] 
fix MySQL tests

16 years agodeprecations per [ticket:1498]:
Mike Bayer [Thu, 15 Oct 2009 23:00:06 +0000 (23:00 +0000)] 
deprecations per [ticket:1498]:

- deprecated PassiveDefault - use DefaultClause.
- the BINARY and MSBinary types now generate "BINARY" in all
cases.  Omitting the "length" parameter will generate
"BINARY" with no length.  Use BLOB to generate an unlengthed
binary column.
- the "quoting='quoted'" argument to MSEnum/ENUM is deprecated.
It's best to rely upon the automatic quoting.
- "shortname" attribute on bindparam() is removed.
- fold_equivalents flag on join is deprecated (will remain
until [ticket:1131] is implemented)
- "scalar" flag on select() is removed, use
select.as_scalar().
- 'transactional' flag on sessionmaker() and others is
removed. Use 'autocommit=True' to indicate 'transactional=False'.
- 'polymorphic_fetch' argument on mapper() is removed.
Loading can be controlled using the 'with_polymorphic'
option.
- 'select_table' argument on mapper() is removed.  Use
'with_polymorphic=("*", <some selectable>)' for this
functionality.
- 'proxy' argument on synonym() is removed.  This flag
did nothing throughout 0.5, as the "proxy generation"
behavior is now automatic.
- Passing a single list of elements to eagerload(),
eagerload_all(), contains_eager(), lazyload(),
defer(), and undefer() instead of multiple positional
-args is deprecated.
- Passing a single list of elements to query.order_by(),
query.group_by(), query.join(), or query.outerjoin()
instead of multiple positional *args is deprecated.
- query.iterate_instances() is removed.  Use query.instances().
- Query.query_from_parent() is removed.  Use the
sqlalchemy.orm.with_parent() function to produce a
"parent" clause, or alternatively query.with_parent().
- query._from_self() is removed, use query.from_self()
instead.
- the "comparator" argument to composite() is removed.
Use "comparator_factory".
- RelationProperty._get_join() is removed.
- the 'echo_uow' flag on Session is removed.  Use
logging on the "sqlalchemy.orm.unitofwork" name.
- session.clear() is removed.  use session.expunge_all().
- session.save(), session.update(), session.save_or_update()
are removed.  Use session.add() and session.add_all().
- the "objects" flag on session.flush() remains deprecated.
- the "dont_load=True" flag on session.merge() is deprecated
in favor of "load=False".
- passing an InstanceState (internal SQLAlchemy state object) to
attributes.init_collection() or attributes.get_history() is
deprecated.  These functions are public API and normally
expect a regular mapped object instance.
- the 'engine' parameter to declarative_base() is removed.
Use the 'bind' keyword argument.

16 years ago- Added BigInteger to global imports
Mike Bayer [Thu, 15 Oct 2009 21:23:45 +0000 (21:23 +0000)] 
- Added BigInteger to global imports
- Oracle compiles BigInteger into NUMBER(19), finishes [ticket:1125]

16 years ago- setting echo=False on create_engine() now sets the loglevel
Mike Bayer [Thu, 15 Oct 2009 21:06:35 +0000 (21:06 +0000)] 
- setting echo=False on create_engine() now sets the loglevel
to WARN instead of NOTSET.  This so that logging can be
disabled for a particular engine even if logging
for "sqlalchemy.engine" is enabled overall.  Note that the
default setting of "echo" is `None`. [ticket:1554]

16 years ago- A column can be added to a joined-table declarative
Mike Bayer [Thu, 15 Oct 2009 20:52:06 +0000 (20:52 +0000)] 
- A column can be added to a joined-table declarative
superclass after the class has been constructed
(i.e. via class-level attribute assignment), and
the column will be propagated down to
subclasses. [ticket:1570]  This is the reverse
situation as that of [ticket:1523], fixed in 0.5.6.

16 years ago- query.from_self(), query.union(), others which do a
Mike Bayer [Thu, 15 Oct 2009 20:15:19 +0000 (20:15 +0000)] 
- query.from_self(), query.union(), others which do a
"SELECT * from (SELECT...)" type of nesting will do
a better job translating column expressions within the subquery
to the columns clause of the outer query.  This is
potentially backwards incompatible with 0.5, in that this
may break queries with literal expressions that do not have labels
applied (i.e. literal('foo'), etc.)
[ticket:1568]

16 years ago- mapping to a select() construct now requires that you
Mike Bayer [Thu, 15 Oct 2009 19:08:35 +0000 (19:08 +0000)] 
- mapping to a select() construct now requires that you
make an alias() out of it distinctly.   This to eliminate
confusion over such issues as [ticket:1542]

16 years ago- an executemany() now requires that all bound parameter
Mike Bayer [Thu, 15 Oct 2009 18:41:02 +0000 (18:41 +0000)] 
- an executemany() now requires that all bound parameter
sets require that all keys are present which are
present in the first bound parameter set.  The structure
and behavior of an insert/update statement is very much
determined by the first parameter set, including which
defaults are going to fire off, and a minimum of
guesswork is performed with all the rest so that performance
is not impacted.  For this reason defaults would otherwise
silently "fail" for missing parameters, so this is now guarded
against. [ticket:1566]

16 years ago- DefaultRunner and subclasses have been removed. The job
Mike Bayer [Thu, 15 Oct 2009 16:09:59 +0000 (16:09 +0000)] 
- DefaultRunner and subclasses have been removed.  The job
of this object has been simplified and moved into
ExecutionContext.  Dialects which support sequences should
add a `fire_sequence()` method to their execution context
implementation.  [ticket:1566]

16 years agoremove instanceof() in favor of memoized flags, part of [ticket:1566]
Mike Bayer [Wed, 14 Oct 2009 02:19:37 +0000 (02:19 +0000)] 
remove instanceof() in favor of memoized flags, part of [ticket:1566]

16 years ago- `expression.null()` is fully understood the same way
Mike Bayer [Mon, 12 Oct 2009 22:29:08 +0000 (22:29 +0000)] 
- `expression.null()` is fully understood the same way
None is when comparing an object/collection-referencing
attribute within query.filter(), filter_by(), etc.
[ticket:1415]

16 years agofix SQL output
Mike Bayer [Mon, 12 Oct 2009 16:32:29 +0000 (16:32 +0000)] 
fix SQL output

16 years ago- added "ddl" argument to the "on" callable of DDLElement [ticket:1538]
Mike Bayer [Mon, 12 Oct 2009 00:11:00 +0000 (00:11 +0000)] 
- added "ddl" argument to the "on" callable of DDLElement [ticket:1538]
- fixed the imports in the "postgres" cleanup dialect
- renamed "schema_item" attribute/argument of DDLElement
  to "target".

16 years ago- RowProxy objects are now pickleable, i.e. the object returned
Mike Bayer [Sun, 11 Oct 2009 17:16:53 +0000 (17:16 +0000)] 
- RowProxy objects are now pickleable, i.e. the object returned
by result.fetchone(), result.fetchall() etc.
- the "named tuple" objects returned when iterating a
Query() are now pickleable.

16 years agoexport UPPERCASE types as "from sqlalchemy.dialects.<dbname> import VARCHAR, TEXT...
Mike Bayer [Sat, 10 Oct 2009 19:28:18 +0000 (19:28 +0000)] 
export UPPERCASE types as "from sqlalchemy.dialects.<dbname> import VARCHAR, TEXT, INET, ..."

16 years ago- the setuptools entrypoint for external dialects is now
Mike Bayer [Sat, 10 Oct 2009 16:51:05 +0000 (16:51 +0000)] 
- the setuptools entrypoint for external dialects is now
called "sqlalchemy.dialects".  external dialects need to be changed to work with 0.6 in any case.

16 years ago- unit test fixes
Mike Bayer [Sat, 10 Oct 2009 16:14:13 +0000 (16:14 +0000)] 
- unit test fixes
- py3k readme
- removed column.sequence accessor

16 years ago- the mechanics of "backref" have been fully merged into the
Mike Bayer [Mon, 5 Oct 2009 22:11:06 +0000 (22:11 +0000)] 
- the mechanics of "backref" have been fully merged into the
finer grained "back_populates" system, and take place entirely
within the _generate_backref() method of RelationProperty.  This
makes the initialization procedure of RelationProperty
simpler and allows easier propagation of settings (such as from
subclasses of RelationProperty) into the reverse reference.
The internal BackRef() is gone and backref() returns a plain
tuple that is understood by RelationProperty.

16 years agochangelog re [ticket:1561]
Mike Bayer [Mon, 5 Oct 2009 20:17:43 +0000 (20:17 +0000)] 
changelog re [ticket:1561]

16 years agoCorrected problem with a Trusted Connection under MSSQL 2008 native driver.
Michael Trier [Mon, 5 Oct 2009 02:38:39 +0000 (02:38 +0000)] 
Corrected problem with a Trusted Connection under MSSQL 2008 native driver.

16 years ago- usage of the CHAR type results in cx_oracle's
Mike Bayer [Sat, 3 Oct 2009 19:58:19 +0000 (19:58 +0000)] 
- usage of the CHAR type results in cx_oracle's
FIXED_CHAR dbapi type being bound to statements.

16 years agoFix #1560 revisiting Firebird dialect docs
Lele Gaifax [Sat, 3 Oct 2009 13:44:14 +0000 (13:44 +0000)] 
Fix #1560 revisiting Firebird dialect docs

16 years ago- query.options() now only propagate to loaded objects
Mike Bayer [Fri, 2 Oct 2009 22:23:30 +0000 (22:23 +0000)] 
- query.options() now only propagate to loaded objects
for potential further sub-loads only for options where
such behavior is relevant, keeping
various unserializable options like those generated
by contains_eager() out of individual instance states.
[ticket:1553]