summaryrefslogtreecommitdiff
path: root/test/engine
Commit message (Collapse)AuthorAgeFilesLines
* - these tests are really old but trying to make sure everything is closed outMike Bayer2014-01-051-40/+40
|
* - The :paramref:`.Table.extend_existing` and :paramref:`.Table.autoload_replace`Mike Bayer2014-01-041-0/+13
| | | | | | parameters are now available on the :meth:`.MetaData.reflect` method. - starting to use paramref and need newer paramlinks version.
* - The :func:`.engine_from_config` function has been improved so thatMike Bayer2013-12-071-60/+31
| | | | | | | | we will be able to parse dialect-specific arguments from string configuration dictionaries. Dialect classes can now provide their own list of parameter types and string-conversion routines. The feature is not yet used by the built-in dialects, however. [ticket:2875]
* - A DBAPI that raises an error on ``connect()`` which is not a subclassMike Bayer2013-12-072-15/+54
| | | | | | | | | | | | 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
* - The :class:`.QueuePool` has been enhanced to not block new connectionMike Bayer2013-12-061-0/+82
| | | | | | | | 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]
* - Made a slight adjustment to the logic which waits for a pooledMike Bayer2013-12-061-6/+13
| | | | | | | | | | | 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.
* make sure thread.join() is used completely hereMike Bayer2013-11-301-4/+8
|
* - adjustment, the spec says: "Within the user and password field, any ":",Mike Bayer2013-11-251-10/+10
| | | | | | | "@", or "/" must be encoded." - so re-apply encoding to both password and username, don't encode spaces as plus signs, don't encode any chars outside of :, @, / on stringification - but we still parse for any %XX character (is that right?)
* - The :func:`.create_engine` routine and the relatedMike Bayer2013-11-241-1/+23
| | | | | | | :func:`.make_url` function **no longer URL encode the password**. Database passwords that include characters like spaces, plus signs and anything else should now represent these characters directly, without any URL escaping. [ticket:2873]
* -be more agnostic of quotes hereMike Bayer2013-11-231-2/+2
|
* - Fixed bug where SQL statement would be improperly ASCII-encodedMike Bayer2013-11-221-2/+20
| | | | | | | 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]
* something changed the name here, probably one of those doc pullreqsMike Bayer2013-11-211-1/+1
|
* - apply a timeout to all join() calls for test_poolMike Bayer2013-11-171-5/+10
| | | | - use thread.join() for waiters_handled test
* - remove informix dialect, moved out to ↵Mike Bayer2013-11-174-22/+4
| | | | | | https://bitbucket.org/zzzeek/sqlalchemy_informixdb - remove informix, maxdb, access symbols from tests etc.
* - move this test to PG test_reflectionMike Bayer2013-10-251-2/+2
| | | | - don't use locals()
* Merge branch 'master' of github.com:ijl/sqlalchemy into merge_2183Mike Bayer2013-10-251-0/+49
|\
| * ForeignKeyConstraint reflection test respects MySQL limitationspr/34ijl2013-10-151-12/+20
| |
| * #2183: Metadata.reflect() foreign keys include options when the dialect ↵ijl2013-10-131-0/+41
| | | | | | | | exposes it
* | - The regexp used by the :func:`.url.make_url` function now parsesMike Bayer2013-10-231-12/+19
| | | | | | | | ipv6 addresses, e.g. surrounded by brackets. [ticket:2851]
* | try to get this to pass on slow environmnetsMike Bayer2013-10-211-1/+1
|/
* Merge pull request #25 from gthb/ticket_2821mike bayer2013-09-291-0/+4
|\ | | | | Hide password in URL and Engine __repr__
| * Hide password in URL and Engine __repr__pr/25Gunnlaugur Þór Briem2013-09-061-0/+4
| | | | | | | | Fixes #2821
* | - Removed some now unneeded version checks [ticket:2829] courtesy alex gaynorMike Bayer2013-09-222-2/+0
|/
* use a different col here to keep oracle happyMike Bayer2013-09-021-2/+12
|
* plus some more adjustments for mysql, or in general if an Index refers toMike Bayer2013-08-281-1/+3
| | | | in-python only cols
* Fixed bug where using the ``column_reflect`` event to change the ``.key``Mike Bayer2013-08-281-4/+34
| | | | | | 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]
* - ensure rowcount is returned for an UPDATE with no implicit returningMike Bayer2013-08-251-27/+27
| | | | | - modernize test for that - use py3k compatible next() in test_returning/test_versioning
* Improved support for the cymysql driver, supporting version 0.6.5,Mike Bayer2013-08-171-1/+0
| | | | courtesy Hajime Nakagami.
* - A large refactoring of the ``sqlalchemy.sql`` package has reorganizedMike Bayer2013-08-122-203/+15
| | | | | | | | | | | | | | | | | | | | | | the import structure of many core modules. ``sqlalchemy.schema`` and ``sqlalchemy.types`` remain in the top-level package, but are now just lists of names that pull from within ``sqlalchemy.sql``. Their implementations are now broken out among ``sqlalchemy.sql.type_api``, ``sqlalchemy.sql.sqltypes``, ``sqlalchemy.sql.schema`` and ``sqlalchemy.sql.ddl``, the last of which was moved from ``sqlalchemy.engine``. ``sqlalchemy.sql.expression`` is also a namespace now which pulls implementations mostly from ``sqlalchemy.sql.elements``, ``sqlalchemy.sql.selectable``, and ``sqlalchemy.sql.dml``. Most of the "factory" functions used to create SQL expression objects have been moved to classmethods or constructors, which are exposed in ``sqlalchemy.sql.expression`` using a programmatic system. Care has been taken such that all the original import namespaces remain intact and there should be no impact on any existing applications. The rationale here was to break out these very large modules into smaller ones, provide more manageable lists of function names, to greatly reduce "import cycles" and clarify the up-front importing of names, and to remove the need for redundant functions and documentation throughout the expression package.
* try seeing if just clearing this ahead of time helpsMike Bayer2013-07-271-0/+1
|
* further tweakingMike Bayer2013-07-131-3/+2
|
* fix the scoping hereMike Bayer2013-07-131-2/+4
|
* Dialect.initialize() is not called a second time if an :class:`.Engine`Mike Bayer2013-07-111-3/+31
| | | | | | 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. Also in 0.8.3. [ticket:2776]
* Fixed bug where :class:`.QueuePool` would lose the correctMike Bayer2013-07-041-1/+50
| | | | | | checked out count if an existing pooled connection failed to reconnect after an invalidate or recycle event. Also in 0.8.3. [ticket:2772]
* - refactor pool a bit so that intent between ↵Mike Bayer2013-07-023-44/+125
| | | | | | | | | | | | | | ConnectionRecord/ConnectionFairy is clear; make sure that the DBAPI connection passed to the reset-on-return events/dialect hooks is also a "fairy", so that dictionaries like "info" are available. [ticket:2770] - rework the execution_options system so that the dialect is given the job of making any immediate adjustments based on a set event. move the "isolation level" logic to use this new system. Also work things out so that even engine-level execution options can be used for things like isolation level; the dialect attaches a connect-event handler in this case to handle the task. - to support this new system as well as further extensibiltiy of execution options add events engine_connect(), set_connection_execution_options(), set_engine_execution_options()
* mark the tests that seem to be segfauling py3k+coverage so that we can ↵Mike Bayer2013-06-301-0/+7
| | | | | | exclude them at the nose command line
* - replace most explicitly-named test objects called "Mock..." withMike Bayer2013-06-305-357/+353
| | | | | | | | | | | | 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.
* tweak the timings here to maximize chance of test successMike Bayer2013-06-291-31/+12
|
* Preserve reset_on_return when recreating a Pool.pr/6Eevee2013-06-101-1/+2
|
* - get_unique_constraints() pull requestMike Bayer2013-06-091-34/+0
| | | | | | - version (0.9 for now) - changelog - move the test into the test suite so that all dialects can take advantage of it
* Add basic support of unique constraints reflectionpr/4Roman Podolyaka2013-06-091-0/+37
| | | | | | | | | | | | 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.
* - clean up some of the requires for cross-schema reflectionMike Bayer2013-06-031-7/+4
| | | | - add oracle profile counts
* Fixed bug whereby using :meth:`.MetaData.reflect` across a remoteMike Bayer2013-06-031-0/+24
| | | | | | 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]
* - additional oracle fixes. cx_oracle under py3k is complaining about tuples ↵Mike Bayer2013-05-271-1/+4
| | | | | | | to executemany(), so just unconditionally turn this into a list - this one test segfaults only on py3k + cx_oracle
* fix test_execute w c extensionsMike Bayer2013-05-261-4/+2
|
* merge defaultMike Bayer2013-05-051-17/+20
|\
| * - cleanupMike Bayer2013-05-051-17/+20
| | | | | | | | - move the timeout here to 14 seconds as jenkins still chokes occasionally
| * cleanupMike Bayer2013-05-041-79/+78
| |
* | that's all of engineMike Bayer2013-05-042-10/+11
| |
* | cleanupMike Bayer2013-05-041-79/+78
| |