summaryrefslogtreecommitdiff
path: root/django/db/backends/postgresql_psycopg2
AgeCommit message (Collapse)Author
2011-11-18Added support for time zones. Thanks Luke Plant for the review. Fixed #2626.Aymeric Augustin
For more information on this project, see this thread: http://groups.google.com/group/django-developers/browse_thread/thread/cf0423bbb85b1bbf git-svn-id: http://code.djangoproject.com/svn/django/trunk@17106 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-10-14Fixed #12308 -- Added tablespace support to the PostgreSQL backend.Aymeric Augustin
git-svn-id: http://code.djangoproject.com/svn/django/trunk@16987 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-09-09Fixed #7596. Added Model.objects.bulk_create, and make use of it in several ↵Alex Gaynor
places. This provides a performance benefit when inserting multiple objects. THanks to Russ for the review, and Simon Meers for the MySQl implementation. git-svn-id: http://code.djangoproject.com/svn/django/trunk@16739 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-08-29Follow the same convention as the rest of the file.Honza Král
Still cleanup after [16708] git-svn-id: http://code.djangoproject.com/svn/django/trunk@16710 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-08-29Forgotten import in [16708]Honza Král
git-svn-id: http://code.djangoproject.com/svn/django/trunk@16709 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-08-29Fixed #15802 -- pyscopg2 sometimes fail to close the connection when it's ↵Honza Král
already closed by the server, Thanks Rick van Hattem git-svn-id: http://code.djangoproject.com/svn/django/trunk@16708 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-08-07Fixed #3615: Added support for loading fixtures with forward references on ↵Karen Tracey
database backends (such as MySQL/InnoDB) that do not support deferred constraint checking. Many thanks to jsdalton for coming up with a clever solution to this long-standing issue, and to jacob, ramiro, graham_king, and russellm for review/testing. (Apologies if I missed anyone else who helped here.) git-svn-id: http://code.djangoproject.com/svn/django/trunk@16590 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-07-13Fixed #16225 -- Removed unused imports. Many thanks to Aymeric Augustin for ↵Jannis Leidel
the work on the patch and Alex for reviewing. git-svn-id: http://code.djangoproject.com/svn/django/trunk@16539 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-07-06Fixed #16250 -- Made test database creation support code in the PostgreSQL ↵Ramiro Morales
DB backend compatible with psycopg2 2.4.2. Implemented this by adding an internal hook for work that should be performed before that point. Also, regarding the `DatabaseCreation.set_autocommit()` method: * Stop using it for such tasks * Stop providing an implementation that tries to cover all the possible idioms a third party database backend DB-API 2 driver could need to activate autocommit. It is now left for third party backends to implement. This can be backwards incompatible in the case of user applications that: * Had started using this method * Use a third a party database backend git-svn-id: http://code.djangoproject.com/svn/django/trunk@16520 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-06-19Removed more code for handling of PostgreSQL versions older than 8.2; use ↵Ramiro Morales
always "INSERT... RETURNING..." rather than "INSERT...; SELECT CURRVAL...". Thanks Christoph Pettus for the report and hints. Fixes #12180. Refs [16423]. git-svn-id: http://code.djangoproject.com/svn/django/trunk@16443 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-06-19Fixed #11065, #11285 -- Streamlined PostgreSQL version detection, fixing ↵Ramiro Morales
incompatibility with multi-db. Thanks findepi for the report. Changed our internal representation of the PostgreSQL version from tuples to integers as used by libpq and psycopg2. This simplifies version comparison operations. Also, using the associated libpq/psycopg2 API allows to remove the need for manually issuing in-band ``SELECT version()`` SQL queries to obtain the server version (or at least reduce its number if version of psycopg2 in use is older than 2.0.12). Refs #10509. git-svn-id: http://code.djangoproject.com/svn/django/trunk@16439 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-06-16Fixed #16255 -- Raised minimum PostgreSQL version supported to 8.2.Ramiro Morales
git-svn-id: http://code.djangoproject.com/svn/django/trunk@16423 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-06-13Removed duplicate entry in introspection PostgreSQL db backend.Jannis Leidel
git-svn-id: http://code.djangoproject.com/svn/django/trunk@16394 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-06-11Fixed #811 -- Added support for IPv6 to forms and model fields. Many thanks ↵Jannis Leidel
to Erik Romijn. git-svn-id: http://code.djangoproject.com/svn/django/trunk@16366 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-04-22Fixed #14091 - be more correct about logging queries in connection.queries.Jacob Kaplan-Moss
Thanks to Aymeric Augustin for figuring out how to make this work across multiple databases. git-svn-id: http://code.djangoproject.com/svn/django/trunk@16081 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-04-20Fixed #2705: added a `select_for_update()` clause to querysets.Jacob Kaplan-Moss
A number of people worked on this patch over the years -- Hawkeye, Colin Grady, KBS, sakyamuni, anih, jdemoor, and Issak Kelly. Thanks to them all, and apologies if I missed anyone. Special thanks to Dan Fairs for picking it up again at the end and seeing this through to commit. git-svn-id: http://code.djangoproject.com/svn/django/trunk@16058 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-04-05Fixed #13630 -- Made __init__ methods of all DB backends' DatabaseOperations ↵Ramiro Morales
classes take a `connection` argument. Thanks calexium for the report. git-svn-id: http://code.djangoproject.com/svn/django/trunk@16016 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-04-02Deprecated the psycopg-based postgresql database backend.Russell Keith-Magee
git-svn-id: http://code.djangoproject.com/svn/django/trunk@15980 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-11-09Fixed #7539, #13067 -- Added on_delete argument to ForeignKey to control ↵Carl Meyer
cascade behavior. Also refactored deletion for efficiency and code clarity. Many thanks to Johannes Dollinger and Michael Glassford for extensive work on the patch, and to Alex Gaynor, Russell Keith-Magee, and Jacob Kaplan-Moss for review. git-svn-id: http://code.djangoproject.com/svn/django/trunk@14507 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-10-23Fixed #14223 -- Extended unification of exception raised in presence of ↵Ramiro Morales
integrity constraint violations. The unification had been introduced in r12352 and native backend exceptions still slipped through in cases that end in connection.commit() call. Thanks Alex, Jacob and Carl for reviewing. git-svn-id: http://code.djangoproject.com/svn/django/trunk@14320 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-10-11Fixed #12991 -- Added unittest2 support. Thanks to PaulM for the draft ↵Russell Keith-Magee
patch, and to Luke, Karen, Justin, Alex, Łukasz Rekucki, and Chuck Harmston for their help testing and reviewing the final patch. git-svn-id: http://code.djangoproject.com/svn/django/trunk@14139 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-08-30Fixed #13798 -- Added connection argument to the connection_created signal. ↵Russell Keith-Magee
Thanks to liangent for the report, and Alex Gaynor for the patch. git-svn-id: http://code.djangoproject.com/svn/django/trunk@13672 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-02-26Corrected an edge case introduced in r12602. Thanks to Ramiro Morales for ↵Russell Keith-Magee
the eagle eyes. git-svn-id: http://code.djangoproject.com/svn/django/trunk@12605 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-02-26Fixed #1480 -- Added the ability to use the system timezone. Thanks to ↵Russell Keith-Magee
Ramiro Morales for the patch. git-svn-id: http://code.djangoproject.com/svn/django/trunk@12602 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-01-29Fixed #12702 -- Introduced a common implementation of DatabaseError and ↵Russell Keith-Magee
IntegrityError, so that database backends can (re)raise common error classes. Thanks for Waldemar Kornewald for the report. git-svn-id: http://code.djangoproject.com/svn/django/trunk@12352 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-12-22Fixed #1142 -- Added multiple database support.Russell Keith-Magee
This monster of a patch is the result of Alex Gaynor's 2009 Google Summer of Code project. Congratulations to Alex for a job well done. Big thanks also go to: * Justin Bronn for keeping GIS in line with the changes, * Karen Tracey and Jani Tiainen for their help testing Oracle support * Brett Hoerner, Jon Loyens, and Craig Kimmerer for their feedback. * Malcolm Treddinick for his guidance during the GSoC submission process. * Simon Willison for driving the original design process * Cal Henderson for complaining about ponies he wanted. ... and everyone else too numerous to mention that helped to bring this feature into fruition. git-svn-id: http://code.djangoproject.com/svn/django/trunk@11952 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-05-11More fixes to PostgreSQL version comparisons from r10730.Russell Keith-Magee
git-svn-id: http://code.djangoproject.com/svn/django/trunk@10740 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-05-10Fixed #10842 -- Corrected parsing of version numbers for PostgreSQL 8.4beta ↵Russell Keith-Magee
series. Thanks to hgdeoro for the report and fix. git-svn-id: http://code.djangoproject.com/svn/django/trunk@10730 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-05-10Fixed #10958 -- Corrected the setting of PostgreSQL isolation level. Thanks ↵Russell Keith-Magee
to kmishler for the report. git-svn-id: http://code.djangoproject.com/svn/django/trunk@10728 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-03-29Fixed #6064 -- Added the `connection_created` signal for when a database ↵Justin Bronn
connection is created. git-svn-id: http://code.djangoproject.com/svn/django/trunk@10182 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-03-16More fixing of PostgreSQL < 8.2 problems with the psycopg2 backend.Malcolm Tredinnick
Affects the postgresql_psycopg2 backend only. We now don't use the "RETURNING" syntax in SQL INSERT statements unless it's required by the autocommit behaviour. This fixes an edge-case that could cause crashes with earlier PostgreSQL versions, but the broader problem remains to be fixed (which is #10509). Fixed #10467. Refs #10509. git-svn-id: http://code.djangoproject.com/svn/django/trunk@10065 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-03-12Fixed #10473: Added Oracle support for "RETURNING" ids from insert statements.Ian Kelly
git-svn-id: http://code.djangoproject.com/svn/django/trunk@10044 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-03-12Fixed #10467 -- Fixed generated INSERT SQL for PostgreSQL 8.1 and earlier.Malcolm Tredinnick
I introduced a bad regression in r10029, forgetting to check that some syntax was supported. For now, you can't use autocommit=True with 8.1 and earlier (it's still available for later versions). I'll fix the broader issue later and re-enable it for those versions, but I want to get the SQL regression for the default path out of the code right now. git-svn-id: http://code.djangoproject.com/svn/django/trunk@10035 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-03-12Slight refactoring of isolation setting from r10029.Malcolm Tredinnick
There was a bug in the way we were reading the DATABASE_OPTIONS setting and a lot of essentially duplicated code. This is neater. git-svn-id: http://code.djangoproject.com/svn/django/trunk@10033 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-03-11Fixed #3460 -- Added an ability to enable true autocommit for psycopg2 backend.Malcolm Tredinnick
Ensure to read the documentation before blindly enabling this: requires some code audits first, but might well be worth it for busy sites. Thanks to nicferrier, iamseb and Richard Davies for help with this patch. git-svn-id: http://code.djangoproject.com/svn/django/trunk@10029 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-03-11Fixed #10459 -- Refactored the internals of database connection objects so ↵Adrian Holovaty
that connections know their own settings and pass around settings as dictionaries instead of passing around the Django settings module itself. This will make it easier for multiple database support. Thanks to Alex Gaynor for the initial patch. This is backwards-compatible but will likely break third-party database backends. Specific API changes are: * BaseDatabaseWrapper.__init__() now takes a settings_dict instead of a settings module. It's called settings_dict to disambiguate, and for easy grepability. This should be a dictionary containing DATABASE_NAME, etc. * BaseDatabaseWrapper has a settings_dict attribute instead of an options attribute. BaseDatabaseWrapper.options is now BaseDatabaseWrapper['DATABASE_OPTIONS'] * BaseDatabaseWrapper._cursor() no longer takes a settings argument. * BaseDatabaseClient.__init__() now takes a connection argument (a DatabaseWrapper instance) instead of no arguments. git-svn-id: http://code.djangoproject.com/svn/django/trunk@10026 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-03-06Fixed #6710 -- Made DATABASE_OPTIONS work with postgresql_psycopg2 backend.Malcolm Tredinnick
Thanks to rcoup for the patch. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9981 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-28Fixed #8592 -- Fixed a bug in the way savepoint usage was disabled forMalcolm Tredinnick
PostgreSQL < 8.0. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8648 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-25Fixed #3575: use UPPER() instead ILIKE for postgres case-insensitive ↵Jacob Kaplan-Moss
comparisons. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8536 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-25Fixed #7464 -- Fixed the psycopg2 backend to handle SafeString values asMalcolm Tredinnick
parameters. Based on a patch from Digitalxero@gmail.com. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8532 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-12Do not use savepoints with PostgreSQL prior to 8.0.Malcolm Tredinnick
git-svn-id: http://code.djangoproject.com/svn/django/trunk@8317 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-12Added savepoint support to the transaction code.Malcolm Tredinnick
This is a no-op for most databases. Only necessary on PostgreSQL so that we can do things which will possibly intentionally raise an IntegrityError and not have to rollback the entire transaction. Not supported for PostgreSQL versions prior to 8.0, so should be used sparingly in internal Django code. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8314 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-11Removed some empty modules that are no longer required after [8296].Russell Keith-Magee
git-svn-id: http://code.djangoproject.com/svn/django/trunk@8301 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-11Fixed #5461 -- Refactored the database backend code to use classes for the ↵Russell Keith-Magee
creation and introspection modules. Introduces a new validation module for DB-specific validation. This is a backwards incompatible change; see the wiki for details. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8296 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-12-01Fixed #5996 -- Add a pyscopg2 convertor for SafeUnicode -> unicode. Thanks, ↵Malcolm Tredinnick
remco@diji.biz git-svn-id: http://code.djangoproject.com/svn/django/trunk@6816 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-10-23Added a BaseDatabaseOperations.last_executed_query() hook, which allows a ↵Adrian Holovaty
database backend to specify how to get the last-executed query on a given cursor. Implemented it for the psycopg2 backend. This means that for psycopg2, the SQL statements in django.db.connection.queries will now reflect the exact SQL as sent to the server, instead of a naive and misleading string-interpolated version git-svn-id: http://code.djangoproject.com/svn/django/trunk@6601 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-09-14Backed out [6165]. It breaks things for people using psycopg2 because it ↵Malcolm Tredinnick
requires psycopg to also be installed due to imports. git-svn-id: http://code.djangoproject.com/svn/django/trunk@6171 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-09-14Refs #4299 -- Removed some code duplication in the postgresql introspection ↵Gary Wilson Jr
modules by letting the `postgresql_psycopg2` backend use identical functions from the `postgresql` backend. git-svn-id: http://code.djangoproject.com/svn/django/trunk@6165 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-08-25Changed postgresql and postgresql_psycopg2 backends NOT to do a SELECT ↵Adrian Holovaty
version() for every connection, which was ludicrous. Now the version is only retrieved if it needs to be, via a lazy loader. git-svn-id: http://code.djangoproject.com/svn/django/trunk@6012 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-08-20Made various negligible formatting cleanups to the database backendsAdrian Holovaty
git-svn-id: http://code.djangoproject.com/svn/django/trunk@5983 bcc190cf-cafb-0310-a4f2-bffc1f526a37