summaryrefslogtreecommitdiff
path: root/django/db/backends/postgresql/base.py
AgeCommit message (Collapse)Author
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-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-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
2008-03-17Fixed #5883 -- Added __iter__ methods to the debug cursor and the postgresql ↵Malcolm Tredinnick
backend cursor. git-svn-id: http://code.djangoproject.com/svn/django/trunk@7259 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
2007-08-20Refactored OPERATOR_MAPPING so that it exists as ↵Adrian Holovaty
django.db.connection.operators instead of django.db.backend.OPERATOR_MAPPING. Refs #5106 git-svn-id: http://code.djangoproject.com/svn/django/trunk@5982 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-08-20Implemented BaseDatabaseFeatures and changed all code to access it -- ↵Adrian Holovaty
connection.features.foo instead of backend.foo git-svn-id: http://code.djangoproject.com/svn/django/trunk@5974 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-08-20Moved postgresql backend DatabaseOperations class into a new module, ↵Adrian Holovaty
postgresql/operations.py, so that it can be imported by both the postgresql and postgresql_psycopg2 backends. Hence the two backends no longer have a duplicated DatabaseOperations class git-svn-id: http://code.djangoproject.com/svn/django/trunk@5972 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-08-20Removed backend.dictfetchall(), as it wasn't being used anywhereAdrian Holovaty
git-svn-id: http://code.djangoproject.com/svn/django/trunk@5970 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-08-20Removed backend.dictfetchmany(), as it wasn't being used anywhereAdrian Holovaty
git-svn-id: http://code.djangoproject.com/svn/django/trunk@5969 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-08-20Removed backend.dictfetchone(), as it wasn't being used anywhereAdrian Holovaty
git-svn-id: http://code.djangoproject.com/svn/django/trunk@5968 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-08-20Refactored quote_name() to DatabaseOperations.quote_name(). Refs #5106Adrian Holovaty
git-svn-id: http://code.djangoproject.com/svn/django/trunk@5967 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-08-20Refactored get_start_transaction_sql() to ↵Adrian Holovaty
DatabaseOperations.start_transaction_sql(). Refs #5106 git-svn-id: http://code.djangoproject.com/svn/django/trunk@5965 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-08-20Refactored get_sql_sequence_reset() to ↵Adrian Holovaty
DatabaseOperations.sequence_reset_sql(). Refs #5106 git-svn-id: http://code.djangoproject.com/svn/django/trunk@5964 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-08-20Refactored get_sql_flush() to DatabaseOperations.sql_flush(). Refs #5106Adrian Holovaty
git-svn-id: http://code.djangoproject.com/svn/django/trunk@5963 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-08-20Refactored get_random_function_sql() to ↵Adrian Holovaty
DatabaseOperations.random_function_sql(). Refs #5106 git-svn-id: http://code.djangoproject.com/svn/django/trunk@5962 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-08-19Refactored get_pk_default_value() to DatabaseOperations.pk_default_value(). ↵Adrian Holovaty
Refs #5106 git-svn-id: http://code.djangoproject.com/svn/django/trunk@5961 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-08-19Refactored get_max_name_length() to DatabaseOperations.max_name_length(). ↵Adrian Holovaty
Refs #5106 git-svn-id: http://code.djangoproject.com/svn/django/trunk@5960 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-08-19Refactored get_limit_offset_sql() to DatabaseOperations.limit_offset_sql(). ↵Adrian Holovaty
Refs #5106 git-svn-id: http://code.djangoproject.com/svn/django/trunk@5959 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-08-19Refactored get_last_insert_id() to DatabaseOperations.last_insert_id(). Refs ↵Adrian Holovaty
#5106 git-svn-id: http://code.djangoproject.com/svn/django/trunk@5958 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-08-19Refactored get_fulltext_search_sql() to ↵Adrian Holovaty
DatabaseOperations.fulltext_search_sql(). Refs #5106 git-svn-id: http://code.djangoproject.com/svn/django/trunk@5957 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-08-19Refactored get_drop_foreignkey_sql() to ↵Adrian Holovaty
DatabaseOperations.drop_foreignkey_sql(). Refs #5106 git-svn-id: http://code.djangoproject.com/svn/django/trunk@5956 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-08-19Refactored get_deferrable_sql() to DatabaseOperations.deferrable_sql(). Refs ↵Adrian Holovaty
#5106 git-svn-id: http://code.djangoproject.com/svn/django/trunk@5955 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-08-19Refactored get_datetime_cast_sql() to ↵Adrian Holovaty
DatabaseOperations.datetime_cast_sql(). Refs #5106 git-svn-id: http://code.djangoproject.com/svn/django/trunk@5953 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-08-19Refactored get_date_trunc_sql() to DatabaseOperations.date_trunc_sql(). Refs ↵Adrian Holovaty
#5106 git-svn-id: http://code.djangoproject.com/svn/django/trunk@5952 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-08-19Refactored get_date_extract_sql() to DatabaseOperations.date_extract_sql(). ↵Adrian Holovaty
Refs #5106 git-svn-id: http://code.djangoproject.com/svn/django/trunk@5951 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-08-19Began implementing BaseDatabaseOperations class for every database backend. ↵Adrian Holovaty
This class will be used to hold the database-specific methods that currently live at the module level in each backend. Only autoinc_sql() has been implemented so far. git-svn-id: http://code.djangoproject.com/svn/django/trunk@5950 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-08-19Refactored all database backends to inherit from a common base class to ↵Adrian Holovaty
remove quite a bit of duplicated code. Thanks for the patch, Brian Harring. Refs #5106 git-svn-id: http://code.djangoproject.com/svn/django/trunk@5949 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-08-11Fixed #5134 -- Return empty strings as Unicode in psycopg1 backend.Malcolm Tredinnick
git-svn-id: http://code.djangoproject.com/svn/django/trunk@5834 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-07-04Merged Unicode branch into trunk (r4952:5608). This should be fullyMalcolm Tredinnick
backwards compatible for all practical purposes. Fixed #2391, #2489, #2996, #3322, #3344, #3370, #3406, #3432, #3454, #3492, #3582, #3690, #3878, #3891, #3937, #4039, #4141, #4227, #4286, #4291, #4300, #4452, #4702 git-svn-id: http://code.djangoproject.com/svn/django/trunk@5609 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-06-27Fixed #1465: added support for regex lookups. Thanks, Tom Tobin.Jacob Kaplan-Moss
git-svn-id: http://code.djangoproject.com/svn/django/trunk@5555 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-06-23Merged boulder-oracle-sprint branch (r3965:5512) back into trunk. AllMalcolm Tredinnick
expected tests pass for all databases. git-svn-id: http://code.djangoproject.com/svn/django/trunk@5519 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-06-10Fixed #4432 -- Fixed PostgreSQL sequence resetting in the case when a table hasMalcolm Tredinnick
no rows yet. Thanks, mrmachine. git-svn-id: http://code.djangoproject.com/svn/django/trunk@5455 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-05-21Fixed #2365, #3324 -- Renamed FloatField to DecimalField and changed the codeMalcolm Tredinnick
to return Decimal instances in Python for this field. Backwards incompatible change. Added a real FloatField (stores floats in the database) and support for FloatField and DecimalField in newforms (analogous to IntegerField). Included decimal.py module (as django.utils._decimal) from Python 2.4. This is license compatible with Django and included for Python 2.3 compatibility only. Large portions of this work are based on patches from Andy Durdin and Jorge Gajon. git-svn-id: http://code.djangoproject.com/svn/django/trunk@5302 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-05-12Fixed #4231 -- Added quoting for sequence names on sequence reset for ↵Russell Keith-Magee
PostgreSQL. This was causing difficulties if table or application names were capitalized. Thanks for the report, Mark Jarecki. git-svn-id: http://code.djangoproject.com/svn/django/trunk@5204 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-04-26Fixed #4040 -- Changed uses of has_key() to "in". Slight performanceMalcolm Tredinnick
improvement and forward-compatible with future Python releases. Patch from Gary Wilson. git-svn-id: http://code.djangoproject.com/svn/django/trunk@5091 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-04-25Fixed #3450 -- Exposed IntegrityError in a backend-neutral fashion. This is aMalcolm Tredinnick
useful error to be able to catch explicitly. Thanks, enlight. git-svn-id: http://code.djangoproject.com/svn/django/trunk@5076 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-04-17Fixed #4057 -- Fixed problem with quoting of sequence names on Postgres ↵Russell Keith-Magee
backends. Thanks, Gary Wilson. git-svn-id: http://code.djangoproject.com/svn/django/trunk@5017 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-04-06Fixed #3790 -- Fixed a problem with sequence resetting during fixture loads ↵Russell Keith-Magee
when using Postgres. Thanks to Jon Ballard and scott@staplefish.com for the report, and to Zach Thompson for suggesting a solution. git-svn-id: http://code.djangoproject.com/svn/django/trunk@4937 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-03-09Fixed #3024 -- Fixed database commit() and rollback() behaviour so it worksMalcolm Tredinnick
consistently if you execute them before Django has made a database connection. Thanks Bastian Kleineidam. git-svn-id: http://code.djangoproject.com/svn/django/trunk@4691 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-03-02Fixed #3627 -- Made [4659] compatible with Python 2.3. Thanks, Gary Wilson.Malcolm Tredinnick
git-svn-id: http://code.djangoproject.com/svn/django/trunk@4662 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-03-01Changed the postgres version getting code to use cursor.fetchone() instead ↵Jacob Kaplan-Moss
of dictfetchone(); some versions (including mine) of psycopg don't export dictfetch functions. git-svn-id: http://code.djangoproject.com/svn/django/trunk@4660 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-03-01Fixes #2333 -- Added test fixtures framework.Russell Keith-Magee
git-svn-id: http://code.djangoproject.com/svn/django/trunk@4659 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-02-26Fixed #3390: the serializer can now contain forward references. Thanks, Russ.Jacob Kaplan-Moss
git-svn-id: http://code.djangoproject.com/svn/django/trunk@4610 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-02-25Fixed #3459: Django no longer runs SET TIME ZONE for every query when using ↵Jacob Kaplan-Moss
Postgres. This should result in a pretty noticible speedup for Postgres users, so many thanks to Jack Moffitt for the patch. git-svn-id: http://code.djangoproject.com/svn/django/trunk@4573 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2006-12-29Fixed #3205 -- Fixed bug in custom postgresql executemany wrapper. Thanks ↵Adrian Holovaty
for reporting, jeffreyz@broadpark.no git-svn-id: http://code.djangoproject.com/svn/django/trunk@4257 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2006-12-27Fixed #3115 -- Changed postgresql backend to convert all Unicode strings to ↵Adrian Holovaty
bytestrings according to DEFAULT_CHARSET. This is necessary because psycopg1 does not apply database quoting to Unicode strings git-svn-id: http://code.djangoproject.com/svn/django/trunk@4244 bcc190cf-cafb-0310-a4f2-bffc1f526a37