summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy
Commit message (Collapse)AuthorAgeFilesLines
* Fix unique constraints reflection in SQLitepr/72Roman Podoliaka2014-02-142-1/+5
| | | | | | | | | Reflection of unique constraints didn't work properly, if reserved identifiers had been used as column names. In this case column names would be put in double quotes (e.g. the name of column asc would be returned as "asc"). This issue is only present in 0.8.4 and not in 0.9.x.
* - Fixed bug where :meth:`.in_()` would go into an endless loop ifMike Bayer2014-02-131-2/+6
| | | | | | erroneously passed a column expression whose comparator included the ``__getitem__()`` method, such as a column that uses the :class:`.postgresql.ARRAY` type. [ticket:2957]
* this example doesn't work, we don't really have a solution for this as far ↵Mike Bayer2014-02-101-31/+0
| | | | as automating this pattern
* - Fixed bug where :meth:`.Query.get` would fail to consistentlyMike Bayer2014-02-101-4/+11
| | | | | | raise the :class:`.InvalidRequestError` that invokes when called on a query with existing criterion, when the given identity is already present in the identity map. [ticket:2951]
* - Fixed bug which prevented MySQLdb-based dialects (e.g.Mike Bayer2014-02-032-31/+13
| | | | | | | | | | pymysql) from working in Py3K, where a check for "connection charset" would fail due to Py3K's more strict value comparison rules. The call in question wasn't taking the database version into account in any case as the server version was still None at that point, so the method overall has been simplified to rely upon connection.character_set_name(). [ticket:2933]
* - add a few missing methods to the cymysql dialectMike Bayer2014-02-021-0/+8
|
* - don't duplicate docs for Pool within QueuePoolMike Bayer2014-01-311-70/+68
| | | | - add huge warning regarding how use_threadlocal probably not what you want
* no Binary here if we are running a test with no DBAPIMike Bayer2014-01-311-0/+2
|
* expose `binary_type` in `util` modulepr/63Andreas Zeidler2014-01-311-1/+1
| | | | it is used in `sql/compiler.py(849)render_literal_value()`
* - repair the fixture/test here to make sure state isn't left over causing ↵Mike Bayer2014-01-281-1/+1
| | | | other tests to fail
* docsMike Bayer2014-01-261-35/+131
|
* updatesMike Bayer2014-01-261-63/+92
|
* tweak textMike Bayer2014-01-251-4/+10
|
* importsMike Bayer2014-01-251-0/+4
|
* caseMike Bayer2014-01-251-44/+136
|
* - start building out very comprehensive docstrings for core functionsMike Bayer2014-01-252-107/+457
|
* docuemnt joinMike Bayer2014-01-241-16/+87
|
* - doc updates, include links to create_engine from tutorials, cleanupMike Bayer2014-01-231-11/+20
| | | | | | | | and modernize the engines chapter a bit Conflicts: doc/build/changelog/changelog_09.rst doc/build/orm/tutorial.rst
* Remove uneeded import from code exampleWichert Akkerman2014-01-231-1/+0
| | | | | This had me reread the code twice to see if I missed why the import was present.
* Fix TypeError for class_mapper called w/ iterableKyle Stark2014-01-141-1/+1
| | | | | | When the class_ passed is not a mapped class but is actually an iterable, the string formatting operation fails with a TypeError, and the expected ArgumentError is not raised. Calling code which is using reflection and expects this error will fail (e.g. the sadisplay module). Conflicts: lib/sqlalchemy/orm/base.py
* - support addition of fails_if()/only_on(), just wraps the decoratorsMike Bayer2014-01-021-0/+5
| | | | - update a few exclusions to support current pymssql. passes all of test_suite and dialect/mssql
* - apply a similar fix for floats to mssql+pyodbc as we did to firebirdMike Bayer2013-12-283-7/+39
| | | | | - wrangle through osx+pyodbc+freetds to get at least test_suite to pass again with mssql+pyodbc. invovled adding some silly requirements
* - fix the insert from select test to use a non-autoinc tableMike Bayer2013-12-281-4/+8
|
* - actually check the list of views!Mike Bayer2013-12-271-0/+1
|
* fix 2.5-ismMike Bayer2013-12-271-0/+1
|
* - add an exclusion for "floats to four decimals", backported from 0.9 and ↵Mike Bayer2013-12-272-0/+10
| | | | | | applies to firebird
* - The firebird dialect will quote identifiers which begin with anMike Bayer2013-12-271-0/+1
| | | | underscore. Courtesy Treeve Jelbert. [ticket:2897]
* - add a test which creates tables and views at the same time, then tests ↵Mike Bayer2013-12-271-0/+6
| | | | | | that the lists of each can be reflected independently. Testing [ticket:2898] at the moment.
* - Fixed bug in Firebird index reflection where the columns within theMike Bayer2013-12-271-1/+1
| | | | | index were not sorted correctly; they are now sorted in order of RDB$FIELD_POSITION.
* - The "asdecimal" flag used with the :class:`.Float` type will nowMike Bayer2013-12-271-1/+8
| | | | | | | | | work with Firebird dialects; previously the decimal conversion was not occurring. - scale back some firebird FP numeric tests Conflicts: test/requirements.py
* - repair some suite tests for firebirdMike Bayer2013-12-272-1/+29
|
* Remove terminated connections from the pool.John Anderson2013-12-271-0/+1
| | | | | | In pymssql, if you terminate a long running query manually it will give you a connection reset by peer message, but this connection remains in the pool and will be re-used.
* - Fixed issue where a primary key column that has a Sequence on it,Mike Bayer2013-12-201-1/+7
| | | | | | | | | yet the column is not the "auto increment" column, either because it has a foreign key constraint or ``autoincrement=False`` set, would attempt to fire the Sequence on INSERT for backends that don't support sequences, when presented with an INSERT missing the primary key value. This would take place on non-sequence backends like SQLite, MySQL. [ticket:2896]
* - Fixed bug with :meth:`.Insert.from_select` method where the orderMike Bayer2013-12-192-5/+20
| | | | | | | | of the given names would not be taken into account when generating the INSERT statement, thus producing a mismatch versus the column names in the given SELECT statement. Also noted that :meth:`.Insert.from_select` implies that Python-side insert defaults cannot be used, since the statement has no VALUES clause. [ticket:2895]
* - for [ticket:2651], leaving CheckConstraint alone, preferring to keepMike Bayer2013-12-162-3/+8
| | | | | | | | | | | | backwards compatibility. A note about backslashing escapes is added. Because the Text() construct now supports bind params better, the example given in the code raises an exception now, so that should cover us. The exception itself has been enhanced to include the key name of the bound param. We're backporting this to 0.8 but 0.8 doesn't have the text->bind behavior that raises. Conflicts: lib/sqlalchemy/sql/schema.py
* - An adjustment to the :func:`.subqueryload` strategy which ensures thatMike Bayer2013-12-161-8/+32
| | | | | | | the query runs after the loading process has begun; this is so that the subqueryload takes precedence over other loaders that may be hitting the same attribute due to other eager/noload situations at the wrong time. [ticket:2887]
* - Fixed bug when using joined table inheritance from a table to aMike Bayer2013-12-161-1/+3
| | | | | | | select/alias on the base, where the PK columns were also not same named; the persistence system would fail to copy primary key values from the base table to the inherited table upon INSERT. [ticket:2885]
* wrong method name...Mike Bayer2013-12-161-1/+1
|
* load_on_pending is different from enable_relationship_loading and shouldMike Bayer2013-12-152-6/+14
| | | | | | | not be superseded. both have a potential use. Conflicts: lib/sqlalchemy/orm/relationships.py
* make the error message for [ticket:2889] more accurate, as we supportMike Bayer2013-12-121-1/+1
| | | | composites to many-to-ones now also
* - :func:`.composite` will raise an informative error message when theMike Bayer2013-12-121-0/+5
| | | | | | | | | columns/attribute (names) passed don't resolve to a Column or mapped attribute (such as an erroneous tuple); previously raised an unbound local. [ticket:2889] Conflicts: test/orm/test_composites.py
* - Error message when a string arg sent to :func:`.relationship` whichMike Bayer2013-12-121-14/+14
| | | | | | | | | | doesn't resolve to a class or mapper has been corrected to work the same way as when a non-string arg is received, which indicates the name of the relationship which had the configurational error. [ticket:2888] Conflicts: lib/sqlalchemy/orm/relationships.py
* python2.5 fixMike Bayer2013-12-081-1/+1
|
* - documentation cleanup in ORM including [ticket:2816]Mike Bayer2013-12-073-35/+80
| | | | | Conflicts: lib/sqlalchemy/orm/mapper.py
* - A DBAPI that raises an error on ``connect()`` which is not a subclassMike Bayer2013-12-071-1/+1
| | | | | | | | | | | | 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
* - restore having the connection closed before decrementing the overflow counterMike Bayer2013-12-061-2/+4
|
* - The :class:`.QueuePool` has been enhanced to not block new connectionMike Bayer2013-12-061-31/+33
| | | | | | | | 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-2/+8
| | | | | | | | | | | 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.
* Fix MSSQL dialects visit_drop_index to use the correct DDLdonkopotamus2013-12-051-5/+3
|
* fix for 2.5Mike Bayer2013-12-041-1/+1
|