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
Aymeric Augustin
25ce177e66
Added missing method in the dummy database backend.
2013-03-07 14:53:52 +01:00
Aymeric Augustin
e0449316eb
Fixed #18130 -- Made the isolation level configurable on PostgreSQL.
...
Thanks limscoder for the report and niwi for the draft patch.
2013-03-02 15:05:49 +01:00
Aymeric Augustin
d63e55039d
Reordered methods in database wrappers.
...
* Grouped related methods together -- with banner comments :/
* Described which methods are intended to be implemented in backends.
* Added docstrings.
* Used the same order in all wrappers.
2013-03-02 13:33:17 +01:00
Claude Paroz
c5a25c2771
Add introspection support for BinaryField
2013-03-02 10:29:03 +01:00
Claude Paroz
8ee1eddb7e
Add a BinaryField model field
...
Thanks Michael Jung, Charl Botha and Florian Apolloner for review
and help on the patch.
2013-03-02 10:29:02 +01:00