summaryrefslogtreecommitdiff
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
* jsonb support for <@, ?| and ?& added.pr/101Damian Dimmich2014-07-011-1/+18
| | | | need to see if equality already works.
* minor cleanup of the jsonb - had extraneous operators that where copiedDamian Dimmich2014-06-281-5/+1
| | | | | | from hstore that don't apply. Add tests for ? and @> operators.
* add has_key & contains operators for jsonb (ported over from hstore)Damian Dimmich2014-06-281-21/+17
|
* initial support for JSONB - this only allows you to define the JSONBDamian Dimmich2014-06-243-3/+117
| | | | | datatype - this does not add any of the additional support for querying/indexing yet.
* - reverse course in #3061 so that we instead no longer set None in the attributeMike Bayer2014-06-231-9/+1
| | | | | | | | | when we do a get; we return the None as always but we leave the dict blank and the loader callable still in place. The case for this implicit get on a pending object is not super common and there really should be no change in state at all when this operation proceeds. This change is more dramatic as it reverses a behavior SQLA has had since the first release. fixes #3061
* - Reverted the change for :ticket:`3060` - this is a unit of workMike Bayer2014-06-231-1/+1
| | | | | | | fix that is updated more comprehensively in 1.0 via :ticket:`3061`. The fix in :ticket:`3060` unfortunately produces a new issue whereby an eager load of a many-to-one attribute can produce an event that is interpreted into an attribute change.
* - Additional checks have been added for the case where an inheritingMike Bayer2014-06-201-7/+16
| | | | | | | | | | mapper is implicitly combining one of its column-based attributes with that of the parent, where those columns normally don't necessarily share the same value. This is an extension of an existing check that was added via :ticket:`1892`; however this new check emits only a warning, instead of an exception, to allow for applications that may be relying upon the existing behavior. fixes #3042
* - The :paramref:`.Column.nullable` flag is implicitly set to ``False``Mike Bayer2014-06-201-0/+1
| | | | | | | | | when that :class:`.Column` is referred to in an explicit :class:`.PrimaryKeyConstraint` for that table. This behavior now matches that of when the :class:`.Column` itself has the :paramref:`.Column.primary_key` flag set to ``True``, which is intended to be an exactly equivalent case. fixes #3023
* - Added a new type :class:`.postgresql.OID` to the Postgresql dialect.Mike Bayer2014-06-202-2/+15
| | | | | | | | While "oid" is generally a private type within PG that is not exposed in modern versions, there are some PG use cases such as large object support where these types might be exposed, as well as within some user-reported schema reflection use cases. fixes #3002
* - Fixed bug where column names added to ``mysql_length`` parameterMike Bayer2014-06-181-3/+7
| | | | | | | | on an index needed to have the same quoting for quoted names in order to be recognized. The fix makes the quotes optional but also provides the old behavior for backwards compatibility with those using the workaround. fixes #3085
* - Modified the behavior of :func:`.orm.load_only` such that primary keyMike Bayer2014-06-122-3/+18
| | | | | | | | | columns are always added to the list of columns to be "undeferred"; otherwise, the ORM can't load the row's identity. Apparently, one can defer the mapped primary keys and the ORM will fail, that hasn't been changed. But as load_only is essentially saying "defer all but X", it's more critical that PK cols not be part of this deferral. fixes #3080
* Update compiler.pyBY-jk2014-06-081-1/+2
| | | | | | Moved initialization into else block Conflicts: lib/sqlalchemy/sql/compiler.py
* Merge branch 'master' of https://github.com/BY-jk/sqlalchemyMike Bayer2014-06-081-1/+1
|\
| * Wrong type usagepr/95BY-jk2014-05-301-1/+1
| | | | | | Wrong Type (TEXT) being used in StringTest
* | once kwarg in event funcs is new in 0.9.4Justin Wood (Callek)2014-06-051-2/+2
| | | | | | | | event.listen and event.listen_for have a kwarg once added in 0.9.4 (not 0.9.3) CHANGELOG agrees with this as well. (as does my manual testing)
* | - remove drizzle dialectMike Bayer2014-05-307-735/+123
| | | | | | | | | | - restore mysqldb fully within dialects/mysql/, it's no longer a connector. fixes #2984
* | - vastly improve the "safe close cursor" tests in test_reconnectMike Bayer2014-05-302-3/+3
| | | | | | | | | | | | | | | | | | | | | | - Fixed bug which would occur if a DBAPI exception occurs when the engine first connects and does its initial checks, and the exception is not a disconnect exception, yet the cursor raises an error when we try to close it. In this case the real exception would be quashed as we tried to log the cursor close exception via the connection pool and failed, as we were trying to access the pool's logger in a way that is inappropriate in this very specific scenario. fixes #3063
* | - The ``__mapper_args__`` dictionary is copied from a declarativeMike Bayer2014-05-301-1/+4
| | | | | | | | | | | | | | | | | | mixin or abstract class when accessed, so that modifications made to this dictionary by declarative itself won't conflict with that of other mappings. The dictionary is modified regarding the ``version_id_col`` and ``polymorphic_on`` arguments, replacing the column within with the one that is officially mapped to the local class/table. fixes #3062
* | - changelog + docs for pg8000 transaction isolation levelMike Bayer2014-05-303-2/+39
| |
* | Merge branch 'master' of https://github.com/tlocke/sqlalchemy into tlocke-masterMike Bayer2014-05-301-21/+40
|\ \
| * | PEP 8 tidy of pg8000 dialect and postgresql/test_dialect.pypr/88Tony Locke2014-05-221-14/+11
| | |
| * | Autocommit isolation level for postgresql+pg8000Tony Locke2014-05-221-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | As with postgresql+psycopg2, execution_options(isolation_level='AUTOCOMMIT') now works for the postgresql+pg8000 dialect. Also enabled the autocommit test in test_dialect.py for pg8000.
| * | Updated doc string for postgresql+pg8000 dialectTony Locke2014-05-211-10/+8
| | |
| * | pg8000.dbapi is now just pg8000Tony Locke2014-05-211-1/+1
| | |
* | | update commentsMike Bayer2014-05-301-4/+6
| | |
* | | Merge branch 'psycopg_disconnect' of https://github.com/dirkmueller/sqlalchemyMike Bayer2014-05-301-1/+5
|\ \ \
| * | | Another Variant for detecting if a connection is closedpr/87Dirk Mueller2014-05-111-1/+5
| | |/ | |/| | | | | | | | | | | | | | | | If there is a closed attribute on the connection and it is true, return true. Implements a todo in the code and helps in one specific disconnect case where it previously did not match because the error message was "unknown error".
* | | revert this, not sure why that changedMike Bayer2014-05-301-1/+1
| | |
* | | - Related to :ticket:`3060`, an adjustment has been made to the unitMike Bayer2014-05-306-25/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | of work such that loading for related many-to-one objects is slightly more aggressive, in the case of a graph of self-referential objects that are to be deleted; the load of related objects is to help determine the correct order for deletion if passive_deletes is not set. - revert the changes to test_delete_unloaded_m2o, these deletes do in fact need to occur in the order of the two child objects first.
* | | - add a new assertsql construct "Or", so that we can test for a UOW flushMike Bayer2014-05-301-1/+20
| | | | | | | | | | | | | | | | | | that might take one of multiple directions; apply this to test_delete_unloaded_m2o which is now illustrating multiple paths due to #3060/#3061, though still doing the right thing.
* | | - Adjustment to attribute mechanics concerning when a value isMike Bayer2014-05-2911-64/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | implicitly initialized to None via first access; this action, which has always resulted in a population of the attribute, now emits an attribute event just like any other attribute set operation and generates the same kind of history as one. Additionally, many mapper internal operations will no longer implicitly generate these "None" values when various never-set attributes are checked. These are subtle behavioral fixes to attribute mechanics which provide a better solution to the problem of :ticket:`3060`, which also involves recognition of attributes explicitly set to ``None`` vs. attributes that were never set. fixes #3061
* | | - Fixed a few edge cases which arise in the so-called "row switch"Mike Bayer2014-05-284-10/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | scenario, where an INSERT/DELETE can be turned into an UPDATE. In this situation, a many-to-one relationship set to None, or in some cases a scalar attribute set to None, may not be detected as a net change in value, and therefore the UPDATE would not reset what was on the previous row. This is due to some as-yet unresovled side effects of the way attribute history works in terms of implicitly assuming None isn't really a "change" for a previously un-set attribute. See also :ticket:`3061`. fixes #3060
* | | - Fixed bug in INSERT..FROM SELECT construct where selecting from aMike Bayer2014-05-251-1/+1
| | | | | | | | | | | | | | | UNION would wrap the union in an anonymous (e.g. unlabled) subquery. fixes #3044
* | | - Added the ``hashable=False`` flag to the PG :class:`.HSTORE` type, whichMike Bayer2014-05-251-0/+1
| | | | | | | | | | | | | | | | | | is needed to allow the ORM to skip over trying to "hash" an ORM-mapped HSTORE column when requesting it in a mixed column/entity list. Patch courtesy Gunnlaugur Þór Briem. Fixes #3053
* | | - Fixed bug in subquery eager loading where a long chain ofMike Bayer2014-05-251-1/+1
| | | | | | | | | | | | | | | | | | | | | eager loads across a polymorphic-subclass boundary in conjunction with polymorphic loading would fail to locate the subclass-link in the chain, erroring out with a missing property name on an :class:`.AliasedClass`. fixes #3055
* | | - Fixed bug in SQLite join rewriting where anonymized column namesMike Bayer2014-05-251-0/+3
| | | | | | | | | | | | | | | | | | due to repeats would not correctly be rewritten in subqueries. This would affect SELECT queries with any kind of subquery + join. fixes #3057
* | | - repair oracle compilation for new limit/offset system.Mike Bayer2014-05-241-15/+26
| | |
* | | - fix some identity map accessorsMike Bayer2014-05-242-1/+40
| | | | | | | | | | | | - fix a bad comparison in MySQL w/ limit/offset thing
* | | - revert the memoized committed_state / callables changes as they appear to ↵Mike Bayer2014-05-241-19/+8
| | | | | | | | | | | | | | | | | | add to lazy loading. not really clear which approach is better in the long run.
* | | - fix typos in testMike Bayer2014-05-241-0/+3
| | | | | | | | | | | | - restore __len__ to identity map
* | | - Fixed bug where the :meth:`.Operators.__and__`,Mike Bayer2014-05-242-8/+40
| | | | | | | | | | | | | | | | | | | | | :meth:`.Operators.__or__` and :meth:`.Operators.__invert__` operator overload methods could not be overridden within a custom :class:`.TypeEngine.Comparator` implementation. fixes #3012
* | | - hyperlink all the column operators listed in the ORM tutorial common ↵Mike Bayer2014-05-241-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | filter operators section - add language to MATCH explicitly stating this operator varies by backend and is not available on SQLite, as the tutorial defaults to SQLite to start with, fix #3059 - on the actual match() documentation fix this up to be more accurate, list some example renderings for different backends. again mention SQLite not supported
* | | - document the compiler_kwargs accessorMike Bayer2014-05-231-0/+20
| | | | | | | | | | | | - add new FAQ for rendering SQL as a string
* | | Merge branch 'ticket_3034'Mike Bayer2014-05-2311-68/+258
|\ \ \
| * | | - more tests, including backend testsMike Bayer2014-05-164-48/+173
| | | | | | | | | | | | | | | | - implement for SQL server, use window functions when simple limit/offset not available
| * | | Merge branch 'issue_3034' of ↵Mike Bayer2014-05-169-54/+119
| |\ \ \ | | |_|/ | |/| | | | | | https://bitbucket.org/dobesv/sqlalchemy/branch/issue_3034 into ticket_3034
| | * | Remove unused importDobes Vandermeer2014-05-091-6/+29
| | | |
| | * | Remove unused importDobes Vandermeer2014-04-251-1/+1
| | | |
| | * | Remove unused importDobes Vandermeer2014-04-251-1/+0
| | | |
| | * | Remove unused importDobes Vandermeer2014-04-251-1/+0
| | | |