summaryrefslogtreecommitdiff
path: root/test/sql/generative.py
Commit message (Collapse)AuthorAgeFilesLines
* - unit tests have been migrated from unittest to nose.Mike Bayer2009-06-101-815/+0
| | | | | See README.unittests for information on how to run the tests. [ticket:970]
* - _CalculatedClause is goneMike Bayer2009-01-281-0/+7
| | | | | | | | - Function rolls the various standalone execution functionality of CC into itself, accesses its internal state more directly - collate just uses _BinaryExpression, don't know why it didn't do this already - added new _Case construct, compiles directly - the world is a happier place
* - Query.from_self() as well as query.subquery() both disableMike Bayer2009-01-151-0/+5
| | | | | | | | | | | | | the rendering of eager joins inside the subquery produced. The "disable all eager joins" feature is available publically via a new query.enable_eagerloads() generative. [ticket:1276] - Added a rudimental series of set operations to Query that receive Query objects as arguments, including union(), union_all(), intersect(), except_(), insertsect_all(), except_all(). See the API documentation for Query.union() for examples. - Fixed bug that prevented Query.join() and eagerloads from attaching to a query that selected from a union or aliased union.
* merge the test/ directory from -r5438:5439 of py3k_warnings branch. this givesMike Bayer2008-12-181-0/+4
| | | | us a 2.5-frozen copy of unittest so we're insulated from unittest changes.
* - turn __visit_name__ into an explicit member.Mike Bayer2008-12-111-0/+17
| | | | [ticket:1244]
* - Two fixes to help prevent out-of-band columns fromMike Bayer2008-12-031-0/+26
| | | | | | | | | | | | | | | | | | being rendered in polymorphic_union inheritance scenarios (which then causes extra tables to be rendered in the FROM clause causing cartesian products): - improvements to "column adaption" for a->b->c inheritance situations to better locate columns that are related to one another via multiple levels of indirection, rather than rendering the non-adapted column. - the "polymorphic discriminator" column is only rendered for the actual mapper being queried against. The column won't be "pulled in" from a subclass or superclass mapper since it's not needed.
* - Removed 2.3 set emulations/enhancements.Jason Kirtland2008-07-151-1/+1
| | | | (sets.Set-based collections & DB-API returns still work.)
* - clause adaption hits _raw_columns of a select() (though no ORM tests need ↵Mike Bayer2008-05-121-0/+6
| | | | | | this feature currently) - broke up adapter chaining in eagerload, erroneous "wrapping" in row_decorator. column_property() subqueries are now affected only by the ORMAdapter for that mapper. fixes [ticket:1037], and may possibly impact some of [ticket:949]
* r4695 merged to trunk; trunk now becomes 0.5.Mike Bayer2008-05-091-54/+160
| | | | 0.4 development continues at /sqlalchemy/branches/rel_0_4
* - merged -r4458:4466 of query_columns branchMike Bayer2008-04-071-6/+60
| | | | | | | - this branch changes query.values() to immediately return an iterator, adds a new "aliased" construct which will be the primary method to get at aliased columns when using values() - tentative ORM versions of _join and _outerjoin are not yet public, would like to integrate with Query better (work continues in the branch) - lots of fixes to expressions regarding cloning and correlation. Some apparent ORM bug-workarounds removed. - to fix a recursion issue with anonymous identifiers, bind parameters generated against columns now just use the name of the column instead of the tablename_columnname label (plus the unique integer counter). this way expensive recursive schemes aren't needed for the anon identifier logic. This, as usual, impacted a ton of compiler unit tests which needed a search-n-replace for the new bind names.
* removed AbstractClauseProcessor, merged its copy-and-visit behavior into ↵Mike Bayer2008-03-241-1/+32
| | | | ClauseVisitor
* Added support for vendor-extended INSERT syntax like INSERT DELAYED INTOJason Kirtland2008-03-071-0/+45
|
* - fixed bug which was preventing UNIONS from being cloneable,Mike Bayer2008-03-041-1/+23
| | | | [ticket:986]
* - updated the naming scheme of the base test classes in test/testlib/testing.py;Mike Bayer2008-02-111-4/+4
| | | | | tests extend from either TestBase or ORMTest, using additional mixins for special assertion methods as needed
* - testbase is gone, replaced by testenvJason Kirtland2008-01-121-2/+2
| | | | | | - Importing testenv has no side effects- explicit functions provide similar behavior to the old immediate behavior of testbase - testing.db has the configured db - Fixed up the perf/* scripts
* - Undeclared SAWarnings are now fatal to tests as well.Jason Kirtland2008-01-121-71/+72
| | | | - Fixed typo that was killing runs of individual named tests.
* - more fixes to the LIMIT/OFFSET aliasing applied with Query + eagerloads,Mike Bayer2007-12-161-6/+54
| | | | | | | | 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.
* changed the anonymous numbering scheme to be more appealingMike Bayer2007-12-081-6/+6
| | | | got tests running
* - generation of "unique" bind parameters has been simplified to use the sameMike Bayer2007-12-061-6/+31
| | | | | | | | | | "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'})
* added self referential testMike Bayer2007-11-101-0/+16
|
* - anonymous column expressions are automatically labeled.Mike Bayer2007-11-101-0/+1
| | | | | | | | | | | | | | | | | | | e.g. select([x* 5]) produces "SELECT x * 5 AS anon_1". This allows the labelname to be present in the cursor.description which can then be appropriately matched to result-column processing rules. (we can't reliably use positional tracking for result-column matches since text() expressions may represent multiple columns). - operator overloading is now controlled by TypeEngine objects - the one built-in operator overload so far is String types overloading '+' to be the string concatenation operator. User-defined types can also define their own operator overloading by overriding the adapt_operator(self, op) method. - untyped bind parameters on the right side of a binary expression will be assigned the type of the left side of the operation, to better enable the appropriate bind parameter processing to take effect [ticket:819]
* more changes to traverse-and-clone; a particular element will only be cloned ↵Mike Bayer2007-11-081-3/+20
| | | | | | | | once and is then re-used. the FROM calculation of a Select normalizes the list of hide_froms against all previous incarnations of each FROM clause, using a tag attached from cloned clause to previous.
* - identified some cases where Alias needs to be cloned; but still cant cloneMike Bayer2007-11-081-2/+7
| | | | | | when its an alias of a Table; added some test coverage for one particular case from the doctests - fixed "having" example in doctests, updated eager load example
* - rewritten ClauseAdapter merged from the eager_minus_join branch; this is a ↵Mike Bayer2007-11-031-2/+44
| | | | | | | | much simpler and "correct" version which will copy all elements exactly once, except for those which were replaced with target elements. It also can match a wider variety of target elements including joins and selects on identity alone.
* - fixed expression translation of text() clauses; this repairs variousMike Bayer2007-10-281-1/+16
| | | | ORM scenarios where literal text is used for SQL expressions
* fixed generative behavior to copy collections, [ticket:752]Mike Bayer2007-08-211-0/+47
|
* - omitted 'table' and 'column' from 'from sqlalchemy import *'Jason Kirtland2007-08-211-0/+1
| | | | | | | - also omitted all modules and classes that aren't expicitly public - omitted 'Smallinteger' (small i), but it's still in schema - omitted NullType-related items from types.__all__ - patched up a few tests to use sql.table and sql.column, other related.
* 1. Module layout. sql.py and related move into a package called "sql".Mike Bayer2007-08-181-1/+2
| | | | | | | | | | | | 2. compiler names changed to be less verbose, unused classes removed. 3. Methods on Dialect which return compilers, schema generators, identifier preparers have changed to direct class references, typically on the Dialect class itself or optionally as attributes on an individual Dialect instance if conditional behavior is needed. This takes away the need for Dialect subclasses to know how to instantiate these objects, and also reduces method overhead by one call for each one. 4. as a result of 3., some internal signatures have changed for things like compiler() (now statement_compiler()), preparer(), etc., mostly in that the dialect needs to be passed explicitly as the first argument (since they are just class references now). The compiler() method on Engine and Connection is now also named statement_compiler(), but as before does not take the dialect as an argument. 5. changed _process_row function on RowProxy to be a class reference, cuts out 50K method calls from insertspeed.py
* - generalized a SQLCompileTest out of select.py, installedMike Bayer2007-08-131-18/+17
| | | | | into dialect/mssql.py, dialect/oracle.py, sql/generative.py - fixed oracle issues [ticket:732], [ticket:733], [ticket:734]
* fixed glitch in Select visit traversal, fixes #693Mike Bayer2007-07-271-5/+4
|
* merging 0.4 branch to trunk. see CHANGES for details. 0.3 moves to ↵Mike Bayer2007-07-271-0/+275
maintenance branch in branches/rel_0_3.