From f803cbc63d3d699a5ae275050fc238fe76814b7a Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Wed, 21 Feb 2007 21:34:40 +0000 Subject: [PATCH] formatting/cleanup --- CHANGES | 192 ++++++++++++++++++++++++++++++-------------------------- 1 file changed, 102 insertions(+), 90 deletions(-) diff --git a/CHANGES b/CHANGES index 955b780883..e7b2fb964e 100644 --- a/CHANGES +++ b/CHANGES @@ -1,99 +1,111 @@ 0.3.5 - sql: - - the value of "case_sensitive" defaults to True now, regardless of the casing - of the identifier, unless specifically set to False. this is because the - object might be label'ed as something else which does contain mixed case, and - propigating "case_sensitive=False" breaks that. Other fixes to quoting - when using labels and "fake" column objects - - added a "supports_execution()" method to ClauseElement, so that individual - kinds of clauses can express if they are appropriate for executing...such as, - you can execute a "select", but not a "Table" or a "Join". - - fixed argument passing to straight textual execute() on engine, connection. - can handle *args or a list instance for positional, **kwargs or a dict instance - for named args, or a list of list or dicts to invoke executemany() - - small fix to BoundMetaData to accept unicode or string URLs - - fixed named PrimaryKeyConstraint generation [ticket:466] courtesy andrija at gmail - - fixed generation of CHECK constraints on columns [ticket:464] - - fixes to tometadata() operation to propigate Constraints at column and table level -- orm: - - another refactoring to relationship calculation. Allows more accurate ORM behavior - with relationships from/to/between mappers, particularly polymorphic mappers, - also their usage with Query, SelectResults. - tickets include [ticket:439], [ticket:441], [ticket:448]. - - implemented foreign_keys argument to mapper [ticket:385]. use in conjunction with - primaryjoin/secondaryjoin arguments to specify/override foreign keys defined on the - Table instance. - - extension() query option propigates to Mapper._instance() method so that - all loading-related methods get called [ticket:454] - - eager relation to an inheriting mapper wont fail if no rows returned for - the relationship. - - eager relation loading bug fixed for eager relation on multiple - descendant classes [ticket:486] - - fix for very large topological sorts, courtesy ants.aasma at gmail [ticket:423] - - eager loading is slightly more strict about detecting "self-referential" - relationships, specifically between polymorphic mappers. - - improved support for complex queries embedded into "where" criterion - for query.select() [ticket:449] - - contains_eager('foo') automatically implies eagerload('foo') - - added "alias" argument to contains_eager(). use it to specify the string name - or Alias instance of an alias used in the query for the eagerly loaded child items. - easier to use than "decorator" - - added "contains_alias()" option for result set mapping to an alias of the mapped table - - mapper options like eagerload(), lazyload(), deferred(), will work for "synonym()" - relationships [ticket:485] - - fixed bug where cascade operations incorrectly included deleted collection - items in the cascade [ticket:445] - - fixed relationship deletion error when one-to-many child item is moved to a new - parent in a single unit of work [ticket:478] - - fixed relationship deletion error where parent/child with a single column as PK/FK - on the child would raise a "blank out the primary key" error, if manually deleted - or "delete" cascade without "delete-orphan" was used - - fix to deferred so that load operation doesnt mistakenly occur when only - PK col attributes are set - - added support for py2.5 "with" statement with SessionTransaction [ticket:468] + - the value of "case_sensitive" defaults to True now, regardless of the + casing of the identifier, unless specifically set to False. this is + because the object might be label'ed as something else which does + contain mixed case, and propigating "case_sensitive=False" breaks that. + Other fixes to quoting when using labels and "fake" column objects + - added a "supports_execution()" method to ClauseElement, so that + individual kinds of clauses can express if they are appropriate for + executing...such as, you can execute a "select", but not a "Table" or a + "Join". + - fixed argument passing to straight textual execute() on engine, + connection. can handle *args or a list instance for positional, **kwargs + or a dict instance for named args, or a list of list or dicts to invoke + executemany() + - small fix to BoundMetaData to accept unicode or string URLs + - fixed named PrimaryKeyConstraint generation [ticket:466] courtesy + andrija at gmail + - fixed generation of CHECK constraints on columns [ticket:464] + - fixes to tometadata() operation to propigate Constraints at column and + table level - oracle: - - when returning "rowid" as the ORDER BY column or in use with ROW_NUMBER OVER, - oracle dialect checks the selectable its being applied to and will switch to - table PK if not applicable, i.e. for a UNION. checking for DISTINCT, GROUP BY - (other places that rowid is invalid) still a TODO. allows polymorphic mappings - to function, [ticket:436] - - sequences on a non-pk column will properly fire off on INSERT - - added PrefetchingResultProxy support to pre-fetch LOB columns when they are - known to be present, fixes [ticket:435] - - implemented reflection of tables based on synonyms, including across dblinks - [ticket:379] - - issues a log warning when a related table cant be reflected due to certain - permission errors [ticket:363] + - when returning "rowid" as the ORDER BY column or in use with ROW_NUMBER + OVER, oracle dialect checks the selectable its being applied to and will + switch to table PK if not applicable, i.e. for a UNION. checking for + DISTINCT, GROUP BY (other places that rowid is invalid) still a TODO. + allows polymorphic mappings to function, [ticket:436] + - sequences on a non-pk column will properly fire off on INSERT + - added PrefetchingResultProxy support to pre-fetch LOB columns when they + are known to be present, fixes [ticket:435] + - implemented reflection of tables based on synonyms, including across + dblinks [ticket:379] + - issues a log warning when a related table cant be reflected due to + certain permission errors [ticket:363] - mysql: - - fix to reflection on older DB's that might return array() type for - "show variables like" statements -- postgres: - - better reflection of sequences for alternate-schema Tables [ticket:442] - - sequences on a non-pk column will properly fire off on INSERT - - added PGInterval type [ticket:460], PGInet type [ticket:444] -- ext: - - added distinct() method to SelectResults. generally should only make a difference - when using count(). - - added options() method to SelectResults, equivalent to query.options() [ticket:472] - - added optional __table_opts__ dictionary to ActiveMapper, will send kw options to - Table objects [ticket:462] + - fix to reflection on older DB's that might return array() type for + "show variables like" statements + - postgres: + - better reflection of sequences for alternate-schema Tables [ticket:442] + - sequences on a non-pk column will properly fire off on INSERT + - added PGInterval type [ticket:460], PGInet type [ticket:444] - mssql: - - preliminary support for pyodbc (Yay!) [ticket:419] - - better support for NVARCHAR types added [ticket:298] - - fix for commit logic on pymssql - - fix for query.get() with schema [ticket:456] - - fix for non-integer relationships [ticket:473] - - DB-API module now selectable at run-time [ticket:419] - - now passes many more unit tests [tickets:422, 481, 415] - - better unittest compatibility with ANSI functions [ticket:479] - - improved support for implicit sequence PK columns with auto-insert [ticket:415] - - fix for blank password in adodbapi [ticket:371] - - fixes to get unit tests working with pyodbc [ticket:481] - - fix to auto_identity_insert on db-url query - - added query_timeout to db-url query parms. currently works only for pymssql - - tested with pymssql 0.8.0 (which is now LGPL) + - preliminary support for pyodbc (Yay!) [ticket:419] + - better support for NVARCHAR types added [ticket:298] + - fix for commit logic on pymssql + - fix for query.get() with schema [ticket:456] + - fix for non-integer relationships [ticket:473] + - DB-API module now selectable at run-time [ticket:419] + - now passes many more unit tests [tickets:422, 481, 415] + - better unittest compatibility with ANSI functions [ticket:479] + - improved support for implicit sequence PK columns with auto-insert + [ticket:415] + - fix for blank password in adodbapi [ticket:371] + - fixes to get unit tests working with pyodbc [ticket:481] + - fix to auto_identity_insert on db-url query + - added query_timeout to db-url query parms. currently works only for + pymssql + - tested with pymssql 0.8.0 (which is now LGPL) +- orm bugs: + - another refactoring to relationship calculation. Allows more accurate + ORM behavior with relationships from/to/between mappers, particularly + polymorphic mappers, also their usage with Query, SelectResults. tickets + include [ticket:439], [ticket:441], [ticket:448]. + - extension() query option propigates to Mapper._instance() method so that + all loading-related methods get called [ticket:454] + - eager relation to an inheriting mapper wont fail if no rows returned for + the relationship. + - eager relation loading bug fixed for eager relation on multiple + descendant classes [ticket:486] + - fix for very large topological sorts, courtesy ants.aasma at gmail + [ticket:423] + - eager loading is slightly more strict about detecting "self-referential" + relationships, specifically between polymorphic mappers. this results in + an "eager degrade" to lazy loading. + - improved support for complex queries embedded into "where" criterion for + query.select() [ticket:449] + - mapper options like eagerload(), lazyload(), deferred(), will work for + "synonym()" relationships [ticket:485] + - fixed bug where cascade operations incorrectly included deleted + collection items in the cascade [ticket:445] + - fixed relationship deletion error when one-to-many child item is moved + to a new parent in a single unit of work [ticket:478] + - fixed relationship deletion error where parent/child with a single + column as PK/FK on the child would raise a "blank out the primary key" + error, if manually deleted or "delete" cascade without "delete-orphan" + was used + - fix to deferred so that load operation doesnt mistakenly occur when only + PK col attributes are set +- orm enhancements: + - implemented foreign_keys argument to mapper [ticket:385]. use in + conjunction with primaryjoin/secondaryjoin arguments to specify/override + foreign keys defined on the Table instance. + - contains_eager('foo') automatically implies eagerload('foo') + - added "alias" argument to contains_eager(). use it to specify the string + name or Alias instance of an alias used in the query for the eagerly + loaded child items. easier to use than "decorator" + - added "contains_alias()" option for result set mapping to an alias of + the mapped table + - added support for py2.5 "with" statement with SessionTransaction + [ticket:468] +- extensions: + - added distinct() method to SelectResults. generally should only make a + difference when using count(). + - added options() method to SelectResults, equivalent to query.options() + [ticket:472] + - added optional __table_opts__ dictionary to ActiveMapper, will send kw + options to Table objects [ticket:462] - 0.3.4 - general: - global "insure"->"ensure" change. in US english "insure" is actually -- 2.47.2