summaryrefslogtreecommitdiff
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
* Support for the WITHIN GROUP (ORDER BY) clauses (within_group/WithinGroup).pr/156Antti Haapala2015-01-086-2/+97
|
* - doc fixesMike Bayer2015-01-062-12/+14
|
* - Fixed bug where if an exception were thrown at the start of aMike Bayer2015-01-051-31/+35
| | | | | | | | | | :class:`.Query` before it fetched results, particularly when row processors can't be formed, the cursor would stay open with results pending and not actually be closed. This is typically only an issue on an interpreter like Pypy where the cursor isn't immediately GC'ed, and can in some circumstances lead to transactions/ locks being open longer than is desirable. fixes #3285
* - add MemoizedSlots, a generalized solution to using __getattr__Mike Bayer2015-01-0515-52/+175
| | | | | for memoization on a class that uses slots. - apply many more __slots__. mem use for nova now at 46% savings
* - more callcountsMike Bayer2015-01-051-2/+4
| | | | - add the platform key to the error output
* - callcountsMike Bayer2015-01-041-2/+0
| | | | - this needs to be serializable and isn't high volume so just whack the slots
* - scale back _Dispatch and _JoinedDispatcher to use a __getitem__ schemeMike Bayer2015-01-041-12/+29
| | | | | | to start up listener collections; this pulls the overhead off of construction and makes performance much like the descriptor version, while still allowing slots. Fix up some profiles.
* - clean up default comparator which doesn't need to be a class,Mike Bayer2015-01-044-267/+272
| | | | get PG stuff working
* - strategies + declarativeMike Bayer2015-01-044-0/+36
|
* - wip - start factoring events so that we aren't using descriptors for dispatch,Mike Bayer2015-01-047-127/+160
| | | | allowing us to move to __slots__
* - start trying to move things into __slots__. This seems to reduce theslotsMike Bayer2015-01-0411-96/+132
| | | | | size of the many per-column objects we're hitting, but somehow the overall memory is hardly being reduced at all in initial testing
* - use a different bitwise approach here that doesn't require iteratingMike Bayer2015-01-033-6/+16
| | | | through all possible set values
* - The :class:`.mysql.SET` type has been overhauled to no longerMike Bayer2015-01-032-51/+116
| | | | | | | | | | | | | | assume that the empty string, or a set with a single empty string value, is in fact a set with a single empty string; instead, this is by default treated as the empty set. In order to handle persistence of a :class:`.mysql.SET` that actually wants to include the blank value ``''`` as a legitimate value, a new bitwise operational mode is added which is enabled by the :paramref:`.mysql.SET.retrieve_as_bitwise` flag, which will persist and retrieve values unambiguously using their bitflag positioning. Storage and retrieval of unicode values for driver configurations that aren't converting unicode natively is also repaired. fixes #3283
* - tighten the inspection in _ColumnEntity to reduce unnecessaryMike Bayer2015-01-031-14/+14
| | | | isinstance() calls, express intent more clearly
* - test failures:Mike Bayer2015-01-022-2/+1
| | | | | - test_schema_2 is only on PG and doesn't need a drop all, omit this for now - py3k has exception.args[0], not message
* - repair drop_all_tablesMike Bayer2015-01-021-1/+1
|
* - restate sort_tables in terms of a more fine grainedMike Bayer2015-01-0110-75/+441
| | | | | | | | | | | | | sort_tables_and_constraints function. - The DDL generation system of :meth:`.MetaData.create_all` and :meth:`.Metadata.drop_all` has been enhanced to in most cases automatically handle the case of mutually dependent foreign key constraints; the need for the :paramref:`.ForeignKeyConstraint.use_alter` flag is greatly reduced. The system also works for constraints which aren't given a name up front; only in the case of DROP is a name required for at least one of the constraints involved in the cycle. fixes #3282
* - Added a new accessor :attr:`.Table.foreign_key_constraints`Mike Bayer2015-01-011-0/+27
| | | | | to complement the :attr:`.Table.foreign_keys` collection, as well as :attr:`.ForeignKeyConstraint.referred_table`.
* - remove the "edges" from the message here. It's illegibleMike Bayer2015-01-011-1/+1
|
* - fix links for loading, add a redirect pageMike Bayer2014-12-272-3/+3
| | | | | | bump foo
* correctionsMike Bayer2014-12-277-5/+7
|
* - correctionsMike Bayer2014-12-277-13/+22
| | | | - attempt to add a script to semi-automate the fixing of links
* - typo fixes #3269Mike Bayer2014-12-271-1/+1
|
* - ouch, this needs to be in dbapi, not module level!Mike Bayer2014-12-191-7/+8
|
* - make the google deprecation messages more specific, use full URLMike Bayer2014-12-192-4/+15
| | | | | | format - add an extra doc to MySQLdb - changelog
* Merge branch 'update-gaerdbms-docs' of ↵Mike Bayer2014-12-191-0/+12
|\ | | | | | | https://bitbucket.org/rob_b/sqlalchemy into pr39
| * Update gaerdbms to highlight improved connection methodRob Berry2014-12-181-0/+12
| |
* | Maul the evaulate & friends typoPriit Laes2014-12-197-8/+8
| |
* | - Fixed bug where using a :class:`.TypeDecorator` that implementedMike Bayer2014-12-191-3/+7
|/ | | | | | | a type that was also a :class:`.TypeDecorator` would fail with Python's "Cannot create a consistent method resolution order (MRO)" error, when any kind of SQL comparison expression were used against an object using this type.
* - squash-merge the improve_toc branch, which moves all the Sphinx stylingMike Bayer2014-12-172-1374/+3
| | | | | | and extensions into an external library, and also reorganizes most large documentation pages into many small areas to reduce scrolling and better present the context into a more fine-grained hierarchy.
* - Added a version check to the MySQLdb dialect surrounding theMike Bayer2014-12-161-6/+7
| | | | | check for 'utf8_bin' collation, as this fails on MySQL server < 5.0. fixes #3274
* - rework sqlite FK and unique constraint system to combine both PRAGMAMike Bayer2014-12-131-112/+187
| | | | | | 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
* - fix unique constraint parsing for sqlite -- may return '' for name, howeverJon Nelson2014-12-131-1/+1
|
* - Added new method :meth:`.Session.invalidate`, functions similarlyMike Bayer2014-12-121-2/+40
| | | | | | | | | | 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
* - fix up query update /delete documentation, make warningsMike Bayer2014-12-101-69/+110
| | | | a lot clearer, partial fixes for #3252
* - keep working on fixing #3266, more cases, more testsMike Bayer2014-12-101-4/+5
|
* - identify another spot where _handle_dbapi_error() needs to do somethingMike Bayer2014-12-081-3/+4
| | | | | differently for the case where it is called in an already-invalidated state; don't call upon self.connection
* - simplify the "noconnection" error handling, settingMike Bayer2014-12-082-18/+20
| | | | | | | _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.
* - force the _has_events flag to True on engines, so thatMike Bayer2014-12-081-0/+3
| | | | | profiling is more predictable - restore the profiling from before this change
* - A new series of :class:`.Session` methods which provide hooksMike Bayer2014-12-081-22/+37
| | | | | | | | | | 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
* - add an option for bulk_save -> update to not do historyMike Bayer2014-12-072-13/+28
|
* - fix inheritance persistenceMike Bayer2014-12-073-6/+184
| | | | - start writing docs
* - initial tests for bulkMike Bayer2014-12-071-1/+2
|
* - rework the assert_sql system so that we have a context manager to work with,Mike Bayer2014-12-073-33/+75
| | | | use events that are local to the engine and to the run and are removed afterwards.
* Merge branch 'master' into ticket_3100Mike Bayer2014-12-0737-209/+887
|\
| * - SQL Server 2012 now recommends VARCHAR(max), NVARCHAR(max),Mike Bayer2014-12-062-10/+97
| | | | | | | | | | | | | | 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
| * - enhance only_on() to work with compound specsMike Bayer2014-12-062-1/+6
| | | | | | | | - fix "temporary_tables" requirement
| * - adjust _revalidate_connection() again such that we pass a _wrap=FalseMike Bayer2014-12-052-21/+30
| | | | | | | | | | | | | | | | | | | | 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
| * - move inner calls to _revalidate_connection() outside of existingMike Bayer2014-12-051-8/+9
| | | | | | | | | | _handle_dbapi_error(); these are now handled already and the reentrant call is not needed / breaks things. Adjustment to 41e7253dee168b8c26c49 /
| * - The SQLite dialect, when using the :class:`.sqlite.DATE`,Mike Bayer2014-12-051-1/+59
| | | | | | | | | | | | | | | | | | | | | | | | :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