Adam Chainz
4b1c9708d6
Fixed #26966 -- Made MySQL backend skip defaults for JSON columns
...
Thanks mcgeeco for reporting, and claudep and timgraham for review.
2016-08-01 13:51:25 -04:00
Anderson Resende
0d1218896f
Fixed #26950 -- Removed obsolete DatabaseOperations SQL methods.
...
Unused as of 2b039d966f
.
2016-07-27 07:34:44 -04:00
Claude Paroz
3ea7167bb5
Refs #24928 -- Added introspection support for UUIDField
2016-07-20 17:27:29 +02:00
akki
767849b765
Removed unnecessary looping in sqlite3 SchemaEditor.
2016-07-18 08:47:30 -04:00
Jon Dufresne
3f76d1402d
Refs #26889 -- Refactored SchemaEditor to allow backend specific indexes.
2016-07-15 10:34:37 -04:00
Marc-Aurèle Brothier
f8bfa80680
Fixed #26868 -- Changed MySQL version detection to use a query.
...
Workaround a bug with MariaDB and MySQL native client not stripping the
`5.5.5-` prefix.
2016-07-15 10:05:03 -04:00
Jon Dufresne
2e4cfcd2b9
Fixed #26889 -- Fixed missing PostgreSQL index in SchemaEditor.add_field().
2016-07-13 14:33:54 -07:00
Simon Charette
8a4f017f45
Fixed #26348 -- Added TruncTime and exposed it through the __time lookup.
...
Thanks Tim for the review.
2016-07-08 12:35:34 -04:00
Simon Charette
082c52dbed
Refs #25774 , #26348 -- Allowed Trunc functions to operate with time fields.
...
Thanks Josh for the amazing testing setup and Tim for the review.
2016-07-08 12:35:34 -04:00
Simon Charette
c4a876a0c1
Refs #17260 -- Prevented Oracle timezone conversion from stripping microseonds.
2016-07-08 12:35:33 -04:00
Jon Dufresne
9356f63a99
Fixed #25317 , #26090 -- Fixed swapping combinations of unique and db_index during migrations.
2016-07-07 20:29:08 -04:00
Akshesh
52442898e7
Refs #26709 -- Added 'model' argument to SchemaEditor.add/remove_index()
...
This removes the dependency of the Index class on its model attribute
when a name is passed to it.
Thanks to Markush for discussions.
2016-07-07 10:06:55 -04:00
Jon Dufresne
3410820460
Fixed #26833 -- Fixed SchemaEditor._constraint_names() to handle features.uppercases_column_names.
2016-07-07 08:09:42 -04:00
akki
2960e3a3a7
Fixed #26841 -- Avoid remake tables for altering togethers in sqlite3 ( #6888 )
...
alter_index_together and alter_unique_together no more use _remake_table method in sqlite3
2016-07-06 10:03:47 +02:00
Adam Dobrawy
92d323ccb5
Added package names to 'Error loading MySQLdb module' error.
2016-07-01 13:12:27 -04:00
Jon Dufresne
16614dcd5c
Fixed #25694 -- Removed incorrect _uniq suffix on index names during migrations.
2016-06-29 14:47:29 -04:00
Aaron Elliot Ross
6bf7964023
Fixed #26171 -- Made MySQL create an index on ForeignKeys with db_contraint=False.
...
Refactored "Prevented unneeded index creation on MySQL-InnoDB" (2ceb10f
)
to avoid setting db_index=False.
2016-06-28 08:22:20 -04:00
Étienne BERSAC
03f6d272ab
Fixed #26751 -- Made dbshell exit with the shell's error code.
2016-06-27 12:20:40 -04:00
Akshesh
156e2d59cf
Fixed #26709 -- Added class-based indexes.
...
Added the AddIndex and RemoveIndex operations to use them in migrations.
Thanks markush, mjtamlyn, timgraham, and charettes for review and advice.
2016-06-27 10:41:01 -04:00
Simon Charette
c2e62fd1ae
Fixed #26781 -- Made table name case change a noop on SQLite.
...
SQLite disgresses from the SQL standard by ignoring case of quoted identifiers.
Thanks to laozzzi for the report and Tim for the review.
2016-06-21 16:37:06 -04:00
Ville Skyttä
96f97691ad
Fixed broken links in docs and comments.
2016-06-15 21:20:23 -04:00
Simon Charette
b484f167be
Fixed #26712 -- Avoided unnecessary SET TIMEZONE queries on PostgreSQL.
...
A change of the USE_TZ or TIME_ZONE settings doesn't necessarily require a
change to the active connections' timezones.
2016-06-06 11:26:02 -04:00
mieciu
19ff506878
Fixed #26698 -- Fixed PostgreSQL dbshell crash on an empty database name.
2016-06-03 12:30:21 -04:00
Barthelemy Dagenais
a5c8072ab1
Fixed #26627 -- Fixed on_commit callbacks execution order when callbacks make transactions.
2016-05-18 09:09:48 -04:00
Josh Smeaton
77b73e79a4
Refs #25774 -- Made Oracle truncate microseconds if USE_TZ=False.
...
The tests for this change are in the fix for #25774 .
2016-05-18 20:14:58 +10:00
Philip Liberato
3630b49b55
Fixed #26613 -- Made sqlite3 optional in SchemaEditor.quote_value().
2016-05-17 21:43:37 -04:00
boaz85@gmail.com
5f23f904af
Fixed #14415 -- Used the test database name in BaseDatabaseCreation.test_db_signature().
2016-05-17 21:35:36 -04:00
Iacopo Spalletti
49c57f8565
Fixed #25005 -- Made date and time fields with auto_now/auto_now_add use effective default.
...
Thanks to Andriy Sokolovskiy for initial patch.
2016-05-09 07:48:40 -04:00
Ville Skyttä
413f3bb5c8
Replaced `six.callable` with `callable`.
2016-05-08 18:07:15 -04:00
Markus Holtermann
deeffde84a
Fixed #26593 -- Leveraged deferrable_sql() in SchemaEditor
2016-05-07 01:21:00 +02:00
Ville Skyttä
575a9a791e
Normalized "an SQL" spelling.
2016-05-03 19:30:48 -04:00
Joshua Phillips
4681d65048
Fixed #26557 -- Converted empty strings to None when saving GenericIPAddressField.
2016-04-29 10:11:49 -04:00
Marc Tamlyn
2d877da855
Refs #3254 -- Added full text search to contrib.postgres.
...
Adds a reasonably feature complete implementation of full text search
using the built in PostgreSQL engine. It uses public APIs from
Expression and Lookup.
With thanks to Tim Graham, Simon Charettes, Josh Smeaton, Mikey Ariel
and many others for their advice and review. Particular thanks also go
to the supporters of the contrib.postgres kickstarter.
2016-04-22 10:44:37 +01:00
Lukasz Wiecek
d3c87a2425
Fixed #26498 -- Fixed TimeField microseconds round-tripping on MySQL and SQLite.
...
Thanks adamchainz for the report and review.
2016-04-18 09:39:46 -04:00
Claude Paroz
f9a2a7db17
Fixed #26351 -- Added MySQL check to warn about strict mode option
...
Thanks Adam Chainz for the initial implementation in django-mysql.
Thanks Adam Chainz, Tim Graham, and Shai Berger for the reviews.
2016-04-08 20:34:16 +02:00
Claude Paroz
0d3c616fbb
Refs #26351 -- Added check hook to support database-related checks
...
Thanks Tim Graham and Shai Berger for the reviews.
2016-04-08 20:28:00 +02:00
Tim Graham
df8d8d4292
Fixed E128 flake8 warnings in django/.
2016-04-08 09:51:06 -04:00
Tim Graham
6448873197
Fixed E402 flake8 warnings.
2016-04-04 17:14:27 -04:00
Tim Graham
2cd2d18851
Fixed W503 flake8 warnings.
2016-04-04 17:14:26 -04:00
Alex Hill
4b2cf1cd27
Fixed #26384 -- Fixed renaming the PK on a model with a self-referential FK on SQLite.
2016-03-29 13:25:09 -04:00
Andrew Godwin
2b3a941457
Merge pull request #6310 from apollo13/informix
...
Pass type to sql_alter_column*.
2016-03-18 19:47:15 -03:00
Florian Apolloner
37cde8667e
Pass type to sql_alter_column*.
...
This helps databases which need the database type when changing the default
(Just like MySQL needs it for changing null…)
2016-03-18 23:11:02 +01:00
Markus Holtermann
1cb65b8a77
Fixed #26157 #25321 -- Added sql/params to extra context of schema logger
...
Thanks Akshesh Doshi for the initial patch and Tim Graham for the review
2016-03-15 17:45:58 +11:00
Claude Paroz
204e00c0c5
Fixed #26140 -- Suppressed MySQL warning when inserting binary content
...
Thanks Tim Graham for the review.
2016-03-14 18:08:13 +01:00
Marc Tamlyn
8ddc79a799
Fixed #26285 -- Deprecated the MySQL-specific __search lookup.
2016-03-02 14:41:56 -05:00
acrefoot
04240b2365
Refs #19527 -- Allowed QuerySet.bulk_create() to set the primary key of its objects.
...
PostgreSQL support only.
Thanks Vladislav Manchev and alesasnouski for working on the patch.
2016-03-02 14:29:09 -05:00
Matthew Schinckel
60633ef3de
Fixed #26304 -- Ignored unmanaged through model in table introspection.
2016-03-02 13:54:27 -05:00
Simon Charette
766afc22a1
Fixed #24793 -- Unified temporal difference support.
2016-02-26 12:25:12 -05:00
zshimanchik
65aa94200b
Fixed #24653 -- Fixed MySQL database introspection when using read_default_file.
2016-02-26 12:02:13 -05:00
Akshesh
fdccc02576
Fixed #26219 -- Fixed crash when filtering by Decimal in RawQuery.
2016-02-17 13:56:42 -05:00
Tim Graham
004ba0f99e
Removed unneeded hint=None/obj=None in system check messages.
2016-02-12 13:01:25 -05:00
Tim Graham
97eb3356b2
Fixed #26177 -- Fixed a PostgreSQL crash with TIME_ZONE=None and USE_TZ=False.
2016-02-08 07:21:54 -05:00
Pankrat
f91a04621e
Fixed #25833 -- Added support for non-atomic migrations.
...
Added the Migration.atomic attribute which can be set to False
for non-atomic migrations.
2016-02-05 09:09:05 -05:00
userimack
60586dd737
Fixed #26125 -- Fixed E731 flake warnings.
2016-01-25 14:23:43 -05:00
seungkwon
5925e20c37
Fixed typo in django/db/backends/sqlite3/operations.py.
2016-01-23 07:05:47 -05:00
Tim Graham
4dc74371e3
Removed unused attributes of MySQL SchemaEditor.
2016-01-22 12:46:27 -05:00
Aymeric Augustin
f91b5a7e4b
Fixed #26063 -- Crash when passing > 2000 params.
...
If SQLITE_MAX_VARIABLE_NUMBER (default = 999) is changed at compile time
to be greater than SQLITE_MAX_COLUMN (default = 2000), which Debian does
by setting the former to 250000, Django raised an exception on queries
containing more than 2000 parameters when DEBUG = True.
2016-01-21 10:47:15 +01:00
pp
b34ff66e5b
Added missing period to "etc.".
2016-01-11 18:05:15 -05:00
Curtis Maloney
3792e291e6
Removed use of locals for print formatting in Oracle backend.
2016-01-11 07:13:24 -05:00
Tim Graham
56aaae58a7
Fixed #26034 -- Fixed incorrect index handling on PostgreSQL on Char/TextField with unique=True and db_index=True.
...
Thanks Simon Charette for review.
2016-01-08 12:47:05 -05:00
Ville Skyttä
e6ca15c13f
Passed logging message parameters as arguments instead of interpolating them.
2015-12-26 18:35:42 -05:00
Alexander Sosnovskiy
2a7ce34600
Fixed #14286 -- Added models.BigAutoField.
2015-12-25 20:01:31 -05:00
Sergey Fedoseev
ed1bcf0515
Refs #25894 -- Fixed evaluation of zero-length slices of QuerySet.values() on Oracle.
2015-12-17 17:07:10 -05:00
Stewart Park
b7fdd60d85
Fixed #24675 -- Skipped SQL_AUTO_IS_NULL query on MySQL if not needed.
2015-12-15 10:30:57 -05:00
Federico Frenguelli
3a36c80795
Fixed #25412 -- Fixed missing PostgreSQL index on Char/TextField when using AlterField.
...
Thanks to Emanuele Palazzetti for the help.
2015-12-10 16:12:51 -05:00
George Marshall
710e11d076
Fixed #25767 -- Fixed data truncation possibility with Positive(Small)IntegerField on MySQL.
2015-11-24 11:09:15 -05:00
Tim Graham
abcdb237bb
Refs #25196 -- Fixed incorrect argument order in test database creation.
2015-11-13 11:29:35 -05:00
Tim Graham
0b5d32faca
Fixed #25611 -- Standardized descriptor signatures.
2015-10-26 11:31:16 -04:00
Mariusz Felisiak
0f6d51e6a0
Fixed #25470 -- Avoided unnecessary, expensive DATETIME typecast on MySQL.
2015-10-21 19:24:19 -04:00
Tim Graham
7a5b7e35bf
Fixed #22705 -- Fixed QuerySet.bulk_create() on models without any fields on Oracle.
...
Fixed on other backends by 134ca4d438
.
Thanks Mariusz Felisiak for the solution.
2015-10-09 14:16:06 -04:00
Riccardo Magliocchetti
3543fec3b7
Refs #12118 -- Allowed "mode=memory" in SQLite test database names.
2015-10-06 12:32:05 -04:00
Mariusz Felisiak
a3a6def867
Fixed #25421 -- Fixed test --keepdb option on Oracle.
2015-09-26 19:51:15 -04:00
Ville Skyttä
afe777639c
Fixed #25196 -- Normalized database representations in test database messages.
...
Left over Oracle mostly as-is since it's more complicated.
2015-09-25 10:21:55 -04:00
Alex Hill
134ca4d438
Fixed #24509 -- Added Expression support to SQLInsertCompiler
2015-09-22 23:35:24 +10:00
Hynek Cernoch
4b9d063da0
Refs #17785 -- Made docstring for sqlite3's get_relations() consistent with other backends.
2015-09-18 09:32:36 -04:00
Aymeric Augustin
4f6a7663bc
Refs #14091 -- Fixed connection.queries on SQLite.
2015-09-17 23:01:33 +02:00
Ville Skyttä
4d933ad418
Fixed #25393 -- Fixed MySQL crash when adding text/blob field with unhashable default.
2015-09-14 12:25:08 -04:00
Adam Chainz
b2f6e421a3
Fixed #25329 -- Prevented _nodb_connection from being left open
2015-09-11 08:40:43 +02:00
Aymeric Augustin
33c7c2a557
Enabled parallel testing by default in runtests.py.
2015-09-10 13:34:05 +02:00
Aymeric Augustin
05cea7fdbb
Changed database connection duplication technique.
...
This new technique is more straightforward and compatible with test
parallelization, where the effective database connection settings no
longer match settings.DATABASES.
2015-09-09 23:03:51 +02:00
Aymeric Augustin
0586c061f0
Cloned databases for running tests in parallel.
2015-09-09 23:01:15 +02:00
Aymeric Augustin
6d1110f2f0
Updated references to the TEST_* database settings.
...
They were removed in Django 1.9.
I could leave the reference to TEST_DEPENDENCIES in the 1.2.4 release
notes because the link points to the right location and the name was
accurate at the time.
2015-09-05 19:21:22 +02:00
Maxime Lorant
5153a3bfdc
Fixed #25331 -- Removed trailing blank lines in docstrings.
2015-08-31 17:37:21 -04:00
Caio Ariede
dad8434d6f
Fixed #25180 -- Prevented varchar_patterns_ops and text_patterns_ops indexes for ArrayField.
2015-08-15 10:02:08 -04:00
Caio Ariede
bcb4fe0012
Refs #25175 -- Added backwards compatibility for importing postgresql_psycopg2 backend.
2015-08-07 09:34:18 -04:00
Caio Ariede
ec9004728e
Fixed #25175 -- Renamed the postgresql_psycopg2 database backend to postgresql.
2015-08-07 09:33:17 -04:00
Tim Graham
c52822e750
Fixed #25128 -- Fixed SQLite SchemaEditor crash when adding a ForeignObject field.
2015-07-15 15:22:52 -04:00
Jean-Michel Vourgère
b64c0d4d61
Fixed #23658 -- Provided the password to PostgreSQL dbshell command
...
The password from settings.py is written in a temporary .pgpass file
file whose name is given to psql using the PGPASSFILE environment
variable.
2015-06-30 18:21:51 -04:00
Shai Berger
eecd42ea7d
Removed datetime_cast_sql, which is never overridden or used anywhere in Django.
...
Thanks Tim Graham for review.
2015-07-01 00:43:45 +03:00
Andreas Pelme
00a1d4d042
Fixed #21803 -- Added support for post-commit callbacks
...
Made it possible to register and run callbacks after a database
transaction is committed with the `transaction.on_commit()` function.
This patch is heavily based on Carl Meyers django-transaction-hooks
<https://django-transaction-hooks.readthedocs.org/ >. Thanks to
Aymeric Augustin, Carl Meyer, and Tim Graham for review and feedback.
2015-06-30 14:51:00 -04:00
Greg Chapple
4a66a69239
Fixed #24887 -- Removed one-arg limit from models.aggregate
2015-06-27 11:44:33 -04:00
Simon Charette
bdb382b2a4
Refs #25002 -- Supported textual to temporal column alteration on Oracle.
...
Thanks to Tim Graham for the report and Shai Berger for the review.
2015-06-24 19:37:55 -04:00
Tim Graham
aaacaeb096
Renamed RemovedInDjangoXYWarnings for new roadmap.
...
Forwardport of ae1d663b79
from stable/1.8.x plus more.
2015-06-24 16:08:20 -04:00
Simon Charette
73040e584a
Fixed #25002 -- Used PostgreSQL column type alteration USING clause.
...
Thanks to Dirk Uys for the report.
2015-06-22 09:35:35 -04:00
Shai Berger
abd7e48af7
Changed Oracle's test-database-creation to use an explicit main-db-connection
...
rather than just relying on manipulation of settings to determine which
invocation of connection.cursor() opens a connection to the test database
and which opens a connection to the main database.
Thanks Aymeric Augustin for motivation and Tim Graham for review.
2015-06-20 23:48:18 +03:00
Daniel Wiesmann
b769bbd4f6
Fixed #23804 -- Added RasterField for PostGIS.
...
Thanks to Tim Graham and Claude Paroz for the reviews and patches.
2015-06-19 14:36:43 -04:00
Tim Graham
7f1168e387
Removed support for Python 3.3.
2015-06-18 08:36:50 -04:00
Adam Brenecki
65296b3be3
Fixed #24972 -- Fixed removing unique_together indexes on MySQL.
2015-06-15 17:28:13 -04:00
Tim Graham
47fcbe506c
Fixed flake8 warnings on Python 3.
2015-06-15 11:27:09 -04:00
Sagar Mittal
e5033dcbba
Imported sqlite3 instead of _sqlite3
...
adapt and ProgrammingError are both available on the
sqlite3 module. There's no need to import the internal
_sqlite3 module.
2015-06-06 11:35:02 -04:00
Ian Foote
4ab53a558a
Fixed #24767 -- Added Greatest and Least expressions
...
Greatest and Least are row-level Function versions of Min and Max.
2015-06-05 11:15:33 +01:00
Shai Berger
35291df7f7
Fixed #19542 : Made mirroring databases for tests work with Oracle
...
No tests are provided because there is no sane way to test database
settings within the Django test suite.
Thanks Aymeric Augustin for review.
2015-06-05 12:29:15 +03:00
Matthew Somerville
2dc93bb10a
Fixed #22316 -- Added time filters to TimeField on SQLite.
...
This was implemented for non-SQLite backends in 1.7 (as a
side effect of #16187 ).
2015-06-04 22:27:13 -04:00
Tim Graham
e1e6399c2c
Fixed #24893 -- Fixed lack of unique constraint when changing a field from primary_key=True to unique=True
2015-06-02 09:25:47 -04:00
Tim Graham
5ab8680983
Fixed #24892 -- Fixed quoting of SQL when renaming a field to AutoField in PostgreSQL
2015-06-02 09:13:55 -04:00
Jon Dufresne
44f3ee7716
Fixed #9596 -- Added date transform for DateTimeField.
2015-06-02 08:49:10 -04:00
Josh Smeaton
c7805ee214
Fixed #24699 -- Added aggregate support for DurationField on Oracle
2015-05-30 20:41:33 -04:00
Adam Chainz
e60cce4e40
Fixed #24846 -- Added support to MySQL SchemaEditor for all blob/text data types
2015-05-30 20:37:57 -04:00
Andriy Sokolovskiy
80ad5472ce
Fixed #24817 -- Prevented loss of null info in MySQL field renaming.
2015-05-28 10:07:52 -04:00
Florian Apolloner
92f37e5f5f
Well, what should I say: UPS.
2015-05-24 17:33:44 +02:00
Andrea Grandi
43b2d88a5b
Fixed #24844 -- Corrected has_changed implementation for HStoreField.
2015-05-24 17:32:16 +02:00
Aymeric Augustin
da2c6959c8
Dropped the needs_datetime_string_cast feature.
...
It has been superseded by the converter infrastructure.
2015-05-17 10:23:13 +02:00
Aymeric Augustin
ed83881e64
Fixed #23820 -- Supported per-database time zone.
...
The primary use case is to interact with a third-party database (not
primarily managed by Django) that doesn't support time zones and where
datetimes are stored in local time when USE_TZ is True.
Configuring a PostgreSQL database with the TIME_ZONE option while USE_TZ
is False used to result in silent data corruption. Now this is an error.
2015-05-17 09:40:28 +02:00
Aymeric Augustin
54026f1e8d
Renamed value_to_db_xxx to adapt_xxxfield_value.
...
This mirrors convert_xxxfield_value nicely, taking advantage of the
adapter/converter terminology which is commonly used by DB-API modules.
2015-05-17 09:39:34 +02:00
Aymeric Augustin
d9521f66b1
Removed global timezone-aware datetime adapters.
...
Refs #23820 .
Fixed #19738 .
Refs #17755 . In order not to introduce a regression for raw queries,
parameters are passed through the connection.ops.value_to_db_* methods,
depending on their type.
2015-05-17 09:38:48 +02:00
Aymeric Augustin
fe6b5e62b1
Normalized the implementation of get_db_converters.
...
Put the types in the same order and checked for None consistently.
2015-05-17 09:36:27 +02:00
Aymeric Augustin
ec186572e6
Removed global timezone-aware datetime converters.
...
Refs #23820 .
2015-05-17 09:36:23 +02:00
Claude Paroz
3226050358
Fixed #24791 -- Added fallback when 'postgres' database isn't available
...
Thanks Carl Meyer and Tim Graham for the reviews.
2015-05-15 18:44:20 +02:00
Claude Paroz
ae635cc365
Fixed #24757 -- Recreated MySQL index when needed during combined index removal
...
Thanks Thomas Recouvreux for the report and Tim Graham for the tests and
review.
2015-05-15 17:07:14 +02:00
Milan Broum
95058606c8
Allowed using the sqlite3 backend as much as possible without _sqlite3.
...
The inner import was dropped during the reorganizing of the database
backends in commit 28308078f3
.
2015-05-04 12:59:59 -04:00
Tim Graham
2d76b61dc2
Fixed #24649 -- Allowed using Avg aggregate on non-numeric field types.
2015-04-25 13:06:14 -04:00
Tim Graham
26996e2d55
Fixed #24499 -- Dropped support for PostGIS 1.5.
2015-04-25 12:21:16 -04:00
Claude Paroz
8097e54832
Fixed #23879 -- Allowed model migration skip based on feature/vendor
...
Thanks Carl Meyer for the report and review, and Tim Graham for the
review.
2015-04-18 15:17:49 +02:00
Claude Paroz
02260ea3f6
Fixed #24595 -- Prevented loss of null info in MySQL field alteration
...
Thanks Simon Percivall for the report, and Simon Charette and Tim
Graham for the reviews.
2015-04-17 10:25:15 +02:00
peterfarrell
f8e8853b51
Fixed #24637 -- Fixed database introspection with SQLite 3.8.9.
2015-04-14 11:29:59 -04:00
Jon Dufresne
2cf58e80d1
Fixed #24584 -- Fixed microsecond handling with older MySQLdb
2015-04-06 22:43:51 +02:00
Alex Hill
07ba148d9e
Cleaned up use of context manager in SQLite schema editor
2015-04-03 09:13:55 -04:00
Andriy Sokolovskiy
29b4a3f513
Removed duplicate attribute in MySQL DatabaseSchemaEditor.
2015-03-30 19:23:41 -04:00
Simon Charette
dc27f3ee0c
Fixed #19259 -- Added group by selected primary keys support.
2015-03-29 22:03:30 -04:00
Andrei Kulakov
e2bfcab065
Fixed #24394 -- Allowed running tests with empty default dictionary.
2015-03-25 17:56:59 -04:00
Anssi Kääriäinen
8f30556329
Renamed Field.rel attribute to remote_field
...
Field.rel is now deprecated. Rel objects have now also remote_field
attribute. This means that self == self.remote_field.remote_field.
In addition, made the Rel objects a bit more like Field objects. Still,
marked ManyToManyFields as null=True.
2015-03-25 08:16:12 -04:00
Tim Graham
13bc311cdb
Removed getLogger alias in django.utils.log.
2015-03-24 08:41:05 -04:00
Claude Paroz
01ec127bae
Fixed #12400 -- Allowed geometry fields in unique_together
...
Thanks Tim Graham for the review.
2015-03-23 19:52:49 +01:00
Alex Hill
880393a902
Explicitly disable FK constraints in SQLite editor
2015-03-21 10:31:07 +01:00
Alex Hill
6c58e53d5d
Safer table alterations under SQLite
...
Table alterations in SQLite require creating a new table and copying
data over from the old one. This change ensures that no Django model
ever exists with the temporary table name as its db_table attribute.
2015-03-21 10:31:07 +01:00
Jean-Louis Fuchs
f4f0060fea
Fixed #24447 -- Made migrations add FK constraints for existing columns
...
When altering from e.g. an IntegerField to a ForeignKey, Django didn't
add a constraint.
2015-03-07 14:09:56 +01:00
Tim Graham
4e8b167e4d
Fixed MySQL build failure introduced by refs #24390 .
...
Added table_name back to _create_index_sql() to prevent
duplicate index names on MySQL.
2015-03-02 13:07:34 -05:00
László Károlyi
f37c11eea3
Fixed #24390 -- Made migration index names deterministic.
2015-03-02 09:25:19 -05:00
Michael Manfre
7fa7dd48c4
Fixed signature of BaseDatabaseOperations.date_interval_sql() and document the change.
2015-02-22 23:23:16 -05:00
Loic Bistuer
bed504d70b
Fixed #24351 , #24346 -- Changed the signature of allow_migrate().
...
The new signature enables better support for routing RunPython and
RunSQL operations, especially w.r.t. reusable and third-party apps.
This commit also takes advantage of the deprecation cycle for the old
signature to remove the backward incompatibility introduced in #22583 ;
RunPython and RunSQL won't call allow_migrate() when when the router
has the old signature.
Thanks Aymeric Augustin and Tim Graham for helping shape up the patch.
Refs 22583.
2015-02-20 21:34:09 +07:00
Marc Tamlyn
32d4db66b9
Update converters to take a consistent set of parameters.
...
As suggested by Anssi. This has the slightly strange side effect of
passing the expression to Expression.convert_value has the expression
passed back to it, but it allows more complex patterns of expressions.
2015-02-20 11:35:52 +00:00
Shai Berger
ceadc94f09
Fixed #24307 : Avoided redundant column nullability modifications on Oracle
...
Thanks Joris Benschop for the report, and Tim Graham for the tests.
2015-02-19 02:39:41 +02:00
Adam Chainz
e9282747a4
Removed unused foreign_key_re variables in MySQL/Oracle DB backends
2015-02-18 10:22:30 -05:00
Tim Graham
63c5c98701
Refs #24324 -- Fixed UnicodeEncodeError in SQLite backend while testing.
...
If 'name' contained non-ASCII characters, the comparison raised a
UnicodeEncodeError on Python 2.
2015-02-17 08:09:46 -05:00
Tim Graham
3adc5f1ee6
Fixed #24335 -- Bumped required psycopg2 version to 2.4.5 (2.5 for contrib.postgres).
2015-02-16 18:07:27 -05:00
Aymeric Augustin
a73c8540a8
Removed 'autocommit' options for the psycopg2 backend.
...
It was documented as not having any effect since Django 1.6.
2015-02-14 18:51:18 +01:00
Aymeric Augustin
28e97a9bdc
Cleaned up init_connection_state in the psycopg2 backend.
...
settings_dict['TIME_ZONE'] is set in ConnectionHandler.ensure_defaults.
2015-02-14 18:51:18 +01:00
Aymeric Augustin
76356d963c
Fixed #24318 -- Set the transaction isolation level with psycopg >= 2.4.2.
2015-02-14 18:51:11 +01:00
Josh Smeaton
e2d6e14662
Refs #14030 -- Improved expression support for python values
2015-02-12 08:46:25 +11:00
Josh Smeaton
1fbe8a2de3
Fixed #24200 -- Made introspection bypass statement cache
2015-02-10 23:24:34 +02:00
Loic Bistuer
c8e24bbc9b
Fixed isort import that's inconsistent between platforms.
2015-02-11 02:24:14 +07:00
я котик пур-пур
981bd64dfb
Unified local imports in django.db.backends.mysql.
2015-02-09 08:23:17 -05:00
Collin Anderson
db77915c9f
Fixed E265 comment style
2015-02-06 09:30:35 -05:00
Tim Graham
0ed7d15563
Sorted imports with isort; refs #23860 .
2015-02-06 08:16:28 -05:00
Tim Graham
75303b01a9
Fixed #24245 -- Added introspection for database defaults.
...
Needed for tests for migrations handling of database defaults.
2015-01-31 12:33:11 -05:00
Tim Graham
64a899dc81
Removed PostgreSQL DatabaseWrapper._set_isolation_level().
...
This method is unused since 8717b0668c
.
2015-01-31 11:05:26 -05:00
Tim Graham
29c0073335
Fixed #24164 -- Fixed Oracle GIS limited aggregation test failure.
2015-01-30 06:28:47 -05:00
Tim Graham
18f3e79b13
Removed threading fallback imports.
...
Django imports threading in many other places without fallback.
2015-01-28 10:23:25 -05:00
Josh Smeaton
8196e4bdf4
Fixed #24154 -- Backends can now check support for expressions
2015-01-27 12:20:06 +11:00
Andriy Sokolovskiy
38c17871bb
Fixed #24104 -- Fixed check to look on field.many_to_many instead of class instance
2015-01-22 18:41:19 +01:00
Adam Taylor
039465a6a7
Fixed typos in code comments.
2015-01-20 12:18:03 -05:00
Markus Holtermann
5792e6a88c
Fixed #24163 -- Removed unique constraint after index on MySQL
...
Thanks Łukasz Harasimowicz for the report.
2015-01-19 16:52:26 +01:00
Tim Graham
2b039d966f
Removed obsolete SQL generation methods.
2015-01-18 15:58:06 -05:00
Tim Graham
7e8cf74dc7
Removed support for syncing apps without migrations per deprecation timeline.
...
Kept support for creating models without migrations when running tests
(especially for Django's test suite).
2015-01-18 15:58:06 -05:00
Tim Graham
3b570dbcdb
Removed BaseDatabaseValidation.validate_field() per deprecation timeline.
2015-01-17 14:58:09 -05:00
Tim Graham
b845951fd4
Required sqlparse for SQL splitting per deprecation timeline.
2015-01-17 10:20:30 -05:00
Tim Graham
4aa089a9a9
Removed support for custom SQL per deprecation timeline.
2015-01-17 10:16:06 -05:00
Tim Graham
f6463bb380
Removed the syncdb command per deprecation timeline.
2015-01-17 09:20:12 -05:00
Tim Graham
9ce36512fa
Removed backwards compatibility shims for "util" modules per deprecation timeline.
...
refs #17627 .
2015-01-17 07:40:12 -05:00
Marc Tamlyn
39d95fb6ad
Fixed #24092 -- Widened base field support for ArrayField.
...
Several issues resolved here, following from a report that a base_field
of GenericIpAddressField was failing.
We were using get_prep_value instead of get_db_prep_value in ArrayField
which was bypassing any extra modifications to the value being made in
the base field's get_db_prep_value. Changing this broke datetime
support, so the postgres backend has gained the relevant operation
methods to send dates/times/datetimes directly to the db backend instead
of casting them to strings. Similarly, a new database feature has been
added allowing the uuid to be passed directly to the backend, as we do
with timedeltas.
On the other side, psycopg2 expects an Inet() instance for IP address
fields, so we add a value_to_db_ipaddress method to wrap the strings on
postgres. We also have to manually add a database adapter to psycopg2,
as we do not wish to use the built in adapter which would turn
everything into Inet() instances.
Thanks to smclenithan for the report.
2015-01-16 16:15:16 -05:00
Claude Paroz
67bcae1e58
Moved check_aggregate_support to BaseSpatialOperations
2015-01-14 22:03:41 +01:00
Tim Graham
28308078f3
Fixed #22603 -- Reorganized classes in django.db.backends.
2015-01-14 14:16:20 -05:00
Michał Modzelewski
65246de7b1
Fixed #24031 -- Added CASE expressions to the ORM.
2015-01-12 18:15:34 -05:00
Shai Berger
aa8ee6a573
Fixed test failures in Oracle introspection
...
Refs #17785
2015-01-13 01:00:09 +02:00
Josh Smeaton
21b858cb67
Fixed #24060 -- Added OrderBy Expressions
2015-01-13 09:39:55 +11:00
Claude Paroz
4c413e231c
Fixed #17785 -- Preferred column names in get_relations introspection
...
Thanks Thomas Güttler for the report and the initial patch, and
Tim Graham for the review.
2015-01-12 19:58:47 +01:00
Claude Paroz
68a439a18d
Removed supports_binary_field flag as all backends support them
...
It was mainly for MySQL on Python 3, but now the current
recommended MySQL driver for Python 3 (mysqlclient) does support
binary fields, it is unneeded. Refs #20377 .
2015-01-11 23:34:47 +01:00
Claude Paroz
7289d01973
Introspected alternate SQLite FK definitions
2015-01-10 16:51:14 +01:00
Anssi Kääriäinen
0c7633178f
Fixed #24020 -- Refactored SQL compiler to use expressions
...
Refactored compiler SELECT, GROUP BY and ORDER BY generation.
While there, also refactored select_related() implementation
(get_cached_row() and get_klass_info() are now gone!).
Made get_db_converters() method work on expressions instead of
internal_type. This allows the backend converters to target
specific expressions if need be.
Added query.context, this can be used to set per-query state.
Also changed the signature of database converters. They now accept
context as an argument.
2015-01-08 14:07:54 -05:00
Daniel Pyrathon
fb48eb0581
Fixed #12663 -- Formalized the Model._meta API for retrieving fields.
...
Thanks to Russell Keith-Magee for mentoring this Google Summer of
Code 2014 project and everyone else who helped with the patch!
2015-01-06 19:25:12 -05:00
Tim Graham
478d6a9503
Copied BaseDatabaseCreation._digest() to SchemaEditor to remove dependency.
...
refs #22340 .
2014-12-31 08:33:34 -05:00
Tim Graham
93d73dac91
Moved DatabaseCreation.data_types properties to DatabaseWrapper.
...
refs #22340 .
2014-12-31 08:29:17 -05:00
Tim Graham
8082c75d18
Removed db.backends methods which only call super().
2014-12-30 11:53:59 -05:00
Andriy Sokolovskiy
8c99b7920e
Fixed #12118 -- Added shared cache support to SQLite in-memory testing.
2014-12-30 10:14:33 -05:00
Tim Graham
ab4f709da4
Fixed #23581 -- Prevented extraneous DROP DEFAULT statements.
...
Thanks john_scott for the report and Markus Holtermann for review.
2014-12-30 07:54:05 -05:00
Claude Paroz
3c5d1edb39
Fixed #22279 -- Prevented dummy backend going through DatabaseErrorWrapper
...
Thanks Daniel Hahler for the report and Tim Graham for the review.
2014-12-29 19:06:28 +01:00
Claude Paroz
2ceb10f3b0
Fixed #14180 -- Prevented unneeded index creation on MySQL-InnoDB
...
Thanks zimnyx for the report and Simon Charette, Tim Graham for
the reviews.
2014-12-27 12:52:44 +01:00
Josh Smeaton
4718296546
Fixed #23753 -- Added a suite of SQL Functions
...
Added functions and tests
Added docs and more tests
Added TextField converter to mysql backend
Aliased Value as V in example docs and tests
Removed unicode_compatible in example
Fixed console emulation in examples
2014-12-27 15:27:27 +11:00
Claude Paroz
30cbd5d360
Replaced DatabaseCreation sql methods by schema editor equivalents
...
Also used schema editor in migrate to sync unmigrated apps (sync_apps).
Refs #22340 . Thanks Tim Graham for the review.
2014-12-23 19:35:01 +01:00
Anssi Kääriäinen
227a4c48be
Refs #2443 -- fixed format_dtdelta on SQLite
...
A test failed on Python 2 32-bit.
2014-12-23 07:05:44 -05:00
Marc Tamlyn
962bb9b6bd
Refs #2443 -- Move the durationfield converter logic.
...
This reduces how frequently this logic is run significantly.
Thanks to Anssi for the suggestion.
2014-12-23 10:41:42 +00:00
Marc Tamlyn
5ca82e710e
Fixed #24033 -- Use interval type on Oracle.
...
Use INTERVAL DAY(9) TO SECOND(6) for Durationfield on Oracle rather than
storing as a NUMBER(19) of microseconds.
There are issues with cx_Oracle which require some extra data
manipulation in the database backend when constructing queries, but it
handles the conversion back to timedelta objects cleanly.
Thanks to Shai for the review.
2014-12-23 10:38:32 +00:00
Marc Tamlyn
07728a2c2c
Refs #2443 -- Fix Oracle tests for DurationField.
...
It helps if there are the correct number of microseconds in a second.
2014-12-20 22:04:07 +00:00
Marc Tamlyn
57554442fe
Fixed #2443 -- Added DurationField.
...
A field for storing periods of time - modeled in Python by timedelta. It
is stored in the native interval data type on PostgreSQL and as a bigint
of microseconds on other backends.
Also includes significant changes to the internals of time related maths
in expressions, including the removal of DateModifierNode.
Thanks to Tim and Josh in particular for reviews.
2014-12-20 18:28:29 +00:00
Andriy Sokolovskiy
089047331d
Fixed #23987 -- Made SQLite SchemaEditor always use effective_default().
2014-12-15 13:40:24 -05:00
Shai Berger
7c1f3901bc
Fixed #23991 -- Apparently, Oracle doesn't need the decimal field converter
...
Thanks Josh Smeaton for review.
2014-12-15 00:07:10 +02:00
Claude Paroz
df30ae07fc
Fixed postgis test database initialization
...
Refs #20968 . Allow querying template_postgis presence without
existing test database.
Thanks Tim Graham for the review.
2014-12-12 20:08:07 +01:00
Josh Smeaton
267a1dcd9b
Fixed #23941 -- Removed implicit decimal formatting from expressions.
2014-12-12 10:17:48 -05:00
Claude Paroz
8f97413fae
Fixed #20968 -- Checked Spatialite metadata before migrations
...
Thanks Kenial S. Lee for the initial patch and Tim Graham for
the review.
2014-12-08 22:22:53 +01:00
Jon Dufresne
4468c08d70
Fixed #23968 -- Replaced list comprehension with generators and dict comprehension
2014-12-08 07:58:23 -05:00
Claude Paroz
8d7a48027e
Fixed #23954 -- Added special text/varchar PostgreSQL indexes in migrations
...
Thanks adityagupta104 for the report and Tim Graham for the review.
2014-12-04 21:27:42 +01:00
Tim Graham
765fa36d57
Fixed #23920 -- Fixed MySQL crash when adding blank=True to TextField.
...
Thanks wkornewald for the report and Markus Holtermann for review.
2014-12-04 10:57:10 -05:00
Andriy Sokolovskiy
1739ae9edc
Fixed #23807 -- Ignored non-digits in psycopg2 version
2014-12-01 18:42:08 -05:00
Claude Paroz
e11c6fd218
Fixed #23909 -- Prevented crash when collecting SQL for RunSQL
...
Thanks James Rivett-Carnac for the report and Markus Holtermann
for the review.
2014-12-01 20:26:40 +01:00
Markus Holtermann
d2202ec2d4
Fixed #23880 -- Added missing index_together handling for SQLite
2014-12-01 11:30:33 +07:00
Thomas Chaumeny
6b5d82749c
Fixed #16731 -- Made pattern lookups work properly with F() expressions
2014-11-28 12:50:42 +02:00
Anssi Kääriäinen
cbb5cdd155
Fixed #23867 -- removed DateQuerySet hacks
...
The .dates() queries were implemented by using custom Query, QuerySet,
and Compiler classes. Instead implement them by using expressions and
database converters APIs.
2014-11-26 17:49:25 -05:00
Collin Anderson
d4ea4eea79
Fixed #23889 -- Added more usage of quote_name_unless_alias() to avoid deprecation warnings.
2014-11-21 16:44:50 -05:00
Brad Walker
cfa26f29bd
Reduced reduce() usage; refs #23796 .
...
django.core.exceptions.ValidationError.messages() and
django.db.backends.schema.BaseDatabaseSchemaEditor._alter_field():
Replaced reduce(operator.add, ...) w/uncoupled, explicit sum()
2014-11-20 14:31:14 -05:00
Claude Paroz
1a63093e22
Added AutoField introspection for PostgreSQL
...
Refs #23748 .
2014-11-20 16:13:58 +01:00
Claude Paroz
11662022be
Added AutoField introspection for MySQL
...
Refs #23748 .
2014-11-20 16:13:58 +01:00
Tim Graham
5bcd292098
Fixed #23871 -- Removed promotion of MySQL warnings to errors in DEBUG mode.
2014-11-19 16:07:49 -05:00
Josh Smeaton
f59fd15c49
Fixed #14030 -- Allowed annotations to accept all expressions
2014-11-15 14:00:43 +00:00
Thomas Chaumeny
88b2a20f04
Simplified MySQL storage engine detection using INFORMATION_SCHEMA.ENGINES table
...
Query the table introduced in MySQL 5.1; refs #23144 .
2014-11-10 18:16:14 +01:00
Markus Holtermann
715ccfde24
Fixed #23738 -- Allowed migrating from NULL to NOT NULL with the same default value
...
Thanks to Andrey Antukh for the report.
2014-10-31 13:30:30 -04:00
Claude Paroz
713f23492a
Required MySQLdb >= 1.2.5 for fractional seconds support
...
On MySQLdb < 1.2.5, MySQLdb returns None when fetching datetime/time
values with fractional seconds.
See https://github.com/farcepest/MySQLdb1/issues/24
2014-10-28 15:06:58 +01:00
Claude Paroz
22da5f8817
Fixed #19716 -- Added support for microseconds with MySQL 5.6.4 and up
...
Thanks erik@cederstrand.dk for the report and Tim Graham for the review.
2014-10-28 15:06:58 +01:00
Claude Paroz
9e746c13e8
Stopped stripping microseconds with MySQL backend
...
Refs #19716 .
2014-10-28 15:06:57 +01:00
Claude Paroz
5b8e37a69e
Fixed typo in MySQL backend doctring
...
Thanks CHI Cheng for the report.
2014-10-27 14:01:12 +01:00
Mikhail Denisenko
d4bc0bf435
Fixed #22879 -- Intercept errors coming from cursor.__next__()
2014-10-27 14:51:40 +02:00
Claude Paroz
7f089ac2e3
Fixed #23446 -- Officially recommended mysqlclient as MySQL driver
...
Thanks Corey Farwell for the report and Tim Graham for the review.
Thanks also to Inada Naoki for creating and maintaining mysqlclient.
2014-10-27 09:11:33 +01:00
Claude Paroz
45db842c9b
Fixed #23652 -- Restored database name after destroying test database
...
Thanks Bjarkias for the report.
2014-10-24 17:04:43 +02:00
Tim Graham
92269b7b53
Fixed #23702 -- Fixed adding an explicit id field on SQLite.
...
Thanks gavinwahl for the report.
2014-10-23 12:24:34 -04:00
Shai Berger
2e1ed5f33c
Fixed #23649 -- Made Oracle test-db creation drop test-user earlier when needed
...
Checked database destruction for ORA-29857, which happens when objects of
some types are left over in an old test database (notably, such objects
are created by the GIS backend). When this happens, we can resolve the
issue by dropping the test-user (if we are allowed to).
An alternative approach, to just switch the order of creation (so that,
if the test user exists and can be dropped, it is always dropped before
the tablespace) was considered; but since the user creation depends on
the tablespace, this would necessitate separating the dropping of the user
from its creation -- a change I am reluctant to make.
Thanks Josh Smeaton and Tim Graham for reviews.
2014-10-17 04:46:15 +03:00
Collin Anderson
a6a8268d19
Fixed #23660 -- Moved sort_dependencies to core.
2014-10-16 03:04:13 +07:00
Markus Holtermann
f633ba778d
Fixed #23609 -- Fixed IntegrityError that prevented altering a NULL column into a NOT NULL one due to existing rows
...
Thanks to Simon Charette, Loic Bistuer and Tim Graham for the review.
2014-10-09 21:32:06 +07:00
Thomas Chaumeny
b2aad7b836
Replaced set([foo, ...]) by {foo, ...} literals. Refs PR 3282.
...
Thanks Collin Anderson for the review.
2014-09-29 00:01:38 +07:00
Shai Berger
a54adcecff
Fixed git blunder, refs #22738
2014-09-27 09:57:09 +03:00
Shai Berger
c1ae0621ba
Fixed #22738 -- made finer distinctions for when Boolean is not detected on Oracle
...
Thanks Claude Paroz for partial fix and Simon Charrette for review
2014-09-27 09:49:50 +03:00
Claude Paroz
dbdae3a755
Fixed #22738 -- Abstracted boolean field type introspection
...
Thanks maxi for the report, Shai Berger for his help with the patch
and Tim Graham for the review.
2014-09-26 20:03:44 +02:00
Claude Paroz
d1ca70110f
Factorized schema_editor() at BaseDatabaseWrapper level
2014-09-26 08:50:16 +02:00
Tim Graham
74e7f91e6d
Fixed #23538 -- Added SchemaEditor for MySQL GIS.
...
Thanks Claude Paroz for suggestions and review.
2014-09-25 13:53:44 -04:00
Tim Graham
0aca91cf7f
Fixed flake8 warnings.
2014-09-24 06:32:42 -04:00
Shai Berger
d128eac316
Changed Oracle test-user creation to grant privileges instead of roles
...
because the roles (specifically RESOURCE) are deprecated.
Also added optional support for creating views in tests, and made an
introspection test fail (rather than skip) if a view cannot be created
due to lacking privileges.
Refs #18782
Thanks Tim Graham for review, and Josh Smeaton
2014-09-24 04:58:33 +03:00
Claude Paroz
ed297061a6
Fixed #18782 -- Prevented sql_flush to flush views
...
Thanks rodolfo_3 for the report and the initial patch, and
Josh Smeaton, Shai Berger and Tim Graham for the reviews.
2014-09-23 20:13:31 +02:00
Claude Paroz
b8cdc7dcc3
Made get_table_list return a TableInfo named tuple
2014-09-23 20:13:31 +02:00
Sergey Fedoseev
463952d940
Fixed #23503 -- Fixed renaming of model with self-referential m2m field.
2014-09-23 10:03:37 -04:00
Sergey Fedoseev
83cd18633f
Fixed #23065 -- Quoted constraint names in SQL generated by migrations.
2014-09-23 09:25:31 -04:00
Sergey Fedoseev
0bea6c8749
Factored create_fk_sql, create_unique_sql, and delete_constraint_sql.
2014-09-23 09:24:32 -04:00
Josh Smeaton
0eb5cde9da
Fixed #21775 -- Allowed customization of datafile for Oracle tablespace
2014-09-17 09:55:33 -04:00
Marc Tamlyn
ed7821231b
Fixed #19463 -- Added UUIDField
...
Uses native support in postgres, and char(32) on other backends.
2014-09-16 10:08:09 +01:00
Claude Paroz
6072f17d09
Factorized create_index_sql expression
2014-09-13 21:34:37 +02:00
Josh Smeaton
638d1393ee
Fixed #23434 -- Coerce Oracle bool params to int
2014-09-08 10:11:20 -04:00
Marc Tamlyn
14c8456ffe
Fixed #23416 -- Make sure DatabaseCreation respects checks.
...
Migrations respected Field.db_parameters()['check'], but
DatabaseCreation was still using just Field.db_type().
2014-09-06 19:01:06 +01:00
Tim Graham
1101467ce0
Limited lines to 119 characters in django/
...
refs #23395 .
2014-09-05 09:22:16 -04:00
Marc Tamlyn
e9103402c0
Fixed #18757 , #14462 , #21565 -- Reworked database-python type conversions
...
Complete rework of translating data values from database
Deprecation of SubfieldBase, removal of resolve_columns and
convert_values in favour of a more general converter based approach and
public API Field.from_db_value(). Now works seamlessly with aggregation,
.values() and raw queries.
Thanks to akaariai in particular for extensive advice and inspiration,
also to shaib, manfre and timograham for their reviews.
2014-09-03 20:36:03 +01:00
Jon Dufresne
f0d3dd4f04
Fixed #23357 -- Added small int introspection support to MySQL backend.
...
In the MySQL backend, updated the can_introspect_small_integer feature
flag to True. In data_types_reverse, map FIELD_TYPE.SHORT to a
SmallIntegerField. Added test to verify introspecting SmallIntegerFields
and fixed existing tests influenced by this change.
2014-08-27 10:58:44 -04:00
Shai Berger
4c85a0d95f
Made main user disconnect after creating test user/tablespaces on Oracle
2014-08-25 20:20:10 +03:00
Shai Berger
a6222af0ed
Added docstring forgotten in 56252e7
.
2014-08-22 05:37:36 +03:00
Shai Berger
56252e7f46
Fixed schema test for Oracle 11.2.0.1 which is used in Django Project's CI.
...
Refs #23073 Workaround.
Refs #22738 Repeats the mysql "offense". When the issue is solved, the
Oracle special case should be made to play with the solution (that is,
Oracle should be fixed the same way that mysql and the 3rd-party backneds
are).
2014-08-22 05:08:53 +03:00
Claude Paroz
6295ea0027
Replaced HAS_SPATIAL_DB by testing database feature
...
Refs #22632 . This should be the base for using more database
features to exclude specific backends in GIS tests.
Thanks Tim Graham for the review.
2014-08-19 17:57:01 +02:00
zsoldosp
01801edd37
Fixed #22646 : Added support for the MySQL ssl-ca option to dbshell.
2014-08-13 18:29:42 -04:00
Florian Apolloner
61d783f3d7
Made sqlite's remove_field behave like the base backend.
2014-08-10 13:31:06 +02:00
Claude Paroz
dc462a8ed5
Removed unused migrate option
2014-08-09 17:13:00 +02:00
Andrew Godwin
27b6f28435
Fixed #23264 : Schema backends honour db_constraint
2014-08-09 17:50:00 +10:00
Andrew Godwin
8d93b21ec9
Moved index dropping after FK dropping to please MySQL and fix test
2014-08-07 11:59:11 +10:00
Alex Hill
938da36cb1
Fixed #21603 -- Fixed complex RawQuerySets queries on some versions of SQLite.
2014-08-06 08:41:34 -04:00
Shai Berger
746f2a4bed
Fixed #23061 : Avoided setting a limit on a query for get with select_for_update on Oracle
...
Thanks Michael Miller for reporting the issue.
2014-08-05 03:12:08 +03:00
Mihail Milushev
bf5382c6e5
Fixed #22234 -- Replaced OS-specific code with subprocess.call() in dbshell.
...
This fixes escaping of special characters on Windows.
2014-08-04 09:21:03 -04:00
Andrew Godwin
c06e124b5e
Fixed #23091 : CreateModel and AddField were clashing with deferred SQL
2014-08-04 11:59:29 +10:00
Tim Graham
d28396f526
Fixed #23144 -- Dropped support for MySQL 5.0, 5.1.
2014-08-02 10:28:40 -04:00
Tim Graham
8f9d6e83a0
Fixed #23145 -- Dropped support for Oracle < 11.1
2014-08-01 19:32:00 -04:00
Tim Graham
a9bdce7e55
Fixed #23108 -- Dropped support for PostgreSQL 8.4 & PostGIS 1.3, 1.4.
...
Thanks Claude Paroz for the review.
2014-08-01 10:26:00 -04:00
Aymeric Augustin
729e4ae4f0
Fixed #23074 -- Avoided leaking savepoints in atomic.
...
Thanks Chow Loong Jin for the report and the initial patch.
2014-07-28 14:30:41 +02:00
areski
90faa196f6
Fixed #22873 -- Renamed use_debug_cursor to force_debug_cursor to clarify the behavior.
2014-07-26 10:38:46 -04:00
Andrew Godwin
08681d7757
Fixed #23085 : Better error message for PostGIS 1.5/bad custom fields
2014-07-25 09:49:51 -07:00
Claude Paroz
8c30df15f1
Fixed #23030 -- Properly handled geometry columns metadata during migrations
...
Thanks kunitoki for the report and initial patches.
2014-07-23 12:10:23 +02:00
Andrew Godwin
e24e9e0438
Fixed #23014 : Renaming not atomic with unique together
2014-07-21 11:36:34 +01:00
Andrew Godwin
7dacc6ae46
Fixed #23009 : Shorten FK identifiers in add_field and make consistent
2014-07-21 10:50:21 +01:00
Andrew Godwin
dcb4ed5170
Fixed #22975 : Don't call rename SQL if not needed
2014-07-21 10:14:00 +01:00
Andrew Godwin
2984b30ce8
Fixed #23039 : Don't try to serialize unmanaged models in tests
2014-07-21 10:09:31 +01:00
Andrew Godwin
5875b8d133
Fixed #23043 : alter_field drops defaults too
2014-07-21 10:04:36 +01:00
Shai Berger
dd9b3312d0
Fixed name of database connection feature
2014-07-14 19:23:57 +03:00
Andrew Godwin
0fba4c0ed7
Fixed #22487 : Don't flush out data from before normal TestCases
2014-06-23 20:25:09 -07:00
Anubhav Joshi
1c50d6ae2b
Fixed problem introduced with #refs 13711.
2014-06-23 19:36:40 +03:00
Vlastimil Zíma
78c32f1caa
Fixed #22514 -- Prevented indexes on virtual fields [postgres].
2014-06-20 11:59:02 -04:00
Anubhav Joshi
91f1b6dcdc
Fixed #13711 -- Model check added to ensure that auto-generated column name is within limits of the database.
...
Thanks russellm for report and Tim Graham for review.
2014-06-17 16:16:02 -04:00
Andrew Godwin
b22917bd50
Fixed #22851 : BinaryView wasn't getting a binary default
2014-06-16 18:44:08 -07:00
Tim Graham
82c935d44c
Renamed DatabaseFeature.supports_check_constraints to supports_column_check_constraints.
...
Thanks maxi for the suggestion.
2014-06-16 19:25:13 -04:00
Andrew Godwin
c8c79367a2
Fixed #22844 : Duplicate SQL for SQLite FKs
2014-06-16 00:27:32 -07:00
Shai Berger
612290400f
Fixed #22816 -- Corrected Oracle feature flag and fixed introspection test
2014-06-14 00:43:49 +03:00
Shai Berger
06c0e740a4
Added django.utils.six.buffer_types
...
and used it in the Oracle SchemaEditor. Refs #22715 .
2014-06-13 13:09:51 -04:00
Tim Graham
bc0aba7786
Dropped support for SpatiaLite < 2.4.
2014-06-09 17:53:25 -04:00
Aymeric Augustin
40bfd8561d
Fixed #20420 -- Normalized query counts on Oracle.
...
This is achieved by inserting a fake entry in connection.queries when
not releasing a savepoint (since Oracle doesn't support that operation.)
Also removed the can_release_savepoints feature that was recently added,
but is superseded by this solution.
2014-06-09 21:38:10 +02:00
Aymeric Augustin
127218b92b
Simplified handling of use_debug_cursor.
...
Turned it from a tri-valued boolean into a regular boolean.
2014-06-09 21:35:17 +02:00
Tim Graham
3a926c0778
Tweaked order of create_test_db arguments for backwards compatibility.
...
Since `serialize` was backported to 1.7, it should appear before `keepdb`.
2014-06-09 11:12:28 -04:00
Andrew Godwin
8c12d51ea2
Fixed #22487 : Optional rollback emulation for migrated apps
2014-06-08 19:30:15 -07:00
Aymeric Augustin
58de495c54
Fixed #17427 -- Removed dubious definition of connections equality.
2014-06-07 17:04:10 +02:00
Aymeric Augustin
cfcca7ccce
Fixed #3711 , #6734 , #12581 -- Bounded connection.queries.
...
Prevented unlimited memory consumption when running background tasks
with DEBUG=True.
Thanks Rob, Alex, Baptiste, and others.
2014-06-07 14:37:43 +02:00
Aymeric Augustin
1181b8a4a9
Merge pull request #2764 from gchp/ticket-20550
...
Fixed #20550 -- Added keepdb argument to destroy_test_db
2014-06-06 14:05:41 +02:00
Aymeric Augustin
e071f67b7f
Replaced an explicit vendor check by a feature flag.
...
Forward-port of c9aedce0
from stable/1.7.x.
2014-06-06 00:32:13 +02:00
Greg Chapple
72f055e535
Fixed #20550 -- Added keepdb argument to destroy_test_db
2014-06-05 23:17:27 +01:00
Aymeric Augustin
a03d38ddd4
Added a flag for the ability to introspect nullable fields.
...
Previously this was conflated with another Oracle-specific behavior.
2014-06-05 17:56:56 +02:00
Claude Paroz
5a504a5311
Fixed #22744 -- Fixed sqlite3 get_relations introspection with views
...
Thanks Tim Graham for the report and Simon Charette for the review.
2014-06-01 22:03:33 +02:00
Aymeric Augustin
2a5c750ad1
Merge pull request #2726 from gchp/ticket-20550
...
Fixed #20550 -- Added ability to preserve test db between runs
2014-06-01 17:26:56 +02:00
Alex Gaynor
e79725cdf9
Simplified, very slightly, some code in the oracle backend
2014-05-28 17:17:58 -07:00
Shai Berger
69337d485c
Set straight the sense of 'uppercases_column_names' feature flag
2014-05-28 21:16:24 +03:00
Shai Berger
fd427f1fe3
Fixed #22715 : Corrected sql for defaults of BinaryField on Oracle with Python3
...
While at it, fixed a problem in returning empty values
(still with BinaryField/Oracle/Python3).
2014-05-28 18:57:40 +03:00
Greg Chapple
b7aa7c4ab4
Fixed #20550 -- Added ability to preserve test db between runs
2014-05-28 16:22:46 +01:00
Loic Bistuer
27a3cfcd77
Fixed unused import.
2014-05-21 10:42:07 +07:00
Andrew Godwin
03900a02d5
Fixed #22432 : SQLite M2M repointing now works. Thanks to xelnor.
2014-05-20 16:25:59 +01:00
Andrew Godwin
125b3d4407
Fixed #22649 : Beefed up quote_value
2014-05-20 15:41:01 +01:00
Andrew Godwin
4e32e47348
Merge pull request #2634 from loic/ticket22424
...
Fixed #22424 -- MySQL doesn't accept migrations' one-off default values ...
2014-05-20 14:25:59 +01:00
Andrew Godwin
1b07781292
Add feature for implied null (needed for Firebird backend)
2014-05-20 13:27:07 +01:00
Marc Tamlyn
ecbabc216d
Revert "Fixed regression from a2dd618e3b4a7472fab852da450ca5eef92a922f."
...
This reverts commit 5a2556afb9
.
2014-05-19 14:57:06 +01:00
Florian Apolloner
5a2556afb9
Fixed regression from a2dd618e3b
.
2014-05-18 20:35:06 +02:00
Loic Bistuer
1d3d01b4f7
Fixed #22424 -- Fixed handling of default values for TextField/BinaryField on MySQL.
...
Thanks syphar for the review and suggestions.
2014-05-18 11:58:16 +07:00
Raphaël Barrois
6aacb4c991
Fixed #22626 -- Allow BinaryField defaults with SQlite.
...
Also fixes a slight issue in sqlite3.schema._remake_table where
default values where quoted with "column name" quoting rules.
Reference for quoting: http://www.sqlite.org/lang_expr.html
Thanks Shai Berger for the review. Refs #22424 .
2014-05-17 22:32:17 +07:00
Shai Berger
6bb6df2943
Fix storing of binary fields and unicode textfields for Oracle/Python3
2014-05-16 20:08:52 +03:00
Tim Martin
27aa85246a
Fixed #20897 -- Added make_cursor() for consistent cursor creation
...
In django.db.backends.BaseDatabaseWrapper, pulled the creation of
cursors in the non-debug case into a separate method, in order to
make behavior more consistent when overriding the cursor creation
in derived classes.
2014-05-15 07:55:36 -04:00
Aymeric Augustin
fb90b7cda2
Adjusted refactoring of vendor checks.
...
Thanks Shai for the thorough review.
2014-05-10 14:40:42 +02:00
Aymeric Augustin
99d9fa329a
Added feature flags for introspection capabilities.
2014-05-08 22:11:20 +02:00
Aymeric Augustin
cff59bedc2
Split ignores_nulls_in_unique_constraints feature.
...
Oracle and SQL Server don't have exactly the same limitations. It's
worth treating them differently.
2014-05-08 22:11:20 +02:00
Aymeric Augustin
c70a61eb49
Replaced vendor checks by three feature flags.
2014-05-08 22:11:15 +02:00
Andrew Godwin
b25aee3b7b
Fixed #22476 : Couldn't alter attributes on M2Ms with through= set
2014-05-08 10:34:24 -07:00
Andrew Godwin
e9a456d11b
Fixed #22581 : Pass default values for schema through get_db_prep_save()
2014-05-07 13:46:23 -07:00
Alex Gaynor
2bcb8bfc8d
Fix many many typos in comments throughout the codebase
2014-04-26 10:18:45 -07:00
Aymeric Augustin
8b5b199e20
Fixed #3214 -- Stopped parsing SQL with regex.
...
Avoided introducing a new regex-based SQL splitter in the migrations
framework, before we're bound by backwards compatibility.
Adapted this change to the legacy "initial SQL data" feature, even
though it's already deprecated, in order to facilitate the transition
to migrations.
sqlparse becomes mandatory for RunSQL on some databases (all but
PostgreSQL). There's no API to provide a single statement and tell
Django not to attempt splitting. Since we have a more robust splitting
implementation, that seems like a good tradeoff. It's easier to add a
new keyword argument later if necessary than to remove one.
Many people contributed to both tickets, thank you all, and especially
Claude for the review.
Refs #22401 .
2014-04-26 17:46:23 +02:00
Aymeric Augustin
3033a7193a
Fixed #21166 -- Reset errors_occurred flag after commit and rollback.
2014-04-25 22:45:11 +02:00
Aymeric Augustin
e368912902
Set some transaction-related feature flags on SQLite.
...
Refs #22496 .
2014-04-25 11:43:20 +02:00
Shai Berger
843613add4
Fixed #22498 -- constraint name was not quoted in FK creation SQL
2014-04-25 01:30:43 +03:00
Shai Berger
53d97e4fe3
Made sure cursor.close() does not complain if cursor is already closed on Oracle
...
Refs #22483
2014-04-25 00:36:40 +03:00
Aymeric Augustin
25209715d4
Prevented a crash in the cursor wrappers on Oracle.
...
Fixed #22483 (again).
Forwardport of 5cd6429620
from stable/1.7.x
2014-04-24 09:14:42 -04:00
Aymeric Augustin
b0f4eecfa7
Ignored repeated calls to connection.close().
...
Forwardport of 9bbb43dd1a
from stable/1.7.x
2014-04-24 09:14:26 -04:00
Aymeric Augustin
0aa4c6c391
Used the same instance of atomic for entry and exit.
...
Since all state is maintained on the connection at this time and none in
the atomic, it doesn't matter, but it could introduce some subtle bugs
if the implementation changed in the future.
2014-04-23 21:44:36 +02:00
Aymeric Augustin
e74d2183c2
Wrapped migrations in a transaction only on DBs with transactional DDL.
2014-04-23 21:44:36 +02:00
Andrew Gorcester
956bd64424
Fixed #22397 -- Issues removing M2M field with explicit through model
...
Changed the migration autodetector to remove models last so that FK
and M2M fields will not be left as dangling references. Added a check
in the migration state renderer to error out in the presence of
dangling references instead of leaving them as strings. Fixed a bug
in the sqlite backend to handle the deletion of M2M fields with
"through" models properly (i.e., do nothing successfully).
Thanks to melinath for report, loic for tests and andrewgodwin and
charettes for assistance with architecture.
2014-04-18 16:44:47 -04:00
Simon Charette
0d397e5a5b
Revert "Fixed #22397 -- Issues removing M2M field with explicit through model."
...
This reverts commit 00e3b9a2a9
.
It's causing a regression when tested with the proxy_model_inheritance tests.
2014-04-18 01:27:30 -04:00
Andrew Gorcester
00e3b9a2a9
Fixed #22397 -- Issues removing M2M field with explicit through model.
...
Changed the migration autodetector to remove models last so that FK
and M2M fields will not be left as dangling references. Added a check
in the migration state renderer to error out in the presence of
dangling references instead of leaving them as strings. Fixed a bug
in the sqlite backend to handle the deletion of M2M fields with
"through" models properly (i.e., do nothing successfully).
Thanks to melinath for report, loic for tests and andrewgodwin and
charettes for assistance with architecture.
2014-04-17 12:54:35 -04:00
Simon Charette
79f05616fb
Fixed flake8 warnings introduced in recent commits.
2014-04-16 16:49:37 -04:00
Motiejus Jakštys
0e45669fa9
Fixed #22460 -- Explicity remove constraints when dropping a related field.
2014-04-16 15:38:31 -04:00
Aymeric Augustin
25860096f9
Fixed #21239 -- Maintained atomicity when closing the connection.
...
Refs #15802 -- Reverted #7c657b24 as BaseDatabaseWrapper.close() now
has a proper "finally" clause that may need to preserve self.connection.
2014-04-10 20:57:43 +02:00
Aymeric Augustin
3becac8484
Fixed #22321 -- Wrapped exceptions in _set_autocommit.
...
Refs #21202 .
2014-04-10 20:16:12 +02:00
Aymeric Augustin
5f2f47fdfc
Fixed #21553 -- Ensured unusable database connections get closed.
2014-04-09 22:41:33 +02:00
Loic Bistuer
a449e7feec
Fixed #22359 -- Changing M2M field to blank=True failed on sqlite.
2014-03-31 06:13:19 -04:00
Alex Gaynor
778ce245dd
Corrected many style guide violations that the newest version of flake8 catches
2014-03-30 12:11:05 -07:00
Chris Beaven
b077ba7ac1
Add a useful stacklevel to some RemovedInDjango19Warnings
2014-03-27 15:44:52 +13:00
Simon Charette
1506c71a95
Fixed #12030 -- Validate integer field range at the model level.
...
Thanks to @timgraham for the review.
2014-03-25 14:31:20 -04:00
Daniel Hahler
1edfa155e3
Fixed #22293 -- Avoided renaming many-to-many tables to themselves.
...
Fixed this for both implementations of _alter_many_to_many, instead of
in `alter_db_table` itself (more implementations).
2014-03-24 13:24:52 -04:00
Tim Graham
80e6960580
Removed unused imports.
2014-03-21 20:18:19 -04:00
Aymeric Augustin
7e0f9095f7
Removed BaseDatabaseCreation.set_autocommit per deprecation timeline.
2014-03-21 22:17:36 +01:00
Aymeric Augustin
6993f2886b
Fixed typo in comments.
2014-03-21 22:16:31 +01:00
Aymeric Augustin
0f9560855e
Removed legacy transaction management per the deprecation timeline.
2014-03-21 21:06:50 +01:00
Chris Beaven
b47ef04ea2
Fix any sqlite field migration deleting all implicit m2m tables
...
Fixes #22281
2014-03-18 16:54:35 +13:00
Shai Berger
6983201cfb
Fixed #20292 : Pass datetime objects (not formatted dates) as params to Oracle
...
This seems worthwhile in its own right, but also works around an Oracle
bug (in versions 10 -- 11.1) where the use of Unicode would reset the
date/time formats, causing ORA-01843 errors.
Thanks Trac users CarstenF for the report, jtiai for the initial patch,
and everyone who contributed to the discussion on the ticket.
2014-03-12 23:43:45 +02:00
Shai Berger
41afae4ce9
Reorganized the database test settings
...
Change database test settings from "TEST_"-prefixed entries in the
database settings dictionary to setting in a dictionary that is itself
an entry "TEST" in the database settings.
Refs #21775
Thanks Josh Smeaton for review.
2014-03-09 03:57:18 +02:00
Andrew Godwin
6b07804474
Fixed #22183 : Through M2Ms now correctly handled
2014-03-08 15:58:04 -08:00
Andrew Godwin
cdf6eba181
Merge pull request #2315 from bendavis78/issues/22073
...
Fixed #22073 - Ensure CreateTable operation handles backwards migration correctly when M2M fields are present
2014-03-08 15:44:45 -08:00
Claude Paroz
210d0489c5
Fixed #21188 -- Introduced subclasses for to-be-removed-in-django-XX warnings
...
Thanks Anssi Kääriäinen for the idea and Simon Charette for the
review.
2014-03-08 09:57:40 +01:00
Andrew Godwin
8ce3ea687c
Revert "Fixed #22183 : Don't make a table for M2Ms with through="
...
This reverts commit 1562b9896f
.
2014-03-06 11:50:04 -08:00
Andrew Godwin
1562b9896f
Fixed #22183 : Don't make a table for M2Ms with through=
2014-03-06 11:35:58 -08:00
Rodolfo Carvalho
0d91225892
Fixed many typos in comments and docstrings.
...
Thanks Piotr Kasprzyk for help with the patch.
2014-03-03 07:38:09 -05:00
Russell Keith-Magee
f7587b20da
Edited MySQL-specific check messages for grammar and consistency.
2014-03-03 14:31:55 +08:00
Baptiste Mispelon
c679cb7f60
Fixed #22168 -- Fixed migrations failing on sqlite when column names are SQL keywords
...
Thanks to trac user fallen_flint for the report and initial patch.
2014-03-01 13:45:45 +01:00
Ben Davis
df2652c448
Fixed #22073 - Ensure CreateTable operation handles backwards migration correctly when M2M fields are present
2014-02-17 16:51:40 -06:00
Rodolfo Carvalho
be6d1f39e8
Fixed typo in docstring.
2014-02-15 13:35:41 +01:00
Andrew Godwin
42607a9e33
Fixed #21844 : Move quote_parameter off of Operations and rename
2014-02-09 12:42:26 +00:00
Andrew Godwin
9c4ad454d1
Fixed #21842 : Remove redundant DatabaseFeatures.max_index_name_length
2014-02-09 12:33:52 +00:00
Andrew Godwin
a7e2957110
Fixed #21917 : Overly cautious SQLite3 backend for null fields + defaults
2014-02-09 11:10:21 +00:00
Vajrasky Kok
d3cf6cfacf
Fixed #17713 -- Renamed BaseDatabaseFeatures.allows_primary_key_0 to allows_auto_pk_0.
...
MySQL does allow primary key with value 0. It only forbids autoincrement
primary key with value 0.
Thanks Claude Paroz for the report.
2014-02-06 05:16:40 -05:00
Michael Manfre
e1d839237f
Make mysql's CursorWrapper a contextmanager.
2014-02-02 22:43:53 +01:00
Michael Manfre
3ffeb93186
Ensure cursors are closed when no longer needed.
...
This commit touchs various parts of the code base and test framework. Any
found usage of opening a cursor for the sake of initializing a connection
has been replaced with 'ensure_connection()'.
2014-02-02 12:47:21 -05:00
Shai Berger
e9d12bae1e
Made Oracle introspect FloatFields correctly
...
Broke InspectDBTestCase.test_field_types in two:
- a test_number_field_types, which now passes on Oracle too
- a test_field_types, for all non-numeric fields, which is still expected to fail
Also made some pep8 fixes in the tests file. Refs #19884
Thanks Tim Graham for review.
2014-01-30 00:41:11 +02:00
Shai Berger
ad975c64fc
Made Oracle introspect boolean fields
...
Fixed failing test schema.tests.SchemaTests.test_add_field_temp_default_boolean
Refs #19884
2014-01-29 18:08:01 +02:00
Andrew Godwin
2a30b39f40
Fixed #21783 : More SQLite default fun with nulls.
2014-01-25 00:10:25 +00:00
Russell Keith-Magee
494b408041
Corrected problem with MySQL checks handler and related fields.
2014-01-21 18:37:49 +08:00
Russell Keith-Magee
d818e0c9b2
Fixed #16905 -- Added extensible checks (nee validation) framework
...
This is the result of Christopher Medrela's 2013 Summer of Code project.
Thanks also to Preston Holmes, Tim Graham, Anssi Kääriäinen, Florian
Apolloner, and Alex Gaynor for review notes along the way.
Also: Fixes #8579 , fixes #3055 , fixes #19844 .
2014-01-20 10:45:21 +08:00
Andrew Godwin
e802c97581
Fixed #21783 : Use defaults for adding NOT NULL on sqlite
2014-01-19 17:10:24 +00:00
Anssi Kääriäinen
20bab2cf9d
Fixed #16187 -- refactored ORM lookup system
...
Allowed users to specify which lookups or transforms ("nested lookus")
are available for fields. The implementation is now class based.
Squashed commit of the following:
commit fa7a7195f1
Author: Anssi Kääriäinen <akaariai@gmail.com>
Date: Sat Jan 18 10:53:24 2014 +0200
Added lookup registration API docs
commit eb1c8ce164
Author: Anssi Kääriäinen <akaariai@gmail.com>
Date: Tue Jan 14 18:59:36 2014 +0200
Release notes and other minor docs changes
commit 11501c29c9
Author: Anssi Kääriäinen <akaariai@gmail.com>
Date: Sun Jan 12 20:53:03 2014 +0200
Forgot to add custom_lookups tests in prev commit
commit 83173b960e
Author: Anssi Kääriäinen <akaariai@gmail.com>
Date: Sun Jan 12 19:59:12 2014 +0200
Renamed Extract -> Transform
commit 3b18d9f3a1
Author: Anssi Kääriäinen <akaariai@gmail.com>
Date: Sun Jan 12 19:51:53 2014 +0200
Removed suggestion of temporary lookup registration from docs
commit 21d0c7631c
Merge: 2509006
f2dc442
Author: Anssi Kääriäinen <akaariai@gmail.com>
Date: Sun Jan 12 09:38:23 2014 -0800
Merge pull request #2 from mjtamlyn/lookups_3
Reworked custom lookups docs.
commit f2dc4429a1
Author: Marc Tamlyn <marc.tamlyn@gmail.com>
Date: Sun Jan 12 13:15:05 2014 +0000
Reworked custom lookups docs.
Mostly just formatting and rewording, but also replaced the example
using ``YearExtract`` to use an example which is unlikely to ever be
possible directly in the ORM.
commit 2509006506
Author: Anssi Kääriäinen <akaariai@gmail.com>
Date: Sun Jan 12 13:19:13 2014 +0200
Removed unused import
commit 4fba5dfaa0
Author: Anssi Kääriäinen <akaariai@gmail.com>
Date: Sat Jan 11 22:34:41 2014 +0200
Added docs to index
commit 6d53963f37
Author: Anssi Kääriäinen <akaariai@gmail.com>
Date: Sat Jan 11 22:10:24 2014 +0200
Dead code removal
commit f9cc039007
Author: Anssi Kääriäinen <akaariai@gmail.com>
Date: Sat Jan 11 19:00:43 2014 +0200
A new try for docs
commit 33aa18a6e3
Author: Anssi Kääriäinen <akaariai@gmail.com>
Date: Sat Jan 11 14:57:12 2014 +0200
Renamed get_cols to get_group_by_cols
commit c7d5f8661b
Author: Anssi Kääriäinen <akaariai@gmail.com>
Date: Sat Jan 11 14:45:53 2014 +0200
Altered query string customization for backends vendors
The new way is trying to call first method 'as_' + connection.vendor.
If that doesn't exist, then call as_sql().
Also altered how lookup registration is done. There is now
RegisterLookupMixin class that is used by Field, Extract and
sql.Aggregate. This allows one to register lookups for extracts and
aggregates in the same way lookup registration is done for fields.
commit 90e7004ec1
Merge: 66649ff
f7c2c0a
Author: Anssi Kääriäinen <akaariai@gmail.com>
Date: Sat Jan 11 13:21:01 2014 +0200
Merge branch 'master' into lookups_3
commit 66649ff891
Author: Anssi Kääriäinen <akaariai@gmail.com>
Date: Sat Jan 11 13:16:01 2014 +0200
Some rewording in docs
commit 31b8faa627
Author: Anssi Kääriäinen <akaariai@gmail.com>
Date: Sun Dec 29 15:52:29 2013 +0200
Cleanup based on review comments
commit 1016159f34
Author: Anssi Kääriäinen <akaariai@gmail.com>
Date: Sat Dec 28 18:37:04 2013 +0200
Proof-of-concept fix for #16731
Implemented only for SQLite and PostgreSQL, and only for startswith
and istartswith lookups.
commit 193cd097ca
Author: Anssi Kääriäinen <akaariai@gmail.com>
Date: Sat Dec 28 17:57:58 2013 +0200
Fixed #11722 -- iexact=F() produced invalid SQL
commit 08ed3c3b49
Author: Anssi Kääriäinen <akaariai@gmail.com>
Date: Sat Dec 21 23:59:52 2013 +0200
Made Lookup and Extract available from django.db.models
commit b99c8d83c9
Author: Anssi Kääriäinen <akaariai@gmail.com>
Date: Sat Dec 21 23:06:29 2013 +0200
Fixed review notes by Loic
commit 049eebc070
Merge: ed8fab7
b80a835
Author: Anssi Kääriäinen <akaariai@gmail.com>
Date: Sat Dec 21 22:53:10 2013 +0200
Merge branch 'master' into lookups_3
Conflicts:
django/db/models/fields/__init__.py
django/db/models/sql/compiler.py
django/db/models/sql/query.py
tests/null_queries/tests.py
commit ed8fab7fe8
Author: Anssi Kääriäinen <akaariai@gmail.com>
Date: Sat Dec 21 22:47:23 2013 +0200
Made Extracts aware of full lookup path
commit 27a57b7aed
Author: Anssi Kääriäinen <akaariai@gmail.com>
Date: Sun Dec 1 21:10:11 2013 +0200
Removed debugger import
commit 074e0f5aca
Author: Anssi Kääriäinen <akaariai@gmail.com>
Date: Sun Dec 1 21:02:16 2013 +0200
GIS lookup support added
commit 760e28e72b
Author: Anssi Kääriäinen <akaariai@gmail.com>
Date: Sun Dec 1 20:04:31 2013 +0200
Removed usage of Constraint, used Lookup instead
commit eac4776684
Author: Anssi Kääriäinen <akaariai@gmail.com>
Date: Sun Dec 1 02:22:30 2013 +0200
Minor cleanup of Lookup API
commit 2adf50428d
Author: Anssi Kääriäinen <akaariai@gmail.com>
Date: Sun Dec 1 02:14:19 2013 +0200
Added documentation, polished implementation
commit 32c04357a8
Author: Anssi Kääriäinen <akaariai@gmail.com>
Date: Sat Nov 30 23:10:15 2013 +0200
Avoid OrderedDict creation on lookup aggregate check
commit 7c8b3a32cc
Author: Anssi Kääriäinen <akaariai@gmail.com>
Date: Sat Nov 30 23:04:34 2013 +0200
Implemented nested lookups
But there is no support of using lookups outside filtering yet.
commit 4d219d4cde
Author: Anssi Kääriäinen <akaariai@gmail.com>
Date: Wed Nov 27 22:07:30 2013 +0200
Initial implementation of custom lookups
2014-01-18 11:46:19 +02:00
Aymeric Augustin
fbe1abac4a
Fixed #21453 -- Enabled autocommit before calling init_connection_state.
...
Also ensured the transaction state is clean on Oracle while I was there.
This change cannot be backported to 1.6 because it's
backwards-incompatible for custom database backends.
2014-01-12 20:31:07 +01:00
Aymeric Augustin
1afe748832
Fixed #21452 -- Non-autocommit connections to PostgreSQL.
...
When settings.DATABASES['default']['AUTOCOMMIT'] = False, the connection
wasn't in autocommit mode but Django pretended it was.
Thanks Anssi for analysing this issue.
Refs #17062 .
2014-01-12 18:28:51 +01:00
Aymeric Augustin
bfcc686d22
Removed the only_with_models_module argument of get_model[s].
...
Now that the refactorings are complete, it isn't particularly useful any
more, nor very well named. Let's keep the API as simple as possible.
Fixed #21689 .
2013-12-30 23:59:34 +01:00
Aymeric Augustin
856aaaf2b1
Changed get_migratable_models to use an app config.
2013-12-29 21:25:28 +01:00
Ramiro Morales
5782c94f23
Added generation of SQLite FK DDL in initial migrations.
...
SQLite accepts the relevant standard SQL (although by default it doesn't
enforce the constraint), and the 'traditional' creation backend helper
generate it, so this allows us to:
- Maintain the status quo
- Improve readability of the SQL code generated for that backend.
Also, we will need this for when we fix Refs #14204 .
2013-12-28 18:00:16 -03:00
Ramiro Morales
6a6136141b
Implemented #10164 for new schema migration code.
...
Made it use 'AUTOINCREMENT' suffix for PK creation. This way it doeesn't
regress when compared with the 'traditional' DB backend creation
infrastructure.
Refs #10164 .
2013-12-28 11:21:01 -03:00
Ramiro Morales
3efd1b8b93
Fixed #21692 -- Quote table name when creating it.
2013-12-27 18:43:52 -03:00
Levi Gross
cb488c5c35
Removed redundant line
2013-12-25 17:22:13 -05:00
Aymeric Augustin
1716b7ce5a
Renamed AppCache to Apps.
...
Also renamed app_cache to apps and "app cache" to "app registry".
Deprecated AppCache.app_cache_ready() in favor of Apps.ready().
2013-12-24 12:25:17 +01:00
Aymeric Augustin
2fef9e5375
Moved apps back in the toplevel django namespace.
...
Reverted 4a56a93cc4
.
2013-12-22 11:39:55 +01:00
Aymeric Augustin
0242c56fd8
Deborgified the app cache.
...
Improved Andrew's hack to create temporary app caches to handle
migrations. Now the main app cache has a "master" flag set to True
(which is a non-default keyword argument, thus unlikely to be used by
mistake). Other app cache instances have "master" set to False.
The only sanctioned way to access the app cache is by importing
django.core.apps.app_cache.
If you were instanciating an app cache and relying on the Borg pattern,
you'll have to refactor your code.
2013-12-17 21:53:18 +01:00
Aymeric Augustin
4a56a93cc4
Moved the new app cache inside core.
2013-12-17 10:17:46 +01:00
Aymeric Augustin
5ba743e262
Made it possible to create apps without a models module.
...
This commit reverts f44c4a5d0f
and 39bbd165
.
django.test.simple will be updated in a separate commit as it requires
invasive changes.
2013-12-17 10:17:45 +01:00
Aymeric Augustin
2732edc5f2
Deprecated get_apps().
2013-12-17 10:17:45 +01:00
Aymeric Augustin
8662654d6d
Removed module-level functions for the app cache.
...
Since the original ones in django.db.models.loading were kept only for
backwards compatibility, there's no need to recreate them. However, many
internals of Django still relied on them.
They were also imported in django.db.models. They never appear in the
documentation, except a quick mention of get_models and get_app in the
1.2 release notes to document an edge case in GIS. I don't think that
makes them a public API.
This commit doesn't change the overall amount of global state but
clarifies that it's tied to the app_cache object instead of hiding it
behind half a dozen functions.
2013-12-17 10:17:44 +01:00
Aymeric Augustin
860c2c8bc5
Moved django.db.models.loading to django.apps.cache.
...
This commit doesn't contain any code changes; it's purely a refactoring.
2013-12-17 10:17:43 +01:00
Loic Bistuer
6685713869
Fixed E127 pep8 warnings.
2013-12-14 11:59:15 -05:00
Andrew Godwin
5db028affb
Fix altering of SERIAL columns and InnoDB being picky about FK changes
2013-12-11 14:19:05 +00:00
Andrew Godwin
248fdb1110
Change FKs when what they point to changes
2013-12-11 13:16:29 +00:00
Andrew Godwin
f3582a0594
Fix sqlmigrate's output for parameters
2013-12-11 13:12:23 +00:00
Loic Bistuer
a2814846ca
Fixed E124 pep8 warnings.
2013-12-10 15:12:48 -05:00
Christopher Medrela
7477a4ffde
Fixed E125 pep8 warnings
2013-11-28 08:50:11 -05:00
Andrew Godwin
4fcfc31865
Add gis deconstruct() method (this does not make schema work)
2013-11-27 12:56:33 +00:00
Joel Bohman
19e5cd77f0
Fixed #21497 -- Forced conversion to bytes for very long index names
2013-11-24 13:15:50 -05:00
Alex Gaynor
f4a6c9aa13
flake8 fix
2013-11-09 06:38:47 -08:00
Claude Paroz
7e714827ea
Don't initialize PostGIS-specific stuff for non-db connections
...
Refs #16969 .
2013-11-09 11:28:16 +01:00
Claude Paroz
e953c78eeb
Fixed #16969 -- Don't connect to named database when possible
...
Thanks Andreas Pelme for the report and initial patch, and
Aymeric Augustin, Shai Berger and Tim Graham for the reviews.
2013-11-09 09:42:17 +01:00
coagulant
3bc0d46a84
Fixed all E261 warnings
2013-11-02 18:20:39 -04:00
Florian Hahn
5240b83462
Fixed #17027 -- Added support for the power operator in F expressions.
...
Thanks dan at dlo.me for the initial patch.
- Added __pow__ and __rpow__ to ExpressionNode
- Added oracle and mysql specific power expressions
- Added used-defined power function for sqlite
2013-10-22 10:29:57 -04:00
Tim Graham
8e2029f8dd
Removed import * in tests.
...
Thanks to flake8 path/to/file.py | awk -F ' ' '{ print $5 }' | sort | uniq
2013-10-22 08:32:01 -04:00
Alasdair Nicol
dfb4cb9970
Fixed #21285 -- Fixed E121,E122 pep8 warnings
2013-10-17 20:20:11 -04:00
Alex Gaynor
98788d3c3a
Remove some unnecesary uses of bool
2013-10-17 05:27:34 -07:00
Claude Paroz
650b6fd90e
Add get_migratable_models util method to ConnectionRouter
2013-10-16 18:02:49 +02:00
Claude Paroz
2af58a2cef
Made sqlite introspection also show views like other backends
...
Refs #6730 .
2013-10-15 17:20:03 +02:00
Claude Paroz
dd1ab8982b
Moved misplaced import in backends init
2013-10-15 16:36:31 +02:00
Claude Paroz
1e8eadc94e
Fixed #15888 -- Made tablename argument of createcachetable optional
...
Thanks Aymeric Augustin for the report and the documentation and
Tim Graham for the review.
2013-10-14 13:24:40 +02:00
Tim Graham
adedc31072
Fixed "redefinition of unused 'foo' from line X" pyflakes warnings.
2013-10-10 11:09:42 -04:00
Aymeric Augustin
91547772e0
Fixed #21235 -- Disabled savepoints for old versions of SQLite.
...
Thanks Ramiro for the report.
2013-10-07 10:47:50 +02:00
Baptiste Mispelon
20472aa827
Fixed #21189 : Cleaned up usage of bare except clauses.
...
Thanks to berkerpeksag for the report and to claudep
for the review.
2013-10-05 11:50:03 +02:00
Tim Graham
0d02c54299
Fixed #21207 -- Fixed test failure on Oracle: test_cursor_contextmanager
...
refs #17671
2013-10-01 12:34:25 -04:00
Aymeric Augustin
728548e483
Fixed #21134 -- Prevented queries in broken transactions.
...
Squashed commit of the following:
commit 63ddb271a44df389b2c302e421fc17b7f0529755
Author: Aymeric Augustin <aymeric.augustin@m4x.org>
Date: Sun Sep 29 22:51:00 2013 +0200
Clarified interactions between atomic and exceptions.
commit 2899ec299228217c876ba3aa4024e523a41c8504
Author: Aymeric Augustin <aymeric.augustin@m4x.org>
Date: Sun Sep 22 22:45:32 2013 +0200
Fixed TransactionManagementError in tests.
Previous commit introduced an additional check to prevent running
queries in transactions that will be rolled back, which triggered a few
failures in the tests. In practice using transaction.atomic instead of
the low-level savepoint APIs was enough to fix the problems.
commit 4a639b059ea80aeb78f7f160a7d4b9f609b9c238
Author: Aymeric Augustin <aymeric.augustin@m4x.org>
Date: Tue Sep 24 22:24:17 2013 +0200
Allowed nesting constraint_checks_disabled inside atomic.
Since MySQL handles transactions loosely, this isn't a problem.
commit 2a4ab1cb6e83391ff7e25d08479e230ca564bfef
Author: Aymeric Augustin <aymeric.augustin@m4x.org>
Date: Sat Sep 21 18:43:12 2013 +0200
Prevented running queries in transactions that will be rolled back.
This avoids a counter-intuitive behavior in an edge case on databases
with non-atomic transaction semantics.
It prevents using savepoint_rollback() inside an atomic block without
calling set_rollback(False) first, which is backwards-incompatible in
tests.
Refs #21134 .
commit 8e3db393853c7ac64a445b66e57f3620a3fde7b0
Author: Aymeric Augustin <aymeric.augustin@m4x.org>
Date: Sun Sep 22 22:14:17 2013 +0200
Replaced manual savepoints by atomic blocks.
This ensures the rollback flag is handled consistently in internal APIs.
2013-09-30 09:42:27 +02:00
Andrew Godwin
59582a8119
Enforce ordering on PostgreSQL get_constraints cols (refs #21134 )
2013-09-26 14:55:19 +01:00
Michael Manfre
99c87f1410
Fixed #17671 - Cursors are now context managers.
2013-09-25 21:47:26 +03:00
Anssi Kääriäinen
83554b018e
Fixed #21126 -- QuerySet value conversion failure
...
A .annotate().select_related() query resulted in misaligned rows vs
columns for compiler.resolve_columns() method.
Report & patch by Michael Manfre.
2013-09-25 20:47:57 +03:00
Claude Paroz
4c5bc1ac30
Removed double import in mysql base.py
2013-09-24 10:25:39 +02:00
Anssi Kääriäinen
9400142132
Fixed #21109 -- made db cursor error wrapping faster
2013-09-17 12:18:55 +03:00
Tim Graham
f40c82213f
Added backwards compatability shims for util modules.
...
refs #17627
2013-09-16 12:53:42 -04:00
Tim Graham
18ffdb1772
Fixed #17627 -- Renamed util.py files to utils.py
...
Thanks PaulM for the suggestion and Luke Granger-Brown and
Wiktor Kołodziej for the initial patch.
2013-09-16 12:52:05 -04:00
Alex Gaynor
5c645ec81a
Merge branch 'master' of https://github.com/django/django
2013-09-14 12:32:45 -07:00
Alex Gaynor
496b4d0331
Removed an import * that was masking importing stuff from the wrong location
2013-09-14 12:32:25 -07:00
Michael Manfre
c89d80e2cc
Fixed #21097 - Added DatabaseFeature.can_introspect_autofield
2013-09-14 09:48:59 +03:00
Gregor MacGregor
b2b763448f
Fixed #20841 -- Added messages to NotImplementedErrors
...
Thanks joseph at vertstudios.com for the suggestion.
2013-09-10 11:09:59 -04:00
Садовский Николай
1185370c2c
Fixed #20707 -- Added explicit quota assignment to Oracle test user
...
To enable testing on Oracle 12c
2013-09-09 16:25:13 +03:00
Alex Gaynor
2530735d2d
Fixed a number of flake8 errors -- particularly around unused imports and local variables
2013-09-06 21:56:40 -07:00
Loic Bistuer
37d46b20fc
Fixed regression introduced by efd1e60
, 'map' returns an iterator on PY3.
2013-09-07 08:00:11 +07:00
Eric Boersma
ded40142a9
Fixed #20007 -- Configured psycopg2 to return UnicodeArrays
...
Thanks hogbait for the report.
2013-09-06 20:43:58 -04:00
Andrew Godwin
efd1e6096e
Adding 'sqlmigrate' command and quote_parameter to support it.
2013-09-06 15:28:12 -05:00
Chris Wilson
eade315da1
Fixed #10164 -- Made AutoField increase monotonically on SQLite
...
Thanks malte for the report.
2013-09-06 12:31:17 -04:00
Andrew Godwin
630eb0564a
Fix SchemaEditor.__exit__ to handle exceptions correctly
2013-09-06 11:09:16 -05:00
Eric Boersma
4d13cc56de
Fixed #21035 -- Changed docs to treat the acronym SQL phonetically.
...
The documentation and comments now all use 'an' to
refer to the word SQL and not 'a'.
2013-09-05 20:14:58 -04:00
Aymeric Augustin
868b4c921c
Used six.moves.zip_longest, new in six 1.4.0.
2013-09-02 12:11:16 +02:00
Aymeric Augustin
365c3e8b73
Replaced "not PY3" by "PY2", new in six 1.4.0.
2013-09-02 12:11:02 +02:00
Simon Charette
11cd7388f7
Fixed #20989 -- Removed useless explicit list comprehensions.
2013-08-30 10:57:51 -04:00
Tim Graham
c7d0ff0cad
Fixed #20989 -- Removed explicit list comprehension inside dict() and tuple()
...
Thanks jeroen.pulles at redslider.net for the suggestion and
helper script.
2013-08-29 12:11:03 -04:00
Claude Paroz
169637649b
Fixed #20984 -- Stopped decoding bytes in sqlite3 adapter on Python 3
...
Thanks lvella at gmail.com for the report.
2013-08-29 08:39:06 +02:00
Andrew Godwin
35230adf63
Python 3 compat fix for callable()
2013-08-23 17:59:35 +01:00
Andrew Godwin
2787de652a
Fix location of tablespace clauses in schema backend column SQL
2013-08-23 14:38:55 +01:00
Andrew Godwin
5569b0b92f
Merge remote-tracking branch 'core/master' into schema-alteration
...
Conflicts:
django/db/backends/oracle/base.py
django/db/backends/postgresql_psycopg2/base.py
django/db/models/signals.py
tests/queries/tests.py
2013-08-23 12:36:53 +01:00
Andrew Godwin
9cc6cfc405
Fix Oracle's default handling and schema-prepared-statement issue
2013-08-23 12:07:55 +01:00
Simon Charette
1db5fce1ee
Oracle also treats NULLs as largests values when ordering.
2013-08-21 22:32:03 +01:00
Anssi Kääriäinen
ced3e6b17d
Fixed test failure caused by different NULL ordering between backends
2013-08-21 22:31:50 +01:00
Simon Charette
859e678b3d
Oracle also treats NULLs as largests values when ordering.
2013-08-20 12:28:59 -04:00
Anssi Kääriäinen
8dc76c4b91
Fixed test failure caused by different NULL ordering between backends
2013-08-20 11:33:44 +03:00
Andrew Godwin
b6a957f0ba
Merge remote-tracking branch 'core/master' into schema-alteration
...
Conflicts:
docs/ref/django-admin.txt
2013-08-19 18:30:48 +01:00
Andrew Godwin
5b522cd85a
Minor oracle fixes
2013-08-19 13:12:48 +01:00
Harm Geerts
240886183b
Fixed #20829 -- Skip postgis metadata tables with introspection
2013-08-16 21:14:29 +02:00
Andrew Godwin
157604a87f
Oracle schema backend, passes most tests and is pretty complete.
2013-08-13 20:54:57 +01:00
Andrew Godwin
44f907dd98
Start of getting Oracle to do schema stuff
2013-08-12 20:05:20 +01:00
Andrew Godwin
b4c493ecd3
Remove keep_default from add_field
2013-08-11 14:28:55 +01:00
Andrew Godwin
d985fd7a18
Fix tablespace command
2013-08-11 14:27:42 +01:00
Andrew Godwin
ae19315b4d
Support index_together during model creation
2013-08-11 14:23:31 +01:00
Andrew Godwin
21be9fef7b
Stop being overcautious about Field.rel
2013-08-11 00:01:30 +01:00
Andrew Godwin
7702819441
Update get_constraints with better comments
2013-08-10 23:58:12 +01:00
Andrew Godwin
7970d97a70
Docs tweaks (thanks timgraham)
2013-08-10 20:00:12 +01:00
Andrew Godwin
f093646bfc
Remove pointless comment.
2013-08-09 17:47:13 +01:00
Andrew Godwin
ae96ad872f
Remove pointless fetch_results param
2013-08-09 17:42:56 +01:00
Andrew Godwin
fb16ee5a31
Remove commented-out print
2013-08-09 17:41:39 +01:00
Andrew Godwin
de64c4d6e9
Merge remote-tracking branch 'core/master' into schema-alteration
...
Conflicts:
django/core/management/commands/flush.py
django/core/management/commands/syncdb.py
django/db/models/loading.py
docs/internals/deprecation.txt
docs/ref/django-admin.txt
docs/releases/1.7.txt
2013-08-09 14:17:30 +01:00
Tim Graham
aa830009de
Fixed #17519 -- Fixed missing SQL constraints to proxy models.
...
Thanks thibaultj for the report, jenh for the patch,
and charettes for the tests.
2013-08-02 07:41:56 -04:00
Andrew Godwin
12e9804d16
Rename allow_syncdb to allow_migrate
2013-07-30 12:08:59 +01:00
Andrew Godwin
68e0a169c4
Rename pre_ and post_syncdb to *_migrate, with aliases from old names
2013-07-30 11:52:52 +01:00
Shai Berger
6ed579e7eb
Fixed #20785 -- Corrected exception caught for Oracle LIKE operator detection
...
The code that tests to see which LIKE expressions to use now runs
using non-error-wrapped cursor, so cx_Oracle exceptions need to be caught
rather than Django DatabaseErrors.
Thanks Trac user ludo for report and initial patch.
2013-07-30 03:21:06 +03:00
Claude Paroz
fdd7a355bf
Deprecated django.utils.importlib
...
This was a shim for pre-Python 2.7 support.
2013-07-29 17:10:22 +02:00
Julien Phalip
47c755327b
Fixed a number of minor misspellings.
2013-07-27 18:46:03 -07:00
Andrew Godwin
9c6d57ef5a
Prettier imports
2013-07-26 16:40:27 +01:00
Andrew Godwin
03ec3219a0
Merge branch 'master' into schema-alteration
...
Conflicts:
django/db/backends/mysql/introspection.py
django/db/backends/oracle/creation.py
django/db/backends/postgresql_psycopg2/creation.py
django/db/models/base.py
django/db/models/loading.py
2013-07-22 19:04:25 +01:00
Shai Berger
c0a4894dca
Fixed last_executed_query test failure on Oracle
2013-07-08 23:47:02 +03:00
Alex Gaynor
43073dbd76
fixed a mis-importt in mysql/base.py
2013-07-08 11:18:06 +10:00
Alex Gaynor
03d9566e0d
A large number of stylistic cleanups across django/db/
2013-07-08 10:39:54 +10:00
Alex Gaynor
626fa28878
Fixed #13813 -- Comparison of DatabaseWrappers doesn't raise errors.
...
Patch from Lukasz Balcerzak.
2013-07-08 09:35:08 +10:00
Andrew Godwin
3a6580e485
Make get_constraints return columns in order
2013-07-02 18:02:20 +01:00
Andrew Godwin
dbd3e775c1
Fix get_constraints to do multi-column indexes properly on pg
2013-07-02 12:06:00 +01:00
Andrew Godwin
f343cbf06c
Fix combined alters on PostgreSQL
2013-07-02 11:51:18 +01:00
Andrew Godwin
6a8cfbf07b
Support for index_together in schema backends
2013-07-02 11:43:44 +01:00
Andrew Godwin
b1e0ec06f0
Merge branch 'master' into schema-alteration
2013-07-02 10:49:53 +01:00
Aymeric Augustin
d5589b4cd3
Removed some conditional code only needed under Python 2.6.
2013-07-01 12:02:17 +02:00
Aymeric Augustin
dd9c6bc359
Introduced getters for connection.autocommit and .needs_rollback.
...
They ensure that the attributes aren't accessed in conditions where they
don't contain a valid value.
Fixed #20666 .
2013-06-30 15:57:00 +02:00
Aymeric Augustin
acd7b34aaf
Advanced deprecation warnings for Django 1.7.
2013-06-29 18:49:37 +02:00
Claude Paroz
59b0c48ce2
Fixed #18592 -- Prevented crash when accessing MySQL _last_executed
...
Thanks reames at asymmetricventures.com for the report.
2013-06-29 18:44:41 +02:00
Andrew Godwin
7a47ba6f6a
Merge remote-tracking branch 'core/master' into schema-alteration
...
Conflicts:
django/db/backends/__init__.py
django/db/models/fields/related.py
tests/field_deconstruction/tests.py
2013-06-28 17:32:57 +01:00
Shai Berger
d097417025
Support 'pyformat' style parameters in raw queries, Refs #10070
...
Add support for Oracle, fix an issue with the repr of RawQuerySet,
add tests and documentations. Also added a 'supports_paramstyle_pyformat'
database feature, True by default, False for SQLite.
Thanks Donald Stufft for review of documentation.
2013-06-28 06:59:10 +03:00
Aymeric Augustin
c1284c3d3c
Fixed #20571 -- Added an API to control connection.needs_rollback.
...
This is useful:
- to force a rollback on the exit of an atomic block without having to
raise and catch an exception;
- to prevent a rollback after handling an exception manually.
2013-06-27 22:19:54 +02:00
Loic Bistuer
a9ea7d8c70
Fixed #20462 - Replaced the str() cast introduced in 273dc55
by force_text()
2013-06-26 21:30:58 +07:00
Andrew Clark
273dc550a4
Fixed #20462 -- null/non-string regex lookups are now consistent
...
Thanks to noirbizarre for the report and initial patch.
2013-06-26 08:13:26 -04:00
Gilberto Gonçalves
680b512fc1
Fixed #20587 -- Made convert_values handle None values
2013-06-22 14:05:12 +01:00
Andrew Godwin
6f667999e1
Add operation that renames tables
2013-06-20 14:54:11 +01:00
Aymeric Augustin
ffcf24c9ce
Removed several unused imports.
2013-06-19 17:18:40 +02:00
Andrew Godwin
2ae8a8a77d
Fix test running with new apps stuff/migrate actually running migrations
2013-06-19 15:36:02 +01:00
Andrew Godwin
9daf81b94e
Merge remote-tracking branch 'core/master' into schema-alteration
...
Conflicts:
django/db/models/loading.py
2013-06-19 12:05:23 +01:00
Tim Graham
92c49d6f01
Revert "Fixed #20462 - Fixed sqlite regex lookups for null values and non-string fields."
...
This reverts commit 64041f0e6e
.
lookup.tests.LookupTests.test_regex_non_string fails under Postgres.
We should also try to rewrite the test using an existing model.
2013-06-11 17:55:19 -04:00
Axel Haustant
64041f0e6e
Fixed #20462 - Fixed sqlite regex lookups for null values and non-string fields.
2013-06-11 14:13:40 -04:00
Aymeric Augustin
13b7f299de
Added a stealth option to flush to allow cascades.
...
This allows using flush on a subset of the tables without having to
manually cascade to all tables with foreign keys to the tables being
truncated, when they're known to be empty.
On databases where truncate is implemented with DELETE FROM, this
doesn't make a difference. The cascade is allowed, not mandatory.
2013-06-10 11:21:54 +02:00
Andrew Godwin
3c296382b8
Merge remote-tracking branch 'core/master' into schema-alteration
...
Conflicts:
django/db/models/fields/related.py
2013-06-07 11:15:34 +01:00
Andrew Godwin
d0ecefc2c9
Start adding operations that work and tests for them
2013-05-29 17:47:10 +01:00
Shai Berger
0027f13904
Fixed #20014 -- implemented get_key_columns() for Oracle
...
Thanks Aymeric Augustin for reporting
2013-05-27 21:12:47 +03:00
Shai Berger
5e05ec3ea6
Fixed #20501 -- failure of datetime queries with timezones under Oracle
2013-05-27 17:28:57 +03:00
Anssi Kääriäinen
37ea9f9c03
Fixed #20507 -- SubqueryConstraint alias handling
...
MySQL should work now, too.
2013-05-27 15:05:03 +03:00
Ramiro Morales
0fa8d43e74
Replaced `and...or...` constructs with PEP 308 conditional expressions.
2013-05-26 23:47:50 -03:00
Shai Berger
dfe6ea3b1f
Fixed #20012 -- test_year_lookup_edge_case fails under Oracle
...
Used formatted date instead of datetime object for the end of the
year range, as the datetime object loses fractions-of-seconds when
inserted into the db.
2013-05-22 01:52:15 +03:00
Shai Berger
8fd40b9ae7
Fixed #20015 -- date__startswith('2008') fails under Oracle
...
Removed the explicit casting of strings to dates
2013-05-22 01:52:15 +03:00
Shai Berger
b6ad9998e6
Fixed #20453 -- inspectdb test failure on Oracle
2013-05-22 01:52:15 +03:00
Claude Paroz
d595b61aca
(Re-)moved some imports
2013-05-21 17:34:19 +02:00
Aymeric Augustin
181f2ec603
Fixed test failures with Oracle when pytz isn't installed.
...
Thanks Shai Berger for the report.
2013-05-19 14:38:48 +02:00
Aymeric Augustin
f7467181aa
Merge pull request #1160 from erikr/host-inet-postgres2
...
Fixed #11442 -- Postgresql backend casts all inet types to text
2013-05-19 04:57:10 -07:00
Erik Romijn
60d94c2a80
Fixed #11442 -- Postgresql backend casts all inet types to text
2013-05-19 13:28:09 +02:00
Aymeric Augustin
a7e2835276
Merge pull request #1028 from manfre/patch-2
...
Fixed #20340 - document required return value for disable_constraint_checking
2013-05-19 04:17:08 -07:00
Shai Berger
215647c0f7
Fixed #20386 - Introspection problem on Oracle
...
Made introspection always return a unicode as column name on Oracle.
Thanks aaugustin for review and suggestion to use force_text().
2013-05-18 14:19:26 +03:00
Andrew Godwin
331546f6ee
More conversion to a ContextManager schema_editor
2013-05-18 11:48:46 +02:00
Andrew Godwin
ce5bd42259
Turn SchemaEditor into a context manager
2013-05-18 11:06:30 +02:00
Andrew Godwin
cb4b0de49e
Merge branch 'master' into schema-alteration
2013-05-10 12:55:30 +01:00
Andrew Godwin
104ad0504b
Split out a BaseAppCache, make AppCache borg again, add _meta.app_cache
2013-05-09 15:16:43 +01:00
Aymeric Augustin
86b4ac665a
[py3] Stopped iterating on exceptions. Refs #20025 .
2013-05-08 13:05:23 +02:00
Aymeric Augustin
e81e319f15
Fixed #20025 -- Pointed to a MySQLdb fork for Python 3.
...
Made a few minor compatibility adjustments.
2013-05-08 13:05:09 +02:00
Aymeric Augustin
1fff8daf88
Fixed test failures on MySQL.
...
Some tests failed when the time zone definitions were loaded in MySQL
and pytz wasn't installed. This setup isn't supported.
2013-05-08 13:03:36 +02:00
Michael Manfre
f043cfe3e2
Fixed documentation of disable_constraint_checking
...
The docstring and base implementation of disable_constraint_checking do not indicate that a return value is expected for proper behavior.
2013-04-24 14:26:13 -03:00
Andrew Godwin
6e21a59402
Fix schema editor interaction with new transactions
2013-04-19 09:01:45 +01:00
Andrew Godwin
7f3678dc4c
Merge branch 'master' into schema-alteration
...
Conflicts:
django/db/backends/__init__.py
django/db/backends/mysql/base.py
django/db/backends/oracle/base.py
django/db/backends/oracle/creation.py
django/db/backends/postgresql_psycopg2/base.py
django/db/backends/sqlite3/base.py
django/db/models/fields/related.py
2013-04-18 17:16:39 +01:00
Claude Paroz
8c41bd93c2
Fixed #16737 -- Support non-ascii column names in inspectdb
...
Thanks moof at metamoof.net for the report.
2013-04-01 19:59:57 +02:00
Claude Paroz
51028f50b6
Fixed getting max_digits for MySQL decimal fields
...
Refs #5014 .
2013-04-01 18:17:00 +02:00
Claude Paroz
3ff3212713
Fixed #19220 -- Prevented decimals to be displayed in scientific notation
...
Thanks nebstrebor for the report and antofik for the patch.
2013-03-31 22:39:01 +02:00
Claude Paroz
86b1c31689
Fixed #19954 -- Fixed MySQL _last_executed decoding
...
Queries can contain binary data undecodable with utf-8. In this
case, using the 'replace' errors mode when decoding seems like
an acceptable representation of the query.
Thanks Marcel Ryser for the report.
2013-03-28 20:08:37 +01:00
Anssi Kääriäinen
97774429ae
Fixed #19385 again, now with real code changes
...
The commit of 266de5f9ae
included only
tests, this time also code changes included...
2013-03-24 18:40:40 +02:00
Claude Paroz
76aecfbc4b
Fixed #9055 -- Standardized behaviour of parameter escaping in db cursors
...
Previously, depending on the database backend or the cursor type,
you'd need to double the percent signs in the query before passing
it to cursor.execute. Now cursor.execute consistently need percent
doubling whenever params argument is not None (placeholder substitution
will happen).
Thanks Thomas Güttler for the report and Walter Doekes for his work
on the patch.
2013-03-23 17:11:10 +01:00
Aymeric Augustin
6197935152
Fixed #19968 -- Dropped support for PostgreSQL < 8.4.
2013-03-18 21:16:29 +01:00
Aymeric Augustin
93af822c00
Improved recovery when the connection is closed in an atomic block.
2013-03-13 15:17:40 +01:00
Aymeric Augustin
83a416f5e7
Made atomic usable when autocommit is off.
...
Thanks Anssi for haggling until I implemented this.
This change alleviates the need for atomic_if_autocommit. When
autocommit is disabled for a database, atomic will simply create and
release savepoints, and not commit anything. This honors the contract of
not doing any transaction management.
This change also makes the hack to allow using atomic within the legacy
transaction management redundant.
None of the above will work with SQLite, because of a flaw in the design
of the sqlite3 library. This is a known limitation that cannot be lifted
without unacceptable side effects eg. triggering arbitrary commits.
2013-03-13 15:17:40 +01:00
Simon Charette
bc7a10299f
Fixed #20010 -- Make sure `last_executed_query` contains it's associated parameters on Oracle.
...
Also removed some unused imports.
2013-03-11 17:30:23 -04:00
Aymeric Augustin
f2f98abb95
Avoided closing the database connection within a transaction.
...
Refs #9437 .
2013-03-11 21:08:49 +01:00
Aymeric Augustin
e654180ce2
Improved the API of set_autocommit.
2013-03-11 15:10:58 +01:00
Aymeric Augustin
423c0d5e29
Added a safety net for developers messing with autocommit.
2013-03-11 15:05:04 +01:00
Aymeric Augustin
107d9b1d97
Added an option to disable the creation of savepoints in atomic.
2013-03-11 15:05:04 +01:00
Aymeric Augustin
ac37ed21b3
Deprecated TransactionMiddleware and TRANSACTIONS_MANAGED.
...
Replaced them with per-database options, for proper multi-db support.
Also toned down the recommendation to tie transactions to HTTP requests.
Thanks Jeremy for sharing his experience.
2013-03-11 15:04:05 +01:00
Aymeric Augustin
09ba70f9f1
Made transaction management work even before the first SQL query.
...
Thanks Florian again.
2013-03-11 14:48:55 +01:00
Aymeric Augustin
7c46c8d5f2
Added some assertions to enforce the atomicity of atomic.
2013-03-11 14:48:55 +01:00
Aymeric Augustin
d7bc4fbc94
Implemented an 'atomic' decorator and context manager.
...
Currently it only works in autocommit mode.
Based on @xact by Christophe Pettus.
2013-03-11 14:48:55 +01:00
Aymeric Augustin
4b31a6a9e6
Added support for savepoints in SQLite.
...
Technically speaking they aren't usable yet.
2013-03-11 14:48:55 +01:00
Aymeric Augustin
e264f67174
Refactored implementation of savepoints.
...
Prepared for using savepoints within transactions in autocommit mode.
2013-03-11 14:48:55 +01:00
Aymeric Augustin
918f44e3ae
Moved standard SQL for savepoints in the base backend.
...
These methods are only called when uses_savepoints = True anyway.
2013-03-11 14:48:54 +01:00
Aymeric Augustin
3bdc7a6a70
Deprecated transaction.is_managed().
...
It's synchronized with the autocommit flag.
2013-03-11 14:48:54 +01:00
Aymeric Augustin
ba5138b1c0
Deprecated transaction.commit/rollback_unless_managed.
...
Since "unless managed" now means "if database-level autocommit",
committing or rolling back doesn't have any effect.
Restored transactional integrity in a few places that relied on
automatically-started transactions with a transitory API.
2013-03-11 14:48:54 +01:00
Aymeric Augustin
14aa563f51
Removed superfluous code now that connections use autocommit by default.
2013-03-11 14:48:54 +01:00
Aymeric Augustin
5e27debc5c
Enabled database-level autocommit for all backends.
...
This is mostly a documentation change.
It has the same backwards-incompatibility consequences as those
described for PostgreSQL in a previous commit.
2013-03-11 14:48:54 +01:00
Aymeric Augustin
cfc114e00e
Removed _enter/_leave_transaction_management.
...
The goal is to make all databases share a common, autocommit-based,
implementation.
2013-03-11 14:48:54 +01:00
Aymeric Augustin
1617557ae3
Added BaseDatabaseWrapper.ensure_connection.
...
This API is useful because autocommit cannot be managed without an open
connection.
2013-03-11 14:48:54 +01:00
Aymeric Augustin
7b4815b455
Expressed the dirty flag handling logic in terms of autocommit.
2013-03-11 14:48:54 +01:00
Aymeric Augustin
cd364efa00
Stopped flipping the uses_savepoints feature at runtime.
2013-03-11 14:48:54 +01:00
Aymeric Augustin
af9e9386eb
Enabled autocommit for PostgreSQL.
...
For users who didn't activate autocommit in their database options, this
is backwards-incompatible in "non-managed" aka "auto" transaction state.
This state now uses database-level autocommit instead of ORM-level
autocommit.
Also removed the uses_autocommit feature which lost its purpose.
2013-03-11 14:48:54 +01:00
Aymeric Augustin
8717b0668c
Separated autocommit and isolation level handling for PostgreSQL.
...
Autocommit cannot be manipulated independently from an open connection.
This commit introduces a minor change in behavior: entering transaction
management forces opening a databasse connection. This shouldn't be
backwards incompatible in any practical use case.
2013-03-11 14:48:54 +01:00
Aymeric Augustin
f515619494
Added an API to control database-level autocommit.
2013-03-11 14:48:53 +01:00
Aymeric Augustin
7aacde84f2
Made transaction.managed a no-op and deprecated it.
...
enter_transaction_management() was nearly always followed by managed().
In three places it wasn't, but they will all be refactored eventually.
The "forced" keyword argument avoids introducing behavior changes until
then.
This is mostly backwards-compatible, except, of course, for managed
itself. There's a minor difference in _enter_transaction_management:
the top self.transaction_state now contains the new 'managed' state
rather than the previous one. Django doesn't access
self.transaction_state in _enter_transaction_management.
2013-03-11 14:48:53 +01:00
Florian Apolloner
8aefd30379
Fixed BinaryField support on Oracle.
2013-03-09 23:39:14 +01:00