| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
works. [ticket:1776] Also in 0.6.9
|
|
|
|
|
|
|
| |
up if: column_property() against subquery +
joinedload + LIMIT + order by the column
property() occurred. [ticket:2188].
Also in 0.6.9
|
|
|
|
|
| |
is strictly a system of routing Python operators into functions. Keep the
references available in expression.py for the near future.
|
| |
|
|
|
|
|
| |
a consistent tag
- AUTHORS file
|
|
|
|
|
| |
It's implemented as an extension to the asc() and desc() operators, called
nullsfirst() and nullslast(). [ticket:723]
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
chains of a single non-associative operator.
I.e. "x - (y - z)" will compile as "x - (y - z)"
and not "x - y - z". Also works with labels,
i.e. "x - (y - z).label('foo')"
[ticket:1984]
- Single element tuple expressions inside an IN clause
parenthesize correctly, also from [ticket:1984],
added tests for PG
- re-fix again importlater, [ticket:1983]
|
|/
|
|
| |
- raise TypeError for immutability
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
- 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
|
| |
|
|
|
|
| |
(sets.Set-based collections & DB-API returns still work.)
|
|
|
|
| |
on PostgreSQL, SQLite, MySQL, MS-SQL, and Oracle backends.
|
|
|
|
| |
0.4 development continues at /sqlalchemy/branches/rel_0_4
|
| |
|
| |
|
|
|
|
|
|
| |
"escape=<somestring>", which is set as the escape character
using the syntax "x LIKE y ESCAPE '<somestring>'"
[ticket:993]
|
|
|
|
| |
object inspection and debugging
|
| |
|
|
|
|
| |
User.name.op('ilike')('%somename%') [ticket:767]
|
|
|
|
| |
- Added test coverage for endswith operator
|
| |
|
| |
|
|
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
|