rel_0_4

View source
rel_0_4
  • Contributors
    1. Loading...
Author Commit Message Date Builds
250+ commits behind master.
Michael Bayer
- Fixed SQLite reflection methods so that non-present cursor.description, which triggers an auto-cursor close, will be detected so that no results doesn't fail on recent versions of pysqlite which raise an error when fetchone() called with no rows present.
Michael Bayer
getstate fix
Michael Bayer
- The per-dialect cache used by TypeEngine to cache dialect-specific types is now a WeakKeyDictionary. This to prevent dialect objects from being referenced forever for an application that creates an arbitrarily large number of engines or dialects. There is a small performance penalty which will be resolved in 0.6. [ticket:1299]
Michael Bayer
- Fixed bug which was preventing out params of certain types from being received; thanks a ton to huddlej at wwu.edu ! [ticket:1265]
Michael Bayer
- Fixed shard_id argument on ShardedSession.execute(). [ticket:1072]
Michael Bayer
- Class-bound accessor can be used as the argument to relation() order_by. [ticket:939]
Michael Bayer
unit tests in 0.5 revealed the proper way to do this
Michael Bayer
- Added ScopedSession.is_active accessor. [ticket:976]
Michael Bayer
- NullPool supports reconnect on failure behavior. [ticket:1094]
Michael Bayer
- postgres - Added Index reflection support to Postgres, using a great patch we long neglected, submitted by Ken Kuhlman. [ticket:714]
Michael Bayer
- mysql - Fixed bug in exception raise when FK columns not present during reflection. [ticket:1241]
jek
Don't snarf Query docstrings [ticket:1026]
Michael Bayer
- Connection.invalidate() checks for closed status to avoid attribute errors. [ticket:1246]
Michael Trier
Handle the mssql port properly. If we're using the SQL Server driver then use the correct host,port syntax, otherwise use the Port= parameter in the connection string. Fixes #1192. Also backports support to handle custom connection string arguments.
Michael Trier
Fixed up misspelling of propagate throughout.
Michael Bayer
- Fixed bug in composite types which prevented a primary-key composite type from being mutated [ticket:1213].
Michael Bayer
- Fixed RLock-related bug in mapper which could deadlock upon reentrant mapper compile() calls, something that occurs when using declarative constructs inside of ForeignKey objects. Ported from 0.5.
Michael Bayer
- Fixed 0.4-only bug preventing composite columns from working properly with inheriting mappers [ticket:1199]
Michael Bayer
- polymorphic_union() function respects the "key" of each Column if they differ from the column's name.
Michael Bayer
- String's (and Unicode's, UnicodeText's, etc.) convert_unicode logic disabled in the sqlite dialect, to adjust for pysqlite 2.5.0's new requirement that only Python unicode objects are accepted; http://itsystementwicklung.de/pipermail/list-pysqlite/2008-March/000018.html
Michael Trier
Corrected incorrect module name. Fixes #1137.
Michael Bayer
remove unused and conflicting "c" format specifier
Michael Bayer
- Supplied a custom strftime() function which handles dates before 1900. [ticket:968] - removed a few bogus classes from util
Michael Bayer
- Added label() method to InstrumentedAttribute to establish forwards compatibility with 0.5.
Michael Bayer
- column.in_(someselect) can now be used as a columns-clause expression without the subquery bleeding into the FROM clause [ticket:1074]
Michael Bayer
added gc.collect() for pypy/jython compat, [ticket:1076]
Michael Bayer
- Changes made to new, dirty and deleted collections in SessionExtension.before_flush() will take effect for that flush.
Michael Bayer
- added BFILE to the list of reflected types [ticket:1121]
Michael Bayer
has_sequence() now takes the current "schema" argument into account [ticket:1155]
Michael Bayer
- Added MSMediumInteger type [ticket:1146].
Michael Bayer
using contextual_connect() so that pool_threadlocal setting has significance
Michael Bayer
added a "live" test of recycle to further ensure #1133 is not valid
Michael Bayer
- Fixed bug regarding inherit_condition passed with "A=B" versus "B=A" leading to errors [ticket:1039]
Jonathan Ellis
convert @decorators to old-style function calls for python 2.3's benefit
Michael Bayer
- bump to 0.4.8 - removed unnecessary mini-py2.3 test suite
Michael Bayer
- added an extremely rudimental set of python 2.3 compatible tests. these can at least confirm that we're even on the grid python 2.3-wise. - fixed usage of native set(), generator expressions - will release 0.4.7p1
Michael Bayer
- Added "add()" and "add_all()" to scoped_session methods. Workaround for 0.4.7: from sqlalchemy.orm.scoping import ScopedSession,\ instrument setattr( ScopedSession, "add", instrument("add")) setattr( ScopedSession, "add_all", instrument("add_all"))
Michael Bayer
- added add() and add_all() methods to Session, establishing forwards compatibility with 0.5.
Michael Bayer
- Class-bound attributes sent as arguments to relation()'s remote_side and foreign_keys parameters are now accepted, allowing them to be used with declarative (and therefore self-referential many-to-one relations); merged from 0.5.
Michael Bayer
fixup for test cases with mysql
Michael Bayer
- A critical fix to dynamic relations allows the "modified" history to be properly cleared after a flush() (backported from 0.5).
Michael Bayer
- Added a new SessionExtension hook called after_attach(). This is called at the point of attachment for objects via save(), update(), delete(), and merge() (backported from 0.5).
Michael Bayer
merged select([literal('foo')]) fix from trunk r4933
Michael Bayer
- Removed erroneous 'self' reference when raising UnmappedColumnError during flush() operation.
Michael Trier
Reverted CHANGES change. Not necessary for this type of fix.
Michael Trier
Added notation about MSSmallDate fix into CHANGES.
Michael Trier
Fixed messed up __init__ in MSSmallDate. Fixes #1040. (cherry picked from commit b1e3c1923d9f0f56b5640f7a11f423cadf30a190)
Michael Bayer
- Merged 0.5's declarative behavior such that all Column and MapperProperty objects keep a state variable indicating their creation order, which declarative_base() maintains when generating Table constructs.
Michael Trier
Added PGCidr type to postgres. Closes #1092
Michael Bayer
- add SLFloat type, which matches the SQLite REAL type affinity. Previously, only SLNumeric was provided which fulfills NUMERIC affinity, but that's not the same as REAL.
Michael Bayer
- applied the "reverse" of r4877 from trunk; correct microsecond behavior is available in 0.4 if you turn off "__legacy_microseconds__" [ticket:1090]
Michael Bayer
- The index name generated when you say "index=True" on a Column is truncated to the length appropriate for the dialect. Additionally, an Index with a too- long name cannot be explicitly dropped with Index.drop(), similar to [ticket:571]. [ticket:820]
Michael Bayer
- create_all(), drop_all(), create(), drop() all raise an error if the table name or schema name contains more characters than that dialect's configured character limit. Some DB's can handle too-long table names during usage, and SQLA can handle this as well. But various reflection/ checkfirst-during-create scenarios fail since we are looking for the name within the DB's catalog tables. [ticket:571]
Michael Bayer
merged r4861, session.is_active, from trunk
Michael Bayer
merged PG test from r4859
Michael Bayer
- Repaired server_side_cursors to properly detect text() clauses.
Michael Bayer
added sequence for oracle support
Michael Bayer
- the enable_typechecks=False setting on relation() now only allows subtypes with inheriting mappers. Totally unrelated types, or subtypes not set up with mapper inheritance against the target mapper are still not allowed.
Michael Bayer
added some docstrings and some deprecations
Michael Bayer
- Query.count() will take single-table inheritance subtypes into account the same way row-based results do. (ticket:1008]. partial merge of 0.5's r4831.)
Michael Bayer
- fixed bug preventing merge() from functioning in conjunction with a comparable_property()
Michael Bayer
- The contains() operator when used with many-to-many will alias() the secondary (association) table so that multiple contains() calls will not conflict with each other [ticket:1058]
Michael Bayer
- Cursors now have "arraysize" set to 50 by default on them, the value of which is configurable using the "arraysize" argument to create_engine() with the Oracle dialect. This to account for cx_oracle's default setting of "1", which has the effect of many round trips being sent to Oracle. This actually works well in conjunction with BLOB/CLOB-bound cursors, of which there are any number available but only for the life of that row request (so Buffere…
Michael Bayer
- Added 'CALL' to the list of SQL keywords which return result rows.
Michael Bayer
merged r4813 from trunk, oracle schema name fix for [ticket:709]
Michael Bayer
get_default_identifier() normalizes the returned name so that it may by used as the "schema" argument on a Table. Fixes the reflection unit test that requires this.
Michael Bayer
- repaired single table inheritance such that you can single-table inherit from a joined-table inherting mapper without issue [ticket:1036].
Gaëtan de Menten
same as r4710: add target_fullname as a public property for _get_colspec
Michael Bayer
back-merged current 0.4 trunk into rel_0_4 branch, which will become the 0.4 maintenance branch
Ants Aasma
added an example on how to share code between sql predicate construction and instance methods.
Michael Bayer
took out extra exception catch/raise SQLError in places where it would already be SQLError
Michael Bayer
fixed bad import
Michael Bayer
- all oracle testtypes pass in this rev
Michael Bayer
- removed problematic generate_dbapi_typemap() method. its hardcoded just for oracle so far (which needs it the most).
Michael Bayer
temporarily disabling genrated type_map which breaks all the othe rdialects
Michael Bayer
- very rudimental support for OUT parameters added; use sql.outparam(name, type) to set up an OUT parameter, just like bindparam(); after execution, values are avaiable via result.out_parameters dictionary. [ticket:507] - dialect.get_type_map() apparently never worked, not sure why unit test seemed to work the first time around. - OracleText doesn't seem to return cx_oracle.LOB.
jek
Um... "ImportError: No module named profile; please install the python-profiler package"
Michael Bayer
- Compiled is just an object now. the ClauseVisitor portion is now specific to ANSICompiler.
Michael Bayer
- fixed clause_element/expression_element change from preivous checkin - starting to add "out" params for oracle - implemented partial check for "rejoin on conflicting paths" for [ticket:687]
Richard Morrison
mssql and test changes from trunk
Michael Bayer
added addresses table delete
Michael Bayer
- added array slice support to row[<index>] [ticket:686]
Michael Bayer
- fix to oracle table aliasing - added select.prefix_with(), adds arbitrary prefixes to a SELECT's columns clause, [ticket:504]
Michael Bayer
- changed 'desired_columns' argument to 'include_columns' - made 'include_columns' an explicit argument to Table. I'm trying to avoid the "x can be a foo, or a bar, or a list of dictionaries of hoho's"-type behavior - added unit test, closes [ticket:561]
Michael Bayer
- ANSICompiler now uses its own traversal when compiling, returning a composed string from each visit_XXXX method, so that the full string is compiled at once without using any dictionary storage. dialects modified accordingly. tested on mysql/sqlite/postgres fully, tested with string-only tests for oracle/fb/informix/mssql so far.
Jonathan Ellis
"You can also specify a list or set of column names to autoload, if you only want to load a subset of the columns in the actual database." fixes #561
Ants Aasma
fix up a docstring and some examples
Michael Bayer
- removed the ridiculous AbstractDialect do-nothing class - fixup to docstrings
Jonathan Ellis
typo fix (unbreak test suite)
jek
Really finish proxied list methods. Either these last couple (count, remove, setitem w/ slice) weren't possible in 0.3 and/or I spaced these. Improved messaging on flubbed stepped slice assignment in collection decorators.
Jonathan Ellis
add checks for well-formed ColumnProperty. fixes #683
Jonathan Ellis
add __repr__ for engine, metadata, sqlsoup
Jonathan Ellis
use sha instead of crypt to decrease suckage for windows users. also crypt kinda blows anyway
Michael Bayer
- added unittest for sharding module - fixed shard test/example datatype to "Float" since Numeric behavior has changed - added docstrings to sqlalchemy/orm/__init__.py functions; still need to proof within generated HTML pages/fix errors - added engine.threadlocal to docs, removed old mods.threadlocal
Michael Bayer
test graceful fallback to lazy loading for cyclical eager load with no join_depth
Michael Bayer
- added has(), like any() but for scalars - added **kwargs to has() and any(), criterion is optional; generate equality criterion against the related table (since we know the related property when has() and any() are used), i.e. filter(Address.user.has(name='jack')) equivalent to filter(Address.user.has(User.name=='jack')) - added "from_joinpoint=False" arg to join()/outerjoin(). yes, I know join() is getting a little crazy, but this fla…
Michael Bayer
renamed new scalar() method to as_scalar(), not deprecating normal ClauseElement.scalar()...
Michael Bayer
restored Float's full constructor to play better with overriding types, i.e. mysql.MSFloat
Michael Bayer
- deprecated scalar=True argument on select(). its replaced by select().scalar() which returns a _ScalarSelect object, that obeys the ColumnElement interface fully - removed _selectable() method. replaced with __selectable__() as an optional duck-typer; subclassing Selectable (without any __selectable__()) is equivalent - query._col_aggregate() was assuming bound metadata. ick ! - probably should deprecate ClauseElement.scalar(), in favor of ClauseElemen…
Michael Bayer
- Numeric and Float types now have an "asdecimal" flag; defaults to True for Numeric, False for Float. when True, values are returned as decimal.Decimal objects; when False, values are returned as float(). the defaults of True/False are already the behavior for PG and MySQL's DBAPI modules. [ticket:646]
Michael Bayer
- ColumnCollection (i.e. the 'c' attribute on tables) follows dictionary semantics for "__contains__" [ticket:606]
Michael Bayer
- a rudimental sharding (horizontal scaling) system is introduced. This system uses a modified Session which can distribute read and write operations among multiple databases, based on user-defined functions defining the "sharding strategy". Instances and their dependents can be distributed and queried among multiple databases based on attribute values, round-robin approaches or any other user-defined system. [ticket:618]
Michael Bayer
deprecated extra arguments on instances()
Michael Bayer
removed methods instance_key(), identity_key(), identity()
Michael Bayer
- joined-table inheritance will now generate the primary key columns of all inherited classes against the root table of the join only. This implies that each row in the root table is distinct to a single instance. If for some rare reason this is not desireable, explicit primary_key settings on individual mappers will override it. - When "polymorphic" flags are used with joined-table or single-table inheritance, all identity keys are generated against the root class of the inheritance hierarchy; this allows query.get() to work polymorphically using the same caching semantics as a non-polymorphic get. note that this currently does not work with concrete inheritance.
jek
Oops, --log-{info,debug}= args need to accept values...
Michael Bayer
patched fix for [ticket:677], thanks !
Michael Bayer
ColumnDefault functions pass ExecutionContext to callables which accept a single argument; refactored workings of defaults so that they share the same execution context.
jek
_ConnectionRecord gains a .properties collection, with contents scoped to the lifetime of the underlying DBAPI connection. Accessors on Connections and fairies.
Michael Bayer
corrected literals_as_binds to recognize sql.Operators objects for [ticket:675]
jek
Rearrange profiling a bit
Michael Bayer
- refinement of connection.execute() , parameter processing behavior - Connection's dealings with params are simplified; generation of ClauseParameters pushed into DefaultDialect. - simplified ClauseParameters. - this is to make room for execute_raw() but I haven't decided how that should look yet.
jek
Finished up the workflow in ormsession test
jek
Refactored test support code, moved most into 'testlib/' Cleaned up imports, all tests should be runnable stand-alone or suite now Updated most of the perf tests Removed dead test suites Added new profiling decorator Added new profilable perf test, 'ormsession' to try to capture a typical workload
Michael Bayer
added some of the newer query styles to some inheritance tests. more inheritance + new query stuff needs to be tested
Michael Bayer
fixed up testbase coverage to get module-level stuff fixed activemapper tests
jek
dead
Michael Bayer
removed small cruftlet
Michael Bayer
- fix to _CalculatedClause._copy_internals() behavior so that ClauseAdapter works with _Function objects better - factored AliasedClauses out of EagerLoader into its own unit; Query makes heavy use of it for joins - added support to Query for full interaction between aliased and nonalised joins with appended entities, columns, and externally-mapped columns
jek
Consigned to history.
Michael Bayer
- got self-referential query.join()/query.outerjoin() to work. - PropertyLoader adds local_side set which is the opposite of remote_side, makes the self-referential aliasing a snap. - added "id" argument to join()/outerjoin() to allow access to the aliased joins in add_entity(). - added "alias" argument to add_entity() to get at entities selected from an explicit Alias - starting to move EagerLoader.AliasedClasues to a general utility function which will be u…
Michael Bayer
filter_by([joinpath], ...) is gone. join([path], aliased=True) replaces it, all subsequent filter() criterion is converted against that alias; represents a much more flexible and consistent solution. needs some tweaks and can then work with self-referential loading too.
jek
Queries now __str__ as their statement
jek
make this test runnable stand-alone
Michael Bayer
- merged bind unittest fix from r2999 REV 3000 !!! WOO HOO !
Michael Bayer
- added query.populate_existing().. - marks the query to reload all attributes and collections of all instances touched in the query, including eagerly-loaded entities [ticket:660] - added eagerload_all(), allows eagerload_all('x.y.z') to specify eager loading of all properties in the given path
Michael Bayer
merged most recent overflow mutex tweak
Michael Bayer
dont clobber existing methodnames, [ticket:596]
Michael Bayer
implemented Class.any(criterion)
Michael Bayer
changed assignmapper API per [ticket:636]
Michael Bayer
merged pool fix from [changeset:2989] and timeout fix from [changeset:2990]
Michael Bayer
- Eager loading now functions at any arbitrary depth along self-referential and cyclical structures. When loading cyclical structures, specify "join_depth" on relation() indicating how many times you'd like the table to join to itself; each level gets a distinct table alias. - adds a stack to the Mapper->eagerloader->Mapper process which is the single point of tracking the various AliasedClause objects both at query compile time as well as result fetching time. self-ref…
jek
Remove unused imports, typo and light formatting tweaks. Fixed comparison of _UnaryExpressions
jek
Remove mysql enum out of range test, not really needed and seems WAY too dependent on server version
Michael Bayer
small fix to detect a "scalar" query when constructing columns clauses
Michael Bayer
- changed set used to generate FROM list to an ordered set; may fix [ticket:669] - improvements to select generative capability, ClauseAdapter - one select test is failing, but not from this checkin
jek
Better quoting of identifiers when manipulating schemas.
Michael Bayer
added info on DB types
Michael Bayer
docstrings
Michael Bayer
removed ancient group_parenthesized() method, its purpose handled by _Grouping now
Michael Bayer
fixed LIKE/BEWTEEN operators
Michael Bayer
removed print statement...this is the year i start using a debugger
Michael Bayer
- all "type" keyword arguments, such as those to bindparam(), column(), Column(), and func.<something>(), renamed to "type_". those objects still name their "type" attribute as "type". - new SQL operator implementation which removes all hardcoded operators from expression structures and moves them into compilation; allows greater flexibility of operator compilation; for example, "+" compiles to "||" when used in a string context, or "concat(a,b)" on MySQL…
jek
Target testcreate schema test better.
jek
Clarity fix for assocproxy example code
jek
.pop() on association proxies is no longer problematic with 0.4 collections.
Michael Bayer
- unittest cleanup: after removal of threadlocal mod + changes to session calling signature, got sqlite, postgres, mysql all working again (one unresolved failure for mysql)
Michael Bayer
partial progress on adding prop.compare(), new behavior for prop ==
Michael Bayer
added some aggregate tests
Michael Bayer
- merged fix of PG identifier length from 68 to 63 [ticket:571] - merged r2958, commutativity for _BinaryExpression.compare
Michael Bayer
- put a generic regexp for chopping foreign key specs along the "." [ticket:667]
jek
- Merged r2945, r2946, r2947 from trunk - Cache 'lower_case_table_names' test for the lifetime of a connection - Clean up compat fetch stuff
Michael Bayer
typo
Michael Bayer
- changed the order of args to session.execute(), session.scalar() - removed session.connect(). theres only connection() - implemented twophase flag on session, twophase calls within SessionTransaction, one unit test so far which tests that it succeeds (but doesnt test a failure yet or do any mocking) - rewrote session transaction docs
paj
Properly escape table names when reflecting for mssql and sqlite [ticket:653]
jek
Rewrote association proxy documentation to be more accessible and promote the general awesomeness of association proxies.
Michael Bayer
- removed ancient threadlocal/legacy_session mods - Session now has tranasaction API built into it, SessionTransaction not part of the usual API now (but still does the work) - integrated nested transactions/SAVEPOINT with Session transactional system - Session gets "transactional" mode, it always begins a transaction and reopens after commit/rollback - Session gets "autoflush=True" flag, implies "transactional", issues a flush before the executi…
jek
- Adjust has_table for MySQL, workaround multibyte issue on osx
Michael Bayer
another order_by fix
Michael Bayer
- got in_() working, enhanced sql.py treatment of Comparator so comparators can be used in any SQL expression (i.e. order bys, desc(), etc.) - adding various tests for new clause generation
Michael Bayer
- added operator support to class-instrumented attributes. you can now filter() (or whatever) using <classname>.<attributename>==<whatever>. for column based properties, all column operators work (i.e. ==, <, >, like(), in_(), etc.). For relation() and composite column properties, ==<instance>, !=<instance>, and ==<None> are implemented so far. [ticket:643]
Michael Bayer
- moved query._with_parent into prop.compare() calls - built extensible operator framework in sql package, ORM builds on top of it to shuttle python operator objects back down to the individual columns. no relation() comparisons yet. implements half of [ticket:643]
jek
Ignore generated doc build artifacts
jek
Tweak collections doc to fit in with long-lines club.
jek
- Finish collections doc changes started in r2839, expanding coverage in main documentation and docstrings. - Per list discussion, removed backward compat. for dict- and object-derived collection types. This is the safest course of action given the major change in dict iterator behavior. - Minor typos and code cleanups.
Michael Bayer
removed get_str(), get_from_text() from ansicompiler. removes a few hundred method calls
Michael Bayer
regexp searches for negative decimals too
jek
When testing unicode for MySQL, ensure the connection is utf8
Michael Bayer
fix to connection-bound compiled objects
Michael Bayer
fix to SessionTransaction so it holds onto a Connection properly
Michael Bayer
few more tweaks for the aliasing change
Michael Bayer
- converted all anonymous labels and aliases to be generated within the compilation phase. this allows fully "deterministic" label generation. theres a couple of unit test failures that need to be fixed but most are passing. - also some tweaks to unicode result column names; no longer chopping out characters from the names, since the name might be composed of all non-ascii characters. mysql needs some work here since its returning, i think, the unicode's internally-encoded bytes directly within a bytestring. - need to simplify the amount of dictionaries present in ANSICompiler, its pretty hard to follow at this point…
Michael Bayer
removed some remaining "connectable"/"bind_to" keywords
Michael Bayer
completed connectable/bind_to/engine work for [ticket:645]
Michael Bayer
merged trunk r2901-2924
Michael Bayer
- bind test in query.orm - merged ambiguous colname fix from r2915
Michael Bayer
added some text tests
Michael Bayer
- merged trunk r2880-r2901 (slightly manually for 2900-2901) - merges "bind" argument change - merges join fixes for [ticket:185] - removed all "engine"/"connectable"/"bind_to"/"engine_or_url" arguments/attributes
Ants Aasma
context manager support for sql transactions
Ants Aasma
add support for two phase commits, nested subtransactions and savepoints. refactors Transaction class into a hierarchy.
Michael Bayer
added some order_bys to eager relations, which otherwise load with different ordering on PG. we might want to get eager relations on m2m to handle default order-by differently
Michael Bayer
dont log statement + parameters if logging is not enabled
Michael Bayer
added polymorphic associations examples from the trunk
Ants Aasma
Fixed postgres array concatenation
Michael Bayer
merged trunk r2826-2879
Ants Aasma
Added PGArray datatype for using postgres array datatypes
Ants Aasma
missed an override of type engine comparison that is now the same as default, removed it
Ants Aasma
changed type engine default comparison from identity to equality
Michael Bayer
added a unit test to illustrate the equivalent of https://lists.ubuntu.com/mailman/private/storm/2007-July/000037.html
Ants Aasma
make use of the isinstance(obj, (A,B)) idiom, makes the code a bit shorter and more comprehensible (maybe a bit faster too)
jek
Try to only convert :bind params and leave colons in text literals alone
jek
- renamed DynamicMetaData to ThreadLocalMetaData - removed BoundMetaData, use MetaData instead
jek
Fix up extensions in wake of r2852 mapper.props change
Michael Bayer
- the type of a _BooleanExpression should always be Boolean - added a random generative select() to a test (need to add the real tests to either select.py or generative.py)
Michael Bayer
- removed mapper.props, replaced with mapper.get_property()/ mapper.iterate_properties, since these are the only two use cases for the "__props" collection on mapper. does synonym resolution so also fixes [ticket:598]
Michael Bayer
increase code font size
jek
More collections test coverage.
Michael Bayer
- added NullType to export list - any NullType will trigger the "get col type from FK logic", though there are other issues with this logic (requires the FK be initialized) - added INT to sqlite resolution map - adjusted sqlsoup for sql.Select api changes
jek
Add a test for that OrderedDict fix, also add more paranoia in the constructor.
jek
- Add coverage for dict collections, and fixes for dict support. - Default dict appender name now 'set' to be consistent with duck_typing, prefer to remove default appender/remover methods from dict altogether. - Add coverage for MappedCollection and OrderedDict derived dict collections - Add coverage for raw object collections - Fix OrderedDict pop() etc., [ticket:585] - Update orderinglist unit test and remove 'broken until #213' assertion
jek
- Add coverage for set collections, added missing clear() decorator - Try not to be such an idiot when testing lists
jek
- Coverage of list collections, and matching fixes in slice mutation
jek
More byroot_tree cleanups.
jek
- Started moving collection module docs to doc - Added collections.attribute_mapped_collection, an attrgetter variant for mapped_collection - Added collections unit test stub, and fix accompanying bugs
Michael Bayer
- standardized the behavior for table reflection where types can't be located; NullType is substituted instead, warning is raised. - consolidation of imports in some db modules
Michael Bayer
removed ancient "backref" example, updated byroot_tree to not suck so much
Michael Bayer
simplified the loading mechanism. much easier to understand now
Michael Bayer
forgot to add the xml files...
Michael Bayer
moved oracles "auto_convert_lobs" logic into a generic dialect function which attempts to map DBAPI types to TypeEngine instances at result time. This only occurs for statements that have no typemaps (i.e. textual statements).
Michael Bayer
marking some methods as private
Michael Bayer
separated the adjacency list version into the "basic" and the "optimized" version
Michael Bayer
added some path searching
Michael Bayer
fix to test created in [changeset:2621], was corrected in trunk in [changeset:2637]. very weird that it was passing on sqlite/postgres since it was producing a SELECT without a FROM.
Michael Bayer
- implemented ORM-level composite column types [ticket:211]. constructed via composite(cls, *columns), allows multiple columns to be expressed as a single object attribute. can be used for primary key columns also. not yet supported for deferred column loading (but this is straightforward). - formatting to CHANGES - some test suite fixes
Michael Bayer
some better cascades
Michael Bayer
added "elementtree" examples
Michael Bayer
merged, with some modifications, mapped constructor exceptions fix from trunk 2825
Michael Bayer
merged pool tweak from r2823
Michael Bayer
- finished moving all EagerLoader tests from mapper to eager_relations - consolidated other eager tests into assorted_eager - moved assertion objects into fixtures module
Michael Bayer
- merged some tweaks to the pool overflow sync from trunk r2819 - merged vertical.py delete tests from trunk r2820, fixed collection to new style collection
Michael Bayer
merged pickleable schema items from trunk r2817
Michael Bayer
merged postgres domains patch r2814-2815
Michael Bayer
expanded upon query's prefab assertion data
Michael Bayer
migrated most of mapper/EagerTest to updated eager_relations module
Michael Bayer
all of LazyTest moved to updated lazy_relations module
jek
Added another set of assertions for attribute pickling.
jek
Simplifying that pickle workaround.
jek
Working around the pickle memoization quirk in attributes test.
jek
fix --file again
Michael Bayer
copyright page
jek
Bump doc version to 0.4, fix --file gen option
jek
merged r2678 from trunk (merge in r2733 truncated but did not remove)
jek
Unused import.
jek
- OrderedDict shouldn't send None to update, never know who might be watching (breaks use as a collection class) - Update MapperExtension in byroot_tree example, finish updates for new collections.
Michael Bayer
update example to work with new collections class
Michael Bayer
some comparison fixes
jek
- Applied some safe collections optimizations and annotated a few key places for future optimization. As-is, masseagerload shows a speed up and overall function reduction compared to 0.4 pre-collections. - Some minor cleanups in collections + related
jek
- Replaced collection api: The "InstrumentedList" proxy is replaced with a proxy-free, decorator-based approach for user-space instrumentation and a "view" adapter for interaction with the user's collection within the orm. Fixes [ticket:213], [ticket:548], [ticket:563]. - This needs many more unit tests. There is significant indirect coverage through association proxy, but direct tests are needed, specifically in the decorators and add/remove event firing. -…
Ants Aasma
merge from trunk fix for undetected disconnects for mysql (ticket #625), r2793
Ants Aasma
merge 2791 from trunk, fix for bad error message (ticket #607)
Ants Aasma
merge compound select grouping patch from trunk (ticket #623)
Ants Aasma
merge from trunk #624 fix, modulo operator escaping
Ants Aasma
merged between precedence from trunk ([2785])
Michael Bayer
merged operator precedence fixes/tests IN fixes/tests from trunk r2782-r2783
Michael Bayer
docstring cleanup, removal of some ORM cruft
Michael Bayer
moved "clone" conditional blocks into separate copy_internals() method; was a conflation of tasks having them in the same place like that.
Michael Bayer
removed ConnectionProvider. engines have a "pool" attribute now.
Michael Bayer
merged trunk r2755-r2778
Michael Bayer
- fixed limit/offset compilation for postgres
Michael Bayer
- merge of generative_sql branch - copy_container() removed. ClauseVisitor.traverse() now features "clone" flag which allows traversal with copy-and-modify-in-place behavior - select() objects copyable now [ticket:52] [ticket:569] - improved support for custom column_property() attributes which feature correlated subqueries...work better with eager loading now. - accept_visitor() methods removed. ClauseVisitor now genererate…
64 commits not shown.