| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
| |
of dbapi.Error (such as ``TypeError``, ``NotImplementedError``, etc.)
will propagate the exception unchanged. Previously,
the error handling specific to the ``connect()`` routine would both
inappropriately run the exception through the dialect's
:meth:`.Dialect.is_disconnect` routine as well as wrap it in
a :class:`sqlalchemy.exc.DBAPIError`. It is now propagated unchanged
in the same way as occurs within the execute process. [ticket:2881]
- add tests for this in test_parseconnect, but also add tests in test_execute
to ensure the execute() behavior as well
|
| |
|
|
|
|
|
|
| |
attempts when an existing connection attempt is blocking. Previously,
the production of new connections was serialized within the block
that monitored overflow; the overflow counter is now altered within
it's own critical section outside of the connection process itself.
[ticket:2880]
|
| |
|
|
|
|
|
|
|
|
|
| |
connection to be available, such that for a connection pool
with no timeout specified, it will every half a second break out of
the wait to check for the so-called "abort" flag, which allows the
waiter to break out in case the whole connection pool was dumped;
normally the waiter should break out due to a notify_all() but it's
possible this notify_all() is missed in very slim cases.
This is an extension of logic first introduced in 0.8.0, and the
issue has only been observed occasionally in stress tests.
|
| |
|
|
| |
requirements etc., just like 0.9
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
assisting with alembic installations that have upgraded and are dealing with
PG index/unique constraint reflection.
Inspection API already supports reflection of table
indexes information and those also include unique
constraints (at least for PostgreSQL and MySQL).
But it could be actually useful to distinguish between
indexes and plain unique constraints (though both are
implemented in the same way internally in RDBMS).
This change adds a new method to Inspection API - get_unique_constraints()
and implements it for SQLite, PostgreSQL and MySQL dialects.
|
| |
|
|
|
| |
Conflicts:
test/engine/test_execute.py
|
| |
|
|
|
|
|
|
|
|
| |
when a pre-DBAPI :class:`.StatementError` were raised within
:meth:`.Connection.execute`, causing encoding errors for
non-ASCII statements. The stringification now remains within
Python unicode thus avoiding encoding errors. [ticket:2871]
Conflicts:
test/engine/test_execute.py
|
| |
|
|
|
|
|
| |
- use thread.join() for waiters_handled test
Conflicts:
test/engine/test_pool.py
|
| |
|
|
| |
ipv6 addresses, e.g. surrounded by brackets. [ticket:2851]
|
| |
|
|
|
|
| |
Hide password in URL and Engine __repr__
Conflicts:
lib/sqlalchemy/engine/url.py
|
| | |
|
| |
|
|
| |
in-python only cols
|
| |
|
|
|
|
|
|
|
| |
of the incoming :class:`.Column` would prevent primary key constraints,
indexes, and foreign key constraints from being correctly reflected.
Also in 0.8.3. [ticket:2811]
Conflicts:
doc/build/changelog/changelog_09.rst
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
is recreated, due to a disconnect error. This fixes a particular
issue in the Oracle 8 dialect, but in general the dialect.initialize()
phase should only be once per dialect. [ticket:2776]
|
| |
|
|
|
|
|
|
|
| |
_ConnectionRecord.checkin() so that this functionality is
encapsulated; is now called from two different locations
for [ticket:2772].
- Fixed bug where :class:`.QueuePool` would lose the correct
checked out count if an existing pooled connection failed to reconnect
after an invalidate or recycle event. [ticket:2772]
|
| |
|
|
|
|
| |
exclude them
at the nose command line
|
| |
|
|
| |
- add oracle profile counts
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
actual mock objects from the mock library. I'd like to use mock
for new tests so we might as well use it in obvious places.
- use unittest.mock in py3.3
- changelog
- add a note to README.unittests
- add tests_require in setup.py
- have tests import from sqlalchemy.testing.mock
- apply usage of mock to one of the event tests. we can be using
this approach all over the place.
|
| | |
|
| |
|
|
| |
Preserve reset_on_return when recreating a Pool.
|
| |
|
|
|
|
|
|
|
|
| |
schema as well as a local schema could produce wrong results
in the case where both schemas had a table of the same name.
[ticket:2728]
Conflicts:
doc/build/changelog/changelog_09.rst
lib/sqlalchemy/schema.py
|
| |
|
|
| |
- move the timeout here to 14 seconds as jenkins still chokes occasionally
|
| | |
|
| | |
|
| |
|
|
|
| |
on the apparent string message sent in the exception; tested
against mysqlconnector 1.0.9.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
handling. If a non-disconnect error occurs,
but leads to a delayed disconnect error within error
handling (happens with MySQL), the disconnect condition
is detected. The Connection can now also be closed
when in an invalid state, meaning it will raise "closed"
on next usage, and additionally the "close with result"
feature will work even if the autorollback in an error
handling routine fails and regardless of whether the
condition is a disconnect or not.
[ticket:2695]
|
| |\
| |
| |
| | |
cymysql support
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
now accommodate an empty list as an instruction to not create/drop
any items, rather than ignoring the collection. [ticket:2664].
This is a behavioral change and extra notes to the changelog
and migration document have been added.
- create a new test suite for exercising codepaths
in engine/ddl.py
|
| |\ \
| |/
|/|
| |
| | |
working on some linux platforms. Also in 0.7.11.
- only need "logging.handlers" here, "logging" comes in implicitly
|
| |/
|
|
| |
See also: https://bugs.gentoo.org/show_bug.cgi?id=458684
|
| |
|
|
| |
- get test_naturalpks to be more generalized
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
whereas the other do_rollback_twophase(), savepoint etc. work with
:class:`.Connection`. the context on these are different as twophase/savepoint
are available at the :class:`.Connection` level, whereas commit/rollback are needed
at a lower level as well. Rename the argument to "dbapi_connection" when the conneciton
is in fact the DBAPI interface.
- start thinking about being able to track "autocommit" vs. "commit", but not sure
we have a need for this yet.
- have Pool call out to a Dialect for all rollback/commit/close operations now. Pool
no longer calls DBAPI methods directly. May use this for a workaround for [ticket:2611]
- add a new Pool event reset() to allow the pool's reset of the connection to be intercepted.
- remove methods in Informix dialect which appear to be hardcoding some isolation
settings on new Transaction only; the isolation API should be implemented for Informix.
also removed "flag" for transaction commit/rollback being not available; this should
be based on server/DBAPI version and we will need someone with test access in order
to help determine how this should work
|
| |
|
|
|
|
|
| |
methods now return a "branched" version so that the :meth:`.Connection.close`
method can be called on the returned connection without affecting the
original. Allows symmetry when using :class:`.Engine` and
:class:`.Connection` objects as context managers.
|
| |
|
|
|
|
| |
the given :class:`.Connection`, if given, without
opening a second connection from that connection's
:class:`.Engine`. [ticket:2604]
|
| |
|
|
|
|
|
|
|
|
|
| |
to :class:`.Engine`. This method works similarly to
:class:`.Connection.execution_options` in that it creates
a copy of the parent object which will refer to the new
set of options. The method can be used to build
sharding schemes where each engine shares the same
underlying pool of connections. The method
has been tested against the horizontal shard
recipe in the ORM as well.
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
become an externally usable package but still remains within the main sqlalchemy parent package.
in this system, we use kind of an ugly hack to get the noseplugin imported outside of the
"sqlalchemy" package, while still making it available within sqlalchemy for usage by
third party libraries.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- add some failure cases
- [bug] Firebird now uses strict "ansi bind rules"
so that bound parameters don't render in the
columns clause of a statement - they render
literally instead.
- [bug] Support for passing datetime as date when
using the DateTime type with Firebird; other
dialects support this.
|