Commit Graph

854 Commits

Author SHA1 Message Date
Andrew Godwin d4305a15c1 [1.7.x] Fixed #22844: Duplicate SQL for SQLite FKs 2014-06-16 00:27:46 -07:00
Shai Berger 4b922b8094 [1.7.x] Fixed #22816 -- Corrected Oracle feature flag and fixed introspection test
Backport of 6122904 from master
2014-06-14 00:53:27 +03:00
Shai Berger 1cb5dfe05f [1.7.x] Added django.utils.six.buffer_types
and used it in the Oracle SchemaEditor. Refs #22715.

Backport of 06c0e740a4 from master
2014-06-13 13:13:10 -04:00
Tim Graham 84714dfed7 [1.7.x] Fixed test failures due to refs #20420.
cfcca7ccce renamed connection.queries
to queries_log and this wasn't backported to stable/1.7.x.
2014-06-12 11:55:31 -04:00
Aymeric Augustin 5cde9a7018 [1.7.x] 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.

Backport of 40bfd856 from master.
2014-06-09 22:08:20 +02:00
Aymeric Augustin e5879811e6 [1.7.x] Simplified handling of use_debug_cursor.
Turned it from a tri-valued boolean into a regular boolean.

Backport of 127218b9 from master.
2014-06-09 22:07:28 +02:00
Tim Graham 0a515b02fc [1.7.x] Fixed flake8 errors.
Backport of 4b25ebf112 from master
2014-06-09 12:02:20 -04:00
Andrew Godwin 08218252d8 [1.7.x] Fixed #22487: Optional rollback emulation for migrated apps
Conflicts:
	django/db/backends/creation.py
	django/test/runner.py
	docs/ref/settings.txt
	docs/topics/testing/advanced.txt
2014-06-08 19:33:52 -07:00
Aymeric Augustin c9aedce01a Replaced an explicit vendor check by a feature flag. 2014-06-06 00:31:22 +02:00
Aymeric Augustin 342b25449d [1.7.x] Added a flag for the ability to introspect nullable fields.
Previously this was conflated with another Oracle-specific behavior.

Backport of a03d38d from master.
2014-06-05 17:57:48 +02:00
Claude Paroz a2fb5c9d69 [1.7.x] Fixed #22744 -- Fixed sqlite3 get_relations introspection with views
Thanks Tim Graham for the report and Simon Charette for the review.
Backport of 5a504a5311 from master.
2014-06-01 22:07:22 +02:00
Alex Gaynor d099c03789 [1.7.x] Simplified, very slightly, some code in the oracle backend
Backport of e79725cdf9 from master
2014-05-29 07:52:55 -04:00
Shai Berger b8b1fbd4c1 [1.7.x] Set straight the sense of 'uppercases_column_names' feature flag 2014-05-28 21:26:08 +03:00
Shai Berger 5f135e6a0b [1.7.x] 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).

Backport of fd427f1 from master
2014-05-28 19:02:29 +03:00
Andrew Godwin fd62bc165c [1.7.x] Fixed #22432: SQLite M2M repointing now works. Thanks to xelnor.
Backport of 03900a02d5 from master
2014-05-21 07:04:46 -04:00
Andrew Godwin d8c532036a [1.7.x] Fixed #22649: Beefed up quote_value
Backport of 125b3d4407 from master
2014-05-21 07:04:46 -04:00
Loic Bistuer d61b6224b0 [1.7.x] Fixed #22424 -- Fixed handling of default values for TextField/BinaryField on MySQL.
Thanks syphar for the review and suggestions.

Backport of 1d3d01b4f7 from master
2014-05-21 07:04:38 -04:00
Raphaël Barrois 1a29675d76 [1.7.x] 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.

Backport of 6aacb4c991 from master
2014-05-21 06:57:49 -04:00
Shai Berger b7a67b788c [1.7.x] Fixed storing of binary fields and unicode textfields for Oracle/Python3
Backport of 6bb6df2943 from master
2014-05-17 01:16:06 +03:00
Aymeric Augustin c54fb3d922 [1.7.x] Adjusted refactoring of vendor checks.
Thanks Shai for the thorough review.

Backport of fb90b7c from master
2014-05-10 14:55:22 +02:00
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