| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
For versions > 1.10.1 pg8000 returns de-serialized JSON objects rather
than a string. SQL parameters are still strings though.
|
|
|
|
|
|
| |
pg8000 uses Versioneer, which means that development versions have
version strings that don't fit into the dotted triple number format.
Released versions will always fit the triple format though.
|
|
|
|
|
| |
The pg8000 dialect now supports the setting of the PostgreSQL parameter
client_encoding from create_engine().
|
| |
|
|
|
|
|
|
| |
and regexp parsing of SQL in order to form a complete picture of
constraints + their names. fixes #3244 fixes #3261
- factor various PRAGMA work to be centralized into one call
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
to :meth:`.Session.close`, except also calls
:meth:`.Connection.invalidate`
on all connections, guaranteeing that they will not be returned to
the connection pool. This is useful in situations e.g. dealing
with gevent timeouts when it is not safe to use the connection further,
even for rollbacks.
references #3258
|
| |
|
|
|
|
| |
a lot clearer, partial fixes for #3252
|
| |
|
|
|
|
| |
they don't really belong into a new suite in test_execute
|
|\ |
|
| | |
|
|/
|
|
|
| |
differently for the case where it is called in an already-invalidated state;
don't call upon self.connection
|
|
|
|
|
|
|
| |
_handle_dbapi_exception_noconnection() to only invoke in the case
of raw_connection() in the constructor of Connection. in all other
cases the Connection proceeds with _handle_dbapi_exception() including
revalidate.
|
| |
|
|
|
|
|
| |
profiling is more predictable
- restore the profiling from before this change
|
|
|
|
| |
on engines
|
|
|
|
|
|
|
|
|
|
| |
directly into the unit of work's facility for emitting INSERT
and UPDATE statements has been created. When used correctly,
this expert-oriented system can allow ORM-mappings to be used
to generate bulk insert and update statements batched into
executemany groups, allowing the statements to proceed at
speeds that rival direct use of the Core.
fixes #3100
|
| |
|
| |
|
|
|
|
| |
- start writing docs
|
| |
|
|
|
|
| |
use events that are local to the engine and to the run and are removed afterwards.
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
VARBINARY(max) for large text/binary types. The MSSQL dialect will
now respect this based on version detection, as well as the new
``deprecate_large_types`` flag.
fixes #3039
|
| |
| |
| |
| | |
- fix "temporary_tables" requirement
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
to it, so that we say we will do the wrapping just once right here
in _execute_context() / _execute_default(). An adjustment is made
to _handle_dbapi_error() to not assume self.__connection in case
we are already in an invalidated state
further adjustment to
0639c199a547343d62134d2f233225fd2862ec45, 41e7253dee168b8c26c49, #3266
|
| |
| |
| |
| |
| | |
_handle_dbapi_error(); these are now handled already and the reentrant
call is not needed / breaks things. Adjustment to 41e7253dee168b8c26c49 /
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
:class:`.sqlite.TIME`,
or :class:`.sqlite.DATETIME` types, and given a ``storage_format`` that
only renders numbers, will render the types in DDL as
``DATE_CHAR``, ``TIME_CHAR``, and ``DATETIME_CHAR``, so that despite the
lack of alpha characters in the values, the column will still
deliver the "text affinity". Normally this is not needed, as the
textual values within the default storage formats already
imply text.
fixes #3257
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
take effect in all engine connection use cases, including
when user-custom connect routines are used via the
:paramref:`.create_engine.creator` parameter, as well as when
the :class:`.Connection` encounters a connection error on
revalidation.
fixes #3266
|
| | |
|
| |
| |
| |
| |
| | |
Patch courtesy Gabor Gombas.
fixes #3127
|
| |
| |
| |
| | |
that quoting should be applied in %(name)s under with_hint.
|
| |
| |
| |
| |
| |
| |
| | |
to the aliasing syntax, as well as a new CTE feature
:meth:`.CTE.suffix_with`, which is useful for adding in special
Oracle-specific directives to the CTE.
fixes #3220
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
and Pymysql under Python 2. This refers to the SQL statements
themselves, not the parameters, and affects issues such as table
and column names using non-ASCII characters. These drivers both
appear to support Python 2 Unicode objects without issue in modern
versions.
fixes #3121
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
return type is not strictly assumed to be boolean; it now
returns a :class:`.Boolean` subclass called :class:`.MatchType`.
The type will still produce boolean behavior when used in Python
expressions, however the dialect can override its behavior at
result time. In the case of MySQL, while the MATCH operator
is typically used in a boolean context within an expression,
if one actually queries for the value of a match expression, a
floating point value is returned; this value is not compatible
with SQLAlchemy's C-based boolean processor, so MySQL's result-set
behavior now follows that of the :class:`.Float` type.
A new operator object ``notmatch_op`` is also added to better allow
dialects to define the negation of a match operation.
fixes #3263
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
``pg_catalog.pg_table_is_visible(c.oid)``, rather than testing
for an exact schema match, when the schema name is None; this
so that the method will also illustrate that temporary tables
are present. Note that this is a behavioral change, as Postgresql
allows a non-temporary table to silently overwrite an existing
temporary table of the same name, so this changes the behavior
of ``checkfirst`` in that unusual scenario.
fixes #3264
|
| |\ |
|
| | |
| | |
| | |
| | |
| | | |
master was updated to call util.raise_from_cause which is better
than what I had
|
| | |\
| | | |
| | | |
| | | |
| | | | |
Conflicts:
lib/sqlalchemy/testing/exclusions.py
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Mysql drops the type in these tests, when it does visit_typeclause,
since it's an unkown type it just says none,
and doesn't do a cast.
Firebird also doesn't support varchar with length, it throws an
error on these types.
|
| | | | |
|