| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
ANSICompilers and compile SQL with no engine at all.
|
| |
|
|
|
|
|
| |
clause elements including tables and columns, schema package deals with "physical"
representations
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
this includes:
sql.Alias object keeps track of the immediate thing it aliased as well
as the ultimate non-aliased (usually a Table) object, so that proxied columns can have
a "parent" attribute
some cleanup to SelectBaseMixin.order_by_clause to allow easier access, needs more cleanup
engine has been making two ResultProxies all this time, added "return_raw" quickie flag to
disable that
some cleanup to _get_col_by_original so that it also works for oid columns, new eager load stuff
more aggressively aliaseses orderby's so this was needed
EagerLoader now makes "chains" of unique aliased eager loaders in all cases. no need for
use_alias/selectalias anymore since it aliases every time.
properly detects recursive eager loads and terminates them with a lazyloader, instead of
raising an exception. totally simplified setup() and init() is more straightforward and has
a single codepath now instead of two or three.
|
| |
|
| |
|
|
|
|
|
|
| |
slightly different index syntax for mysql
fixed mysql Time type to convert from a timedelta to time
tweaks to date unit tests for mysql
|
|
|
|
| |
redundant bind parameters...this fix prevents the binds from stepping on each other....
|
|
|
|
| |
post-fetch rows that contain passive defaults
|
|
|
|
|
|
| |
added support for creating PassiveDefault (i.e. regular DEFAULT) on table columns
postgres can reflect default values via information_schema
added unittests for PassiveDefault values getting created, inserted, coming back in result sets
|
|
|
|
|
|
| |
to add a "post table create" string
mysql gets mysql_engine argument
InnoDB set as default in engines test
|
|
|
|
|
|
|
| |
sql: ColumnClause will use the given name when proxying itself (used for the "ora_rn" label)
ansisql: When adding on ORDER_BY, GROUP_BY, etc. clauses, if there is no string for the column list,
then dont add the clause (this allows oracle to strip out the ORDER BY)
Oracle is modifying the select statement, which is not ideal - should fix that
|
|
|
|
|
|
|
|
|
| |
text type also parses :<string> into bind param objects
bind parameters convert their incoming type using engine.type_descriptor() methods
types.adapt_type() adjusted to not do extra work with incoming types, since the bind
param change will cause it to be called a lot more
added tests to new text type stuff, bind params, fixed some type tests
added basic docs for using text with binde params
|
|
|
|
| |
list
|
| |
|
|
|
|
|
|
| |
added dbapi.Binary creation to base BinaryType
fixed MySQL binary type
adjustment to Join._match_primaries to work better with self-referential table
|
|
|
|
| |
determine column defaults externally to it having a 'default' property, beefed up unittests to support inserts with/without defaults (will fix oracle unit tests too)
|
|
|
|
| |
'+' for '||' for a binary clause on a string
|
|
|
|
|
| |
only on a column-type object
engine has settable 'paramstyle' attribute
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
functions:
testfunction has a more complete test (needs an assert tho);
added new labels, synonymous with column key, to "select" statements that are subqueries with use_labels=False, since SQLite wants them -
this also impacts the names of the columns attached to the select object in the case that the key and name dont match, since
it is now the key, not the name;
aliases generate random names if name is None (need some way to make them more predictable to help plan caching);
select statements have a rowid column of None, since there isnt really a "rowid"...at least cant figure out what it would be yet;
mapper creates an alias if given a select to map against, since Postgres wants it;
mapper checks if it has pks for a given table before saving/deleting, skips it otherwise;
mapper will not try to order by rowid if table doesnt have a rowid (since select statements dont have rowids...)
|
|
|
|
|
|
|
|
| |
support for types to be propigated into boolean expressions;
new label() function/method to make any column/literal/function/bind param
into a "foo AS bar" clause, better support in ansisql for this concept;
trying to get column list on a select() object to be Column and ColumnClause
objects equally, working on mappers that map to those select() objects
|
|
|
|
|
|
|
|
|
| |
engine.execute_compiled
testbase gets "assert_sql_count" method, moves execution wrapping to pre_exec to accomodate engine change
move _get_colparams from Insert/Update to ansisql since it applies to compilation
ansisql also insures that select list for columns is unique, helps the mapper with the "distinct" keyword
docstrings/cleanup
|
|
|
|
|
|
| |
extra bind parameters specified
at compilation/execution time
|
|
|
|
| |
added unicodetype to __all__ for types
|
|
|
|
| |
case-sensitive (like in oracle)
|
| |
|
|
|
|
|
|
|
|
| |
SQLEngine, to also allow space for "defaults" that may be constants, python functions, or SQL functions/statements
Sequence schema object extends from a more generic "Default" object
ANSICompiled can convert positinal params back to a dictionary, but the whole issue of parameters and how the engine executes compiled objects with parameters should be revisited
mysql has fixes for its "rowid_column" being hidden else it screws up some query construction, also will not use AUTOINCREMENT unless the column is Integer
|
| |
|
|
|
|
|
|
| |
derived,
also more tweaks to mapper eager query compilation involving distinct etc.
|
|
|
|
|
| |
fixed up order_by to support a list/scalar of columns or asc/desc
fixed up query.py unit test
|
| |
|
|
|
|
|
|
| |
selectable/non-selectable,
docstrings
|
|
|
|
|
|
| |
&|~ boolean operators
added 'literal' keyword
working on column clauses being more flexible
|
| |
|
| |
|
|
|
|
| |
import scheme
|
|
|
|
| |
functions within column lists and criterion lists
|
|
|
|
|
|
| |
properly including
longs
|
| |
|
|
|
|
|
|
| |
create/reflection (postgres, sqlite)
small fix to ORM get with multiple primary keys
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|