summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/engine
Commit message (Collapse)AuthorAgeFilesLines
* these notes about **kw are incorrect, we are talking about the return value hereMike Bayer2013-06-091-8/+0
|
* - get_unique_constraints() pull requestMike Bayer2013-06-092-0/+4
| | | | | | - 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-092-0/+39
| | | | | | | | | | | | 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.
* Merge branch 'ticket_2587'Mike Bayer2013-06-041-0/+5
|\ | | | | | | | | | | Conflicts: test/profiles.txt test/sql/test_selectable.py
| * - add a flag to DefaultDialect for this so that people will have someMike Bayer2013-06-041-0/+3
| | | | | | | | workaround
| * working through tests....Mike Bayer2013-06-021-0/+2
| |
* | Merge branch 'master' into ticket_1068Mike Bayer2013-06-037-102/+87
|\ \ | |/
| * get profile 1a back down to 5100 calls, that one was 10% greater due to thisMike Bayer2013-05-261-3/+3
| |
| * a pass where we try to squash down as many list()/keys() combinationsMike Bayer2013-05-261-1/+1
| | | | | | | | as possible
| * do a sweep of some obvious 3kismsMike Bayer2013-05-263-9/+6
| |
| * - add a test specific to sqlite testing cursor.description encoding (shouldMike Bayer2013-05-261-0/+2
| | | | | | | | | | probably be one in test_query or test_unicode...) - fix up test_unitofwork
| * that's all of engineMike Bayer2013-05-041-2/+6
| |
| * - OK we have -w sql passing for: sqlite, postgresql, oursql 2.7 + 3.3, ↵Mike Bayer2013-05-041-1/+1
| | | | | | | | mysqldb 2.7
| * 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
| |
| * resultMike Bayer2013-04-281-2/+2
| |
| * import of "sqlalchemy" and "sqlalchemy.orm" works.Mike Bayer2013-04-272-21/+11
| |
| * plugging awayMike Bayer2013-04-273-35/+28
| |
| * - the raw 2to3 runMike Bayer2013-04-277-93/+96
| | | | | | | | - went through examples/ and cleaned out excess list() calls
* | attempt number one, doesn't detect though if the label in the order by is ↵Mike Bayer2013-05-271-0/+2
|/ | | | not directly present there.
* Reworked internal exception raises that emitMike Bayer2013-04-183-49/+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]
* A major fix to the way in which a select() object producesMike Bayer2013-04-111-1/+1
| | | | | | | | | | | | | | | | | | | labeled columns when apply_labels() is used; this mode produces a SELECT where each column is labeled as in <tablename>_<columnname>, to remove column name collisions for a multiple table select. The fix is that if two labels collide when combined with the table name, i.e. "foo.bar_id" and "foo_bar.id", anonymous aliasing will be applied to one of the dupes. This allows the ORM to handle both columns independently; previously, 0.7 would in some cases silently emit a second SELECT for the column that was "duped", and in 0.8 an ambiguous column error would be emitted. The "keys" applied to the .c. collection of the select() will also be deduped, so that the "column being replaced" warning will no longer emit for any select() that specifies use_labels, though the dupe key will be given an anonymous label which isn't generally user-friendly. [ticket:2702]
* - add an event to testing so that other dialects can intercept ↵Mike Bayer2013-03-241-0/+4
| | | | | | "test_needs_autoincrement" - get the assumption of "1" for "first sequence item" to be dialect configured
* Fixed bug whereby a DBAPI that can return "0"Mike Bayer2013-03-231-1/+1
| | | | | for cursor.lastrowid would not function correctly in conjunction with :attr:`.ResultProxy.inserted_primary_key`.
* - :meth:`.MetaData.create_all` and :meth:`.MetaData.drop_all` willMike Bayer2013-03-021-3/+3
| | | | | | | | | | 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
* cleanupMike Bayer2013-03-021-8/+8
|
* The cx_oracle dialect will no longer run the bind parameter namesMike Bayer2013-02-081-1/+3
| | | | | | | through ``encode()``, as this is not valid on Python 3, and prevented statements from functioning correctly on Python 3. We now encode only if ``supports_unicode_binds`` is False, which is not the case for cx_oracle when at least version 5 of cx_oracle is used.
* more egregious long linesMike Bayer2013-02-021-1/+2
|
* happy new year (see #2645)Diana Clarke2013-01-011-1/+1
|
* happy new year (see #2645)Diana Clarke2013-01-0110-10/+10
|
* internally at least refer to multirow as "multivalues", to distinguish betweenMike Bayer2012-12-081-1/+1
| | | | | an INSERT that's used in executemany() as opposed to one which has a VALUES clause with multiple entries.
* merge latest defaultMike Bayer2012-12-083-20/+20
|\
| * fixing broken links (see #2625)Diana Clarke2012-12-062-12/+12
| |
| * fixing broken links (see #2625)Diana Clarke2012-12-052-9/+9
| |
* | compiler: add support for multirow insertsIdan Kamara2012-12-061-0/+1
|/ | | | | | | | | | | | | | | | | | | | | Some databases support this syntax for inserts: INSERT INTO table (id, name) VALUES ('v1', 'v2'), ('v3', 'v4'); which greatly increases INSERT speed. It is now possible to pass a list of lists/tuples/dictionaries as the values param to the Insert construct. We convert it to a flat dictionary so we can continue using bind params. The above query will be converted to: INSERT INTO table (id, name) VALUES (:id, :name), (:id0, :name0); Currently only supported on postgresql, mysql and sqlite.
* - recognize that do_rollback() and do_commit() work with a DBAPI connection,Mike Bayer2012-11-223-38/+116
| | | | | | | | | | | | | | | | | | 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-2011-127/+169
|\ | | | | | | of DVCS
| * just a pep8 pass of lib/sqlalchemy/engine/Diana Clarke2012-11-1911-127/+169
| |
* | 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.
* | improve some autodoc linksMike Bayer2012-10-312-7/+7
|/
* - more docsMike Bayer2012-10-262-2/+2
| | | | - it appears we can get rid of all those "XYZ_toplevel" names and use :doc:.
* versionaddedMike Bayer2012-10-251-2/+4
|
* The long-deprecated and non-functional ``assert_unicode`` flag onMike Bayer2012-10-252-17/+1
| | | | :func:`.create_engine` as well as :class:`.String` is removed.
* version noteMike Bayer2012-10-241-0/+3
|
* Fixed bug where keyword arguments passed toMike Bayer2012-10-241-2/+6
| | | | | | | | :meth:`.Compiler.process` wouldn't get propagated to the column expressions present in the columns clause of a SELECT statement. In particular this would come up when used by custom compilation schemes that relied upon special flags. [ticket:2593]
* aaaarrrggMike Bayer2012-10-231-1/+1
|