| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
a column comparison to a scalar SELECT via
== would coerce to an IN with the SQL server
dialect. This is implicit
behavior which fails in other scenarios
so is removed. Code which relies on this
needs to be modified to use column.in_(select)
explicitly. [ticket:2277]
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
requires that the updated table be present
in the FROM clause when an alias of that
table is also present in the FROM clause.
The updated table is now always present
in the FROM, when FROM is present
in the first place. Courtesy sayap.
[ticket:2468]
|
|/
|
|
|
|
|
|
|
|
| |
create_engine() flag when using the pyodbc
dialect. Previously this flag would be
ignored if set to False. When set to False,
you'll get "SELECT @@identity" after each
INSERT to get at the last inserted ID,
for those tables which have "implicit_returning"
set to False.
|
| |
|
|
|
|
|
|
| |
UPDATE, and DELETE table hints, using
new with_hint() method on UpdateBase.
[ticket:2430]
|
|
|
|
|
|
|
|
|
|
|
|
| |
invokes common table expression support
from the Core (see below). [ticket:1859]
- [feature] Added support for SQL standard
common table expressions (CTE), allowing
SELECT objects as the CTE source (DML
not yet supported). This is invoked via
the cte() method on any select() construct.
[ticket:1859]
|
|
|
|
|
|
|
|
| |
CompileException for all type/statement compilation
issues, instead of InvalidRequestError or ArgumentError.
The DDL for CREATE TABLE will re-raise
CompileExceptions to include table/column information
for the problematic column. [ticket:2361]
|
|
|
|
|
|
|
|
|
|
| |
mssql.TIME type to ensure only six digits
are received for the "microseconds" portion
of the value, which is expected by
Python's datetime.time(). Note that
support for sending microseconds doesn't
seem to be possible yet with pyodbc
at least. [ticket:2340]
|
| |
|
|
|
|
| |
It's not known what the potential "data loss" issues are, tests seem to pass.
|
|
|
|
|
|
|
| |
list of index names and the names of columns
within those indexes. [ticket:2269]
- rewrite unicode reflection test to be of more general use on
broken backends
|
|
|
|
|
|
|
| |
on SQL Server 2000. Still mostly in the dark
what incantations are needed to make PyODBC
work fully with FreeTDS 0.91 here, however.
[ticket:2343]
|
|
|
|
|
|
|
|
| |
wasn't implemented correctly on MSSQL -
usually used for the "WITH (NOLOCK)" hint
(which you shouldn't be using anyway !
use snapshot isolation instead :) )
[ticket:2336]
|
|
|
|
|
|
|
|
|
|
|
| |
to a value will no longer produce IN/NOT IN as of 0.8;
this behavior is a little too heavy handed (use in_() if
you want to emit IN) and now emits a deprecation warning.
To get the 0.8 behavior immediately and remove the warning,
a compiler recipe is given at
http://www.sqlalchemy.org/docs/07/dialects/mssql.html#scalar-select-comparisons
to override the behavior of visit_binary().
[ticket:2277]
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Pyodbc. This includes that string binds are sent as
Python unicode objects when FreeTDS 0.91 is detected,
and a CAST(? AS NVARCHAR) is used when we detect
for a table. However, I'd continue
to characterize Pyodbc + FreeTDS 0.91 behavior as
pretty crappy, there are still many queries such
as used in reflection which cause a core dump on
Linux, and it is not really usable at all
on OSX, MemoryErrors abound and just plain broken
unicode support. [ticket:2273]
|
| |
|
|
|
|
| |
"understanding autocommit" section
|
|
|
|
|
|
|
|
| |
slicing into None, so that needless OFFSET
clauses are not invoked.
- mssql: "0" is accepted as an argument for limit() which
will produce "TOP 0". [ticket:2222]
- add tests to default compiler test for LIMIT/OFFSET generation
|
|
|
|
|
| |
across multiple connections therefore a non-standard
pool should be used [ticket:2203]
|
|
|
|
|
|
| |
applied to a schema-qualified table would leak
into enclosing select statements [ticket:2169].
Also in 0.6.8.
|
|
|
|
|
|
|
| |
by Postgresql, SQL Server, MySQL, SQLite. Note
that the SQL Server and MySQL versions, which
add extra arguments, are also still available
from those dialects. [ticket:2081]
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- change engine.Connection to _connection_cls so sphinx doesn't get upset
- globally add "." to all :class:`Foo`
- start naming sections that are mostly docstrings "API Documentation - blah blah"
- move some ad-hoc docstrings into "API" sections, there is some inconsistency here
and it may be that we just have to leave it that way
- add "internals" rsts to core, orm, I'm not super thrilled how these look but they are
targeted by some of the public api docs, users typically become aware of these anyway
|
|
|
|
|
|
|
| |
typically when using the Inspector interface, to
use sys.sql_modules instead of the information schema,
thereby allowing views definitions longer than 4000
characters to be fully returned. [ticket:2071]
|
|
|
|
| |
the case already for VARCHAR, NVARCHAR [ticket:1833]
|
| |
|
| |
|
| |
|
|
|
|
|
| |
a consistent tag
- AUTHORS file
|
|
|
|
|
| |
- deprecate Compiled.compile() - have __init__ do compilation
if statement is present.
|
| |
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
NVARCHAR, emit "max" as the length when no length is
specified. This makes it more compatible with Postgresql's
VARCHAR type which is similarly unbounded when no length
specified.
|
|\ \
| |/ |
|
| |
| |
| |
| |
| | |
- dont emit unicode warning if _warn_on_bytestring is false, including
for in-python string conversion
|
| |
| |
| |
| |
| | |
copier
- mssql reflection fix, but this will come in again from the tip merge
|
|/ |
|
|
|
|
|
|
| |
compile stream
so they function correctly
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
catalogs, so that column names of any configuration
(spaces, embedded commas, etc.) can be reflected.
Note that reflection of indexes requires SQL
Server 2005 or greater. [ticket:1770]
|
| |
| |
| |
| | |
fail to compile properly. [ticket:1943]
|
| |
| |
| |
| | |
reflection of unknown types. [ticket:1946]
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- improved pool docs
- typos etc.
- ClauseElement.execute() and scalar() make no sense - these are depreacted.
The official home is Executable.
- alias() is not executable, allowing it is sloppy so this goes under
the deprecated umbrella
|
|/
|
|
|
|
|
|
|
|
| |
which support it. This includes SQLite, MySQL, Postgresql, Firebird,
Oracle (already used binds with ROW NUMBER OVER), MSSQL (when ROW NUMBER
is used, not TOP). Not included are Informix, Sybase, MaxDB, Access
[ticket:805]
- LIMIT/OFFSET parameters need to stay as literals within SQL
constructs. This because they may not be renderable as binds on
some backends.
|
| |
|
|
|
|
| |
pymssql backend.
|
|
|
|
|
|
|
|
|
|
|
|
| |
"auto" index names when using the "index=True"
flag on Column. The truncation only takes
place with the auto-generated name, not one
that is user-defined (an error would be
raised instead), and the truncation scheme
itself is now based on a fragment of an md5
hash of the identifier name, so that multiple
indexes on columns with similar names still
have unique names. [ticket:1855]
|
| |
|
|
|
|
|
|
|
| |
range of (8, ), (9, ), (10, ), a warning is emitted
which suggests checking that the FreeTDS version
configuration is using 7.0 or 8.0, not 4.2.
[ticket:1825]
|