Commit Graph

834 Commits

Author SHA1 Message Date
Aymeric Augustin 7194d40236 [1.7.x] Added feature flags for introspection capabilities.
Backport of 99d9fa32 from master
2014-05-08 22:53:21 +02:00
Aymeric Augustin 92a1e71100 [1.7.x] Split ignores_nulls_in_unique_constraints feature.
Oracle and SQL Server don't have exactly the same limitations. It's
worth treating them differently.

Backport of cff59bed from master
2014-05-08 22:53:11 +02:00
Aymeric Augustin e3bc11cca9 [1.7.x] Replaced vendor checks by three feature flags.
Backport of c70a61eb from master
2014-05-08 22:53:00 +02:00
Andrew Godwin f2bf59a5bc [1.7.x] Fixed #22476: Couldn't alter attributes on M2Ms with through= set 2014-05-08 10:34:45 -07:00
Andrew Godwin d8bf415ab2 [1.7.x] Fixed #22581: Pass default values for schema through get_db_prep_save() 2014-05-07 13:47:02 -07:00
Alex Gaynor 996564df4d [1.7.x] Fix many many typos in comments throughout the codebase
Backport of 2bcb8bfc8d from master
2014-04-26 14:35:57 -04:00
Aymeric Augustin 3bb0f118ca [1.7.x] 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.

Backport of 8b5b199 from master
2014-04-26 17:46:57 +02:00
Aymeric Augustin 6b38e48ba1 [1.7.x] Fixed #21166 -- Reset errors_occurred flag after commit and rollback.
Backport of 3033a71 from master.

Conflicts:
	django/db/backends/__init__.py
2014-04-25 22:52:51 +02:00
Aymeric Augustin 782fa14db4 [1.7.x] Set some transaction-related feature flags on SQLite.
Refs #22496.

Backport of e368912 from master.
2014-04-25 11:45:58 +02:00
Shai Berger b8b179bbf5 [1.7.x] Fixed #22498 -- constraint name was not quoted in FK creation SQL
Backport of 843613add4 from master
2014-04-25 01:35:59 +03:00
Shai Berger 7421e1e320 [1.7.x] Made sure cursor.close() does not complain if cursor is already closed on Oracle
Refs #22483

Backport of 53d97e4fe3 from master
2014-04-25 01:35:38 +03:00
Aymeric Augustin 9bbb43dd1a [1.7.x] Ignored repeated calls to connection.close().
Backport of d4cc59ef from master
2014-04-24 08:43:24 +02:00
Aymeric Augustin 5cd6429620 [1.7.x] Prevented a crash in the cursor wrappers on Oracle.
Fixed #22483 (again).

Backport of 0f85103e from master
2014-04-24 08:43:16 +02:00
Aymeric Augustin e32e359d6a [1.7.x] 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.

Backport of 0aa4c6c3 from master
2014-04-23 21:45:49 +02:00
Aymeric Augustin 9bf890f6f9 [1.7.x] Wrapped migrations in a transaction only on DBs with transactional DDL.
Backport of e74d2183 from master
2014-04-23 21:45:38 +02:00
Alex Gaynor 50dddbdfc7 [1.7.x] Corrected many style guide violations that the newest version of flake8 catches
Backport of 778ce245dd from master
2014-04-21 07:50:43 -04:00
Simon Charette 33d1dc2eeb [1.7.x] Fixed flake8 warnings introduced in recent commits.
Backport of 79f05616fb from master
2014-04-20 13:10:52 -04:00
Andrew Gorcester bc5d568e1e [1.7.x] 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.

Backport of 956bd64424 from master
2014-04-18 18:34:00 -04:00
Motiejus Jakštys 71c8ae543f [1.7.x] Fixed #22460 -- Explicity remove constraints when dropping a related field.
Backport of 0e45669fa9 from master
2014-04-16 16:37:08 -04:00
Aymeric Augustin 2e42c859da [1.7.x] 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.

Backport of 25860096 from master.
2014-04-10 23:18:35 +02:00
Aymeric Augustin 5f22bda382 [1.7.x] Fixed #22321 -- Wrapped exceptions in _set_autocommit.
Refs #21202.

Backport of 3becac84 from master
2014-04-10 23:06:58 +02:00
Aymeric Augustin f6f188ffc7 [1.7.x] Fixed #21553 -- Ensured unusable database connections get closed.
Backport of 5f2f47f from master
2014-04-09 22:50:21 +02:00
Loic Bistuer bdec848063 [1.7.x] Fixed #22359 -- Changing M2M field to blank=True failed on sqlite.
Backport of a449e7feec from master
2014-03-31 06:35:06 -04:00
Chris Beaven fe61ba91c7 [1.7.x] Add a useful stacklevel to some RemovedInDjango19Warnings
Backport of b077ba7ac1 from master
2014-03-27 06:11:01 -04:00
Simon Charette 78211b13a5 [1.7.x] Fixed #12030 -- Validate integer field range at the model level.
Thanks to @timgraham for the review.

Backport of 1506c71a95 from master
2014-03-25 14:31:54 -04:00
Daniel Hahler 21eaad68e6 [1.7.x] 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).

Backport of 1edfa155e3 from master
2014-03-24 13:27:06 -04: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