| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | |
|
| |
|
|
| |
in the 'sql' tests.
|
| | |
|
| |
|
|
| |
it would be wonky in oracle.
|
| |
|
|
| |
- Some docstring formatting waiting for pg to finish the tests... waiting...
|
| | |
|
| | |
|
| |
|
|
| |
also split apart some tests (aliases) that sapdb has problems with.
|
| |
|
|
|
|
| |
(this fixes all "unsuccessful metadata update\n object XXXXX is in use" test errors)
Minor fixes in tests
|
| |
|
|
|
| |
- added server_version_info() support for PG dialect
- exclude PG versions < 8.4 for RETURNING tests
|
| |
|
|
| |
8.2+. [ticket:797]
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
dictionary of QueryContext is now passed to SelectionContext inside
of Query.instances(), allowing messages to be passed between the two stages.
- removed the recent "exact match" behavior of Alias objects, they're back to
their usual behavior.
- tightened up the relationship between the Query's generation
of "eager load" aliases, and Query.instances() which actually grabs the
eagerly loaded rows. If the aliases were not specifically generated for
that statement by EagerLoader, the EagerLoader will not take effect
when the rows are fetched. This prevents columns from being grabbed accidentally
as being part of an eager load when they were not meant for such, which can happen
with textual SQL as well as some inheritance situations. It's particularly important
since the "anonymous aliasing" of columns uses simple integer counts now to generate
labels.
|
| |
|
|
|
|
|
|
| |
match exactly
to the label used in the generated statement. This is so searching for columns in a
result row which match aliases won't accidentally match non-aliased columns.
fixes errors which can arise in eager loading scenarios.
|
| |
|
|
|
|
|
|
| |
"column_keys". the parameters sent to execute() only interact with the
insert/update statement compilation process in terms of the column names
present but not the values for those columns.
produces more consistent execute/executemany behavior, simplifies things a
bit internally.
|
| |
|
|
|
|
|
| |
- 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.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
edge case
|
| |
|
|
| |
maintenance branch in branches/rel_0_3.
|
| | |
|
| |
|
|
| |
in a result [ticket:657]
|
| |
|
|
|
| |
- Deprecated BoundMetaData- use MetaData instead
- Removed DMD and BMD from documentation
|
| |
|
|
|
|
|
|
| |
- added support for reflection of domains [ticket:570]
- types which are missing during reflection resolve to Null type
instead of raising an error
- moved reflection/types/query unit tests specific to postgres to new
postgres unittest module
|
| | |
|
| |
|
|
| |
someone should test this with oracle, firebird and sql server also
|
| |
|
|
|
|
|
|
| |
[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]
|
| |
|
|
|
|
| |
sized to the primary key constraint of the table. values that were
"passively" created and not available via cursor.lastrowid will be None.
- sqlite: string PK column inserts dont get overwritten with OID [ticket:603]
|
| | |
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
help avoid returning wrong ID when insert triggers are used. Also add unit test (thanks paj)
- mssql: if no db-api module specified, probe in the order [pyodbc, pymssql, adodbapi]
|
| | |
|
| | |
|
| |
|
|
|
| |
WHEN condition as the return type of the case statement
- various unit test tweaks to get oracle working
|
| |
|
|
|
|
|
|
| |
are to work around glitchy SQLite behavior that doesnt understand
"foo.id" as equivalent to "id", are now only generated in the case
that those named columns are selected from (part of [ticket:513])
- MS-SQL better detects when a query is a subquery and knows not to
generate ORDER BY phrases for those [ticket:513]
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- much more functionality moved into ExecutionContext, which impacted
the API used by dialects to some degree
- ResultProxy and subclasses now designed sanely
- merged patch for #522, Unicode subclasses String directly,
MSNVarchar implements for MS-SQL, removed MSUnicode.
- String moves its "VARCHAR"/"TEXT" switchy thing into
"get_search_list()" function, which VARCHAR and CHAR can override
to not return TEXT in any case (didnt do the latter yet)
- implements server side cursors for postgres, unit tests, #514
- includes overhaul of dbapi import strategy #480, all dbapi
importing happens in dialect method "dbapi()", is only called
inside of create_engine() for default and threadlocal strategies.
Dialect subclasses have a datamember "dbapi" referencing the loaded
module which may be None.
- added "mock" engine strategy, doesnt require DBAPI module and
gives you a "Connecition" which just sends all executes to a callable.
can be used to create string output of create_all()/drop_all().
|
| |
|
|
|
|
| |
related commit.
added more tests plus test for column targeting with text() clause.
|
| |
|
|
| |
dbapis [ticket:505]
|
| |
|
|
|
|
|
| |
Fix to null FLOAT fields in mssql-trusted.patch
MSSQL: LIMIT with OFFSET now raises an error
MSSQL: can now specify Windows authorization
MSSQL: ignores seconds on DATE columns (DATE fix, part 1)
|
| |
|
|
|
| |
explicitly say "select()" off the function, i.e.
conn.execute(func.dosomething())
|
| |
|
|
|
| |
get unit tests to work with pyodbc [ticket:481]
fix blank password on adodbapi [ticket:371]
|
| | |
|
| |
|
|
|
|
|
| |
mysql_engine='InnoDB',
mysql_collate="latin1_german2_ci", mysql_auto_increment="5", mysql_<somearg>...),
helps [ticket:418]
|
| |
|
|
| |
its label
|
| |
|
|
|
|
|
|
|
|
|
| |
"redefine=True" kw's from the unit tests
- documented instance variables in ANSICompiler
- fixed [ticket:120], adds "inline_params" set to ANSICompiler which DefaultDialect picks up on when
determining defaults. added unittests to query.py
- additionally fixed up the behavior of the "values" parameter on _Insert/_Update
- more cleanup to sql/Select - more succinct organization of FROM clauses, removed silly _process_from_dict
methods and JoinMarker object
|
| |
|
|
|
|
|
| |
__froms, removed unused 'nowait', '_text', etc)
- cleaned up __repr__ on Column, AbstractTypeEngine
- added standalone intersect(_all), except(_all) functions, unit tests illustrating nesting patterns [ticket:247]
|
| | |
|
| |
|
|
|
|
|
|
| |
behavior should be the same, except now you can also do things like
select(['*'], from_obj=[func.my_function()]) to get multiple
columns from the result, or even use sql.column() constructs to name the
return columns [ticket:172]. generally only postgres understands the
syntax (and possibly oracle).
|
| | |
|
| |
|
|
|
| |
object more than once in an expression; simplified handling of positional
parameters. nice job by Bill Noon figuring out the basic idea.
|
| |
|