summaryrefslogtreecommitdiff
path: root/test/dialect
Commit message (Collapse)AuthorAgeFilesLines
* - changelog and docs for #3332, fixes #3332Mike Bayer2016-03-151-23/+24
| | | | | | - make docs for isolation level more consistent between postgresql and mysql - move mysql autocommit tests
* Merge branch 'master' into pr157Mike Bayer2016-03-1518-1003/+2694
|\
| * - update the mssql autoincrement reflection test to accommodateMike Bayer2016-02-201-27/+23
| | | | | | | | the new behavior of the autoincrement flag as per ref #3216
| * - reworked the way the "select_wraps_for" expression isMike Bayer2016-02-201-1/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | handled within visit_select(); this attribute was added in the 1.0 series to accommodate the subquery wrapping behavior of SQL Server and Oracle while also working with positional column targeting and no longer relying upon "key fallback" in order to target columns in such a statement. The IBM DB2 third-party dialect also has this use case, but its implementation is using regular expressions to rewrite the textual SELECT only and does not make use of a "wrapped" select at this time. The logic no longer attempts to reconcile proxy set collections as this was not deterministic, and instead assumes that the select() and the wrapper select() match their columns postionally, at least for the column positions they have in common, so it is now very simple and safe. fixes #3657. - as a side effect of #3657 it was also revealed that the strategy of calling upon a ResultProxy._getter was not correctly calling into NoSuchColumnError when an expected column was not present, and instead returned None up to loading.instances() to produce NoneType failures; added a raiseerr argument to _getter() which is called when we aren't expecting None, fixes #3658.
| * - add missing __backend__ directives for SQL serverMike Bayer2016-02-082-0/+6
| |
| * - add missing __backend__ directives so that oracle tests actually run with ↵Mike Bayer2016-02-081-0/+17
| | | | | | | | --backend-only
| * - detect "Enterprise" and assume compression stuff isn't availableMike Bayer2016-02-081-0/+6
| | | | | | | | if not
| * - adjust the MultiSchemaTest to handle multiple test_schemas / processes at theMike Bayer2016-02-081-5/+6
| | | | | | | | same time
| * - adjust to allow dblink tests to work with multiprocess users.Mike Bayer2016-02-081-9/+3
| | | | | | | | | | | | unfortunately the synonym doesn't work for SQL statements here when the dblink is on a different user, testing this is not really critical so just removed it.
| * - test fixes for metadata.enums value now being a listMike Bayer2016-02-022-24/+20
| | | | | | | | - modernize those tests as well
| * - add changelog and migration notes for new Enum features,Mike Bayer2016-02-021-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | fixes #3095, #3292 - reorganize enum constructor to again work with the MySQL ENUM type - add a new create_constraint flag to Enum to complement that of Boolean - reinstate the CHECK constraint tests for enum, these already fail /skip against the MySQL backend - simplify lookup rules in Enum, have them apply to all varieties of Enum equally
| * - Fixed issue where inadvertent use of the Python ``__contains__``Mike Bayer2016-02-021-0/+9
| | | | | | | | | | | | | | | | | | override with a column expression (e.g. by using ``'x' in col``) would cause an endless loop in the case of an ARRAY type, as Python defers this to ``__getitem__`` access which never raises for this type. Overall, all use of ``__contains__`` now raises NotImplementedError. fixes #3642
| * - The ``sqlalchemy.dialects.postgres`` module, long deprecated, isMike Bayer2016-01-291-0/+10
| | | | | | | | | | | | | | removed; this has emitted a warning for many years and projects should be calling upon ``sqlalchemy.dialects.postgresql``. Engine URLs of the form ``postgres://`` will still continue to function, however.
| * - fix array test that was essentially taking a weird guessMike Bayer2016-01-231-2/+2
| | | | | | | | | | | | at the primary key of a row based on other tests invoking around it (cherry picked from commit 7d70dfd412c05fd8349339da01b472bd3df02082)
| * - move out match compiler test to test_compilerMike Bayer2016-01-232-23/+11
| | | | | | | | - test_query isn't assertscompiledsql
| * - The unsupported Sybase dialect now raises ``NotImplementedError``Mike Bayer2016-01-201-3/+11
| | | | | | | | | | when attempting to compile a query that includes "offset"; Sybase has no straightforward "offset" feature. fixes #2278
| * - there was a DATEPART test after all, fix formatMike Bayer2016-01-141-1/+1
| |
| * - changelog for pr bitbucket:70, fixes #3624Mike Bayer2016-01-121-0/+12
| |
| * - Multi-tenancy schema translation for :class:`.Table` objects is added.Mike Bayer2016-01-081-0/+18
| | | | | | | | | | | | | | | | | | This supports the use case of an application that uses the same set of :class:`.Table` objects in many schemas, such as schema-per-user. A new execution option :paramref:`.Connection.execution_options.schema_translate_map` is added. fixes #2685 - latest tox doesn't like the {posargs} in the profile rerunner
| * - add a few JSON tests specific to MySQL, including basic reflectionMike Bayer2016-01-061-1/+45
| |
| * - Added :class:`.mysql.JSON` for MySQL 5.7. The JSON type providesMike Bayer2016-01-061-84/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * - break out mysql/base into modules as it's getting huge with more to comeMike Bayer2016-01-041-1/+2
| |
| * - An adjustment to the regular expression used to parse MySQL views,Mike Bayer2015-12-221-0/+31
| | | | | | | | | | | | | | such that we no longer assume the "ALGORITHM" keyword is present in the reflected view source, as some users have reported this not being present in some Amazon RDS environments. fixes #3613
| * - fix changelog for #3602Mike Bayer2015-12-081-1/+6
| | | | | | | | | | | | - add version switch for backend fsp test (cherry picked from commit 67b22cee3ab2c17b61100f1ccd69081082c0f074)
| * - make this DROP conditional, attempting to isolate why jenkins hasMike Bayer2015-12-081-1/+1
| | | | | | | | an issue with just one test
| * - Fixed bug in MySQL reflection where the "fractional sections portion"Mike Bayer2015-12-071-2/+8
| | | | | | | | | | | | | | | | of the :class:`.mysql.DATETIME`, :class:`.mysql.TIMESTAMP` and :class:`.mysql.TIME` types would be incorrectly placed into the ``timestamp`` attribute, which is unused by MySQL, instead of the ``fsp`` attribute. fixes #3602
| * - flake8 test_reflection and rework the type-based tests intoMike Bayer2015-12-071-87/+196
| | | | | | | | | | individual categories w/ modernized fixtures, assert attributes within type objects.
| * Merge remote-tracking branch 'origin/pr/216'Mike Bayer2015-11-301-0/+16
| |\
| | * - Postgres: Do not prefix table with schema in: "FOR UPDATE of <table>"pr/216Diana Clarke2015-11-241-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For example, this query: SELECT s1.users.name FROM s1.users FOR UPDATE OF s1.users should actually be: SELECT s1.users.name FROM s1.users FOR UPDATE OF users fixes #3573
| * | Merge remote-tracking branch 'origin/pr/215'Mike Bayer2015-11-301-0/+13
| |\ \
| | * | fix postgresql exclude contraint to check when= against None rather than ↵pr/215aisch2015-11-231-0/+13
| | |/ | | | | | | | | | __bool__ eval
| * | - A descriptive ValueError is now raised in the event that SQL serverMike Bayer2015-11-301-3/+33
| |/ | | | | | | | | | | | | returns an invalid date or time format from a DATE or TIME column, rather than failing with a NoneType error. Pull request courtesy Ed Avis. pullreq github:206
| * - Fixed the ``.python_type`` attribute of :class:`.postgresql.INTERVAL`Mike Bayer2015-11-191-0/+18
| | | | | | | | | | | | | | | | | | to return ``datetime.timedelta`` in the same way as that of :obj:`.types.Interval.python_type`, rather than raising ``NotImplementedError``. fixes #3571 (cherry picked from commit 29d6f6e19b014bb5ce79032bd8803e32b4da0e5e)
| * - Added support for reflecting the source of materialized viewsMike Bayer2015-11-181-0/+10
| | | | | | | | | | | | to the Postgresql version of the :meth:`.Inspector.get_view_definition` method. fixes #3587
| * - extend pullreq github:213 to also include DATETIMEOFFSET and TIME,Mike Bayer2015-11-141-1/+87
| | | | | | | | | | | | which also accept zero precision - extend test case here to include a backend-agnostic suite - changelog for MSSQL date fix
| * Pass precision value to mssql.DATETIME2 when it is 0pr/213Jacobo de Vera2015-11-131-0/+2
| | | | | | | | | | The simple check on the precision results in DATETIME2(0) generating a DATETIME2 column, with default precision, which is 7.
| * - modernize some very old global-engine tests w/ bad teardownsMike Bayer2015-10-111-238/+260
| |
| * - repair flake8 issuesMike Bayer2015-10-111-44/+49
| |
| * - repair laziness about setting time zone here, which is leakingMike Bayer2015-10-111-9/+17
| | | | | | | | out depending on connection pool state
| * - The system by which a :class:`.Column` considers itself to be anMike Bayer2015-10-074-52/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | "auto increment" column has been changed, such that autoincrement is no longer implicitly enabled for a :class:`.Table` that has a composite primary key. In order to accommodate being able to enable autoincrement for a composite PK member column while at the same time maintaining SQLAlchemy's long standing behavior of enabling implicit autoincrement for a single integer primary key, a third state has been added to the :paramref:`.Column.autoincrement` parameter ``"auto"``, which is now the default. fixes #3216 - The MySQL dialect no longer generates an extra "KEY" directive when generating CREATE TABLE DDL for a table using InnoDB with a composite primary key with AUTO_INCREMENT on a column that isn't the first column; to overcome InnoDB's limitation here, the PRIMARY KEY constraint is now generated with the AUTO_INCREMENT column placed first in the list of columns.
| * - Fixed bug in Oracle dialect where reflection of tables and otherMike Bayer2015-10-051-0/+26
| | | | | | | | | | | | | | | | symbols with names quoted to force all-lower-case would not be identified properly in reflection queries. The :class:`.quoted_name` construct is now applied to incoming symbol names that detect as forced into all-lower-case within the "name normalize" process. fixes #3548
| * - limit the search for schemas to not include "temp", which is sort of an ↵Mike Bayer2015-09-281-23/+17
| | | | | | | | | | | | | | | | | | | | 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
| * Merge remote-tracking branch 'origin/pr/198' into pr198Mike Bayer2015-09-281-0/+5
| |\
| | * Support get_schema_names for SQLitepr/198Brian Van Klaveren2015-09-091-0/+5
| | | | | | | | | Should return "main" and the names of attached databases.
| * | - The ``legacy_schema_aliasing`` flag, introduced in version 1.0.5Mike Bayer2015-09-193-12/+10
| | | | | | | | | | | | | | | | | | | | | as part of :ticket:`3424` to allow disabling of the MSSQL dialect's attempts to create aliases for schema-qualified tables, now defaults to False; the old behavior is now disabled unless explicitly turned on. fixes #3434
| * | - The use of a :class:`.postgresql.ARRAY` object that refersMike Bayer2015-09-191-0/+26
| | | | | | | | | | | | | | | | | | | | | to a :class:`.types.Enum` or :class:`.postgresql.ENUM` subtype will now emit the expected "CREATE TYPE" and "DROP TYPE" DDL when the type is used within a "CREATE TABLE" or "DROP TABLE". fixes #2729
| * | - The :class:`.TypeDecorator` type extender will now work in conjunctionMike Bayer2015-08-271-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | with a :class:`.SchemaType` implementation, typically :class:`.Enum` or :class:`.Boolean` with regards to ensuring that the per-table events are propagated from the implementation type to the outer type. These events are used to ensure that the constraints or Postgresql types (e.g. ENUM) are correctly created (and possibly dropped) along with the parent table. fixes #2919
| * | - add a postgresql-specific form of array_agg() that injects theMike Bayer2015-08-271-0/+11
| | | | | | | | | | | | ARRAY type, references #3132
| * | - add PG-specific aggregate_order_by(), references #3132Mike Bayer2015-08-271-1/+45
| | |
| * | - Added support for "set-aggregate" functions of the formticket_3516Mike Bayer2015-08-262-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ``<function> WITHIN GROUP (ORDER BY <criteria>)``, using the method :class:`.FunctionElement.within_group`. A series of common set-aggregate functions with return types derived from the set have been added. This includes functions like :class:`.percentile_cont`, :class:`.dense_rank` and others. fixes #1370 - make sure we use func.name for all _literal_as_binds in functions.py so we get consistent naming behavior for parameters.