summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/dialects
Commit message (Collapse)AuthorAgeFilesLines
* Fix cross referencespr/46Vraj Mohan2013-11-172-6/+6
|
* - remove informix dialect, moved out to ↵Mike Bayer2013-11-174-669/+0
| | | | | | https://bitbucket.org/zzzeek/sqlalchemy_informixdb - remove informix, maxdb, access symbols from tests etc.
* - Fixed bug where index reflection would mis-interpret indkey valuesMike Bayer2013-10-271-1/+4
| | | | | | when using the pypostgresql adapter, which returns these values as lists vs. psycopg2's return type of string. [ticket:2855]
* - Fixed bug where Oracle table reflection using synonyms would failMike Bayer2013-10-251-5/+7
| | | | | if the synonym and the table were in different remote schemas. Patch to fix courtesy Kyle Derr. [ticket:2853]
* - Fix and test parsing of MySQL foreign key options within reflection;Mike Bayer2013-10-251-1/+1
| | | | | | this complements the work in :ticket:`2183` where we begin to support reflection of foreign key options such as ON UPDATE/ON DELETE cascade. [ticket:2839]
* Merge branch 'master' of github.com:ijl/sqlalchemy into merge_2183Mike Bayer2013-10-252-6/+25
|\
| * #2183: Metadata.reflect() foreign keys include options when the dialect ↵ijl2013-10-131-1/+1
| | | | | | | | exposes it
| * PostgreSQL foreign key inspection includes optionsijl2013-10-111-5/+24
| |
* | - The typing system now handles the task of rendering "literal bind" values,Mike Bayer2013-10-202-9/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | e.g. values that are normally bound parameters but due to context must be rendered as strings, typically within DDL constructs such as CHECK constraints and indexes (note that "literal bind" values become used by DDL as of :ticket:`2742`). A new method :meth:`.TypeEngine.literal_processor` serves as the base, and :meth:`.TypeDecorator.process_literal_param` is added to allow wrapping of a native literal rendering method. [ticket:2838] - enhance _get_colparams so that we can send flags like literal_binds into INSERT statements - add support in PG for inspecting standard_conforming_strings - add a new series of roundtrip tests based on INSERT of literal plus SELECT for basic literal rendering in dialect suite
* | - attempt to clarify what mutable extension does for HSTORE, [ticket:2803]Mike Bayer2013-10-181-2/+9
| |
* | - Removed a 128-character truncation from the reflection of theMike Bayer2013-10-181-2/+1
| | | | | | | | | | | | server default for a column; this code was original from PG system views which truncated the string for readability. [ticket:2844]
* | - The change in :ticket:`2721`, which is that the ``deferrable`` keywordMike Bayer2013-10-181-1/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | of :class:`.ForeignKeyConstraint` is silently ignored on the MySQL backend, will be reverted as of 0.9; this keyword will now render again, raising errors on MySQL as it is not understood - the same behavior will also apply to the ``initially`` keyword. In 0.8, the keywords will remain ignored but a warning is emitted. Additionally, the ``match`` keyword now raises a :class:`.CompileError` on 0.9 and emits a warning on 0.8; this keyword is not only silently ignored by MySQL but also breaks the ON UPDATE/ON DELETE options. To use a :class:`.ForeignKeyConstraint` that does not render or renders differently on MySQL, use a custom compilation option. An example of this usage has been added to the documentation, see :ref:`mysql_foreign_keys`. [ticket:2721] [ticket:2839]
* | - Added support for rendering ``SMALLSERIAL`` when a :class:`.SmallInteger`Mike Bayer2013-10-151-1/+11
| | | | | | | | | | | | type is used on a primary key autoincrement column, based on server version detection of Postgresql version 9.2 or greater. [ticket:2840]
* | The MySQL :class:`.mysql.SET` type now features the same auto-quotingMike Bayer2013-10-141-66/+87
| | | | | | | | | | | | | | behavior as that of :class:`.mysql.ENUM`. Quotes are not required when setting up the value, but quotes that are present will be auto-detected along with a warning. This also helps with Alembic where the SET type doesn't render with quotes. [ticket:2817]
* | MySQL-connector dialect now allows options in the create_engineMike Bayer2013-10-131-2/+3
| | | | | | | | | | | | query string to override those defaults set up in the connect, including "buffered" and "raise_on_warnings". [ticket:2515]
* | Parenthesis will be applied to a compound SQL expression asMike Bayer2013-10-121-1/+4
| | | | | | | | | | rendered in the column list of a CREATE INDEX statement. [ticket:2742]
* | - Fixed bug in default compiler plus those of postgresql, mysql, andMike Bayer2013-10-123-11/+11
|/ | | | | | | | mssql to ensure that any literal SQL expression values are rendered directly as literals, instead of as bound parameters, within a CREATE INDEX statement. [ticket:2742] - don't need expression_as_ddl(); literal_binds and include_table take care of this functionality.
* - put exact version string in the testMike Bayer2013-09-291-2/+2
| | | | - use match with a .* preceding instead of search
* re.match to re.searchpr/26Scott Schaefer2013-09-061-1/+1
| | | | | Convert to re.search to eliminate the restriction on only matching the beginning of the string
* add caveats regarding RETURNINGMike Bayer2013-09-022-3/+59
|
* - cx_oracle seems to have a bug here though it is hard to track downMike Bayer2013-08-272-2/+0
| | | | - cx_oracle dialect doesn't use normal col names, lets just not rely on that for now
* - A rework to the way that "quoted" identifiers are handled, in thatMike Bayer2013-08-274-11/+11
| | | | | | | | | | | | | | | | instead of relying upon various ``quote=True`` flags being passed around, these flags are converted into rich string objects with quoting information included at the point at which they are passed to common schema constructs like :class:`.Table`, :class:`.Column`, etc. This solves the issue of various methods that don't correctly honor the "quote" flag such as :meth:`.Engine.has_table` and related methods. The :class:`.quoted_name` object is a string subclass that can also be used explicitly if needed; the object will hold onto the quoting preferences passed and will also bypass the "name normalization" performed by dialects that standardize on uppercase symbols, such as Oracle, Firebird and DB2. The upshot is that the "uppercase" backends can now work with force-quoted names, such as lowercase-quoted names and new reserved words. [ticket:2812]
* move FAQ to the docs, [ticket:2133]Mike Bayer2013-08-212-0/+4
|
* Improved support for the cymysql driver, supporting version 0.6.5,Mike Bayer2013-08-171-1/+3
| | | | courtesy Hajime Nakagami.
* - A large refactoring of the ``sqlalchemy.sql`` package has reorganizedMike Bayer2013-08-122-3/+3
| | | | | | | | | | | | | | | | | | | | | | the import structure of many core modules. ``sqlalchemy.schema`` and ``sqlalchemy.types`` remain in the top-level package, but are now just lists of names that pull from within ``sqlalchemy.sql``. Their implementations are now broken out among ``sqlalchemy.sql.type_api``, ``sqlalchemy.sql.sqltypes``, ``sqlalchemy.sql.schema`` and ``sqlalchemy.sql.ddl``, the last of which was moved from ``sqlalchemy.engine``. ``sqlalchemy.sql.expression`` is also a namespace now which pulls implementations mostly from ``sqlalchemy.sql.elements``, ``sqlalchemy.sql.selectable``, and ``sqlalchemy.sql.dml``. Most of the "factory" functions used to create SQL expression objects have been moved to classmethods or constructors, which are exposed in ``sqlalchemy.sql.expression`` using a programmatic system. Care has been taken such that all the original import namespaces remain intact and there should be no impact on any existing applications. The rationale here was to break out these very large modules into smaller ones, provide more manageable lists of function names, to greatly reduce "import cycles" and clarify the up-front importing of names, and to remove the need for redundant functions and documentation throughout the expression package.
* Updates to MySQL reserved words for versions 5.5, 5.6, courtesyMike Bayer2013-07-311-0/+10
| | | | | Hanno Schlichting. Also in 0.8.3, 0.7.11. [ticket:2791]
* doc fixMike Bayer2013-07-121-1/+1
|
* The newly added SQLite DATETIME arguments storage_format andMike Bayer2013-07-121-0/+6
| | | | | | | regexp apparently were not fully implemented correctly; while the arguments were accepted, in practice they would have no effect; this has been fixed. Also in 0.8.3. [ticket:2781]
* - we dont actually need this unicode cast, on py3k + linux it seems theMike Bayer2013-07-092-8/+2
| | | | | has_table issues are OK. On OSX forget it. - still some issues with PY3k + pyodbc + decimal values it doesn't expect, not sure
* Added :class:`.BIGINT` to the list of type names that can beMike Bayer2013-07-021-2/+4
| | | | | reflected by the SQLite dialect; courtesy Russell Stuart. [ticket:2764]
* Added new flag ``retaining=False`` to the kinterbasdb and fdb dialects.Mike Bayer2013-06-303-46/+83
| | | | | | | This controls the value of the ``retaining`` flag sent to the ``commit()`` and ``rollback()`` methods of the DBAPI connection. Defaults to False. Also in 0.8.2, where it defaults to True. [ticket:2763]
* The behavior of :func:`.extract` has been simplified on theMike Bayer2013-06-281-22/+0
| | | | | | | | | Postgresql dialect to no longer inject a hardcoded ``::timestamp`` or similar cast into the given expression, as this interfered with types such as timezone-aware datetimes, but also does not appear to be at all necessary with modern versions of psycopg2. Also in 0.8.2. [ticket:2740]
* Type lookup when reflecting the Firebird types LONG andMike Bayer2013-06-281-7/+6
| | | | | | | | INT64 has been fixed so that LONG is treated as INTEGER, INT64 treated as BIGINT, unless the type has a "precision" in which case it's treated as NUMERIC. Patch courtesy Russell Stuart. [ticket:2757]
* Fixed bug in HSTORE type where keys/values that containedMike Bayer2013-06-281-3/+3
| | | | | | | backslashed quotes would not be escaped correctly when using the "non native" (i.e. non-psycopg2) means of translating HSTORE data. Patch courtesy Ryan Kelly. [ticket:2766]
* Merge branch 'ticket_2746'Mike Bayer2013-06-261-6/+2
|\ | | | | | | | | | | Conflicts: doc/build/changelog/changelog_08.rst doc/build/changelog/changelog_09.rst
| * - rework of correlation, continuing on #2668, #2746Mike Bayer2013-06-261-6/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - add support for correlations to propagate all the way in; because correlations require context now, need to make sure a select enclosure of any level takes effect any number of levels deep. - fix what we said correlate_except() was supposed to do when we first released #2668 - "the FROM clause is left intact if the correlated SELECT is not used in the context of an enclosing SELECT..." - it was not considering the "existing_froms" collection at all, and prohibited additional FROMs from being placed in an any() or has(). - add test for multilevel any() - lots of docs, including glossary entries as we really need to define "WHERE clause", "columns clause" etc. so that we can explain correlation better - based on the insight that a SELECT can correlate anything that ultimately came from an enclosing SELECT that links to this one via WHERE/columns/HAVING/ORDER BY, have the compiler keep track of the FROM lists that correspond in this way, link it to the asfrom flag, so that we send to _get_display_froms() the exact list of candidate FROMs to correlate. no longer need any asfrom logic in the Select() itself - preserve 0.8.1's behavior for correlation when no correlate options are given, not to mention 0.7 and prior's behavior of not propagating implicit correlation more than one level.. this is to reduce surprises/hard-to-debug situations when a user isn't trying to correlate anything.
* | Fix indexes reflection in PostgreSQLpr/13Roman Podolyaka2013-06-261-14/+18
|/ | | | | | Reflection of indexes must preserve the order of columns. Fixes issue 2767.
* Fix unique constraints reflection in PostgreSQLpr/11Roman Podolyaka2013-06-231-9/+16
| | | | Reflection of unique constraints must preserve the order of columns.
* Fix unique constraints reflection in SQLiteRoman Podolyaka2013-06-231-1/+2
| | | | | | | If SQLite keywords are used as column names, they are quoted. The code parsing the information about table unique constraints should be modified so that it properly removes double-quotes from column names.
* versionaddsMike Bayer2013-06-221-6/+33
|
* - 0.8 changelogMike Bayer2013-06-221-11/+11
| | | | - some whitespace
* Merge pull request #5 from cjw296/pg-rangesmike bayer2013-06-224-2/+246
|\ | | | | Support for Postgres range types.
| * Documentation for the new range type support.pr/5Chris Withers2013-06-103-6/+19
| |
| * Implement EXCLUDE constraints for postgres.Chris Withers2013-06-103-0/+90
| |
| * add support for range operators listed in ↵Chris Withers2013-06-101-6/+75
| | | | | | | | http://www.postgresql.org/docs/9.2/interactive/functions-range.html
| * Basic type support for the new range types in postgres 9.2Chris Withers2013-06-103-1/+73
| |
* | fix up the isolation level docs which were a messMike Bayer2013-06-172-25/+58
| |
* | - changelogMike Bayer2013-06-152-3/+8
| | | | | | | | - docs
* | Add AUTOCOMMIT isolation level support for psycopg2pr/7Roman Podolyaka2013-06-151-0/+1
|/ | | | | | | | | | | | | | One can use this to emit statements, which can not be executed within a transaction (e. g. CREATE DATABASE): from sqlalchemy import create_engine eng = create_engine('postgresql://test:test@localhost/test') conn = eng.connect().execution_options(isolation_level='AUTOCOMMIT') conn.execute('CREATE DATABASE test2;') Fixes issue #2072.
* this comment is ancientMike Bayer2013-06-091-5/+0
|