]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/log
thirdparty/sqlalchemy/sqlalchemy.git
18 years ago- added query.with_parent(someinstance) method. searches for
Mike Bayer [Tue, 17 Apr 2007 18:04:37 +0000 (18:04 +0000)] 
- added query.with_parent(someinstance) method.  searches for
target instance using lazy join criterion from parent instance.
takes optional string "property" to isolate the desired relation.
also adds static Query.query_from_parent(instance, property)
version. [ticket:541]

18 years agoadded "recreate()" argument to connection pool classes
Mike Bayer [Tue, 17 Apr 2007 00:21:25 +0000 (00:21 +0000)] 
added "recreate()" argument to connection pool classes
this method is called when the invalidate() occurs for a disconnect condition,
so that the entire pool is recreated, thereby avoiding repeat errors on
remaining connections in the pool.
dispose() called as well (also fixed up) but cant guarantee all connections closed.

18 years ago- removed meaningless entity_name argument from session.delete()
Mike Bayer [Mon, 16 Apr 2007 22:35:53 +0000 (22:35 +0000)] 
- removed meaningless entity_name argument from session.delete()
- session.merge() propigates given entity_name to locate that mapper if the given object
is transient (and therefore has no entity_name)
- some fixes to MockEngine which still is mostly useless for most cases.
- unitofwork test used incorrect session.delete() signature

18 years ago- got unicode schemas to work with postgres
Mike Bayer [Sun, 15 Apr 2007 22:04:53 +0000 (22:04 +0000)] 
- got unicode schemas to work with postgres
- unicode schema with mysql slightly improved, still cant do has_table
- got reflection of unicode schemas working with sqlite, pg, mysql

18 years agomore docstrings stuff
Mike Bayer [Sat, 14 Apr 2007 21:56:21 +0000 (21:56 +0000)] 
more docstrings stuff

18 years agoadded ansisql docs to output, moved exceptions to a more reasonable location
Mike Bayer [Sat, 14 Apr 2007 21:40:41 +0000 (21:40 +0000)] 
added ansisql docs to output, moved exceptions to a more reasonable location

18 years agodidnt need that method...
Mike Bayer [Sat, 14 Apr 2007 01:39:00 +0000 (01:39 +0000)] 
didnt need that method...

18 years agosome docstrings to provide more detail in the sql package
Mike Bayer [Sat, 14 Apr 2007 01:28:45 +0000 (01:28 +0000)] 
some docstrings to provide more detail in the sql package

18 years ago- small fix to allow successive compiles of the same SELECT object
Mike Bayer [Fri, 13 Apr 2007 22:22:07 +0000 (22:22 +0000)] 
- small fix to allow successive compiles of the same SELECT object
which features LIMIT/OFFSET.  oracle dialect needs to modify
the object to have ROW_NUMBER OVER and wasn't performing
the full series of steps on successive compiles.

18 years ago[ticket:534] get dictionary append() method properly
Mike Bayer [Wed, 11 Apr 2007 21:15:11 +0000 (21:15 +0000)] 
[ticket:534] get dictionary append() method properly

18 years ago- the "mini" column labels generated when using subqueries, which
Mike Bayer [Wed, 11 Apr 2007 20:55:27 +0000 (20:55 +0000)] 
- the "mini" column labels generated when using subqueries, which
are to work around glitchy SQLite behavior that doesnt understand
"foo.id" as equivalent to "id", are now only generated in the case
that those named columns are selected from (part of [ticket:513])
- MS-SQL better detects when a query is a subquery and knows not to
generate ORDER BY phrases for those [ticket:513]

18 years ago- fix to many-to-many relationships targeting polymorphic mappers
Mike Bayer [Wed, 11 Apr 2007 19:37:56 +0000 (19:37 +0000)] 
- fix to many-to-many relationships targeting polymorphic mappers
[ticket:533]

18 years agowill be 0.3.7
Mike Bayer [Tue, 10 Apr 2007 19:18:28 +0000 (19:18 +0000)] 
will be 0.3.7

18 years ago- some cleanup of reflection unit tests
Mike Bayer [Wed, 4 Apr 2007 23:06:39 +0000 (23:06 +0000)] 
- some cleanup of reflection unit tests
- removed silly behavior where sqlite would reflect UNIQUE indexes
as part of the primary key (?!)
- added __contains__ support to ColumnCollection; contains_column() method should be removed

18 years agoexplicit zero was failing for float cols
Rick Morrison [Wed, 4 Apr 2007 15:03:32 +0000 (15:03 +0000)] 
explicit zero was failing for float cols

18 years ago- slight tweak to raw execute() change to also support tuples,
Mike Bayer [Tue, 3 Apr 2007 18:08:51 +0000 (18:08 +0000)] 
- slight tweak to raw execute() change to also support tuples,
not just lists [ticket:523]

18 years agofor #516, moved the "disconnect check" step out of pool and back into base.py. diale...
Mike Bayer [Tue, 3 Apr 2007 16:06:06 +0000 (16:06 +0000)] 
for #516, moved the "disconnect check" step out of pool and back into base.py.  dialects have
is_disconnect() method now.  simpler design which also puts control of the ultimate "execute" call back into the hands of the dialects.

18 years ago- merged the patch from #516 + fixes
Mike Bayer [Mon, 2 Apr 2007 22:03:06 +0000 (22:03 +0000)] 
- merged the patch from #516 + fixes
- improves the framework for auto-invalidation of connections that have
lost their underlying database - the error catching/invalidate
step is totally moved to the connection pool.
- added better condition checking for do_rollback() and do_commit() including
SQLError excepetion wrapping

18 years ago- merged the "execcontext" branch, refactors engine/dialect codepaths
Mike Bayer [Mon, 2 Apr 2007 21:36:11 +0000 (21:36 +0000)] 
- merged the "execcontext" branch, refactors engine/dialect codepaths
- much more functionality moved into ExecutionContext, which impacted
the API used by dialects to some degree
- ResultProxy and subclasses now designed sanely
- merged patch for #522, Unicode subclasses String directly,
MSNVarchar implements for MS-SQL, removed MSUnicode.
- String moves its "VARCHAR"/"TEXT" switchy thing into
"get_search_list()" function, which VARCHAR and CHAR can override
to not return TEXT in any case (didnt do the latter yet)
- implements server side cursors for postgres, unit tests, #514
- includes overhaul of dbapi import strategy #480, all dbapi
importing happens in dialect method "dbapi()", is only called
inside of create_engine() for default and threadlocal strategies.
Dialect subclasses have a datamember "dbapi" referencing the loaded
module which may be None.
- added "mock" engine strategy, doesnt require DBAPI module and
gives you a "Connecition" which just sends all executes to a callable.
can be used to create string output of create_all()/drop_all().

18 years agolatest #214 fixups
Mike Bayer [Sat, 31 Mar 2007 23:49:57 +0000 (23:49 +0000)] 
latest #214 fixups

18 years ago- query strings in unicode URLs get keys encoded to ascii
Mike Bayer [Fri, 30 Mar 2007 15:49:30 +0000 (15:49 +0000)] 
- query strings in unicode URLs get keys encoded to ascii
for **kwargs compat

18 years agothank you, SVN, for being completely idiotic and non-intutive. rolling back incorrect...
Mike Bayer [Fri, 30 Mar 2007 00:01:09 +0000 (00:01 +0000)] 
thank you, SVN, for being completely idiotic and non-intutive. rolling back incorrect checkin to trunk

18 years agocurrent progress with exec branch
Mike Bayer [Thu, 29 Mar 2007 23:57:22 +0000 (23:57 +0000)] 
current progress with exec branch

18 years ago- corresponding to label/bindparam name generataion, eager loaders
Mike Bayer [Thu, 29 Mar 2007 00:56:34 +0000 (00:56 +0000)] 
- corresponding to label/bindparam name generataion, eager loaders
generate deterministic names for the aliases they create using
md5 hashes.

18 years agoadded example for expressions in updates
Mike Bayer [Wed, 28 Mar 2007 23:44:13 +0000 (23:44 +0000)] 
added example for expressions in updates

18 years agoordering adjustments
Mike Bayer [Wed, 28 Mar 2007 23:38:28 +0000 (23:38 +0000)] 
ordering adjustments

18 years agoadded keys() to ColumnParameters, needed for setbindparamsizes traversal
Mike Bayer [Wed, 28 Mar 2007 23:30:22 +0000 (23:30 +0000)] 
added keys() to ColumnParameters, needed for setbindparamsizes traversal

18 years ago- sending None as an argument to func.<something> will produce
Mike Bayer [Wed, 28 Mar 2007 23:18:04 +0000 (23:18 +0000)] 
- sending None as an argument to func.<something> will produce
an argument of NULL

18 years agounit test fix, same child object was being attached to two parents in a one-to-many...
Mike Bayer [Wed, 28 Mar 2007 22:57:00 +0000 (22:57 +0000)] 
unit test fix, same child object was being attached to two parents in a one-to-many which produced inconsistent results

18 years agobetter explicit PK insert checking
Rick Morrison [Wed, 28 Mar 2007 22:32:23 +0000 (22:32 +0000)] 
better explicit PK insert checking

18 years agoChange to ParameterClause object change
Rick Morrison [Wed, 28 Mar 2007 19:13:03 +0000 (19:13 +0000)] 
Change to ParameterClause object change
New syntax for adodbapi connection string with port

18 years agoerror raised if trying to auto-join on a self referential
Mike Bayer [Wed, 28 Mar 2007 17:48:02 +0000 (17:48 +0000)] 
error raised if trying to auto-join on a self referential

18 years agoadded "supports_unicode_statements()" step to dialect/execute_raw so that DB's like...
Mike Bayer [Wed, 28 Mar 2007 15:53:18 +0000 (15:53 +0000)] 
added "supports_unicode_statements()" step to dialect/execute_raw so that DB's like oracle can opt out of unicode statement strings

18 years ago- column label and bind param "truncation" also generate
Mike Bayer [Wed, 28 Mar 2007 07:19:14 +0000 (07:19 +0000)] 
- column label and bind param "truncation" also generate
deterministic names now, based on their ordering within the
full statement being compiled.  this means the same statement
will produce the same string across application restarts and
allowing DB query plan caching to work better.
- cleanup to sql.ClauseParameters since it was just falling
apart, API made more explicit
- many unit test tweaks to adjust for bind params not being
"pre" truncated, changes to ClauseParameters

18 years agoadded label truncation for bind param names which was lost in the previous related...
Mike Bayer [Wed, 28 Mar 2007 01:39:58 +0000 (01:39 +0000)] 
added label truncation for bind param names which was lost in the previous related commit.
added more tests plus test for column targeting with text() clause.

18 years agoadded LONG->OracleText reflection mapping [ticket:393]
Mike Bayer [Wed, 28 Mar 2007 00:34:25 +0000 (00:34 +0000)] 
added LONG->OracleText reflection mapping [ticket:393]

18 years agosome more docstring patches for [ticket:214]
Mike Bayer [Wed, 28 Mar 2007 00:23:39 +0000 (00:23 +0000)] 
some more docstring patches for [ticket:214]

18 years ago- fix for fetchmany() "size" argument being positional in most
Mike Bayer [Wed, 28 Mar 2007 00:09:55 +0000 (00:09 +0000)] 
- fix for fetchmany() "size" argument being positional in most
dbapis [ticket:505]

18 years ago- fixes [ticket:185], join object determines primary key and removes
Mike Bayer [Tue, 27 Mar 2007 22:06:36 +0000 (22:06 +0000)] 
- fixes [ticket:185], join object determines primary key and removes
columns that are FK's to other columns in the primary key collection.
- removed workaround code from query.py get()
- removed obsolete inheritance test from mapper
- added new get() test to inheritance.py for this particular issue
- ColumnCollection has nicer string method

18 years ago- some logging cleanup
Mike Bayer [Tue, 27 Mar 2007 21:01:32 +0000 (21:01 +0000)] 
- some logging cleanup
- added 'encodedname' prop to a few ClauseElements to aid logging

18 years ago- preliminary support for unicode table and column names added.
Mike Bayer [Tue, 27 Mar 2007 16:04:34 +0000 (16:04 +0000)] 
- preliminary support for unicode table and column names added.

18 years agomsssql: more unit tests now pass
Rick Morrison [Tue, 27 Mar 2007 05:07:10 +0000 (05:07 +0000)] 
msssql: more unit tests now pass

18 years ago- improved/fixed custom collection classes when giving it "set"/
Mike Bayer [Mon, 26 Mar 2007 19:59:39 +0000 (19:59 +0000)] 
- improved/fixed custom collection classes when giving it "set"/
"sets.Set" classes or subclasses (was still looking for append()
methods on them during lazy loads)
- moved CustomCollectionsTest from unitofwork to relationships
- added more custom collections test to attributes module

18 years ago- column labels are now generated in the compilation phase, which
Mike Bayer [Sat, 24 Mar 2007 19:24:27 +0000 (19:24 +0000)] 
- column labels are now generated in the compilation phase, which
means their lengths are dialect-dependent.  So on oracle a label
that gets truncated to 30 chars will go out to 63 characters
on postgres.  Also, the true labelname is always attached as the
accessor on the parent Selectable so theres no need to be aware
of the genrerated label names [ticket:512].
- ResultProxy column targeting is greatly simplified, and relies
upon the ANSICompiler's column_labels map to translate the built-in
label on a _ColumnClause (which is now considered to be a unique
identifier of that column) to the label which was generated at compile
time.
- still need to put a baseline of ColumnClause targeting for
ResultProxy objects that originated from a textual query.

18 years agocleanup continued rel_0_3_6
Mike Bayer [Fri, 23 Mar 2007 21:38:12 +0000 (21:38 +0000)] 
cleanup continued

18 years agovarious cleanup, docs and things, getting ready for 0.3.6
Mike Bayer [Fri, 23 Mar 2007 21:33:24 +0000 (21:33 +0000)] 
various cleanup, docs and things, getting ready for 0.3.6

18 years agodocumenting generative methods on query
Mike Bayer [Thu, 22 Mar 2007 23:24:28 +0000 (23:24 +0000)] 
documenting generative methods on query

18 years ago- MetaData can bind to an engine either via "url" or "engine" kwargs
Mike Bayer [Thu, 22 Mar 2007 21:18:23 +0000 (21:18 +0000)] 
- MetaData can bind to an engine either via "url" or "engine" kwargs
to constructor, or by using connect() method.  BoundMetaData is
identical to MetaData except engine_or_url param is required.
DynamicMetaData is the same and provides thread-local connections
be default.

18 years agodan's latest patch for session.identity_key()
Mike Bayer [Thu, 22 Mar 2007 20:54:52 +0000 (20:54 +0000)] 
dan's latest patch for session.identity_key()

18 years ago- CLOB type descends from TEXT so it goes to the dialect correctly
Mike Bayer [Thu, 22 Mar 2007 17:58:30 +0000 (17:58 +0000)] 
- CLOB type descends from TEXT so it goes to the dialect correctly
- oracle CLOB has result value LOB handling

18 years ago- added explicit MSTimeStamp type which takes effect when using
Mike Bayer [Thu, 22 Mar 2007 16:50:38 +0000 (16:50 +0000)] 
- added explicit MSTimeStamp type which takes effect when using
types.TIMESTAMP.

18 years ago- slightly better support for bind params as column clauses, either
Mike Bayer [Wed, 21 Mar 2007 20:43:34 +0000 (20:43 +0000)] 
- slightly better support for bind params as column clauses, either
via bindparam() or via literal(), i.e. select([literal('foo')])
- removed "table" argument from column().  this does not add the column
to the table anyway so was misleading.
- Select _exportable_columns() only exports Selectable instances
- Select uses _exportable_columns() when searching for engines
instead of _raw_columns for similar reasons (non selectables have no engine)
- _BindParamClause no longer has a _make_proxy().  its not a ColumnElement.
- _Label detects underlying column element and will generate its own
column()._make_proxy() if the element is not a ColumnElement.  this
allows a Label to be declared for nearly anything and it can export
itself as a column on a containing Selectable.

18 years agocontextual_connection() -> contextual_connect() [ticket:515]
Mike Bayer [Tue, 20 Mar 2007 23:29:31 +0000 (23:29 +0000)] 
contextual_connection()  -> contextual_connect() [ticket:515]

18 years agothe "tack on the leftover tasks at the end" step of the "circular dependency sort"
Mike Bayer [Tue, 20 Mar 2007 15:27:34 +0000 (15:27 +0000)] 
the "tack on the leftover tasks at the end" step of the "circular dependency sort"
makes a copy of those tasks with the circular_parent marked.  this way the tasks
do not iterate through their child items polymorphically, which is necessary because
the "circular sort" stores individual subclass tasks separately (i.e. saving/deleting
should not traverse polymorhically for those tasks)

18 years ago- many-to-many table will be properly handled even for operations that
Mike Bayer [Mon, 19 Mar 2007 17:54:29 +0000 (17:54 +0000)] 
- many-to-many table will be properly handled even for operations that
occur on the "backref" side of the operation [ticket:249]

18 years agomssql: now passes still more unit tests, [ticket:481]
Rick Morrison [Mon, 19 Mar 2007 02:00:32 +0000 (02:00 +0000)] 
mssql: now passes still more unit tests, [ticket:481]

18 years ago- added db modules to genned docstrings
Mike Bayer [Sun, 18 Mar 2007 22:35:19 +0000 (22:35 +0000)] 
- added db modules to genned docstrings
- had to tweak out latest MS-SQL module change.  cant do ImportErrors right now until module
importing is moved to the connection phase across all dialects.
- took out "his" from url docstrings
- postgres doesnt do an import *

18 years ago- check for tables in the primaryjoin/secondaryjoin that arent parent of parent/child...
Mike Bayer [Sun, 18 Mar 2007 21:45:55 +0000 (21:45 +0000)] 
- check for tables in the primaryjoin/secondaryjoin that arent parent of parent/child mappers.
dont include those clauses when looking for foreign_keys (which also takes care of remote_side).
if those cols are present in foreign_keys, lazyloader makes binds out of them and tries to
target those columns on the mapper, raising either the "conflicting column" error if they have the same
name, or the "cant find column on mapping" if it has a unique name.  added tests for both.

18 years agomssql: cleanup of module importing code; specifiable DB-API module; more explicit...
Rick Morrison [Sun, 18 Mar 2007 17:14:10 +0000 (17:14 +0000)] 
mssql: cleanup of module importing code; specifiable DB-API module; more explicit ordering of module preferences. [ticket:480]

18 years agomssql: optionally use VARCHAR(max) instead of TEXT. [ticket:509]
Rick Morrison [Sun, 18 Mar 2007 16:25:19 +0000 (16:25 +0000)] 
mssql: optionally use VARCHAR(max) instead of TEXT. [ticket:509]

18 years ago- flush fixes on self-referential relationships that contain references
Mike Bayer [Sat, 17 Mar 2007 20:46:52 +0000 (20:46 +0000)] 
- flush fixes on self-referential relationships that contain references
to other instances outside of the cyclical chain, when the initial
self-referential objects are not actually part of the flush

18 years agocss tag
Mike Bayer [Sat, 17 Mar 2007 16:58:12 +0000 (16:58 +0000)] 
css tag

18 years agointegrated docutils formatting into generated documentation;
Mike Bayer [Sat, 17 Mar 2007 16:49:45 +0000 (16:49 +0000)] 
integrated docutils formatting into generated documentation;
restructuredtext fixes throughout docstrings

18 years agomerged mako doc generation branch
Mike Bayer [Sat, 17 Mar 2007 15:14:53 +0000 (15:14 +0000)] 
merged mako doc generation branch

18 years ago- added a catchall **kwargs to MSString, to help reflection of
Mike Bayer [Fri, 16 Mar 2007 01:48:28 +0000 (01:48 +0000)] 
- added a catchall **kwargs to MSString, to help reflection of
obscure types (like "varchar() binary" in MS 4.0)

18 years ago"alltests" runners call testbase.main(), which takes an optional suite,
Mike Bayer [Thu, 15 Mar 2007 18:11:05 +0000 (18:11 +0000)] 
"alltests" runners call testbase.main(), which takes an optional suite,
so that exit code is propigated

18 years agoliterals in PassiveDefault require text()
Mike Bayer [Thu, 15 Mar 2007 16:49:47 +0000 (16:49 +0000)] 
literals in PassiveDefault require text()

18 years agoMSSQL now passes still more unit tests [ticket:481]
Rick Morrison [Thu, 15 Mar 2007 02:31:15 +0000 (02:31 +0000)] 
MSSQL now passes still more unit tests [ticket:481]
Fix to null FLOAT fields in mssql-trusted.patch
MSSQL: LIMIT with OFFSET now raises an error
MSSQL: can now specify Windows authorization
MSSQL: ignores seconds on DATE columns (DATE fix, part 1)

18 years agofix CASE statement when else_ is zero
Rick Morrison [Thu, 15 Mar 2007 01:58:46 +0000 (01:58 +0000)] 
fix CASE statement when else_ is zero

18 years ago- eager loading will not "aliasize" "order by" clauses that were placed
Mike Bayer [Wed, 14 Mar 2007 23:48:07 +0000 (23:48 +0000)] 
- eager loading will not "aliasize" "order by" clauses that were placed
in the select statement by something other than the eager loader
itself, to fix possibility of dupe columns as illustrated in
[ticket:495].  however, this means you have to be more careful with
the columns placed in the "order by" of Query.select(), that you have
explicitly named them in your criterion (i.e. you cant rely on the
eager loader adding them in for you)

- query._join_to (which powers join, join_via, etc) properly takes
secondary table into account when constructing joins

18 years ago- added a handy multi-use "identity_key()" method to Session, allowing
Mike Bayer [Tue, 13 Mar 2007 03:45:28 +0000 (03:45 +0000)] 
- added a handy multi-use "identity_key()" method to Session, allowing
the generation of identity keys for primary key values, instances,
and rows, courtesy Daniel Miller

18 years agosome docs
Mike Bayer [Tue, 13 Mar 2007 02:45:40 +0000 (02:45 +0000)] 
some docs

18 years agosome formatting
Mike Bayer [Tue, 13 Mar 2007 02:37:44 +0000 (02:37 +0000)] 
some formatting

18 years ago- for hackers, refactored the "visitor" system of ClauseElement and
Mike Bayer [Sun, 11 Mar 2007 20:52:02 +0000 (20:52 +0000)] 
- for hackers, refactored the "visitor" system of ClauseElement and
SchemaItem so that the traversal of items is controlled by the
ClauseVisitor itself, using the method visitor.traverse(item).
accept_visitor() methods can still be called directly but will
not do any traversal of child items.  ClauseElement/SchemaItem now
have a configurable get_children() method to return the collection
of child elements for each parent object. This allows the full
traversal of items to be clear and unambiguous (as well as loggable),
with an easy method of limiting a traversal (just pass flags which
are picked up by appropriate get_children() methods). [ticket:501]
- accept_schema_visitor() methods removed, replaced with
get_children(schema_visitor=True)
- various docstring/changelog cleanup/reformatting

18 years ago- oracle:
Mike Bayer [Sat, 10 Mar 2007 23:31:40 +0000 (23:31 +0000)] 
- oracle:
    - got binary working for any size input !  cx_oracle works fine,
      it was my fault as BINARY was being passed and not BLOB for
      setinputsizes (also unit tests werent even setting input sizes).
    - auto_setinputsizes defaults to True for Oracle, fixed cases where
      it improperly propigated bad types.

18 years ago- Query has add_entity() and add_column() generative methods. these
Mike Bayer [Sat, 10 Mar 2007 03:41:55 +0000 (03:41 +0000)] 
- Query has add_entity() and add_column() generative methods.  these
will add the given mapper/class or ColumnElement to the query at compile
time, and apply them to the instances method.  the user is responsible
for constructing reasonable join conditions (otherwise you can get
full cartesian products).  result set is the list of tuples, non-uniqued.
- fixed multi-mapper instances() to pad out shorter results with None so
zip() gets everything

18 years ago- the full featureset of the SelectResults extension has been merged
Mike Bayer [Sat, 10 Mar 2007 02:49:12 +0000 (02:49 +0000)] 
- the full featureset of the SelectResults extension has been merged
into a new set of methods available off of Query.  These methods
all provide "generative" behavior, whereby the Query is copied
and a new one returned with additional criterion added.
The new methods include:

  filter() - applies select criterion to the query
  filter_by() - applies "by"-style criterion to the query
  avg() - return the avg() function on the given column
  join() - join to a property (or across a list of properties)
  outerjoin() - like join() but uses LEFT OUTER JOIN
  limit()/offset() - apply LIMIT/OFFSET
  range-based access which applies limit/offset:
     session.query(Foo)[3:5]
  distinct() - apply DISTINCT
  list() - evaluate the criterion and return results

no incompatible changes have been made to Query's API and no methods
have been deprecated.  Existing methods like select(), select_by(),
get(), get_by() all execute the query at once and return results
like they always did.  join_to()/join_via() are still there although
the generative join()/outerjoin() methods are easier to use.

- the return value for multiple mappers used with instances() now returns
a cartesian product of the requested list of mappers, represented
as a list of tuples.  this corresponds to the documented behavior.
So that instances match up properly, the "uniquing" is disabled when
this feature is used.
- strings and columns can also be sent to the *args of instances() where
those exact result columns will be part of the result tuples.
- query() method is added by assignmapper.  this helps with
navigating to all the new generative methods on Query.

18 years agocleanup of reversed
Mike Bayer [Fri, 9 Mar 2007 00:12:49 +0000 (00:12 +0000)] 
cleanup of reversed

18 years ago- fixed usage of 2.4-only "reversed" in topological.py [ticket:506]
Mike Bayer [Thu, 8 Mar 2007 23:14:25 +0000 (23:14 +0000)] 
- fixed usage of 2.4-only "reversed" in topological.py [ticket:506]

18 years ago- fixed use_alter flag on ForeignKeyConstraint [ticket:503]
Mike Bayer [Wed, 7 Mar 2007 18:05:39 +0000 (18:05 +0000)] 
- fixed use_alter flag on ForeignKeyConstraint [ticket:503]

18 years ago- options() method on SelectResults now implemented "generatively"
Mike Bayer [Wed, 7 Mar 2007 01:31:41 +0000 (01:31 +0000)] 
- options() method on SelectResults now implemented "generatively"
like the rest of the SelectResults methods [ticket:472]

18 years agoneed an "alias()" on map to a select
Mike Bayer [Tue, 6 Mar 2007 18:39:27 +0000 (18:39 +0000)] 
need an "alias()" on map to a select

18 years agodecorated ImportError thrown when the <database>:// module isnt found
Mike Bayer [Tue, 6 Mar 2007 17:17:27 +0000 (17:17 +0000)] 
decorated ImportError thrown when the <database>:// module isnt found

18 years agoadded "enable_typechecks=True" flag on relation so the new type check from #500 can...
Mike Bayer [Tue, 6 Mar 2007 16:47:43 +0000 (16:47 +0000)] 
added "enable_typechecks=True" flag on relation so the new type check from #500 can be disabled, since people are going to want to disable it.

18 years ago- added concept of 'require_embedded' to corresponding_column.
Mike Bayer [Mon, 5 Mar 2007 23:08:52 +0000 (23:08 +0000)] 
- added concept of 'require_embedded' to corresponding_column.
requires that the target column be present in a sub-element of the
target selectable.
- embedded logic above more appropriate for ClauseAdapter functionality
since its trying to "pull up" clauses that represent columns within
a larger union up to the level of the union itself.
- the "direction" test against the "foreign_keys" collection apparently
works for an exact "column 'x' is present in the collection", no proxy
relationships needed.  fixes the case of relating a selectable/alias
to one of its underlying tables, probably fixes other scenarios

18 years ago- put an aggressive check for "flushing object A with a collection
Mike Bayer [Mon, 5 Mar 2007 05:12:09 +0000 (05:12 +0000)] 
- put an aggressive check for "flushing object A with a collection
of B's, but you put a C in the collection" error condition -
**even if C is a subclass of B**, unless B's mapper loads polymorphically.
Otherwise, the collection will later load a "B" which should be a "C"
(since its not polymorphic) which breaks in bi-directional relationships
(i.e. C has its A, but A's backref will lazyload it as a different
instance of type "B") [ticket:500]

18 years agodont continue remote table if warning
Mike Bayer [Sun, 4 Mar 2007 18:09:43 +0000 (18:09 +0000)] 
dont continue remote table if warning

18 years ago"modernized" polymorph test, name change to "test_roundtrip"
Mike Bayer [Sat, 3 Mar 2007 21:25:44 +0000 (21:25 +0000)] 
"modernized" polymorph test, name change to "test_roundtrip"

18 years ago- bindparam() names are now repeatable! specify two
Mike Bayer [Sat, 3 Mar 2007 21:02:26 +0000 (21:02 +0000)] 
- bindparam() names are now repeatable!  specify two
distinct bindparam()s with the same name in a single statement,
and the key will be shared.  proper positional/named args translate
at compile time.  for the old behavior of "aliasing" bind parameters
with conflicting names, specify "unique=True" - this option is
still used internally for all the auto-genererated (value-based)
     bind parameters.

18 years agocleanup; removed "separate foreign key" tests, polymorphic joined-table inheritance...
Mike Bayer [Sat, 3 Mar 2007 20:24:13 +0000 (20:24 +0000)] 
cleanup; removed "separate foreign key" tests, polymorphic joined-table inheritance requires the same pk col name across tables;
added additional polymorphic load assertions

18 years ago- added "fold_equivalents" argument to Join.select(), which removes
Mike Bayer [Fri, 2 Mar 2007 21:22:14 +0000 (21:22 +0000)] 
- added "fold_equivalents" argument to Join.select(), which removes
'duplicate' columns from the resulting column clause that are known to be
equivalent based on the join condition.  this is of great usage when
constructing subqueries of joins which Postgres complains about if
duplicate column names are present.
- added support to polymorphic stuff for more than one "equivalent column",
when trying to target columns in the polymorphic union; this applies
to multi-leveled inheritance
- put above-two concepts together to get the abc_inheritance tests to work
with postgres

18 years ago- use_labels flag on select() wont auto-create labels for literal text
Mike Bayer [Thu, 1 Mar 2007 20:14:17 +0000 (20:14 +0000)] 
- use_labels flag on select() wont auto-create labels for literal text
column elements, since we can make no assumptions about the text. to
create labels for literal columns, you can say "somecol AS somelabel",
or use literal_column("somecol").label("somelabel")
- quoting wont occur for literal columns when they are "proxied" into the
column collection for their selectable (is_literal flag is propigated)

18 years agoadded a unit test for nested session transactions
Mike Bayer [Wed, 28 Feb 2007 21:42:54 +0000 (21:42 +0000)] 
added a unit test for nested session transactions

18 years agoa generating testcase that tests a three-level inheritance chain (A->B->C) and all...
Mike Bayer [Wed, 28 Feb 2007 03:35:32 +0000 (03:35 +0000)] 
a generating testcase that tests a three-level inheritance chain (A->B->C) and all one-to-many and many-to-one relationships between
all distinct A,B,C.  still needs support for foreign key to parent table not the same col as the pk col

18 years agothis test works with both one to many and many to one, but i think its intended to...
Mike Bayer [Wed, 28 Feb 2007 01:25:52 +0000 (01:25 +0000)] 
this test works with both one to many and many to one, but i think its intended to be one-to-many

18 years ago- fixed function execution with explicit connections, when you dont
Mike Bayer [Tue, 27 Feb 2007 19:04:43 +0000 (19:04 +0000)] 
- fixed function execution with explicit connections, when you dont
explicitly say "select()" off the function, i.e.
conn.execute(func.dosomething())

18 years agomigrated (most) docstrings to pep-257 format, docstring generator using straight...
Mike Bayer [Sun, 25 Feb 2007 22:44:52 +0000 (22:44 +0000)] 
migrated (most) docstrings to pep-257 format, docstring generator using straight <pre> + trim() func
for now.  applies most of [ticket:214], compliemnts of Lele Gaifax

18 years ago- more fixes to polymorphic relations, involving proper lazy-clause
Mike Bayer [Sun, 25 Feb 2007 01:27:15 +0000 (01:27 +0000)] 
- more fixes to polymorphic relations, involving proper lazy-clause
generation on many-to-one relationships to polymorphic mappers
[ticket:493]

18 years agofix typo
Mike Bayer [Sun, 25 Feb 2007 01:24:33 +0000 (01:24 +0000)] 
fix typo

18 years ago- added "refresh-expire" cascade [ticket:492]
Mike Bayer [Sat, 24 Feb 2007 21:58:38 +0000 (21:58 +0000)] 
- added "refresh-expire" cascade [ticket:492]