summaryrefslogtreecommitdiff
path: root/test/requirements.py
Commit message (Collapse)AuthorAgeFilesLines
* Add `sqlalchemy.ext.index` for indexed attributes for ORMJeong YunWon2016-06-151-0/+7
| | | | | | | | | Add `sqlalchemy.ext.index.index_property` which subscribe an index of a column with `Indexable` type. Co-authored-by: Mike Bayer <mike_mp@zzzcomputing.com> Change-Id: I238c23131e4fded5dc7f7a25eb02e26008099d00 Pull-request: https://github.com/zzzeek/sqlalchemy/pull/235
* Ensure 'options' is always present in foreign key infoMike Bayer2016-06-031-0/+3
| | | | | | | | | Regarding 0e88bcc30ed49193b91f248123f526fa30007f22, "options" needs to be present as a key in the dictionary because Alembic uses this as a guide to know if the backend is even capable of reporting on foreign key options. Change-Id: I271090f75088cfeec24315a878060f9b8a265335
* Implemented CHECK constraint reflection for SQLite and PostgreSQLAlex Grönholm2016-06-011-0/+7
| | | | | | Co-Authored-By: Mike Bayer <mike_mp@zzzcomputing.com> Change-Id: Ie6cf2d2958d1c567324db9e08fef2d3186e97350 Pull-request: https://bitbucket.org/zzzeek/sqlalchemy/pull-requests/80
* Merge remote-tracking branch 'origin/pr/230'Mike Bayer2016-03-301-1/+1
|\
| * sqlite: reflect primary key constraint names, fixes #3629Diana Clarke2016-01-271-1/+1
| |
* | - Added basic isolation level support to the SQL Server dialectsMike Bayer2016-03-151-1/+1
| | | | | | | | | | | | via :paramref:`.create_engine.isolation_level` and :paramref:`.Connection.execution_options.isolation_level` parameters. fixes #3534
* | - revert the change first made in a6fe4dc, as we are now generalizingMike Bayer2016-01-281-0/+4
|/ | | | | | | | | | | | | | | | | | | | | | | the warning here to all safe_reraise() cases in Python 2. - Revisiting :ticket:`2696`, first released in 1.0.10, which attempts to work around Python 2's lack of exception context reporting by emitting a warning for an exception that was interrupted by a second exception when attempting to roll back the already-failed transaction; this issue continues to occur for MySQL backends in conjunction with a savepoint that gets unexpectedly lost, which then causes a "no such savepoint" error when the rollback is attempted, obscuring what the original condition was. The approach has been generalized to the Core "safe reraise" function which takes place across the ORM and Core in any place that a transaction is being rolled back in response to an error which occurred trying to commit, including the context managers provided by :class:`.Session` and :class:`.Connection`, and taking place for operations such as a failure on "RELEASE SAVEPOINT". Previously, the fix was only in place for a specific path within the ORM flush/commit process; it now takes place for all transational context managers as well. fixes #2696
* - pg8000 fixes for jsonMike Bayer2016-01-071-0/+4
|
* - Added :class:`.mysql.JSON` for MySQL 5.7. The JSON type providesMike Bayer2016-01-061-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | persistence of JSON values in MySQL as well as basic operator support of "getitem" and "getpath", making use of the ``JSON_EXTRACT`` function in order to refer to individual paths in a JSON structure. fixes #3547 - Added a new type to core :class:`.types.JSON`. This is the base of the PostgreSQL :class:`.postgresql.JSON` type as well as that of the new :class:`.mysql.JSON` type, so that a PG/MySQL-agnostic JSON column may be used. The type features basic index and path searching support. fixes #3619 - reorganization of migration docs etc. to try to refer both to the fixes to JSON that helps Postgresql while at the same time indicating these are new features of the new base JSON type. - a rework of the Array/Indexable system some more, moving things that are specific to Array out of Indexable. - new operators for JSON indexing added to core so that these can be compiled by the PG and MySQL dialects individually - rename sqltypes.Array to sqltypes.ARRAY - as there is no generic Array implementation, this is an uppercase type for now, consistent with the new sqltypes.JSON type that is also not a generic implementation. There may need to be some convention change to handle the case of datatypes that aren't generic, rely upon DB-native implementations, but aren't necessarily all named the same thing.
* - fix changelog for #3602Mike Bayer2015-12-081-0/+4
| | | | | | - add version switch for backend fsp test (cherry picked from commit 67b22cee3ab2c17b61100f1ccd69081082c0f074)
* - limit the search for schemas to not include "temp", which is sort of an ↵Mike Bayer2015-09-281-1/+0
| | | | | | | | | | implicit schema - repair the CREATE INDEX ddl for schemas - update provisioning to include support for setting up ATTACH DATABASE up front for the test_schema; enable "schemas" testing for SQLite - changelog / migration notes for new SQLite schema support - include the "schema" as the "remote_schema" when we reflect SQLite FKs
* - fix the postgresql_jsonb requirement to include the 9.4 requirementMike Bayer2015-08-181-1/+1
| | | | | | | | - new test for json col['x']['y']['z'] seems to fail pre PG 9.4, fails on comparisons for non-compatible data instead of not matching - no need to call SpecPredicate(db) directly in exclusion functions, by using Predicate.as_predicate() the spec strings can have version comparisons
* - correct this, need bracketsMike Bayer2015-08-151-1/+1
|
* - make these failure cases more specific to catch Oracle.Mike Bayer2015-08-151-2/+19
| | | | Would be nice to fix Oracle here
* - The behavior of the :func:`.union` construct and related constructsMike Bayer2015-08-121-0/+9
| | | | | | | | | such as :meth:`.Query.union` now handle the case where the embedded SELECT statements need to be parenthesized due to the fact that they include LIMIT, OFFSET and/or ORDER BY. These queries **do not work on SQLite**, and will fail on that backend as they did before, but should now work on all other backends. fixes #2528
* - Repaired some typing and test issues related to the pypyMike Bayer2015-06-051-4/+25
| | | | | | | | | psycopg2cffi dialect, in particular that the current 2.7.0 version does not have native support for the JSONB type. The version detection for psycopg2 features has been tuned into a specific sub-version for psycopg2cffi. Additionally, test coverage has been enabled for the full series of psycopg2 features under psycopg2cffi. fixes #3439
* - break out binary insert against None, disable for freetds for nowMike Bayer2015-05-241-1/+4
|
* - pg8000 wants to raise a ProgrammingError for a PK violationMike Bayer2015-05-151-0/+4
|
* - Fixed support for "literal_binds" mode when using limit/offsetMike Bayer2015-04-231-1/+1
| | | | | | with Firebird, so that the values are again rendered inline when this is selected. Related to :ticket:`3034`. fixes #3381
* - Fixed bug where updated PG index reflection as a result ofMike Bayer2015-04-011-1/+1
| | | | | | | :ticket:`3184` would cause index operations to fail on Postgresql versions 8.4 and earlier. The enhancements are now disabled when using an older version of Postgresql. fixes #3343
* - add a skip for JSONB on pg8000 if we are on 1.10.1 or earlierMike Bayer2015-03-021-0/+8
|
* - Added support for the :class:`postgresql.JSONB` datatype whenMike Bayer2015-01-311-0/+6
| | | | | | | | | | | | | | | | | using psycopg2 2.5.4 or greater, which features native conversion of JSONB data so that SQLAlchemy's converters must be disabled; additionally, the newly added psycopg2 extension ``extras.register_default_jsonb`` is used to establish a JSON deserializer passed to the dialect via the ``json_deserializer`` argument. Also repaired the Postgresql integration tests which weren't actually round-tripping the JSONB type as opposed to the JSON type. Pull request courtesy Mateusz Susik. - Repaired the use of the "array_oid" flag when registering the HSTORE type with older psycopg2 versions < 2.4.3, which does not support this flag, as well as use of the native json serializer hook "register_default_json" with user-defined ``json_deserializer`` on psycopg2 versions < 2.5, which does not include native json.
* - additional test adjustments for pypy / psycopg2cffi. ThisMike Bayer2015-01-261-0/+4
| | | | | | | | | | consists mainly of adjusting fixtures to ensure connections are closed explicitly. psycopg2cffi also handles unicode bind parameter names differently than psycopg2, and seems to possibly have a little less control over floating point values at least in one test which is marked as a "fail", though will see if it runs differently on linux than osx.. - changelog for psycopg2cffi, fixes #3052
* Added psycopg2cffi dialectShaun Stanworth2015-01-261-0/+4
|
* - SQL Server 2012 now recommends VARCHAR(max), NVARCHAR(max),Mike Bayer2014-12-061-0/+12
| | | | | | | 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-061-3/+9
| | | | - fix "temporary_tables" requirement
* Merge remote-tracking branch 'origin/pr/151' into pr151Mike Bayer2014-12-011-0/+11
|\
| * Merge branch 'master' into fdbsql-testsScott Dugas2014-11-031-2/+27
| |\ | | | | | | | | | | | | Conflicts: lib/sqlalchemy/testing/exclusions.py
| * | Added requirement for temporary tablesScott Dugas2014-10-301-0/+5
| | |
| * | Added new requirement for check_constraintsScott Dugas2014-10-231-0/+6
| | |
* | | - fix minor spelling errorJon Nelson2014-11-141-1/+1
| |/ |/|
* | - added new backend for pysqlcipher, as we will probably getMike Bayer2014-10-291-2/+2
| | | | | | | | requests for it soon.
* | - Mysqlconnector as of version 2.0, probably as a side effect ofMike Bayer2014-10-121-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the python 3 merge, now does not expect percent signs (e.g. as used as the modulus operator and others) to be doubled, even when using the "pyformat" bound parameter format (this change is not documented by Mysqlconnector). The dialect now checks for py2k and for mysqlconnector less than version 2.0 when detecting if the modulus operator should be rendered as ``%%`` or ``%``. - Unicode SQL is now passed for MySQLconnector version 2.0 and above; for Py2k and MySQL < 2.0, strings are encoded. Note that mysqlconnector as of 2.0.1 appears to have a bug with unicode DDL on py2k, so the tests here are skipping until we observe it's fixed. - take out profiling on mysqlconnector, callcounts vary too much with its current development speed
* | - Added support for the Oracle table option ON COMMIT. This is beingMike Bayer2014-09-171-1/+1
| | | | | | | | | | | | | | | | | | kept separate from Postgresql's ON COMMIT for now even though ON COMMIT is in the SQL standard; the option is still very specific to temp tables and we eventually would provide a more first class temporary table feature. - oracle can apparently do get_temp_table_names() too, so implement that, fix its get_table_names(), and add it to #3204. fixes #3204 again.
* | - Added :meth:`.Inspector.get_temp_table_names` andMike Bayer2014-09-171-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | :meth:`.Inspector.get_temp_view_names`; currently, only the SQLite dialect supports these methods. The return of temporary table and view names has been **removed** from SQLite's version of :meth:`.Inspector.get_table_names` and :meth:`.Inspector.get_view_names`; other database backends cannot support this information (such as MySQL), and the scope of operation is different in that the tables can be local to a session and typically aren't supported in remote schemas. fixes #3204
* | Fixing some pep8s and adding get_foreign_tables.Rodrigo Menezes2014-09-031-1/+1
| |
* | Merge branch 'master' of https://github.com/zzzeek/sqlalchemy into ↵Rodrigo Menezes2014-08-261-11/+0
|\ \ | |/ | | | | feature/postgres-relkind
| * two_phase_recover, COMMIT PREPARED in transactionTony Locke2014-08-021-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | In test/engine/test_transaction/test_two_phase_recover(), a COMMIT PREPARED is issued while in a transaction. This causes an error, and a prepared transaction is left hanging around which causes the subsequent test to hang. I've altered the test to execute the offending query with autocommit=true, then when it gets to the COMMIT PRPARED it can go ahead. There's another complication for pg8000 because its tpc_recover() method started a transaction if one wasn't already in progress. I've decided that this is incorrect behaviour and so from pg8000-1.9.13 this method never starts or stops a transaction.
| * With pg8000-1.9.13 passes engine/test_reconnectTony Locke2014-08-021-10/+0
| | | | | | | | | | | | | | The pg8000 dialect checks the text of the exception to determine if the connection is closed. I'd (recklessly!) changed the text of the exception in a recent version of the pg8000 driver adding capitalization and a full stop. I've changed it back now so all works.
* | Added support for postgres_relkind.Rodrigo Menezes2014-08-141-0/+8
|/
* - add support for tags, including include/exclude support.Mike Bayer2014-07-271-12/+2
| | | | simplify tox again now that we can exclude tests more easily
* - rework the exclusions system to have much better support for compoundMike Bayer2014-07-261-12/+15
| | | | rules, better message formatting
* - more pg8000 tests passingMike Bayer2014-07-251-0/+10
|
* - update some SQL server tests, supportMike Bayer2014-07-221-2/+8
| | | | - add support for IDENTITY INSERT setting for INSERT with inline VALUES
* - Fixed bug introduced in 0.9.5 by new pg8000 isolation level featureMike Bayer2014-07-211-0/+1
| | | | | where engine-level isolation level parameter would raise an error on connect. fixes #3134
* Add postgresql+pg8000 to floats_to_four_decimalsTony Locke2014-05-211-2/+5
| | | | | pg8000 uses binary transfer of floats and so accuracy is lost for floats that can't be represented exactly in binary.
* pg8000 no longer truncates decimalsTony Locke2014-05-211-2/+0
| | | | | We can now update the requirements to remove the special case of pg8000 truncating decimals.
* - Fixed ORM bug where changing the primary key of an object, then markingMike Bayer2014-03-281-1/+8
| | | | | | | | | | | | | it for DELETE would fail to target the correct row for DELETE. Then to compound matters, basic "number of rows matched" checks were not being performed. Both issues are fixed, however note that the "rows matched" check requires so-called "sane multi-row count" functionality; the DBAPI's executemany() method must count up the rows matched by individual statements and SQLAlchemy's dialect must mark this feature as supported, currently applies to some mysql dialects, psycopg2, sqlite only. fixes #3006 - Enabled "sane multi-row count" checking for the psycopg2 DBAPI, as this seems to be supported as of psycopg2 2.0.9.
* - Tweaked the settings for mysql-connector-python; in Py2K, theMike Bayer2014-03-271-8/+10
| | | | | | | | | | | "supports unicode statements" flag is now False, so that SQLAlchemy will encode the *SQL string* (note: *not* the parameters) to bytes before sending to the database. This seems to allow all unicode-related tests to pass for mysql-connector, including those that use non-ascii table/column names, as well as some tests for the TEXT type using unicode under cursor.executemany(). - other mysql-connector fixes; latest version seems to do better on function call counts
* fix some mysqlconnector failuresMike Bayer2014-03-241-4/+10
|