summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy
Commit message (Collapse)AuthorAgeFilesLines
* Use PyMODINIT_FUNCpr/55cgohlke2014-01-081-1/+1
|
* Use PyMODINIT_FUNCcgohlke2014-01-081-1/+1
|
* Use PyMODINIT_FUNCcgohlke2014-01-081-1/+1
|
* - happy new yearMike Bayer2014-01-05165-167/+167
|
* 0.9.1Mike Bayer2014-01-051-1/+1
|
* Merge branch 'automap'Mike Bayer2014-01-057-26/+935
|\ | | | | | | | | Conflicts: doc/build/changelog/changelog_09.rst
| * - many-to-many supportMike Bayer2014-01-051-66/+786
| | | | | | | | | | - tests - full documentation, changelog, new in 0.9 announcement
| * - fix some docstring stuffMike Bayer2014-01-053-19/+62
| |
| * - conjunctions like and_() and or_() can now accept generators as arguments.Mike Bayer2014-01-053-1/+10
| |
| * - basic functionality.Mike Bayer2014-01-041-23/+30
| |
| * - The :paramref:`.Table.extend_existing` and :paramref:`.Table.autoload_replace`Mike Bayer2014-01-041-6/+23
| | | | | | | | | | | | parameters are now available on the :meth:`.MetaData.reflect` method. - starting to use paramref and need newer paramlinks version.
| * - hypothetical "automap" feature, would extend DeferredReflection to create ↵Mike Bayer2014-01-031-0/+113
| | | | | | | | | | | | classes against the remaining tables within the given metadata.
* | - Fixed regression where using a ``functools.partial()`` with the eventMike Bayer2014-01-042-3/+10
|/ | | | | | | | | | | system would cause a recursion overflow due to usage of inspect.getargspec() on it in order to detect a legacy calling signature for certain events, and apparently there's no way to do this with a partial object. Instead we skip the legacy check and assume the modern style; the check itself now only occurs for the SessionEvents.after_bulk_update and SessionEvents.after_bulk_delete events. Those two events will require the new signature style if assigned to a "partial" event listener. [ticket:2905]
* - Fixed an extremely unlikely memory issue where when usingMike Bayer2014-01-032-19/+63
| | | | | | | | | | :class:`.DeferredReflection` to define classes pending for reflection, if some subset of those classes were discarded before the :meth:`.DeferredReflection.prepare` method were called to reflect and map the class, a strong reference to the class would remain held within the declarative internals. This internal collection of "classes to map" now uses weak references against the classes themselves.
* Merge bitbucket.org:rschoon/sqlalchemy into tMike Bayer2014-01-021-1/+2
|\
| * Don't barf on Session(info=...) from sessionmaker(info=None)Robin Schoonover2013-12-311-1/+2
| |
* | - Fixed regression where we don't check the given name against theMike Bayer2014-01-021-1/+1
| | | | | | | | | | | | correct string class when setting up a backref based on a name, therefore causing the error "too many values to unpack". This was related to the Py3k conversion. [ticket:2901]
* | - A quasi-regression where apparently in 0.8 you can set a class-levelMike Bayer2014-01-021-1/+20
| | | | | | | | | | | | | | | | | | | | | | attribute on declarative to simply refer directly to an :class:`.InstrumentedAttribute` on a superclass or on the class itself, and it acts more or less like a synonym; in 0.9, this fails to set up enough bookkeeping to keep up with the more liberalized backref logic from :ticket:`2789`. Even though this use case was never directly considered, it is now detected by declarative at the "setattr()" level as well as when setting up a subclass, and the mirrored/renamed attribute is now set up as a :func:`.synonym` instead. [ticket:2900]
* | - Fixed regression where we apparently still create an implicitMike Bayer2014-01-021-4/+20
| | | | | | | | | | | | | | | | | | | | alias when saying query(B).join(B.cs), where "C" is a joined inh class; however, this implicit alias was created only considering the immediate left side, and not a longer chain of joins along different joined-inh subclasses of the same base. As long as we're still implicitly aliasing in this case, the behavior is dialed back a bit so that it will alias the right side in a wider variety of cases. [ticket:2903]
* | - 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
* - call it 0.9.0Mike Bayer2013-12-304-8/+8
|
* - 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
* - adjust the behavior of cast() to only provide a type for the bindparam()Mike Bayer2013-12-281-9/+1
| | | | | if we are coercing straight from string. [ticket:2899] - rework the tests here to be individual
* - fix the insert from select test to use a non-autoinc tableMike Bayer2013-12-281-4/+8
|
* - rework the JSON expression system so that "astext" is called *after*Mike Bayer2013-12-273-48/+120
| | | | | | | | | the indexing. this is for more natural operation. - also add cast() to the JSON expression to complement astext. This integrates the CAST call which will be needed frequently. Part of [ticket:2687]. - it's a little unclear how more advanced unicode attribute-access is going to go, some quick attempts at testing yielded strange error messages from psycopg2. - do other cross linking as mentioned in [ticket:2687].
* - Declarative does an extra check to detect if the sameMike Bayer2013-12-271-1/+14
| | | | | | | :class:`.Column` is mapped multiple times under different properties (which typically should be a :func:`.synonym` instead) or if two or more :class:`.Column` objects are given the same name, raising a warning if this condition is detected. [ticket:2828]
* - Changed the queries used by Firebird to list table and view namesMike Bayer2013-12-271-5/+21
| | | | | | | | | to query from the ``rdb$relations`` view instead of the ``rdb$relation_fields`` and ``rdb$view_relations`` views. Variants of both the old and new queries are mentioned on many FAQ and blogs, however the new queries are taken straight from the "Firebird FAQ" which appears to be the most official source of info. [ticket:2898]
* - actually check the list of views!Mike Bayer2013-12-271-0/+1
|
* - 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
* - repair some suite tests for firebirdMike Bayer2013-12-272-1/+29
|
* Merge pull request #51 from sontek/pymssql_handle_terminated_connectionmike bayer2013-12-271-0/+1
|\ | | | | Remove terminated connections from the pool.
| * Remove terminated connections from the pool.pr/51John Anderson2013-12-161-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.
* | - alter the decorator function, and the newer public_factory function,Mike Bayer2013-12-211-6/+20
| | | | | | | | | | to use a named def instead of a lambda. this so that TypeError on wrong arguments are more legible. [ticket:2884]
* | - improve documentation for return_defaults() and returned_defaults. ↵Mike Bayer2013-12-202-27/+68
| | | | | | | | [ticket:2852]
* | - 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]
* | fix doc targetMike Bayer2013-12-191-1/+1
| |
* | - Improvements to the system by which SQL types generate withinMike Bayer2013-12-183-49/+90
| | | | | | | | | | | | | | | | ``__repr__()``, particularly with regards to the MySQL integer/numeric/ character types which feature a wide variety of keyword arguments. The ``__repr__()`` is important for use with Alembic autogenerate for when Python code is rendered in a migration script. [ticket:2893]
* | - remove very ancient TypeEngine constructor, not used by anythingMike Bayer2013-12-171-6/+0
| |
* | - make the json serializer and deserializer per-dialect, so that we areMike Bayer2013-12-173-15/+28
| | | | | | | | | | compatible with psycopg2's per-connection/cursor approach. add round trip tests for both native and non-native.
* | - The :func:`.cast` function, when given a plain literal value,Mike Bayer2013-12-171-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | will now apply the given type to the given literal value on the bind parameter side according to the type given to the cast. This essentially replaces what would normally be the detected type of the literal value. This only takes effect if the auto-detected type of the literal value is either "nulltype" (e.g. couldn't detect) or a type that is of the same "affinity" as the cast type. The net change here is that the :func:`.cast` function includes more of the functionality already present in the :func:`.type_coerce` function.
* | - rework JSON expressions to be based off __getitem__ exclusivelyMike Bayer2013-12-174-38/+48
| | | | | | | | | | | | | | | | | | - add support for "standalone" JSON objects; this involves getting CAST to upgrade the given type of a bound parameter. should add a core-only test for this. - add tests for "standalone" json round trips both with and without unicode - add mechanism by which we remove psycopg2's "json" handler in order to get the effect of using our non-native result handlers
* | - enhance the exclusions system to support database versions within the ↵Mike Bayer2013-12-172-7/+17
| | | | | | | | __only_on__ attribute
* | Merge branch 'issue_2581' of github.com:nathan-rice/sqlalchemy into pg_jsonMike Bayer2013-12-174-1/+148
|\ \
| * | sqlalchemy/dialects/postgresql/pgjson:pr/50nathan2013-12-111-7/+14
| | | | | | | | | | | | - Updated documentation for JSON class
| * | sqlalchemy/dialects/postgresql/pgjson:nathan2013-12-111-2/+14
| | | | | | | | | | | | | | | - Added support for additional operators - Made return as json default (rather than text)
| * | sqlalchemy/dialects/postgresql/psycopg2:nathan2013-12-101-2/+0
| | | | | | | | | | | | - Removed unneeded import of psycopg2.extensions