summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/testing/suite
Commit message (Collapse)AuthorAgeFilesLines
* - use config-based test schemaMike Bayer2016-02-081-5/+5
|
* - more oracle fixesMike Bayer2016-02-031-1/+1
|
* - oracle requires GLOBAL hereMike Bayer2016-02-031-1/+1
|
* - use a StaticPool for componentreflectiontest to ensureMike Bayer2016-01-281-7/+16
| | | | | temp tables are reflectable on the same session they were created
* - pg8000 fixes for jsonMike Bayer2016-01-071-0/+1
|
* - add limiting criteria to the JSON tests so that we don'tMike Bayer2016-01-061-3/+16
| | | | | | attempt integer indexed access from a key/value object nor string access from an integer-indexed array, as earlier Postgresql versions (prior to 9.4) don't allow this
* - Added :class:`.mysql.JSON` for MySQL 5.7. The JSON type providesMike Bayer2016-01-061-2/+241
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* - make these failure cases more specific to catch Oracle.Mike Bayer2015-08-151-3/+3
| | | | Would be nice to fix Oracle here
* - The behavior of the :func:`.union` construct and related constructsMike Bayer2015-08-121-2/+122
| | | | | | | | | 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
* - Fixed bug in SQLite dialect where reflection of UNIQUE constraintsMike Bayer2015-07-211-0/+8
| | | | | | that included non-alphabetic characters in the names, like dots or spaces, would not be reflected with their name. fixes #3495
* - pg8000 wants to raise a ProgrammingError for a PK violationMike Bayer2015-05-151-0/+2
|
* - Added support for the case of the misbehaving DBAPI that hasMike Bayer2015-05-152-0/+40
| | | | | | | | | | | pep-249 exception names linked to exception classes of an entirely different name, preventing SQLAlchemy's own exception wrapping from wrapping the error appropriately. The SQLAlchemy dialect in use needs to implement a new accessor :attr:`.DefaultDialect.dbapi_exception_translation_map` to support this feature; this is implemented now for the py-postgresql dialect. fixes #3421
* Mark tests that they require OFFSET support in databasepr/171Peter Hoffmann2015-05-051-1/+4
| | | | | The sqlalchemy_exasol dialect needs to support Exasol 4.x which does not support the OFFSET feature. Mark test with testing.requires.offset so that they can be skipped of in the exasol specific test suite.
* - fix this for pg8000 of all backends...Mike Bayer2015-03-241-1/+1
|
* - Turned off the "simple order by" flag on the MSSQL dialect; thisMike Bayer2015-03-241-0/+9
| | | | | | | | | | | is the flag that per :ticket:`2992` causes an order by or group by an expression that's also in the columns clause to be copied by label, even if referenced as the expression object. The behavior for MSSQL is now the old behavior that copies the whole expression in by default, as MSSQL can be picky on these particularly in GROUP BY expressions. fixes #3338 - Add a test that includes a composed label in a GROUP BY
* - The "auto close" for :class:`.ResultProxy` is now a "soft" close.Mike Bayer2015-03-171-3/+6
| | | | | | | | | | | That is, after exhausing all rows using the fetch methods, the DBAPI cursor is released as before and the object may be safely discarded, but the fetch methods may continue to be called for which they will return an end-of-result object (None for fetchone, empty list for fetchmany and fetchall). Only if :meth:`.ResultProxy.close` is called explicitly will these methods raise the "result is closed" error. fixes #3330 fixes #3329
* - document / work around that dialect_options isn't necessarily thereMike Bayer2014-12-051-0/+2
|
* - The :meth:`.PGDialect.has_table` method will now query againstMike Bayer2014-12-041-0/+4
| | | | | | | | | | | ``pg_catalog.pg_table_is_visible(c.oid)``, rather than testing for an exact schema match, when the schema name is None; this so that the method will also illustrate that temporary tables are present. Note that this is a behavioral change, as Postgresql allows a non-temporary table to silently overwrite an existing temporary table of the same name, so this changes the behavior of ``checkfirst`` in that unusual scenario. fixes #3264
* add more order by hereMike Bayer2014-10-111-1/+1
|
* - change this literal so that the bound name doesn't have a numericMike Bayer2014-10-111-2/+2
| | | | name, this is sort of a bug for oracle
* - :meth:`.Insert.from_select` now includes Python and SQL-expressionMike Bayer2014-10-101-1/+36
| | | | | | | defaults if otherwise unspecified; the limitation where non- server column defaults aren't included in an INSERT FROM SELECT is now lifted and these expressions are rendered as constants into the SELECT statement.
* Merge branch 'reflect-unique-constraints' of ↵Mike Bayer2014-10-041-4/+9
|\ | | | | | | https://bitbucket.org/jerdfelt/sqlalchemy into pr30
| * Reflect unique constraints when reflecting a Table objectJohannes Erdfelt2014-09-171-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Calls to reflect a table did not create any UniqueConstraint objects. The reflection core made no calls to get_unique_constraints and as a result, the sqlite dialect would never reflect any unique constraints. MySQL transparently converts unique constraints into unique indexes, but SQLAlchemy would reflect those as an Index object and as a UniqueConstraint. The reflection core will now deduplicate the unique constraints. PostgreSQL would reflect unique constraints as an Index object and as a UniqueConstraint object. The reflection core will now deduplicate the unique indexes.
* | - Added support for the Oracle table option ON COMMIT. This is beingMike Bayer2014-09-171-5/+17
|/ | | | | | | | | 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/+78
| | | | | | | | | | | | :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
* - ensure literal_binds works with LIMIT clause, FOR UPDATEMike Bayer2014-09-031-0/+15
|
* - use configured test_schema hereMike Bayer2014-08-081-12/+14
|
* - apply pep8 formatting to sqlalchemy/sql, sqlalchemy/util, sqlalchemy/dialects,Brian Jarrett2014-07-208-267/+261
| | | | sqlalchemy/orm, sqlalchemy/event, sqlalchemy/testing
* 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
* | - more tests, including backend testsMike Bayer2014-05-161-1/+79
| | | | | | | | - implement for SQL server, use window functions when simple limit/offset not available
* | Documentation fix-up: "its" vs. "it's"pr/91Matthias Urlichs2014-05-111-1/+1
|/ | | | | | | | | Removed ungrammatical apostrophes from documentation, replacing "it's" with "its" where appropriate (but in a few cases with "it is" when that read better). While doing that, I also fixed a couple of minor typos etc. as I noticed them.
* - Tweaked the settings for mysql-connector-python; in Py2K, theMike Bayer2014-03-271-1/+1
| | | | | | | | | | | "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
* Added missing text_type requirement to TextTestStefan Reich2014-03-271-0/+1
| | | | | Conflicts: lib/sqlalchemy/testing/suite/test_types.py
* - rename __multiple__ to __backend__, and apply __backend__ to a large ↵Mike Bayer2014-03-248-27/+27
| | | | | | number of tests. - move out logging tests from test_execute to test_logging
* - Added support for literal rendering of boolean values, e.g.Mike Bayer2014-03-131-2/+71
| | | | | "true" / "false" or "1" / "0". - added Boolean tests to the test suite
* commentMike Bayer2014-03-131-0/+7
|
* - add a suite test for underscore as initial charMike Bayer2014-03-131-0/+14
|
* - add more support for suite tests, moving some tests from test_query out to ↵Mike Bayer2014-03-131-6/+149
| | | | | | suite and adding some more requirements
* - Support has been added for pytest to run tests. This runnerMike Bayer2014-03-038-1/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* - 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-281-13/+15
| | | | | - break out reflection of views to support view column reflection separately from view definition
* - repair signature for base get_unique_constraints() methodMike Bayer2014-01-201-0/+1
| | | | - test_autoincrement_col still needs reflection overall
* - apply a similar fix for floats to mssql+pyodbc as we did to firebirdMike Bayer2013-12-281-4/+20
| | | | | - 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
|
* - 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.
* - repair some suite tests for firebirdMike Bayer2013-12-271-1/+15
|
* - The precision used when coercing a returned floating point value toMike Bayer2013-11-221-0/+10
| | | | | | | | | | Python ``Decimal`` via string is now configurable. The flag ``decimal_return_scale`` is now supported by all :class:`.Numeric` and :class:`.Float` types, which will ensure this many digits are taken from the native floating point value when it is converted to string. If not present, the type will make use of the value of ``.scale``, if the type supports this setting and it is non-None. Otherwise the original default length of 10 is used. [ticket:2867]