summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy
Commit message (Collapse)AuthorAgeFilesLines
* Remove tables from metadata when autoload failspr/78Roman Podoliaka2014-03-121-1/+1
| | | | | | | | If autoloading of a table fails, don't register it in a metadata instance. It seems that the original behaviour was accidentally changed in f6198d9abf453182f4b111e0579a7a4ef1614e79, restore it. Closes issue #2988
* - Added a new feature :func:`.schema.conv`, the purpose of which is toMike Bayer2014-03-122-5/+48
| | | | | | | | mark a constraint name as already having had a naming convention applied. This token will be used by Alembic migrations as of Alembic 0.6.4 in order to render constraints in migration scripts with names marked as already having been subject to a naming convention. re: #2991
* :paramref:`.MetaData.naming_convention` feature will now alsoMike Bayer2014-03-121-2/+9
| | | | | | apply to :class:`.CheckConstraint` objects that are associated directly with a :class:`.Column` instead of just on the :class:`.Table`.
* - Fixed bug in new :paramref:`.MetaData.naming_convention` featureMike Bayer2014-03-122-3/+3
| | | | | | | | | where the name of a check constraint making use of the `"%(constraint_name)s"` token would get doubled up for the constraint generated by a boolean or enum type, and overall duplicate events would cause the `"%(constraint_name)s"` token to keep compounding itself. fixes #2991
* unitttest has a SkipTest also but pytest doesn'tMike Bayer2014-03-111-6/+4
| | | | honor it unless nose is imported too...
* - A warning is emitted if the :meth:`.MapperEvents.before_configured`Mike Bayer2014-03-111-2/+46
| | | | | | or :meth:`.MapperEvents.after_configured` events are applied to a specific mapper or mapped class, as the events are only invoked for the :class:`.Mapper` target at the general level.
* - Added a new keyword argument ``once=True`` to :func:`.event.listen`Mike Bayer2014-03-114-5/+33
| | | | | and :func:`.event.listens_for`. This is a convenience feature which will wrap the given listener such that it is only invoked once.
* take out the support paragraph and just put a basic introMike Bayer2014-03-091-9/+3
|
* Merge pull request #75 from msabramo/pymssql_update_web_sitemike bayer2014-03-091-9/+7
|\ | | | | Update URL for pymssql
| * dialects/mssql/pymssql.py: Remove second two paragraphs, as requested by ↵pr/75Marc Abramowitz2014-03-031-9/+0
| | | | | | | | @zzzeek.
| * Update pymssql dialect description, remove "limitations" sectionMarc Abramowitz2014-02-271-9/+16
| |
| * Update URL for pymssqlMarc Abramowitz2014-02-271-1/+1
| |
* | import testing needs to be here as we set .db on itMike Bayer2014-03-071-0/+1
| |
* | - cx_oracle test for "unicode returns" needs to be cx_oracle only,Mike Bayer2014-03-062-3/+2
| | | | | | | | | | | | | | and also will fail on py3k. - enhance exclusions so that a requirement attribute can be passed to fails_if/skip_if. - fix coverage docs to mention pytest.
* | - changelog for pullreq github:74Mike Bayer2014-03-052-41/+91
| | | | | | | | | | - various improvemnts to oracle docs, rewrite section on unicode, more linking, enhance section on resolve_synonyms
* | Merge branch 'master' of https://github.com/Cito/sqlalchemy into tMike Bayer2014-03-051-1/+19
|\ \
| * | Restore coercion to unicode with cx_Oracle.pr/74Christoph Zwerschke2014-02-271-1/+19
| |/ | | | | | | This feature is now turned off by default.
* | - Fixed small issue in :class:`.SingletonThreadPool` where the currentMike Bayer2014-03-051-3/+3
| | | | | | | | | | connection to be returned might get inadvertently cleaned out during the "cleanup" process. Patch courtesy jd23.
* | - no unitest.SkipTest in 2.6...argggggMike Bayer2014-03-041-1/+9
| |
* | cut out the BS as far as MySQLdb urls, put the one url everyone should be usingMike Bayer2014-03-041-22/+14
| |
* | - Fixed bug in association proxy where assigning an empty sliceMike Bayer2014-03-041-2/+3
| | | | | | | | (e.g. ``x[:] = [...]``) would fail on Py3k.
* | fix the profiling ids hereMike Bayer2014-03-031-1/+3
| |
* | - Support has been added for pytest to run tests. This runnerMike Bayer2014-03-0322-482/+752
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | is currently being supported in addition to nose, and will likely be preferred to nose going forward. The nose plugin system used by SQLAlchemy has been split out so that it works under pytest as well. There are no plans to drop support for nose at the moment and we hope that the test suite itself can continue to remain as agnostic of testing platform as possible. See the file README.unittests.rst for updated information on running tests with pytest. The test plugin system has also been enhanced to support running tests against mutiple database URLs at once, by specifying the ``--db`` and/or ``--dburi`` flags multiple times. This does not run the entire test suite for each database, but instead allows test cases that are specific to certain backends make use of that backend as the test is run. When using pytest as the test runner, the system will also run specific test suites multiple times, once for each database, particularly those tests within the "dialect suite". The plan is that the enhanced system will also be used by Alembic, and allow Alembic to run migration operation tests against multiple backends in one run, including third-party backends not included within Alembic itself. Third party dialects and extensions are also encouraged to standardize on SQLAlchemy's test suite as a basis; see the file README.dialects.rst for background on building out from SQLAlchemy's test platform.
* | - get util.get_callable_argspec() to be completely bulletproof for 2.6-3.4,Mike Bayer2014-03-023-39/+37
| | | | | | | | | | methods, classes, builtins, functools.partial(), everything known so far - use get_callable_argspec() within ColumnDefault._maybe_wrap_callable, re: #2979
* | - Fixed some test/feature failures occurring in Python 3.4,Mike Bayer2014-03-022-8/+15
| | | | | | | | | | | | in particular the logic used to wrap "column default" callables wouldn't work properly for Python built-ins. fixes #2979
* | - add new tests for individual type reflectionMike Bayer2014-03-011-0/+46
| |
* | use view_column requirement hereMike Bayer2014-02-281-3/+3
| |
* | - dont create a self-ref FK if test suite marked as not supporting self refMike Bayer2014-02-282-13/+27
| | | | | | | | | | - break out reflection of views to support view column reflection separately from view definition
* | fix typosMike Bayer2014-02-282-2/+2
| |
* | - Added a new option to :paramref:`.relationship.innerjoin` which isMike Bayer2014-02-283-24/+72
| | | | | | | | | | | | | | | | | | | | | | to specify the string ``"nested"``. When set to ``"nested"`` as opposed to ``True``, the "chaining" of joins will parenthesize the inner join on the right side of an existing outer join, instead of chaining as a string of outer joins. This possibly should have been the default behavior when 0.9 was released, as we introduced the feature of right-nested joins in the ORM, however we are keeping it as a non-default for now to avoid further surprises. fixes #2976
* | - Fixed bug in :func:`.tuple_` construct where the "type" of essentiallyMike Bayer2014-02-271-5/+6
|/ | | | | | | | | | | the first SQL expression would be applied as the "comparison type" to a compared tuple value; this has the effect in some cases of an inappropriate "type coersion" occurring, such as when a tuple that has a mix of String and Binary values improperly coerces target values to Binary even though that's not what they are on the left side. :func:`.tuple_` now expects heterogeneous types within its list of values. fixes #2977
* restore the contracts of update/extend to the degree that the same column ↵Mike Bayer2014-02-271-3/+5
| | | | | | identity isn't appended to the list. reflection makes use of this.
* - Fixed a regression in association proxy caused by :ticket:`2810` whichMike Bayer2014-02-271-5/+3
| | | | | | | | | caused a user-provided "getter" to no longer receive values of ``None`` when fetching scalar values from a target that is non-present. The check for None introduced by this change is now moved into the default getter, so a user-provided getter will also again receive values of None. re: #2810
* - Removed stale names from ``sqlalchemy.orm.interfaces.__all__`` andMike Bayer2014-02-261-4/+4
| | | | | | refreshed with current names, so that an ``import *`` from this module again works. fixes #2975
* - Adjusted the logic which applies names to the .c collection whenMike Bayer2014-02-261-6/+9
| | | | | | | | | a no-name :class:`.BindParameter` is received, e.g. via :func:`.sql.literal` or similar; the "key" of the bind param is used as the key within .c. rather than the rendered name. Since these binds have "anonymous" names in any case, this allows individual bound parameters to have their own name within a selectable if they are otherwise unlabeled. fixes #2974
* - Some changes to how the :attr:`.FromClause.c` collection behavesMike Bayer2014-02-262-32/+54
| | | | | | | | | | | | | | | | | | | | | | | when presented with duplicate columns. The behavior of emitting a warning and replacing the old column with the same name still remains to some degree; the replacement in particular is to maintain backwards compatibility. However, the replaced column still remains associated with the ``c`` collection now in a collection ``._all_columns``, which is used by constructs such as aliases and unions, to deal with the set of columns in ``c`` more towards what is actually in the list of columns rather than the unique set of key names. This helps with situations where SELECT statements with same-named columns are used in unions and such, so that the union can match the columns up positionally and also there's some chance of :meth:`.FromClause.corresponding_column` still being usable here (it can now return a column that is only in selectable.c._all_columns and not otherwise named). The new collection is underscored as we still need to decide where this list might end up. Theoretically it would become the result of iter(selectable.c), however this would mean that the length of the iteration would no longer match the length of keys(), and that behavior needs to be checked out. fixes #2974 - add a bunch more tests for ColumnCollection
* - Fixed issue in new :meth:`.TextClause.columns` method where the orderingMike Bayer2014-02-261-7/+7
| | | | | | of columns given positionally would not be preserved. This could have potential impact in positional situations such as applying the resulting :class:`.TextAsFrom` object to a union.
* - use MutableMapping to make this more succinct, completeMike Bayer2014-02-261-47/+35
|
* docsMike Bayer2014-02-252-13/+30
|
* - The new dialect-level keyword argument system for schema-levelMike Bayer2014-02-251-13/+156
| | | | | | | | | constructs has been enhanced in order to assist with existing schemes that rely upon addition of ad-hoc keyword arguments to constructs. - To suit the use case of allowing custom arguments at construction time, the :meth:`.DialectKWArgs.argument_for` method now allows this registration. fixes #2962
* - Fixed bug where events set to listen at the classMike Bayer2014-02-251-1/+1
| | | | | | | | level (e.g. on the :class:`.Mapper` or :class:`.ClassManager` level, as opposed to on an individual mapped class, and also on :class:`.Connection`) that also made use of internal argument conversion (which is most within those categories) would fail to be removable. fixes #2973
* - Fixed regression from 0.8 where using an option likeMike Bayer2014-02-241-0/+2
| | | | | | | :func:`.orm.lazyload` with the "wildcard" expression, e.g. ``"*"``, would raise an assertion error in the case where the query didn't contain any actual entities. This assertion is meant for other cases and was catching this one inadvertently.
* -rewrite expire/refresh sectionMike Bayer2014-02-231-0/+24
|
* - More fixes to SQLite "join rewriting"; the fix from :ticket:`2967`Mike Bayer2014-02-203-13/+29
| | | | | | | | | | | | | | implemented right before the release of 0.9.3 affected the case where a UNION contained nested joins in it. "Join rewriting" is a feature with a wide range of possibilities and is the first intricate "SQL rewriting" feature we've introduced in years, so we're sort of going through a lot of iterations with it (not unlike eager loading back in the 0.2/0.3 series, polymorphic loading in 0.4/0.5). We should be there soon so thanks for bearing with us :). fixes #2969 re: #2967 - solve the issue of join rewriting inspecting various types of from objects without using isinstance(), by adding some new underscored inspection flags to the FromClause hierarchy.
* fix typorel_0_9_3Mike Bayer2014-02-191-1/+1
|
* - Added an additional message to psycopg2 disconnect detection,Mike Bayer2014-02-191-0/+1
| | | | | | "could not send data to server", which complements the existing "could not receive data from server" and has been observed by users, fixes #2936
* - re: #2967, also fixed a somewhat related issue where join rewriting would failMike Bayer2014-02-191-0/+5
| | | | | on the columns clause of the SELECT statement if the targets were aliased tables, as opposed to individual aliased columns.
* - Fixed bug in SQLite "join rewriting" where usage of an exists() constructMike Bayer2014-02-191-3/+3
| | | | | would fail to be rewritten properly, such as when the exists is mapped to a column_property in an intricate nested-join scenario. #2967
* - add a topological rule here to place PARTITIONS after PARTITION_BY,Mike Bayer2014-02-191-1/+2
| | | | for output consistency within the tests as well as in practice
* restore the check ahead of the lock to avoid using it after initializationMike Bayer2014-02-191-6/+7
| | | | is done