summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/engine/base.py
Commit message (Collapse)AuthorAgeFilesLines
* get profile 1a back down to 5100 calls, that one was 10% greater due to thisMike Bayer2013-05-261-3/+3
|
* use logging to output exc_info hereMike Bayer2013-05-041-11/+5
|
* - test_types, test_compiler, with sqlite at leastMike Bayer2013-04-281-1/+3
|
* plugging awayMike Bayer2013-04-271-3/+3
|
* - the raw 2to3 runMike Bayer2013-04-271-11/+11
| | | | - went through examples/ and cleaned out excess list() calls
* Reworked internal exception raises that emitMike Bayer2013-04-181-41/+25
| | | | | | | | | a rollback() before re-raising, so that the stack trace is preserved from sys.exc_info() before entering the rollback. This so that the traceback is preserved when using coroutine frameworks which may have switched contexts before the rollback function returns. [ticket:2703]
* Improvements to Connection auto-invalidationMike Bayer2013-04-111-24/+32
| | | | | | | | | | | | | 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]
* happy new year (see #2645)Diana Clarke2013-01-011-1/+1
|
* fixing broken links (see #2625)Diana Clarke2012-12-061-7/+7
|
* fixing broken links (see #2625)Diana Clarke2012-12-051-1/+1
|
* - recognize that do_rollback() and do_commit() work with a DBAPI connection,Mike Bayer2012-11-221-2/+3
| | | | | | | | | | | | | | | | | | 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
* - an enormous merge just because I committed a one line log entry. the joy ↵Mike Bayer2012-11-201-38/+40
|\ | | | | | | of DVCS
| * just a pep8 pass of lib/sqlalchemy/engine/Diana Clarke2012-11-191-38/+40
| |
* | should be logging thisMike Bayer2012-11-201-0/+2
|/
* - merge ben's patch with updatesMike Bayer2012-11-171-1/+1
|\
| * Updated sybase testing requirementsBenjamin Trofatter2012-10-311-1/+1
| |
* | The :meth:`.Connection.connect` and :meth:`.Connection.contextual_connect`Mike Bayer2012-11-141-43/+38
|/ | | | | | | 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.
* - more docsMike Bayer2012-10-261-1/+1
| | | | - it appears we can get rid of all those "XYZ_toplevel" names and use :doc:.
* versionaddedMike Bayer2012-10-251-2/+4
|
* aaaarrrggMike Bayer2012-10-231-1/+1
|
* tweaksMike Bayer2012-10-231-1/+1
|
* Added a new method :meth:`.Engine.execution_options`Mike Bayer2012-10-231-16/+114
| | | | | | | | | | | 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.
* mssql: - [bug] Fixed bug where reflection of primary key constraintMike Bayer2012-09-301-0/+2
| | | | | | | would double up columns if the same constraint/table existed in multiple schemas. - force returns_rows to False for inserts where we know rows shouldnt be returned; allows post_exec() to use the cursor without issue
* devMike Bayer2012-09-291-2/+2
|
* - fixes for mxODBC, some pyodbcMike Bayer2012-09-021-1/+3
| | | | | | - enhancements to test suite including ability to set up a testing engine for a whole test class, fixes to how noseplugin sets up/tears down per-class context
* - get all tests within -w engine + pyodbc:mssql on windows to passMike Bayer2012-09-011-1/+3
|
* - [feature] Added support for .info dictionary argument toMike Bayer2012-08-241-1/+9
| | | | | | column_property(), relationship(), composite(). All MapperProperty classes have an auto-creating .info dict available overall.
* - [feature] The before_cursor_execute eventMike Bayer2012-08-231-55/+17
| | | | | | | | | fires off for so-called "_cursor_execute" events, which are usually special-case executions of primary-key bound sequences and default-generation SQL phrases that invoke separately when RETURNING is not used with INSERT. [ticket:2459]
* big rework of is_active and SessionTransaction docsMike Bayer2012-08-081-1/+0
|
* - break out engine/base.py into base, interfaces, result, util.Mike Bayer2012-08-071-1973/+8
| | | | - remove deprecated 0.7 engine methods
* more import cleanupsMike Bayer2012-08-071-7/+7
|
* - [feature] Connection event listeners canMike Bayer2012-07-181-253/+308
| | | | | | now be associated with individual Connection objects, not just Engine objects. [ticket:2511]
* - [bug] Fixed bug whereby if a database restartMike Bayer2012-06-221-1/+4
| | | | | | | affected multiple connections, each connection would individually invoke a new disposal of the pool, even though only one disposal is needed. [ticket:2522]
* - [bug] Fixed bug wherebyMike Bayer2012-06-221-2/+1
| | | | | | | | | | | | a disconnect detect + dispose that occurs when the QueuePool has threads waiting for connections would leave those threads waiting for the duration of the timeout on the old pool. The fix now notifies those waiters with a special exception case and has them move onto the new pool. This fix may or may not be ported to 0.7. [ticket:2522]
* - [bug] The ResultProxy methods inserted_primary_key,Mike Bayer2012-06-161-16/+81
| | | | | | | | | | | | last_updated_params(), last_inserted_params(), postfetch_cols(), prefetch_cols() all assert that the given statement is a compiled construct, and is an insert() or update() statement as is appropriate, else raise InvalidRequestError. [ticket:2498] - ResultProxy.last_inserted_ids is removed, replaced by inserted_primary_key.
* - rewrite rowcount documentation to be as absolutely clear as possibleMike Bayer2012-06-121-21/+49
|
* sigh. go back to __iter__ because of silly rowproxy as argument requirementMike Bayer2012-06-111-2/+4
|
* comments regarding thisMike Bayer2012-06-111-0/+5
|
* - [bug] Fixed bug affecting Py3K wherebyMike Bayer2012-06-111-2/+2
| | | | | | | | string positional parameters passed to engine/connection execute() would fail to be interpreted correctly, due to __iter__ being present on Py3K string. [ticket:2503]. Also in 0.7.8.
* Add some `Sphinx` paragraph level versions informations markups,Mike Bayer2012-06-081-3/+5
| | | | such as ``.. versionadded::``, ``.. versionchanged::`` and ``.. deprecated::``.
* - [feature] Added SQLite execution optionMike Bayer2012-05-041-1/+1
| | | | | | | "sqlite_raw_colnames=True", will bypass attempts to remove "." from column names returned by SQLite cursor.description. [ticket:2475]
* - [feature] Inspector.get_primary_keys() isMike Bayer2012-04-241-8/+11
|\ | | | | | | | | | | | | | | deprecated; use Inspector.get_pk_constraint(). Courtesy Diana Clarke. [ticket:2422] - restored default get_primary_keys()/get_pk_constraint() wrapper to help maintain compatibility with third party dialects created against 0.6 or 0.7
| * deprecate inspector.get_primary_keys() in favor of inspector.get_pk_constraint()Diana Clarke2012-04-021-13/+4
| | | | | | | | - see #2422
* | - [feature] The behavior of column targetingMike Bayer2012-04-241-12/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | in result sets is now case sensitive by default. SQLAlchemy for many years would run a case-insensitive conversion on these values, probably to alleviate early case sensitivity issues with dialects like Oracle and Firebird. These issues have been more cleanly solved in more modern versions so the performance hit of calling lower() on identifiers is removed. The case insensitive comparisons can be re-enabled by setting "case_insensitive=False" on create_engine(). [ticket:2423]
* | - [bug] If conn.begin() fails when callingMike Bayer2012-04-121-1/+5
| | | | | | | | | | | | "with engine.begin()", the newly acquired Connection is closed explicitly before propagating the exception onward normally.
* | - [feature] Added new connection eventMike Bayer2012-04-101-0/+9
|/ | | | | | | dbapi_error(). Is called for all DBAPI-level errors passing the original DBAPI exception before SQLAlchemy modifies the state of the cursor.
* typos in lib/sqlalchemy/engineDiana Clarke2012-03-171-8/+8
|
* - [bug] Fixed issue whereby attribute-basedMike Bayer2012-03-141-1/+0
| | | | | | | | column access on a row would raise AttributeError with non-C version, NoSuchColumnError with C version. Now raises AttributeError in both cases. [ticket:2398]
* - [feature] Added "no_parameters=True" executionMike Bayer2012-02-131-5/+32
| | | | | | | | | | | | | | | | option for connections. If no parameters are present, will pass the statement as cursor.execute(statement), thereby invoking the DBAPIs behavior when no parameter collection is present; for psycopg2 and mysql-python, this means not interpreting % signs in the string. This only occurs with this option, and not just if the param list is blank, as otherwise this would produce inconsistent behavior of SQL expressions that normally escape percent signs (and while compiling, can't know ahead of time if parameters will be present in some cases). [ticket:2407]
* - add a context manager availble via Engine.begin()Mike Bayer2012-02-121-86/+195
| | | | | | - add a test suite for all the Engine/Connection/TLEngine transaction/begin helpers/context managers - update docs