Commit graph

253 commits

Author SHA1 Message Date
Sergey Fedoseev
b1a2ad6925 Removed uneeded iter() calls with generator expression as argument. 2019-02-09 09:18:22 -05:00
Tim Graham
7444f32527
Refs #30055 -- Added a helpful error when SQLite is too old. 2019-01-28 11:14:45 -05:00
Mariusz Felisiak
f05c02c4b8
Fixed #30117 -- Fixed SchemaEditor.quote_value() test for mysqlclient 1.4.0+. 2019-01-19 13:31:15 +01:00
Simon Charette
b181aba7dd Refs #28478 -- Prevented database feature based skipping on tests disallowing queries.
Database features may require a connection to be established to determine
whether or not they are enabled.
2019-01-14 16:16:30 -05:00
Simon Charette
bc05547cd8 Fixed #28658 -- Added DISTINCT handling to the Aggregate class. 2019-01-09 17:52:36 -05:00
Nick Pope
83677faf86 Fixed #30056 -- Added SQLite support for StdDev and Variance functions. 2018-12-24 11:14:58 -05:00
Nick Pope
7534e43497 Refs #14204 -- Removed obsolete referential integrity comment for SQLite. 2018-12-22 18:44:21 -05:00
Simon Charette
25a0781a16 Refs #29182 -- Corrected SQLite's supports_atomic_references_rename feature flag. 2018-12-22 14:58:08 -05:00
Simon Charette
20f6f9eaa1 Renamed SQLite3 references to to SQLite.
The version suffix isn't part of the product name.
2018-12-22 14:20:43 -05:00
Simon Charette
894cb13779 Refs #29182 -- Stopped relying on legacy alter table semantic on SQLite 3.26+.
SQLite 3.26 changed the behavior of table and column renaming operations to
repoint foreign key references even if foreign key checks are disabled.

This makes the workarounds in place to simulate this behavior unnecessary on
SQLite 3.26+. Refs #30033.
2018-12-17 10:44:05 +01:00
Simon Charette
315357ad25 Fixed #30023 -- Prevented SQLite schema alterations while foreign key checks are enabled.
Prior to this change foreign key constraint references could be left pointing
at tables dropped during operations simulating unsupported table alterations
because of an unexpected failure to disable foreign key constraint checks.

SQLite3 does not allow disabling such checks while in a transaction so they
must be disabled beforehand.

Thanks ezaquarii for the report and Carlton and Tim for the review.
2018-12-15 18:51:59 -05:00
Tim Graham
734ce71824 Refs #30013 -- Fixed SchemaEditor.quote_value() test for mysqlclient 1.3.14+. 2018-12-05 14:46:31 -05:00
Tim Graham
193c109327 Switched TestCase to SimpleTestCase where possible in Django's tests. 2018-11-27 08:58:44 -05:00
Mariusz Felisiak
d5f4ce9849
Fixed #29949 -- Refactored db introspection identifier converters.
Removed DatabaseIntrospection.table_name_converter()/column_name_converter()
and use instead DatabaseIntrospection.identifier_converter().

Removed DatabaseFeatures.uppercases_column_names.

Thanks Tim Graham for the initial patch and review and Simon Charette
for the review.
2018-11-21 09:06:50 +01:00
Tim Graham
9cac10eee4 Added BaseDatabaseSchemaEditor._effective_default() to allow testing without a connection. 2018-11-17 19:27:53 -05:00
Tim Graham
e62f6e0968 Fixed #29505 -- Removed SchemaEditor's calling of callable defaults.
Thanks Eugene Pakhomov for the suggested fix.
2018-11-17 19:27:53 -05:00
Mariusz Felisiak
ff8020ed49 Fixed #29788 -- Added support for Oracle Managed File (OMF) tablespaces. 2018-11-13 18:22:41 -05:00
Sergey Fedoseev
9a88c6dd6a Fixed #29827 -- Fixed reuse of test databases with --keepdb on MySQL.
Regression in e1253bc26f.
2018-10-25 19:37:41 -04:00
Jon Dufresne
7598cd4748 Fixed #29813 -- Fixed DatabaseOperation test when run in isolation on MySQL. 2018-10-02 08:22:38 -04:00
Srinivas Reddy Thatiparthy
34d6bceec4 Fixed #29500 -- Fixed SQLite function crashes on null values.
Co-authored-by: Srinivas Reddy Thatiparthy <thatiparthysreenivas@gmail.com>
Co-authored-by: Nick Pope <nick.pope@flightdataservices.com>
2018-09-10 15:08:55 -04:00
Jon Dufresne
bf17f5e884 Refs #29015 -- Added database name to PostgreSQL database name too long exception. 2018-08-17 12:43:56 -04:00
Mariusz Felisiak
1a9cbf41a1
Fixed #29613 -- Fixed --keepdb on PostgreSQL if the database exists and the user can't create databases.
Regression in e776dd2db6.

Thanks Tim Graham for the review.
2018-08-03 10:31:55 +02:00
Tom Forbes
45c035c823 Refs #29548 -- Fixed non-GIS test failures on MariaDB. 2018-07-09 14:59:42 -04:00
bakabiko
a7bc1aea03 Fixed #29380 -- Added support for QuerySet.select_for_update()'s nowait and skip_locked options on MySQL 8+. 2018-05-18 19:37:36 -04:00
Morgan Aubert
704443acac Fixed #29363 -- Added SimpleTestCase.assertWarnsMessage(). 2018-05-09 11:40:28 -04:00
Zackary Troop
30f8642f2e Fixed #29350 -- Fix get_primary_key_column() method in sqlite3 backend
Thanks Tim Graham and Mariusz Felisiak for the reviews.
2018-04-28 12:01:45 +02:00
priyanshsaxena
6b3d292043 Fixed #29015 -- Added an exception if the PostgreSQL database name is too long. 2018-04-27 21:37:42 -04:00
Mariusz Felisiak
816b386d41
Refs #24791 -- Made PostgreSQL's nodb connection use first PostgresSQL db when 'postgres' db isn't available.
Thanks Tim Graham and Claude Paroz for reviews.
2018-04-03 22:21:47 +02:00
Tim Graham
5fa4f40f45 Fixed #29227 -- Allowed BooleanField to be null=True.
Thanks Lynn Cyrin for contributing to the patch, and Nick Pope for review.
2018-03-20 12:10:10 -04:00
Claude Paroz
3c4ff21763 Fixed #29103 -- Removed bad 'b'-prefix added by MySQL's SchemaEditor.quote_value(). 2018-03-17 16:36:54 -04:00
Claude Paroz
aa0ee372cd Added tests for MySQL's SchemaEditor.quote_value(). 2018-03-17 16:36:50 -04:00
Mariusz Felisiak
acfc650f2a
Fixed #29199 -- Fixed crash when database user password contains @ sign on Oracle.
Thanks Shane Allgeier for the report and Tim Graham for the review.
2018-03-13 19:06:40 +01:00
Matthew Wilkes
2162f0983d Fixed #24747 -- Allowed transforms in QuerySet.order_by() and distinct(*fields). 2018-02-10 19:08:55 -05:00
Mariusz Felisiak
950171d7b2 Refs #11487 -- Removed redundant test_long_string() test.
Redundant with model_regress.tests.ModelTests.test_long_textfield
since 3ede430b9a.
2018-01-23 08:53:45 -05:00
Mariusz Felisiak
8f8a93a9ae
Fixed #28859 -- Made Oracle backend raise DatabaseError if "no data found" exception is hidden by the Oracle OCI library.
Thanks Tim Graham for the review and Jani Tiainen for the report.
2018-01-06 18:50:54 +01:00
Tim Graham
a862af3839
Fixed #28893 -- Removed unnecessary dict.items() calls. 2017-12-06 17:17:59 -05:00
Simon Charette
095c1aaa89 Fixed #28849 -- Fixed referenced table and column rename on SQLite.
Thanks Ramiro for the input and Tim for the review.
2017-12-01 22:12:24 -05:00
Mads Jensen
f0a68c2511 Fixed #28702 -- Made query lookups for CIText fields use citext. 2017-11-29 10:35:37 -05:00
Jon Dufresne
7a6fbf36b1 Fixed #28853 -- Updated connection.cursor() uses to use a context manager. 2017-11-28 11:28:09 -05:00
Dražen Odobašić
d97f026a7a Fixed #28817 -- Made QuerySet.iterator() use server-side cursors after values() and values_list(). 2017-11-21 10:33:56 -05:00
Tim Graham
6cb6382639 Added assertion helpers for PostgreSQL's server-side cursor tests. 2017-11-21 08:21:09 -05:00
Tim Graham
e3c852cbd6
Fixed #28804 -- Fixed "Unknown system variable 'transaction_isolation'" on MariaDB.
Regression in 967450a3bf.
2017-11-20 10:08:34 -05:00
Simon Charette
ee85ef8315 Fixed #28792 -- Fixed index name truncation of namespaced tables.
Refs #27458, #27843.

Thanks Tim and Mariusz for the review.
2017-11-14 21:36:25 -05:00
Sergey Fedoseev
967450a3bf Fixed #28794 -- Fixed tx_isolation deprecation warning on MySQL 5.7.20+. 2017-11-14 15:40:44 -05:00
Simon Charette
9d93dff333 Fixed #28665 -- Change some database exceptions to NotImplementedError per PEP 249. 2017-10-06 12:47:08 -04:00
Mariusz Felisiak
1b823b8f18 Fixed #28596 -- Fixed QuerySet.bulk_create() and cascade deletion crash on Oracle when using more than 65535 parameters.
Thanks Tim Graham for the review.
2017-10-05 18:52:37 +02:00
Tim Graham
d0c761d3f8 Refs #28584 -- Removed unused DatabaseFeatures.can_share_in_memory_db. 2017-10-03 20:17:12 -04:00
Mads Jensen
41406bf98e Increased test coverage for db/backends/base/operations.py. 2017-09-30 19:48:55 -04:00
Shai Berger
d612026c37 Refs #28595 -- Added a hook to add execute wrappers for database queries.
Thanks Adam Johnson, Carl Meyer, Anssi Kääriäinen, Mariusz Felisiak,
Michael Manfre, and Tim Graham for discussion and review.
2017-09-21 12:13:09 -04:00
Mads Jensen
d549b88050 Fixed #26608 -- Added support for window expressions (OVER clause).
Thanks Josh Smeaton, Mariusz Felisiak, Sergey Fedoseev, Simon Charettes,
Adam Chainz/Johnson and Tim Graham for comments and reviews and Jamie
Cockburn for initial patch.
2017-09-18 09:42:29 -04:00
Mariusz Felisiak
c6a1faecc3 Refs #27090 -- Added real database sequence introspection.
Thanks Mariusz Felisiak for the Oracle part and Tim Graham for the
review.
2017-09-13 20:12:32 +02:00
Tim Graham
6e4c6281db Reverted "Fixed #27818 -- Replaced try/except/pass with contextlib.suppress()."
This reverts commit 550cb3a365
because try/except performs better.
2017-09-07 08:16:21 -04:00
Mariusz Felisiak
3ba4de59a2 Added tests for BooleanField/NullBooleanField's check constraints on Oracle. 2017-09-05 09:02:56 +02:00
Kevin Grinberg
c6a3546093 Fixed #28451 -- Restored pre-Django 1.11 Oracle sequence/trigger naming.
Regression in 69b7d4b116.
2017-08-22 15:51:08 -04:00
Mariusz Felisiak
489421b015 Fixed #23546 -- Added kwargs support for CursorWrapper.callproc() on Oracle.
Thanks Shai Berger, Tim Graham and Aymeric Augustin for reviews and
Renbi Yu for the initial patch.
2017-08-12 21:06:49 +02:00
Mariusz Felisiak
3189a93ceb Refs #23766 -- Added tests for CursorWrapper.callproc().
Thanks Tim Graham for the review.
2017-08-08 22:13:02 +02:00
Mads Jensen
550cb3a365 Fixed #27818 -- Replaced try/except/pass with contextlib.suppress(). 2017-06-28 14:07:55 -04:00
Mariusz Felisiak
081e787160 Refs #23919 -- Stopped inheriting from object to define new style classes.
Tests and docs complement to cecc079168.
2017-06-26 10:30:31 -04:00
Mariusz Felisiak
8cb1b1fd8e Reorganized backends tests. 2017-06-21 12:00:47 -04:00
Simon Charette
b50815ee41 Refs #25530 -- Renamed deferred SQL references on rename operation. 2017-06-21 00:26:30 -04:00
Simon Charette
3b429c9673 Refs #25530 -- Tracked references of deferred SQL statements. 2017-06-21 00:03:31 -04:00
chillaranand
08bda82c23 Fixed #27830 -- Used distutils.version.LooseVersion for version parsing. 2017-06-13 10:53:39 -04:00
Jon Dufresne
2c69824e5a Refs #23968 -- Removed unnecessary lists, generators, and tuple calls. 2017-06-01 19:08:59 -04:00
Tim Graham
cde31daf88 Sorted imports per isort 4.2.9. 2017-06-01 13:23:48 -04:00
Jon Dufresne
21046e7773 Fixed #28249 -- Removed unnecessary dict.keys() calls.
iter(dict) is equivalent to iter(dict.keys()).
2017-05-27 19:08:46 -04:00
Mariusz Felisiak
b3eb6eaf1a Refs #27859 -- Added DatabaseWrapper.display_name.
Thanks Tim Graham for the review.
2017-05-23 09:09:35 -04:00
François Freitag
88336fdbb5 Fixed #28062 -- Added a setting to disable server-side cursors on PostgreSQL.
When a connection pooler is set up in transaction pooling mode, queries
relying on server-side cursors fail. The DISABLE_SERVER_SIDE_CURSORS
setting in DATABASES disables server-side cursors for this use case.
2017-05-06 06:59:04 -04:00
Mariusz Felisiak
562bca67b9 Added test for reraising backend-specific database exceptions. 2017-04-25 08:03:48 +02:00
Mariusz Felisiak
e776dd2db6 Fixed #28116 -- Used error code filtering in PostgreSQL test database creation.
Thanks Claude Paroz and Tim Graham for reviews.
2017-04-25 06:01:25 +02:00
Mariusz Felisiak
e1253bc26f Refs #25406 -- Removed exception hiding in MySQL test database creation during --keepdb.
Thanks Adam Johnson, Simon Charette and Tim Graham for reviews.
2017-04-13 20:20:01 +02:00
Mariusz Felisiak
64264c9a19 Fixed #25406 -- Removed exception hiding in PostgreSQL test database creation during --keepdb.
Thanks Markus Holtermann and Tim Graham for reviews.
2017-04-10 13:04:00 -04:00
Tim Graham
29ea9714ee Removed PostgreSQL version detection for psycopg2 < 2.0.12. 2017-03-01 13:17:34 -05:00
Tim Graham
49a63d08d3 Fixed a backends test with psycopg2 2.7. 2017-03-01 13:14:35 -05:00
Mariusz Felisiak
b935190572 Fixed #27843 -- Fixed truncate_name() when the name contains a username. 2017-02-17 09:24:55 -05:00
Mariusz Felisiak
1f7ca85866 Added tests for db.backends.utils.truncate_name(). 2017-02-16 17:14:02 -05:00
Mariusz Felisiak
965f678a39 Fixed #25898 -- Made test database/user creation on Oracle reraise unexpected errors.
Thanks Shai Berger and Tim Graham for review.
2017-02-09 17:55:07 -05:00
Tim Graham
924af638e4 Fixed #27683 -- Made MySQL default to the read committed isolation level.
Thanks Shai Berger for test help and Adam Johnson for review.
2017-02-01 15:34:17 -05:00
Tim Graham
c4e18bb1ce Refs #27683 -- Split up MySQL isolation level tests. 2017-02-01 13:12:59 -05:00
Vytis Banaitis
d1bab24e01 Refs #23919, #27778 -- Removed obsolete mentions of unicode. 2017-01-26 08:19:27 -05:00
Tim Graham
a87d6b69a7 Tidied djang.db.utils.load_backend().
Removed an unneeded EnvironmentError catching and used
"raise from exc" syntax.
2017-01-24 08:33:26 -05:00
Tim Graham
7aba69145d Refs #23919 -- Removed django.test.mock Python 2 compatibility shim. 2017-01-20 08:17:20 -05:00
Simon Charette
cecc079168 Refs #23919 -- Stopped inheriting from object to define new style classes. 2017-01-19 08:39:46 +01:00
Claude Paroz
2b281cc35e Refs #23919 -- Removed most of remaining six usage
Thanks Tim Graham for the review.
2017-01-18 21:33:28 +01:00
Claude Paroz
7b2f2e74ad Refs #23919 -- Removed six.<various>_types usage
Thanks Tim Graham and Simon Charette for the reviews.
2017-01-18 20:18:46 +01:00
Claude Paroz
c716fe8782 Refs #23919 -- Removed six.PY2/PY3 usage
Thanks Tim Graham for the review.
2017-01-18 16:21:28 +01:00
Claude Paroz
f3c43ad1fd Refs #23919 -- Removed python_2_unicode_compatible decorator usage 2017-01-18 13:44:34 +01:00
Claude Paroz
d7b9aaa366 Refs #23919 -- Removed encoding preambles and future imports 2017-01-18 09:55:19 +01:00
Tim Graham
f01ad1cb6a Refs #27683 -- Allowed setting isolation level in DATABASES ['OPTIONS'] on MySQL. 2017-01-17 11:16:15 -05:00
François Freitag
f3b7c05936 Refs #16614 -- Made QuerySet.iterator() use server-side cursors on PostgreSQL.
Thanks to Josh Smeaton for the idea of implementing server-side cursors
in PostgreSQL from the iterator method, and Anssi Kääriäinen and Kevin
Turner for their previous work. Also Simon Charette and Tim Graham for
review.
2017-01-11 09:25:37 -05:00
Tim Graham
fae56427e1 Fixed #27649 -- Bumped required cx_Oracle to 5.2.
Removed obsolete workarounds from 1aa4889808
and dcf3be7a62.
2016-12-29 12:45:25 -05:00
Tim Graham
e744c7e459 Imported specific models in a few tests that didn't. 2016-12-08 11:14:15 -05:00
Tim Graham
b5f0b3478d Fixed #27579 -- Added aliases for Python 3's assertion names in SimpleTestCase. 2016-12-07 17:42:31 -05:00
za
321e94fa41 Refs #27392 -- Removed "Tests that", "Ensures that", etc. from test docstrings. 2016-11-10 21:30:21 -05:00
Mariusz Felisiak
6e4e0f4ce4 Fixed #26541 -- Allowed MySQL transaction detection to work without table creation. 2016-10-01 10:01:44 -04:00
Chris Jerdonek
7ca3b391b6 Fixed #27170 -- Added DatabaseWrapper class attributes to ease subclassing. 2016-09-08 16:33:36 -04:00
Chris Jerdonek
a3db480393 Fixed #27061 -- Added a TEST['TEMPLATE'] setting for PostgreSQL. 2016-08-23 15:08:20 -04:00
Simon Charette
9fed4ec418 Removed an obsolete comment about a fixed ticket. 2016-05-21 15:42:38 -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
Tim Graham
92053acbb9 Fixed E128 flake8 warnings in tests/. 2016-04-08 10:12:33 -04: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