| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
of convert_bind_param() and convert_result_value() to callable-returning
bind_processor() and result_processor() methods. if no callable is
returned, no pre/post processing function is called.
- hooks added throughout base/sql/defaults to optimize the calling
of bind param/result processors so that method call overhead is minimized.
special cases added for executemany() scenarios such that unneeded "last row id"
logic doesn't kick in, parameters aren't excessively traversed.
- new performance tests show a combined mass-insert/mass-select test as having 68%
fewer function calls than the same test run against 0.3.
- general performance improvement of result set iteration is around 10-20%.
|
| |
|
|
|
|
|
|
| |
- session.execute() and scalar() can search for a Table with which to bind
from using the given ClauseElement
- session automatically extrapolates tables from mappers with binds,
also uses base_mapper so that inheritance hierarchies bind automatically
- moved ClauseVisitor traversal back to inlined non-recursive
|
| |
|
|
| |
- has_key()->__contains__()
|
| |
|
|
|
|
|
| |
select_stack;
all are merged into a single stack thats all within ansicompiler. clause visiting cut down
significantly.
|
| |
|
|
|
|
|
| |
checking this state added a lot of method call overhead and there was
no decent reason to ever set it to False. Table and column names which are
all lower case will be treated as case-insenstive (yes we adjust for
Oracle's UPPERCASE style too).
|
| | |
|
| |
|
|
|
|
|
|
| |
that anything which is a column expression does not have a "c" or a
"columns" attribute. Also works for select().as_scalar(); _ScalarSelect
is a columnelement, so you can't say select().as_scalar().c.foo, which is
a pretty confusing mistake to make. in the case of _ScalarSelect made
an explicit raise if you try to access 'c'.
|
| |
|
|
| |
- fixes to operator() method signature/calling
|
| | |
|
| |
|
|
|
| |
- added some convenience functions to selects, clauseelements
- fixed distinct()
|
| |
|
|
|
| |
- added some generative methods to exists()
- got clause adapter to work with join()
|
| |
|
|
| |
|xargs perl -pi.bak -e 's/if len\((\S+)\):/if $1:/' && find . -name '*.bak' |xargs rm
|
| |
|
|
| |
the clause gets executed inline during a flush().
|
| | |
|
| |
|
|
|
|
|
|
| |
differences:
* added a deprecation warning
* check if a method with that name already exist in the class
- more foolproof deprecation warning for scalar kwarg
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
maintenance branch in branches/rel_0_3.
|
| | |
|
| |
|
|
|
| |
- _BinaryExpression.compare() checks for a base set of "commutative" operators and checks for itself in reverse if so
- added ORM-based unit test for the above, fixes [ticket:664]
|
| |
|
|
|
|
| |
attribute different than the column's name, including for primary key
columns [ticket:650]
- more docs
|
| |
|
|
|
|
|
| |
columns from a join, equating foreign keys and otherwise equated columns.
this is also mostly to help inheritance scenarios formulate the best
choice of primary key columns. [ticket:185]
- added 'bind' argument to Sequence.create()/drop(), ColumnDefault.execute()
|
| |
|
|
|
|
| |
composite keys consisting of cols with the same name; occurs within a
Join. helps inheritance scenarios formulate correct PK.
- ticket #185 reopened. still need to get Join to produce a minmal PK for fk'ed columns
|
| |
|
|
|
|
|
|
|
| |
"engine_or_url", "bind_to", etc. are all present, but deprecated.
they all get replaced by the single term "bind". you also
set the "bind" of MetaData using
metadata.bind = <engine or connection>. this is part of 0.4
forwards compatibility where "bind" is the only keyword.
[ticket:631]
|
| | |
|
| |
|
|
| |
ultimate source column so that corresponding_column() can find the column that is "closest" (i.e. fewest levels of proxying) to the requested column
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
[ticket:620]
- calling <column>.in_() (i.e. with no arguments) will return
"CASE WHEN (<column> IS NULL) THEN NULL ELSE 0 END = 1)", so that
NULL or False is returned in all cases, rather than throwing an error
[ticket:545]
|
| |
|
|
| |
in addition to regular string - both convert to text()
|
| |
|
|
| |
[ticket:558]
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
would not return selectable.c.col, if the selectable is a join
of a table and another join involving the same table. messed
up ORM decision making [ticket:593]
|
| |
|
|
| |
test this more completely....
|
| | |
|
| | |
|
| |
|
|
| |
broken in [changeset:2620]
|
| |
|
|
| |
restriction [ticket:578]
|
| | |
|
| |
|
|
|
|
|
|
| |
uses operator precedence to more intelligently apply parenthesis
to clauses, provides cleaner nesting of clauses (doesnt mutate
clauses placed in other clauses, i.e. no 'parens' flag)
- added 'modifier' keyword, works like func.<foo> except does not
add parenthesis. e.g. select([modifier.DISTINCT(...)]) etc.
|
| |
|
|
| |
behave more properly with regards to FROM clause #574
|
| |
|
|
|
| |
meaning, if you say someexpr.label('foo') == 5, it produces
the correct "someexpr == 5".
|
| |
|
|
| |
- ClauseVisitor has handy chain() method.
|
| |
|
|
|
|
| |
by BufferedColumnResultProxy)
- the docstrings, they do not end
|
| |
|
|
|
|
|
| |
"column()") to force any column expression to be added as a property
on a mapper, particularly those that aren't present in the mapped
selectable. this allows "scalar expressions" of any kind to be
added as relations (though they have issues with eager loads).
|