summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/dialects/postgresql
Commit message (Collapse)AuthorAgeFilesLines
* - A rework to the way that "quoted" identifiers are handled, in thatMike Bayer2013-08-271-4/+4
| | | | | | | | | | | | | | | | 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]
* 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]
* 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]
* 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.
* 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.
* Add basic support of unique constraints reflectionpr/4Roman Podolyaka2013-06-091-0/+30
| | | | | | | | | | | | Inspection API already supports reflection of table indexes information and those also include unique constraints (at least for PostgreSQL and MySQL). But it could be actually useful to distinguish between indexes and plain unique constraints (though both are implemented in the same way internally in RDBMS). This change adds a new method to Inspection API - get_unique_constraints() and implements it for SQLite, PostgreSQL and MySQL dialects.
* Merge branch 'rel_0_9'Mike Bayer2013-05-293-46/+43
|\ | | | | | | | | | | | | Conflicts: lib/sqlalchemy/dialects/postgresql/hstore.py lib/sqlalchemy/util/__init__.py lib/sqlalchemy/util/compat.py
| * - repair for py3kMike Bayer2013-05-291-1/+6
| | | | | | | | - fix test
| * Unicode support for psycopg2 native hstore implementationDmitry Mugtasimov2013-05-291-1/+2
| |
| * hstores are text, and in py3k they seem to be implcitly unicode. soMike Bayer2013-05-291-10/+26
| | | | | | | | | | add unicode encoding for py2k for the non-native hstore, pullreq for native psycopg2 support coming....
| * postgresql testsMike Bayer2013-05-262-21/+19
| |
| * postgresql dialect testsMike Bayer2013-04-282-27/+25
| |
| * - the raw 2to3 runMike Bayer2013-04-273-46/+49
| | | | | | | | - went through examples/ and cleaned out excess list() calls
* | add the py2k symbol from the 0.9 branch to support the hstore changeMike Bayer2013-05-291-0/+1
| |
* | - repair for py3kMike Bayer2013-05-291-1/+6
| | | | | | | | - fix test
* | Unicode support for psycopg2 native hstore implementationDmitry Mugtasimov2013-05-291-1/+2
| |
* | hstores are text, and in py3k they seem to be implcitly unicode. soMike Bayer2013-05-291-10/+26
|/ | | | | add unicode encoding for py2k for the non-native hstore, pullreq for native psycopg2 support coming....
* need to test for (list, tuple) here and not hasattr("__iter__")Mike Bayer2013-04-261-1/+4
| | | | since Py3K strings have __iter__
* - only search in the exception before the first newline, to avoidMike Bayer2013-04-231-2/+3
| | | | false positives for SQL statements containing certain text
* Opened up the checking for "disconnect" with psycopg2/libpqMike Bayer2013-04-221-18/+21
| | | | | | | | to check for all the various "disconnect" messages within the full exception hierarchy. Specifically the "closed the connection unexpectedly" message has now been seen in at least three different exception types. [ticket:2712]
* tweak this some more to handle the array being empty againMike Bayer2013-04-221-5/+3
|
* - change to [ticket:2681], pre-coerce the array to listMike Bayer2013-04-221-16/+6
| | | | unconditonally instead so that it works in all cases.
* The operators for the Postgresql ARRAY type supportsMike Bayer2013-04-221-1/+13
| | | | | | | | | | input types of sets, generators, etc. but only when a dimension is specified for the ARRAY; otherwise, the dialect needs to peek inside of "arr[0]" to guess how many dimensions are in use. If this occurs with a non list/tuple type, the error message is now informative and directs to specify a dimension for the ARRAY. [ticket:2681]
* Corrected silly circular import introduced by original "fix".Ben Trofatter2013-03-182-3/+4
|
* Added HSTORE to ischema_names in dialects/postgresql/base.pyBen Trofatter2013-03-181-0/+2
|
* Added support for Postgresql's traditional SUBSTRINGMike Bayer2013-03-091-2/+10
| | | | | | | function syntax, renders as "SUBSTRING(x FROM y FOR z)" when regular ``func.substring()`` is used. Also in 0.7.11. Courtesy Gunnlaugur Por Briem. [ticket:2676]
* - remove all compat items that are pre-2.5 (hooray)Mike Bayer2013-03-092-2/+2
| | | | | | - other cleanup - don't need compat.decimal, that approach never panned out. hopefully outside libs aren't pulling it in, they shouldn't be
* add any/all to __all__Mike Bayer2013-01-281-1/+2
|
* - documentation for any()/all()Mike Bayer2013-01-281-12/+64
|
* Add ANY/ALL construct support for PostgreSQL's ARRAY typeAudrius Kažukauskas2013-01-282-1/+63
|
* Fixing a code block in the PostgreSQL base dialect docstring.Taavi Burns2013-01-251-1/+1
|
* - fix a format issue in the create indexMike Bayer2013-01-171-1/+1
|
* :class:`.Index` now supports arbitrary SQL expressions and/orMike Bayer2013-01-161-11/+11
| | | | | | | | functions, in addition to straight columns. Common modifiers include using ``somecolumn.desc()`` for a descending index and ``func.lower(somecolumn)`` for a case-insensitive index, depending on the capabilities of the target backend. [ticket:695]
* Fixed bug in :func:`.postgresql.array` construct whereby using itMike Bayer2013-01-021-1/+1
| | | | | inside of an :func:`.expression.insert` construct would produce an error regarding a parameter issue in the ``self_group()`` method.
* happy new year (see #2645)Diana Clarke2013-01-017-7/+7
|
* internally at least refer to multirow as "multivalues", to distinguish betweenMike Bayer2012-12-081-1/+1
| | | | | an INSERT that's used in executemany() as opposed to one which has a VALUES clause with multiple entries.
* compiler: add support for multirow insertsIdan Kamara2012-12-061-0/+1
| | | | | | | | | | | | | | | | | | | | | Some databases support this syntax for inserts: INSERT INTO table (id, name) VALUES ('v1', 'v2'), ('v3', 'v4'); which greatly increases INSERT speed. It is now possible to pass a list of lists/tuples/dictionaries as the values param to the Insert construct. We convert it to a flat dictionary so we can continue using bind params. The above query will be converted to: INSERT INTO table (id, name) VALUES (:id, :name), (:id0, :name0); Currently only supported on postgresql, mysql and sqlite.
* HSTORE.comparator_factory should subclass Concatenable.ComparatorAudrius Kažukauskas2012-11-211-9/+4
|
* Add special containment operation methods for PG array typeAudrius Kažukauskas2012-11-201-3/+39
|
* just a pep8 pass of lib/sqlalchemy/dialects/postgresqlDiana Clarke2012-11-196-87/+126
|