summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/dialects/postgresql/base.py
Commit message (Collapse)AuthorAgeFilesLines
...
* - 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-011-1/+1
|
* 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.
* 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-191-62/+86
|
* - hstore adjustmentsMike Bayer2012-11-171-0/+3
|
* - rework the sphinx customizations into distinct modulesMike Bayer2012-10-191-13/+3
| | | | | | | - build a new Sphinx extension that allows dialect info to be entered as directives which is then rendered consistently throughout all dialect/dbapi sections - break out the "empty_strings" requirement for oracle test
* - move out maxdbMike Bayer2012-10-181-2/+12
| | | | | | - begin consolidating docs for dialects to be more self contained - add a separate section for "external" dialects - not sure how we're going to go with this yet.
* - [bug] Columns in reflected primary key constraintMike Bayer2012-09-231-11/+24
| | | | | | | are now returned in the order in which the constraint itself defines them, rather than how the table orders them. Courtesy Gunnlaugur Por Briem. [ticket:2531].
* - genericize the test for ischema_namesMike Bayer2012-09-161-4/+4
| | | | | - some fixes to the patch to handle empty args, whitespace - changelog clarifies where this API fits at the moment
* remove print statement in PGDialect._get_column_infoÉric Lemoine2012-09-121-1/+0
|
* adjust a comment in PGDialect._get_column_infoÉric Lemoine2012-09-121-2/+2
|
* breaking up PGDialect.get_columns, and add PostGIS column reflection testsÉric Lemoine2012-09-121-102/+109
|
* support for reflecting PostGIS columnsÉric Lemoine2012-09-111-4/+6
|
* Fixed wrong regex pattern -- group vendor nameHong Minhee2012-08-311-1/+1
|
* Version detection of EnterpriseDB (Postgres Plus(R) Advanced Server)Hong Minhee2012-08-311-1/+4
|
* - [feature] The Core oeprator system now includesMike Bayer2012-08-201-9/+151
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the `getitem` operator, i.e. the bracket operator in Python. This is used at first to provide index and slice behavior to the Postgresql ARRAY type, and also provides a hook for end-user definition of custom __getitem__ schemes which can be applied at the type level as well as within ORM-level custom operator schemes. Note that this change has the effect that descriptor-based __getitem__ schemes used by the ORM in conjunction with synonym() or other "descriptor-wrapped" schemes will need to start using a custom comparator in order to maintain this behavior. - [feature] postgresql.ARRAY now supports indexing and slicing. The Python [] operator is available on all SQL expressions that are of type ARRAY; integer or simple slices can be passed. The slices can also be used on the assignment side in the SET clause of an UPDATE statement by passing them into Update.values(); see the docs for examples. - [feature] Added new "array literal" construct postgresql.array(). Basically a "tuple" that renders as ARRAY[1,2,3].
* - [feature] To complement [ticket:2547], typesMike Bayer2012-08-171-4/+1
| | | | | | | | | | | | | | | | can now provide "bind expressions" and "column expressions" which allow compile-time injection of SQL expressions into statements on a per-column or per-bind level. This is to suit the use case of a type which needs to augment bind- and result- behavior at the SQL level, as opposed to in the Python level. Allows for schemes like transparent encryption/ decryption, usage of Postgis functions, etc. [ticket:1534] - update postgis example fully. - still need to repair the result map propagation here to be transparent for cases like "labeled column".
* _adapt_expression() moves fully to _DefaultColumnComparator which resumesMike Bayer2012-08-161-3/+4
| | | | | | its original role as stateful, forms the basis of TypeEngine.Comparator. lots of code goes back mostly as it was just with cleaner typing behavior, such as simple flow in _binary_operate now.
* - fix concat() operator, testsMike Bayer2012-08-141-3/+3
| | | | | | | | - [feature] Custom unary operators can now be used by combining operators.custom_op() with UnaryExpression(). - clean up the operator dispatch system and make it more consistent. This does change the compiler contract for custom ops.
* more import cleanupsMike Bayer2012-08-071-4/+4
|
* - [feature] Revised the rules used to determineMike Bayer2012-07-221-101/+102
| | | | | | | | | | | | the operator precedence for the user-defined operator, i.e. that granted using the ``op()`` method. Previously, the smallest precedence was applied in all cases, now the default precedence is zero, lower than all operators except "comma" (such as, used in the argument list of a ``func`` call) and "AS", and is also customizable via the "precedence" argument on the ``op()`` method. [ticket:2537]
* - [feature] Added "MATCH" clause to ForeignKey,Mike Bayer2012-06-211-0/+23
| | | | | | | | | | | | | | ForeignKeyConstraint, courtesy Ryan Kelly. [ticket:2502] - [feature] Added support for DELETE and UPDATE from an alias of a table, which would assumedly be related to itself elsewhere in the query, courtesy Ryan Kelly. [ticket:2507] - [feature] Added support for the Postgresql ONLY keyword, which can appear corresponding to a table in a SELECT, UPDATE, or DELETE statement. The phrase is established using with_hint(). Courtesy Ryan Kelly [ticket:2506]
* - [bug] removed unnecessary table clause whenMike Bayer2012-06-161-1/+0
| | | | reflecting enums, [ticket:2510].
* Add some `Sphinx` paragraph level versions informations markups,Mike Bayer2012-06-081-6/+11
| | | | such as ``.. versionadded::``, ``.. versionchanged::`` and ``.. deprecated::``.
* - [bug] removed unnecessary table clauseMike Bayer2012-05-041-1/+0
| | | | | when reflecting domains, [ticket:2473] also in 0.7.7
* - [feature] postgresql.ARRAY features an optionalMike Bayer2012-04-241-39/+50
| | | | | | | | "dimension" argument, will assign a specific number of dimensions to the array which will render in DDL as ARRAY[][]..., also improves performance of bind/result processing. [ticket:2441]
* - [feature] Inspector.get_primary_keys() isMike Bayer2012-04-241-15/+4
|\ | | | | | | | | | | | | | | deprecated; use Inspector.get_pk_constraint(). Courtesy Diana Clarke. [ticket:2422] - restored default get_primary_keys()/get_pk_constraint() wrapper to help maintain compatibility with third party dialects created against 0.6 or 0.7
| * deprecate inspector.get_primary_keys() in favor of inspector.get_pk_constraint()Diana Clarke2012-04-021-15/+4
| | | | | | | | - see #2422
* | - [removed] The legacy "mutable" system of theMike Bayer2012-04-231-34/+3
|/ | | | | | | | | | | | | | ORM, including the MutableType class as well as the mutable=True flag on PickleType and postgresql.ARRAY has been removed. In-place mutations are detected by the ORM using the sqlalchemy.ext.mutable extension, introduced in 0.7. The removal of MutableType and associated constructs removes a great deal of complexity from SQLAlchemy's internals. The approach performed poorly as it would incur a scan of the full contents of the Session when in use. [ticket:2442]
* - [feature] Added new for_update/with_lockmode()Mike Bayer2012-03-211-0/+4
| | | | | | | | | | options for Postgresql: for_update="read"/ with_lockmode("read"), for_update="read_nowait"/ with_lockmode("read_nowait"). These emit "FOR SHARE" and "FOR SHARE NOWAIT", respectively. Courtesy Diana Clarke [ticket:2445]
* typoes in lib/sqlalchemy/dialectsDiana Clarke2012-03-171-5/+5
|
* revert this, bad ideaMike Bayer2012-02-131-1/+0
|
* - [bug] Fixed the "render literal bind" function,Mike Bayer2012-02-131-0/+1
| | | | used by Alembic, to escape % signs with %%.
* - [feature] Added support for the "isolation_level"Mike Bayer2012-02-121-3/+12
| | | | | | | parameter to all MySQL dialects. Thanks to mu_mind for the patch here. [ticket:2394] - add documentation examples for mysql, postgresql - pep8ing
* - [feature] Dialect-specific compilers now raiseMike Bayer2012-01-281-1/+1
| | | | | | | | CompileException for all type/statement compilation issues, instead of InvalidRequestError or ArgumentError. The DDL for CREATE TABLE will re-raise CompileExceptions to include table/column information for the problematic column. [ticket:2361]
* happy new yearMike Bayer2012-01-041-1/+1
|
* fix a whole bunch of note:: / warning:: that were inline,Mike Bayer2011-12-251-1/+3
| | | | no longer compatible with docutils 0.8
* - [feature] Added create_type constructor argumentMike Bayer2011-11-281-1/+82
| | | | | | | | | to pg.ENUM. When False, no CREATE/DROP or checking for the type will be performed as part of a table create/drop event; only the create()/drop)() methods called directly will do this. Helps with Alembic "offline" scripts.
* - [bug] Postgresql dialect memoizes that an ENUM of aMike Bayer2011-10-291-7/+32
| | | | | | | | | particular name was processed during a create/drop sequence. This allows a create/drop sequence to work without any calls to "checkfirst", and also means with "checkfirst" turned on it only needs to check for the ENUM once. [ticket:2311]
* - [feature] Added new support for remote "schemas":Mike Bayer2011-10-231-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | - MetaData() accepts "schema" and "quote_schema" arguments, which will be applied to the same-named arguments of a Table or Sequence which leaves these at their default of ``None``. - Sequence accepts "quote_schema" argument - tometadata() for Table will use the "schema" of the incoming MetaData for the new Table if the schema argument is explicitly "None" - Added CreateSchema and DropSchema DDL constructs - these accept just the string name of a schema and a "quote" flag. - When using default "schema" with MetaData, ForeignKey will also assume the "default" schema when locating remote table. This allows the "schema" argument on MetaData to be applied to any set of Table objects that otherwise don't have a "schema". - a "has_schema" method has been implemented on dialect, but only works on Postgresql so far. Courtesy Manlio Perillo, [ticket:1679]
* - Fixed bug related to [ticket:2141] whereby theMike Bayer2011-10-051-6/+12
| | | | | | same modified index behavior in PG 9 affected primary key reflection on a renamed column. [ticket:2291]. Also in 0.6.9.
* - Added "postgresql_using" argument to Index(), producesMike Bayer2011-10-021-3/+24
| | | | | | USING clause to specify index implementation for PG. [ticket:2290]. Thanks to Ryan P. Kelly for the patch.
* - Reflection functions for Table, Sequence no longerMike Bayer2011-09-091-8/+8
| | | | | case insensitive. Names can be differ only in case and will be correctly distinguished. [ticket:2256]
* - Narrowed the assumption made when reflectingMike Bayer2011-08-091-8/+50
| | | | | | | | | | a foreign-key referenced table with schema in the current search path; an explicit schema will be applied to the referenced table only if it actually matches that of the referencing table, which also has an explicit schema. Previously it was assumed that "current" schema was synonymous with the full search_path. [ticket:2249]
* - Added new "postgresql_ops" argument toMike Bayer2011-07-201-9/+43
| | | | | | Index, allows specification of PostgreSQL operator classes for indexed columns. [ticket:2198] Courtesy Filip Zyzniewski.
* - Fixed bug affecting PG 9 whereby index reflectionrel_0_7_0Mike Bayer2011-05-201-7/+23
| | | | | would fail if against a column whose name had changed. [ticket:2141]. Also in 0.6.8.