summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/dialects
Commit message (Collapse)AuthorAgeFilesLines
* - Fixed a regression that was incorrectly fixed in 1.0.0b4Mike Bayer2015-04-243-4/+0
| | | | | | | | | | | | | | | | | | (hence becoming two regressions); reports that SELECT statements would GROUP BY a label name and fail was misconstrued that certain backends such as SQL Server should not be emitting ORDER BY or GROUP BY on a simple label name at all; when in fact, we had forgotten that 0.9 was already emitting ORDER BY on a simple label name for all backends, as described in :ref:`migration_1068`, as 1.0 had rewritten this logic as part of :ticket:`2992`. In 1.0.2, the bug is fixed both that SQL Server, Firebird and others will again emit ORDER BY on a simple label name when passed a :class:`.Label` construct that is expressed in the columns clause, and no backend will emit GROUP BY on a simple label name in this case, as even Postgresql can't reliably do GROUP BY on a simple name in every case. fixes #3338, fixes #3385
* - Fixed support for "literal_binds" mode when using limit/offsetMike Bayer2015-04-235-10/+12
| | | | | | with Firebird, so that the values are again rendered inline when this is selected. Related to :ticket:`3034`. fixes #3381
* Update base.pypr/168effem-git2015-04-231-2/+2
| | | Fix TypeError: Boolean value of this clause is not defined
* - pymssql has PEP249 Binary contructor since 2.1.1pr/166Ramiro Morales2015-04-051-4/+5
| | | | See https://github.com/pymssql/pymssql/commit/e7fb15dd29090e1f1bb570842b53aea1ec32d8f0
* - Fixed a long-standing bug where the :class:`.Enum` type as usedMike Bayer2015-04-041-1/+1
| | | | | | | | | | with the psycopg2 dialect in conjunction with non-ascii values and ``native_enum=False`` would fail to decode return results properly. This stemmed from when the PG :class:`.postgresql.ENUM` type used to be a standalone type without a "non native" option. fixes #3354 - corrected the assertsql comparison rule to expect a non-ascii SQL string
* - Fixed bug where updated PG index reflection as a result ofMike Bayer2015-04-011-31/+53
| | | | | | | :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
* - also add this to Oracle, and defensively to firebird and sybaseMike Bayer2015-03-243-0/+5
|
* - Turned off the "simple order by" flag on the MSSQL dialect; thisMike Bayer2015-03-241-0/+1
| | | | | | | | | | | 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
* - Fixed unicode support for PyMySQL when using an "executemany"Mike Bayer2015-03-221-0/+5
| | | | | | | | | operation with unicode parameters. SQLAlchemy now passes both the statement as well as the bound parameters as unicode objects, as PyMySQL generally uses string interpolation internally to produce the final statement, and in the case of executemany does the "encode" step only on the final statement. fixes #3337
* - more updates to the unicode mess to frame this inMike Bayer2015-03-225-75/+63
| | | | as up-to-date recommendations as possible
* some doc defensesMike Bayer2015-03-213-2/+10
|
* - Repaired the commit for issue #2771 which was inadvertently commentedMike Bayer2015-03-201-1/+1
| | | | | | out. - add __backend__ to the dialect suite so that it runs on CI. - will be 1.0.0b3
* Merge branch 'mysqlclient' of https://bitbucket.org/methane/sqlalchemy into pr48Mike Bayer2015-03-201-0/+9
|\ | | | | | | | | Conflicts: lib/sqlalchemy/dialects/mysql/mysqldb.py
| * Add mention about mysqlclientINADA Naoki2015-03-141-2/+4
| |
* | - add a note that we aren't really doing zxjdbc right now even thoughMike Bayer2015-03-202-0/+5
| | | | | | | | these files are present.
* | - reorganize MySQL docs re: unicode, other cleanup and updatesMike Bayer2015-03-208-21/+79
| |
* | Merge branch 'support-emoji-on-mysql' of ↵Mike Bayer2015-03-202-1/+21
|\ \ | | | | | | | | | https://bitbucket.org/graingert/sqlalchemy into pr49
| * | add utf8mb4 recommendationThomas Grainger2015-03-181-0/+12
| | |
| * | map MySQL encodings to python encodings fixes #2771Thomas Grainger2015-03-181-1/+9
| | |
* | | Merge remote-tracking branch 'origin/pr/158' into pr158Mike Bayer2015-03-201-1/+3
|\ \ \ | |/ / |/| |
| * | fix Python 2-specific byte conversionpr/158David Marin2015-02-051-1/+3
| | |
* | | - The "auto close" for :class:`.ResultProxy` is now a "soft" close.Mike Bayer2015-03-171-1/+1
| |/ |/| | | | | | | | | | | | | | | | | | | 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
* | - The Postgresql :class:`.postgresql.ENUM` type will emit aMike Bayer2015-03-112-16/+97
| | | | | | | | | | | | | | | | | | | | | | | | DROP TYPE instruction when a plain ``table.drop()`` is called, assuming the object is not associated directly with a :class:`.MetaData` object. In order to accomodate the use case of an enumerated type shared between multiple tables, the type should be associated directly with the :class:`.MetaData` object; in this case the type will only be created at the metadata level, or if created directly. The rules for create/drop of Postgresql enumerated types have been highly reworked in general. fixes #3319
* | - copyright 2015Mike Bayer2015-03-1047-47/+47
| |
* | - repair doclevelMike Bayer2015-03-101-1/+1
| |
* | - changelog and docs for pullreq bitbucket:45Mike Bayer2015-03-101-0/+18
| |
* | Merge branch 'postgres-concurrently' of ↵Mike Bayer2015-03-101-2/+9
|\ \ | | | | | | | | | https://bitbucket.org/iurisilvio/sqlalchemy into pr45
| * | Dialect option `postgresql_concurrently` to `Index` construct.Iuri de Silvio2015-02-251-2/+9
| | |
* | | - changelog / doc for sqlite partial indexesMike Bayer2015-03-101-0/+20
| | |
* | | Merge branch 'sqlite-partial-indexes' of ↵Mike Bayer2015-03-101-2/+16
|\ \ \ | | | | | | | | | | | | https://bitbucket.org/groner/sqlalchemy into pr42
| * | | Partial index support with sqlite dialects.Kai Groner2015-01-261-2/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From https://www.sqlite.org/partialindex.html > Partial indexes have been supported in SQLite since version 3.8.0. Reflection does not expose the predicate of partial indexes. The postgresql dialect does detect such indexes and issue a warning. I looked into matching this level of support, but the sqlite pragma index_info does not expose the predicate. Getting this data would probably require parsing the CREATE INDEX statement from sqlite_master.
* | | | - rename _select_wrapsMike Bayer2015-03-082-3/+2
| | | | | | | | | | | | | | | | | | | | - replace force_result_map with a mini-API for nested result sets, add coverage
* | | | - the change for #918 was of course not nearly that simple.Mike Bayer2015-03-072-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The "wrapping" employed by the mssql and oracle dialects using the "iswrapper" argument was not being used intelligently by the compiler, and the result map was being written incorrectly, using *more* columns in the result map than were actually returned by the statement, due to "row number" columns that are inside the subquery. The compiler now writes out result map on the "top level" select in all cases fully, and for the mssql/oracle wrapping case extracts out the "proxied" columns in a second step, which only includes those columns that are proxied outwards to the top level. This change might have implications for 3rd party dialects that might be imitating oracle's approach. They can safely continue to use the "iswrapper" kw which is now ignored, but they may need to also add the _select_wraps argument as well.
* | | | - The SQL compiler now generates the mapping of expected columnspositional_targetingMike Bayer2015-03-071-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | such that they are matched to the received result set positionally, rather than by name. Originally, this was seen as a way to handle cases where we had columns returned with difficult-to-predict names, though in modern use that issue has been overcome by anonymous labeling. In this version, the approach basically reduces function call count per-result by a few dozen calls, or more for larger sets of result columns. The approach still degrades into a modern version of the old approach if textual elements modify the result map, or if any discrepancy in size exists between the compiled set of columns versus what was received, so there's no issue for partially or fully textual compilation scenarios where these lists might not line up. fixes #918 - callcounts still need to be adjusted down for this so zoomark tests won't pass at the moment
* | | | Merge remote-tracking branch 'origin/pr/132' into pr132Mike Bayer2015-03-021-14/+77
|\ \ \ \ | |_|/ / |/| | |
| * | | Changed pg8000 dialect to cope with native JSONpr/132Tony Locke2015-01-031-1/+12
| | | | | | | | | | | | | | | | | | | | For versions > 1.10.1 pg8000 returns de-serialized JSON objects rather than a string. SQL parameters are still strings though.
| * | | Make pg8000 version detection more robustTony Locke2014-12-161-6/+11
| | | | | | | | | | | | | | | | | | | | | | | | pg8000 uses Versioneer, which means that development versions have version strings that don't fit into the dotted triple number format. Released versions will always fit the triple format though.
| * | | pg8000 client_encoding in create_engine()Tony Locke2014-12-161-7/+54
| | | | | | | | | | | | | | | | | | | | The pg8000 dialect now supports the setting of the PostgreSQL parameter client_encoding from create_engine().
* | | | - The MySQL dialect now supports CAST on types that are constructedMike Bayer2015-02-091-3/+6
| | | | | | | | | | | | | | | | as :class:`.TypeDecorator` objects.
* | | | - add a fix to MySQL re: #3074 tests, make sure we check table is presentMike Bayer2015-02-091-1/+2
| | | |
* | | | - A warning is emitted when :func:`.cast` is used with the MySQLMike Bayer2015-02-091-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dialect on a type where MySQL does not support CAST; MySQL only supports CAST on a subset of datatypes. SQLAlchemy has for a long time just omitted the CAST for unsupported types in the case of MySQL. While we don't want to change this now, we emit a warning to show that it's taken place. A warning is also emitted when a CAST is used with an older MySQL version (< 4) that doesn't support CAST at all, it's skipped in this case as well. fixes #3237
* | | | - add versionadded for service_nameMike Bayer2015-02-081-0/+2
| | | |
* | | | - cx_Oracle.makedsn can now be passed service_name; squashSławek Ehlert2014-04-021-2/+20
| |_|/ |/| | | | | | | | commit of pr152
* | | - The MySQL dialect now renders TIMESTAMP with NULL / NOT NULL inMike Bayer2015-02-051-48/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | all cases, so that MySQL 5.6.6 with the ``explicit_defaults_for_timestamp`` flag enabled will will allow TIMESTAMP to continue to work as expected when ``nullable=False``. Existing applications are unaffected as SQLAlchemy has always emitted NULL for a TIMESTAMP column that is ``nullable=True``. fixes #3155
* | | - Repaired support for Postgresql UUID types in conjunction withMike Bayer2015-02-011-3/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the ARRAY type when using psycopg2. The psycopg2 dialect now employs use of the psycopg2.extras.register_uuid() hook so that UUID values are always passed to/from the DBAPI as UUID() objects. The :paramref:`.UUID.as_uuid` flag is still honored, except with psycopg2 we need to convert returned UUID objects back into strings when this is disabled. fixes #2940
* | | - Added support for the :class:`postgresql.JSONB` datatype whenMike Bayer2015-01-311-10/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge remote-tracking branch 'origin/pr/145' into pr145Mike Bayer2015-01-311-2/+14
|\ \ \
| * | | Psycopg2 JSONB support.pr/145Mateusz Susik2014-10-241-2/+14
| | | |
* | | | - additional test adjustments for pypy / psycopg2cffi. ThisMike Bayer2015-01-261-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-263-4/+61
| |_|/ |/| |