]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/log
thirdparty/sqlalchemy/sqlalchemy.git
17 years ago- auto-reconnect support improved; a Connection can now automatically
Mike Bayer [Wed, 19 Dec 2007 19:51:46 +0000 (19:51 +0000)] 
- auto-reconnect support improved; a Connection can now automatically
reconnect after its underlying connection is invalidated, without
needing to connect() again from the engine.  This allows an ORM session
bound to a single Connection to not need a reconnect.
Open transactions on the Connection must be rolled back after an invalidation
of the underlying connection else an error is raised.  Also fixed
bug where disconnect detect was not being called for cursor(), rollback(),
or commit().

17 years agoFix the unpacking of the refered table name under Firebird
Lele Gaifax [Wed, 19 Dec 2007 08:03:57 +0000 (08:03 +0000)] 
Fix the unpacking of the refered table name under Firebird
This fixes a little glitch introduced in [3959], in case of "implicit FKs"
(that is, {{{ForeignKey("orders")}}}, where the field(s) is missing).

17 years agointroductory docstring bonanza
Mike Bayer [Tue, 18 Dec 2007 23:53:40 +0000 (23:53 +0000)] 
introductory docstring bonanza

17 years agoApply default cascade rules for firebird self-ref ForeignKeys.
Jason Kirtland [Tue, 18 Dec 2007 19:37:03 +0000 (19:37 +0000)] 
Apply default cascade rules for firebird self-ref ForeignKeys.

17 years agoa little pre-lunch decrufting and cleanup
Mike Bayer [Tue, 18 Dec 2007 19:32:03 +0000 (19:32 +0000)] 
a little pre-lunch decrufting and cleanup

17 years agoUse an explicit ordering in the query
Lele Gaifax [Tue, 18 Dec 2007 13:06:24 +0000 (13:06 +0000)] 
Use an explicit ordering in the query

17 years agoAdd Firebird to the list of DBs that needs explicit sequences
Lele Gaifax [Tue, 18 Dec 2007 13:03:55 +0000 (13:03 +0000)] 
Add Firebird to the list of DBs that needs explicit sequences

17 years agoget most oracle tests in sql working again....
Mike Bayer [Tue, 18 Dec 2007 06:13:42 +0000 (06:13 +0000)] 
get most oracle tests in sql working again....

17 years ago- cleanup; lambdas removed from properties; properties mirror same-named functions...
Mike Bayer [Tue, 18 Dec 2007 05:40:06 +0000 (05:40 +0000)] 
- cleanup; lambdas removed from properties; properties mirror same-named functions (more like eventual decorator syntax); remove some old methods, factor out some "raiseerr" ugliness to outer lying functions.
- corresponding_column() integrates "require_embedded" flag with other set arithmetic

17 years ago- select().as_scalar() will raise an exception if the select does not have
Mike Bayer [Tue, 18 Dec 2007 00:24:03 +0000 (00:24 +0000)] 
- select().as_scalar() will raise an exception if the select does not have
exactly one expression in its columns clause.
- added "helper exception" to select.type access, generic functions raise
the chance of this happening
- a slight behavioral change to attributes is, del'ing an attribute
does *not* cause the lazyloader of that attribute to fire off again;
the "del" makes the effective value of the attribute "None".  To
re-trigger the "loader" for an attribute, use
session.expire(instance, [attrname]).
- fix ormtutorial for IS NULL

17 years agofixed del history
Mike Bayer [Sun, 16 Dec 2007 20:32:56 +0000 (20:32 +0000)] 
fixed del history

17 years agoafter_update called with state.obj()
Mike Bayer [Sun, 16 Dec 2007 20:11:36 +0000 (20:11 +0000)] 
after_update called with state.obj()

17 years ago- more fixes to the LIMIT/OFFSET aliasing applied with Query + eagerloads,
Mike Bayer [Sun, 16 Dec 2007 18:32:25 +0000 (18:32 +0000)] 
- more fixes to the LIMIT/OFFSET aliasing applied with Query + eagerloads,
in this case when mapped against a select statement [ticket:904]
- _hide_froms logic in expression totally localized to Join class, including search through previous clone sources
- removed "stop_on" from main visitors, not used
- "stop_on" in AbstractClauseProcessor part of constructor, ClauseAdapter sets it up based on given clause
- fixes to is_derived_from() to take previous clone sources into account, Alias takes self + cloned sources into account. this is ultimately what the #904 bug was.

17 years agoFix bad example of Firebird test DB
Lele Gaifax [Sun, 16 Dec 2007 10:59:06 +0000 (10:59 +0000)] 
Fix bad example of Firebird test DB
Use an absolute path rather than a relative one, and the out-of-the-box
sysdba password. This is just to avoid confusing new testers, that should
add a db.firebird entry in their ~/satest.cfg anyway.

17 years agomoved hide_froms and aggregate_hide_froms to be only on FromClause
Mike Bayer [Sun, 16 Dec 2007 02:54:42 +0000 (02:54 +0000)] 
moved hide_froms and aggregate_hide_froms to be only on FromClause

17 years agoRevert to use default poolclass under Firebird
Lele Gaifax [Sat, 15 Dec 2007 16:14:31 +0000 (16:14 +0000)] 
Revert to use default poolclass under Firebird
This partially reverts [3562] and instead documents the problem suggesting
a possible workaround. For the tests, the occurence of the problem is
largely reduced by using a TCP connection (that is, 'localhost:/some/file.fdb'
instead of '/some/file.fdb')

17 years agoRemove some spurious spaces
Lele Gaifax [Sat, 15 Dec 2007 13:23:15 +0000 (13:23 +0000)] 
Remove some spurious spaces

17 years agoFixed minor reST issue
Lele Gaifax [Sat, 15 Dec 2007 10:08:37 +0000 (10:08 +0000)] 
Fixed minor reST issue

17 years agoDocumentation markup and a few typos
Lele Gaifax [Sat, 15 Dec 2007 09:50:35 +0000 (09:50 +0000)] 
Documentation markup and a few typos

17 years agoImplemented FBDialect.server_version_info()
Lele Gaifax [Sat, 15 Dec 2007 09:02:41 +0000 (09:02 +0000)] 
Implemented FBDialect.server_version_info()

17 years agooof...unicode object still needs to return the value if it just warned...
Mike Bayer [Fri, 14 Dec 2007 23:47:33 +0000 (23:47 +0000)] 
oof...unicode object still needs to return the value if it just warned...

17 years agooof, history on collections were wrong. fixed byroot_tree test as well
Mike Bayer [Fri, 14 Dec 2007 23:28:10 +0000 (23:28 +0000)] 
oof, history on collections were wrong. fixed byroot_tree test as well

17 years ago- simplified _mapper_registry further. its now just a weakkeydict of mapper->True...
Mike Bayer [Fri, 14 Dec 2007 23:11:13 +0000 (23:11 +0000)] 
- simplified _mapper_registry further.  its now just a weakkeydict of 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.

17 years agoadded an inheritance test
Mike Bayer [Fri, 14 Dec 2007 18:08:55 +0000 (18:08 +0000)] 
added an inheritance test

17 years agoFirebird module documentation
Lele Gaifax [Fri, 14 Dec 2007 16:45:46 +0000 (16:45 +0000)] 
Firebird module documentation

17 years agocorrection...
Jason Kirtland [Fri, 14 Dec 2007 10:30:14 +0000 (10:30 +0000)] 
correction...

17 years agotry to bang mysql tests to work
Mike Bayer [Fri, 14 Dec 2007 06:29:31 +0000 (06:29 +0000)] 
try to bang mysql tests to work

17 years ago- merged instances_yields branch r3908:3934, minus the "yield" part which remains...
Mike Bayer [Fri, 14 Dec 2007 05:53:18 +0000 (05:53 +0000)] 
- merged instances_yields branch r3908:3934, minus the "yield" part which 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.

17 years ago- Raise an error when assigning a bogusly keyed dictionary to one of the builtin...
Jason Kirtland [Fri, 14 Dec 2007 00:13:18 +0000 (00:13 +0000)] 
- Raise an error when assigning a bogusly keyed dictionary to one of the 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

17 years agoFixed some __repr__'s attempting to %d their not-yet-assigned primary key ids.
Jason Kirtland [Thu, 13 Dec 2007 21:56:52 +0000 (21:56 +0000)] 
Fixed some __repr__'s attempting to %d their not-yet-assigned primary key ids.

17 years agoFirebird does use qmark style params
Lele Gaifax [Thu, 13 Dec 2007 20:16:23 +0000 (20:16 +0000)] 
Firebird does use qmark style params

17 years agoUse the external strlen UDF for func.length() under Firebird
Lele Gaifax [Thu, 13 Dec 2007 15:53:35 +0000 (15:53 +0000)] 
Use the external strlen UDF for func.length() under Firebird

17 years ago- Removed @testing.supported. Dialects in development or maintained outside
Jason Kirtland [Thu, 13 Dec 2007 09:59:14 +0000 (09:59 +0000)] 
- Removed @testing.supported.  Dialects in development or maintained outside
  the tree can now run the full suite of tests out of the box.
- Migrated most @supported to @fails_on, @fails_on_everything_but, or (last
  resort) @unsupported.  @fails_on revealed a slew of bogus test skippage,
  which was corrected.
- Added @fails_on_everything_but.  Yes, the first usage *was*
  "fails_on_everything_but('postgres')".  How did you guess!
- Migrated @supported in dialect/* to the new test-class attribute __only_on__.
- Test classes can also have __unsupported_on__ and __excluded_on__.

17 years agoDisabled some tests with INTERSECT, not handled by Firebird
Lele Gaifax [Wed, 12 Dec 2007 23:06:22 +0000 (23:06 +0000)] 
Disabled some tests with INTERSECT, not handled by Firebird

17 years agoUse an external UDF to implement the mod operator under Firebird
Lele Gaifax [Wed, 12 Dec 2007 23:00:42 +0000 (23:00 +0000)] 
Use an external UDF to implement the mod operator under Firebird

17 years agobug fixes
Chris Mcdonough [Wed, 12 Dec 2007 20:20:03 +0000 (20:20 +0000)] 
bug fixes

- the call to self.get() in get_committed_state was missing a required parameter, rendered sqlalchemy unusable in certain situations

- fixed a large bug in dynamic_loader() where the query criterion wasn't generated correctly if other relations existed to dynamic_loader's argument

17 years agoSome code-level docs for r3916
Jason Kirtland [Wed, 12 Dec 2007 20:18:58 +0000 (20:18 +0000)] 
Some code-level docs for r3916

17 years agoimplemented many-to-one comparisons to None generate <column> IS NULL, with column...
Mike Bayer [Wed, 12 Dec 2007 17:56:52 +0000 (17:56 +0000)] 
implemented many-to-one comparisons to None generate <column> IS NULL, with column on the left side in all cases

17 years agoNew simple test for Dialect.has_sequence()
Lele Gaifax [Wed, 12 Dec 2007 17:24:56 +0000 (17:24 +0000)] 
New simple test for Dialect.has_sequence()

17 years ago- on mysql, emit inner joins as 'INNER JOIN ... ON' (for version 3.23)
Jason Kirtland [Wed, 12 Dec 2007 16:39:10 +0000 (16:39 +0000)] 
- on mysql, emit inner joins as 'INNER JOIN ... ON' (for version 3.23)

17 years agoReflect Firebird PassiveDefaults
Lele Gaifax [Wed, 12 Dec 2007 16:08:07 +0000 (16:08 +0000)] 
Reflect Firebird PassiveDefaults
 - column's default values are properly reflected (also those coming from DOMAINs)
 - implemented .has_sequence()
 - fix type on FK reflection

17 years agoCosmetic changes to the Firebird reflection queries.
Lele Gaifax [Tue, 11 Dec 2007 23:07:41 +0000 (23:07 +0000)] 
Cosmetic changes to the Firebird reflection queries.
This brings them more consistent with the syntax of the statements generated by SA,
using lowercase field names.

17 years ago- eagerload(), lazyload(), eagerload_all() take an optional
Mike Bayer [Tue, 11 Dec 2007 19:33:36 +0000 (19:33 +0000)] 
- eagerload(), lazyload(), eagerload_all() take an optional
second class-or-mapper argument, which will select the mapper
to apply the option towards.  This can select among other
mappers which were added using add_entity().

- eagerloading will work with mappers added via add_entity().

17 years ago- fix to cascades on polymorphic relations, such that cascades
Mike Bayer [Tue, 11 Dec 2007 17:29:08 +0000 (17:29 +0000)] 
- fix to cascades on polymorphic relations, such that cascades
from an object to a polymorphic collection continue cascading
along the set of attributes specific to each element in the collection.

17 years agocomment
Mike Bayer [Mon, 10 Dec 2007 18:42:39 +0000 (18:42 +0000)] 
comment

17 years agorefresh_instance becomes an InstanceState so boolean tests are OK
Mike Bayer [Mon, 10 Dec 2007 18:08:16 +0000 (18:08 +0000)] 
refresh_instance becomes an InstanceState so boolean tests are OK

17 years ago- more query tests
Mike Bayer [Mon, 10 Dec 2007 04:31:17 +0000 (04:31 +0000)] 
- more query tests
- trying to refine some of the adaptation stuff
- query.from_statement() wont allow further generative criterion
- added a warning to columncollection when selectable is formed with
conflicting columns (only in the col export phase)
- some method rearrangement on schema/columncollection....
- property conflicting relation warning doesnt raise for concrete

17 years ago- Query.select_from() now replaces all existing FROM criterion with
Mike Bayer [Sun, 9 Dec 2007 23:27:04 +0000 (23:27 +0000)] 
- Query.select_from() now replaces all existing FROM criterion with
the given argument; the previous behavior of constructing a list
of FROM clauses was generally not useful as is required
filter() calls to create join criterion, and new tables introduced
within filter() already add themselves to the FROM clause.  The
new behavior allows not just joins from the main table, but select
statements as well.  Filter criterion, order bys, eager load
clauses will be "aliased" against the given statement.

17 years agoBetter reflection of Firebird data types.
Lele Gaifax [Sun, 9 Dec 2007 23:08:59 +0000 (23:08 +0000)] 
Better reflection of Firebird data types.
Instead of relying on internal numeric code, lookup the associated real
name. This has the extra benefit of properly handling of DOMAINs.

17 years agofix...
Mike Bayer [Sun, 9 Dec 2007 18:27:01 +0000 (18:27 +0000)] 
fix...

17 years agoadd pydoc for from_statement().
Mike Bayer [Sun, 9 Dec 2007 17:50:24 +0000 (17:50 +0000)] 
add pydoc for from_statement().

17 years ago- added a warning when a relation() is added to an inheriting mapper that is present...
Mike Bayer [Sun, 9 Dec 2007 17:26:16 +0000 (17:26 +0000)] 
- added a warning when a relation() is added to an inheriting mapper that is present on a super-mapper; multiple DependencyProcessors are not expected during the flush process
- found an uncovered line in uow, was "covered" by one particular breaking test

17 years agoadd some updates too
Mike Bayer [Sun, 9 Dec 2007 16:13:27 +0000 (16:13 +0000)] 
add some updates too

17 years ago- added a test for boolean saves/retrieves
Mike Bayer [Sun, 9 Dec 2007 16:11:21 +0000 (16:11 +0000)] 
- added a test for boolean saves/retrieves

17 years ago- fix up the fixtures comparator
Mike Bayer [Sun, 9 Dec 2007 15:56:37 +0000 (15:56 +0000)] 
- fix up the fixtures comparator
- strengthened memory profiling test

17 years agoonly report true for source change if added + deleted, dont pick up inserts
Mike Bayer [Sun, 9 Dec 2007 15:04:14 +0000 (15:04 +0000)] 
only report true for source change if added + deleted, dont pick up inserts

17 years agomapper uses attributes to get non-cached history
Mike Bayer [Sun, 9 Dec 2007 05:24:07 +0000 (05:24 +0000)] 
mapper uses attributes to get non-cached history

17 years agoremove redundant identity map set
Mike Bayer [Sun, 9 Dec 2007 05:14:40 +0000 (05:14 +0000)] 
remove redundant identity map set

17 years ago- mutable primary key support is added. primary key columns can be
Mike Bayer [Sun, 9 Dec 2007 05:00:12 +0000 (05:00 +0000)] 
- mutable primary key support is added. primary key columns can be
changed freely, and the identity of the instance will change upon
flush. In addition, update cascades of foreign key referents (primary
key or not) along relations are supported, either in tandem with the
database's ON UPDATE CASCADE (required for DB's like Postgres) or
issued directly by the ORM in the form of UPDATE statements, by setting
the flag "passive_cascades=False".

17 years ago- added new methods to TypeDecorator, process_bind_param() and
Mike Bayer [Sat, 8 Dec 2007 23:03:22 +0000 (23:03 +0000)] 
- added new methods to TypeDecorator, process_bind_param() and
process_result_value(), which automatically take advantage of the processing
of the underlying type.  Ideal for using with Unicode or Pickletype.
TypeDecorator should now be the primary way to augment the behavior of any
existing type including other TypeDecorator subclasses such as PickleType.

17 years agosome updates, remove an old test (really crufty old stuff here)
Mike Bayer [Sat, 8 Dec 2007 21:49:03 +0000 (21:49 +0000)] 
some updates, remove an old test (really crufty old stuff here)

17 years ago[ticket:888] continued, synonym add_prop
Mike Bayer [Sat, 8 Dec 2007 19:56:11 +0000 (19:56 +0000)] 
[ticket:888] continued, synonym add_prop

17 years agook found it
Mike Bayer [Sat, 8 Dec 2007 19:25:10 +0000 (19:25 +0000)] 
ok found it

17 years agofixed test which didnt pass along 'allitems' collection to the sort...
Mike Bayer [Sat, 8 Dec 2007 19:15:12 +0000 (19:15 +0000)] 
fixed test which didnt pass along 'allitems' collection to the sort...

17 years ago- flush() refactor merged from uow_nontree branch r3871-r3885
Mike Bayer [Sat, 8 Dec 2007 18:58:03 +0000 (18:58 +0000)] 
- flush() refactor merged from uow_nontree branch r3871-r3885
- topological.py cleaned up, presents three public facing functions which
return list/tuple based structures, without exposing any internals.  only
the third function returns the "hierarchical" structure.  when results
include "cycles" or "child" items, 2- or 3- tuples are used to represent
results.
- unitofwork uses InstanceState almost exclusively now.  new and deleted lists
are now dicts which ref the actual object to provide a strong ref for the
duration that they're in those lists.  IdentitySet is only used for the public
facing versions of "new" and "deleted".
- unitofwork topological sort no longer uses the "hierarchical" version of the sort
for the base sort, only for the "per-object" secondary sort where it still
helps to group non-dependent operations together and provides expected insert
order.  the default sort deals with UOWTasks in a straight list and is greatly
simplified.  Tests all pass but need to see if svilen's stuff still works,
one block of code in _sort_cyclical_dependencies() seems to not be needed anywhere
but i definitely put it there for a reason at some point; if not hopefully we
can derive more test coverage from that.
- the UOWEventHandler is only applied to object-storing attributes, not
scalar (i.e. column-based) ones.  cuts out a ton of overhead when setting
non-object based attributes.
- InstanceState also used throughout the flush process, i.e. dependency.py,
mapper.save_obj()/delete_obj(), sync.execute() all expect InstanceState objects
in most cases now.
- mapper/property cascade_iterator() takes InstanceState as its argument,
but still returns lists of object instances so that they are not dereferenced.
- a few tricks needed when dealing with InstanceState, i.e. when loading a list
of items that are possibly fresh from the DB, you *have* to get the actual objects
into a strong-referencing datastructure else they fall out of scope immediately.
dependency.py caches lists of dependent objects which it loads now (i.e. history
collections).
- AttributeHistory is gone, replaced by a function that returns a 3-tuple of
added, unchanged, deleted.  these collections still reference the object
instances directly for the strong-referencing reasons mentiontioned, but
it uses less IdentitySet logic to generate.

17 years agochanged the anonymous numbering scheme to be more appealing
Mike Bayer [Sat, 8 Dec 2007 18:38:18 +0000 (18:38 +0000)] 
changed the anonymous numbering scheme to be more appealing
got tests running

17 years agocorrected for current output...
Mike Bayer [Sat, 8 Dec 2007 18:04:46 +0000 (18:04 +0000)] 
corrected for current output...

17 years agoadded a mention about `eagerload_all()` [ticket:897]
Mike Bayer [Sat, 8 Dec 2007 17:07:40 +0000 (17:07 +0000)] 
added a mention about `eagerload_all()` [ticket:897]

17 years agomapper.instances() is deprecated
Mike Bayer [Fri, 7 Dec 2007 20:14:10 +0000 (20:14 +0000)] 
mapper.instances() is deprecated

17 years agoa little refinement to topological options, more to come
Mike Bayer [Fri, 7 Dec 2007 17:27:21 +0000 (17:27 +0000)] 
a little refinement to topological options, more to come

17 years agofix to unique bind params, you *can* use the same unique bindparam multiple times
Mike Bayer [Fri, 7 Dec 2007 16:47:00 +0000 (16:47 +0000)] 
fix to unique bind params, you *can* use the same unique bindparam multiple times
in a statement.  the collision check is strictly detecting non-unique's that happen to have
the same name.

17 years ago- also with dynamic, implemented correct count() behavior as well
Mike Bayer [Fri, 7 Dec 2007 16:31:12 +0000 (16:31 +0000)] 
- also with dynamic, implemented correct count() behavior as well
as other helper methods.

17 years ago- added "cascade delete" behavior to "dynamic" relations just like
Mike Bayer [Fri, 7 Dec 2007 16:13:19 +0000 (16:13 +0000)] 
- added "cascade delete" behavior to "dynamic" relations just like
that of regular relations.  if passive_deletes flag (also just added)
is not set, a delete of the parent item will trigger a full load of
the child items so that they can be deleted or updated accordingly.

17 years agofixed key error when no pks could be located
Mike Bayer [Fri, 7 Dec 2007 15:28:20 +0000 (15:28 +0000)] 
fixed key error when no pks could be located

17 years ago- generation of "unique" bind parameters has been simplified to use the same
Mike Bayer [Thu, 6 Dec 2007 22:23:10 +0000 (22:23 +0000)] 
- generation of "unique" bind parameters has been simplified to use the same
"unique identifier" mechanisms as everything else.  This doesn't affect
user code, except any code that might have been hardcoded against the generated
names.  Generated bind params now have the form "<paramname>_<num>",
whereas before only the second bind of the same name would have this form.

- bindparam() objects themselves can be used as keys for execute(), i.e.
statement.execute({bind1:'foo', bind2:'bar'})

17 years agowarn if query.get() used with existing criterion
Mike Bayer [Thu, 6 Dec 2007 19:31:59 +0000 (19:31 +0000)] 
warn if query.get() used with existing criterion

17 years ago- query.get() and query.load() do not take existing filter or other
Mike Bayer [Thu, 6 Dec 2007 19:15:04 +0000 (19:15 +0000)] 
- query.get() and query.load() do not take existing filter or other
criterion into account; these methods *always* look up the given id
in the database or return the current instance from the identity map,
disregarding any existing filter, join, group_by or other criterion
which has been configured. [ticket:893]

17 years agoassert_unicode=True replaced with default of assert_unicode='warn'
Mike Bayer [Wed, 5 Dec 2007 22:21:37 +0000 (22:21 +0000)] 
assert_unicode=True replaced with default of assert_unicode='warn'

17 years ago- ordering of cols in pks_by_table and cols_by_table is significant;
Mike Bayer [Wed, 5 Dec 2007 22:04:27 +0000 (22:04 +0000)] 
- ordering of cols in pks_by_table and cols_by_table is significant;
particularly for pks_by_table the ordering is expected to match the ordering
of pk columns in the table for usage in query.get() as well as identity key
generation

17 years agomore assertion hints...
Mike Bayer [Wed, 5 Dec 2007 21:51:16 +0000 (21:51 +0000)] 
more assertion hints...

17 years agoimproved assertions, test is failing on the buildbot only (not osx or linux)
Mike Bayer [Wed, 5 Dec 2007 21:34:22 +0000 (21:34 +0000)] 
improved assertions, test is failing on the buildbot only (not osx or linux)

17 years agosome more omit schemas for [ticket:890]
Mike Bayer [Wed, 5 Dec 2007 21:16:02 +0000 (21:16 +0000)] 
some more omit schemas for [ticket:890]

17 years ago- tables with schemas can still be used in sqlite, firebird,
Mike Bayer [Wed, 5 Dec 2007 21:14:09 +0000 (21:14 +0000)] 
- tables with schemas can still be used in sqlite, firebird,
schema name just gets dropped [ticket:890]

17 years ago- fixed wrong varname in session exception throw
Mike Bayer [Wed, 5 Dec 2007 20:55:33 +0000 (20:55 +0000)] 
- fixed wrong varname in session exception throw
- fixed vertical example to just use a scoped session

17 years ago- a major behavioral change to collection-based backrefs: they no
Mike Bayer [Wed, 5 Dec 2007 20:43:16 +0000 (20:43 +0000)] 
- a major behavioral change to collection-based backrefs: they no
longer trigger lazy loads !  "reverse" adds and removes
are queued up and are merged with the collection when it is
actually read from and loaded; but do not trigger a load beforehand.
For users who have noticed this behavior, this should be much more
convenient than using dynamic relations in some cases; for those who
have not, you might notice your apps using a lot fewer queries than
before in some situations. [ticket:871]

17 years ago- basic framework for generic functions, [ticket:615]
Mike Bayer [Wed, 5 Dec 2007 03:07:21 +0000 (03:07 +0000)] 
- basic framework for generic functions, [ticket:615]
- changed the various "literal" generation functions to use an anonymous
bind parameter.  not much changes here except their labels now look
like ":param_1", ":param_2" instead of ":literal"
- from_obj keyword argument to select() can be a scalar or a list.

17 years ago- fixed backref bug where you could not del instance.attr if attr
Mike Bayer [Tue, 4 Dec 2007 17:55:25 +0000 (17:55 +0000)] 
- fixed backref bug where you could not del instance.attr if attr
was None

17 years ago- relaxed rules on column_property() expressions having labels; any
Mike Bayer [Tue, 4 Dec 2007 17:06:55 +0000 (17:06 +0000)] 
- relaxed rules on column_property() expressions having labels; any
ColumnElement is accepted now, as the compiler auto-labels non-labeled
ColumnElements now.  a selectable, like a select() statement, still
requires conversion to ColumnElement via as_scalar() or label().

17 years agotypo
Gaëtan de Menten [Tue, 4 Dec 2007 16:22:44 +0000 (16:22 +0000)] 
typo

17 years agofixed replacement of existing column properties with synonyms, [ticket:888]
Mike Bayer [Tue, 4 Dec 2007 15:53:23 +0000 (15:53 +0000)] 
fixed replacement of existing column properties with synonyms, [ticket:888]

17 years ago- moved class-level attributes placed by the attributes package into a _class_state
Mike Bayer [Sun, 2 Dec 2007 00:31:26 +0000 (00:31 +0000)] 
- moved class-level attributes placed by the attributes package into a _class_state
variable attached to the class.
- mappers track themselves primarily using the "mappers" collection on _class_state.
ClassKey is gone and mapper lookup uses regular dict keyed to entity_name; removes
a fair degree of WeakKeyDictionary overhead as well as ClassKey overhead.
- mapper_registry renamed to _mapper_registry; is only consulted by the
compile_mappers(), mapper.compile() and clear_mappers() functions/methods.

17 years ago- several ORM attributes have been removed or made private:
Mike Bayer [Sat, 1 Dec 2007 23:00:05 +0000 (23:00 +0000)] 
- several ORM attributes have been removed or made private:
mapper.get_attr_by_column(), mapper.set_attr_by_column(),
mapper.pks_by_table, mapper.cascade_callable(),
MapperProperty.cascade_callable(), mapper.canload()
- refinements to mapper PK/table column organization, session cascading,
some naming convention work

17 years agoadded test to ensure two conflicting m2m + backrefs raise an error
Mike Bayer [Fri, 30 Nov 2007 21:25:42 +0000 (21:25 +0000)] 
added test to ensure two conflicting m2m + backrefs raise an error

17 years agoremove a little cruft
Mike Bayer [Fri, 30 Nov 2007 03:34:06 +0000 (03:34 +0000)] 
remove a little cruft

17 years ago- added support for version_id_col in conjunction with inheriting mappers.
Mike Bayer [Fri, 30 Nov 2007 00:40:56 +0000 (00:40 +0000)] 
- added support for version_id_col in conjunction with inheriting mappers.
version_id_col is typically set on the base mapper in an inheritance
relationship where it takes effect for all inheriting mappers.
[ticket:883]
- a little rearrangement of save_obj()

17 years ago- adjustment to the previous checkin regarding inheritance to not conflict with globals
Mike Bayer [Thu, 29 Nov 2007 19:37:05 +0000 (19:37 +0000)] 
- adjustment to the previous checkin regarding inheritance to not conflict with globals
- fix to self-referential eager loading such that if the same mapped
instance appears in two or more distinct sets of columns in the same
result set, its eagerly loaded collection will be populated regardless
of whether or not all of the rows contain a set of "eager" columns for
that collection.  this would also show up as a KeyError when fetching
results with join_depth turned on.

17 years ago- fixed bug where Query would not apply a subquery to the SQL when LIMIT
Mike Bayer [Thu, 29 Nov 2007 15:36:13 +0000 (15:36 +0000)] 
- fixed bug where Query would not apply a subquery to the SQL when LIMIT
was used in conjunction with an inheriting mapper where the eager
loader was only in the parent mapper.

17 years agocleanup
Mike Bayer [Wed, 28 Nov 2007 23:44:14 +0000 (23:44 +0000)] 
cleanup

17 years agofixed unicode-ness for Unicode values
Mike Bayer [Wed, 28 Nov 2007 22:09:57 +0000 (22:09 +0000)] 
fixed unicode-ness for Unicode values

17 years ago- fixed bug which could arise when using session.begin_nested() in conjunction
Mike Bayer [Wed, 28 Nov 2007 22:03:14 +0000 (22:03 +0000)] 
- fixed bug which could arise when using session.begin_nested() in conjunction
with more than one level deep of enclosing session.begin() statements