summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMariusz Felisiak <felisiak.mariusz@gmail.com>2017-06-02 18:35:56 +0200
committerGitHub <noreply@github.com>2017-06-02 18:35:56 +0200
commit516b7664dcc7dc5a8f40afde38cc892446ead5b4 (patch)
treef067017aa9f0f1f886e89ffce0db79f66bd48ee6
parent8149bd00d8b8af816a683e5ecc0e204f344616f5 (diff)
Fixed #28260 -- Allowed customizing the test tablespace initial and autoextend size on Oracle.
Thanks Tim Graham for the review.
-rw-r--r--django/db/backends/oracle/creation.py32
-rw-r--r--docs/ref/settings.txt52
-rw-r--r--docs/releases/2.0.txt7
-rw-r--r--docs/spelling_wordlist1
4 files changed, 84 insertions, 8 deletions
diff --git a/django/db/backends/oracle/creation.py b/django/db/backends/oracle/creation.py
index 7669a3c75f..aa8b1f26ee 100644
--- a/django/db/backends/oracle/creation.py
+++ b/django/db/backends/oracle/creation.py
@@ -189,12 +189,12 @@ class DatabaseCreation(BaseDatabaseCreation):
print("_create_test_db(): dbname = %s" % parameters['user'])
statements = [
"""CREATE TABLESPACE %(tblspace)s
- DATAFILE '%(datafile)s' SIZE 20M
- REUSE AUTOEXTEND ON NEXT 10M MAXSIZE %(maxsize)s
+ DATAFILE '%(datafile)s' SIZE %(size)s
+ REUSE AUTOEXTEND ON NEXT %(extsize)s MAXSIZE %(maxsize)s
""",
"""CREATE TEMPORARY TABLESPACE %(tblspace_temp)s
- TEMPFILE '%(datafile_tmp)s' SIZE 20M
- REUSE AUTOEXTEND ON NEXT 10M MAXSIZE %(maxsize_tmp)s
+ TEMPFILE '%(datafile_tmp)s' SIZE %(size_tmp)s
+ REUSE AUTOEXTEND ON NEXT %(extsize_tmp)s MAXSIZE %(maxsize_tmp)s
""",
]
# Ignore "tablespace already exists" error when keepdb is on.
@@ -287,8 +287,12 @@ class DatabaseCreation(BaseDatabaseCreation):
'tblspace_temp': self._test_database_tblspace_tmp(),
'datafile': self._test_database_tblspace_datafile(),
'datafile_tmp': self._test_database_tblspace_tmp_datafile(),
- 'maxsize': self._test_database_tblspace_size(),
- 'maxsize_tmp': self._test_database_tblspace_tmp_size(),
+ 'maxsize': self._test_database_tblspace_maxsize(),
+ 'maxsize_tmp': self._test_database_tblspace_tmp_maxsize(),
+ 'size': self._test_database_tblspace_size(),
+ 'size_tmp': self._test_database_tblspace_tmp_size(),
+ 'extsize': self._test_database_tblspace_extsize(),
+ 'extsize_tmp': self._test_database_tblspace_tmp_extsize(),
}
def _test_settings_get(self, key, default=None, prefixed=None):
@@ -337,12 +341,24 @@ class DatabaseCreation(BaseDatabaseCreation):
tblspace = '%s.dbf' % self._test_database_tblspace_tmp()
return self._test_settings_get('DATAFILE_TMP', default=tblspace)
- def _test_database_tblspace_size(self):
+ def _test_database_tblspace_maxsize(self):
return self._test_settings_get('DATAFILE_MAXSIZE', default='500M')
- def _test_database_tblspace_tmp_size(self):
+ def _test_database_tblspace_tmp_maxsize(self):
return self._test_settings_get('DATAFILE_TMP_MAXSIZE', default='500M')
+ def _test_database_tblspace_size(self):
+ return self._test_settings_get('DATAFILE_SIZE', default='50M')
+
+ def _test_database_tblspace_tmp_size(self):
+ return self._test_settings_get('DATAFILE_TMP_SIZE', default='50M')
+
+ def _test_database_tblspace_extsize(self):
+ return self._test_settings_get('DATAFILE_EXTSIZE', default='25M')
+
+ def _test_database_tblspace_tmp_extsize(self):
+ return self._test_settings_get('DATAFILE_TMP_EXTSIZE', default='25M')
+
def _get_test_db_name(self):
"""
Return the 'production' DB name to get the test DB creation machinery
diff --git a/docs/ref/settings.txt b/docs/ref/settings.txt
index c0d19a59db..70402b1fc4 100644
--- a/docs/ref/settings.txt
+++ b/docs/ref/settings.txt
@@ -911,6 +911,58 @@ This is an Oracle-specific setting.
The maximum size that the DATAFILE_TMP is allowed to grow to.
+.. setting:: DATAFILE_SIZE
+
+``DATAFILE_SIZE``
+^^^^^^^^^^^^^^^^^
+
+.. versionadded:: 2.0
+
+Default: ``'50M'``
+
+This is an Oracle-specific setting.
+
+The initial size of the DATAFILE.
+
+.. setting:: DATAFILE_TMP_SIZE
+
+``DATAFILE_TMP_SIZE``
+^^^^^^^^^^^^^^^^^^^^^
+
+.. versionadded:: 2.0
+
+Default: ``'50M'``
+
+This is an Oracle-specific setting.
+
+The initial size of the DATAFILE_TMP.
+
+.. setting:: DATAFILE_EXTSIZE
+
+``DATAFILE_EXTSIZE``
+^^^^^^^^^^^^^^^^^^^^
+
+.. versionadded:: 2.0
+
+Default: ``'25M'``
+
+This is an Oracle-specific setting.
+
+The amount by which the DATAFILE is extended when more space is required.
+
+.. setting:: DATAFILE_TMP_EXTSIZE
+
+``DATAFILE_TMP_EXTSIZE``
+^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. versionadded:: 2.0
+
+Default: ``'25M'``
+
+This is an Oracle-specific setting.
+
+The amount by which the DATAFILE_TMP is extended when more space is required.
+
.. setting:: DATA_UPLOAD_MAX_MEMORY_SIZE
DATA_UPLOAD_MAX_MEMORY_SIZE
diff --git a/docs/releases/2.0.txt b/docs/releases/2.0.txt
index f7ac265379..d1ea0cef48 100644
--- a/docs/releases/2.0.txt
+++ b/docs/releases/2.0.txt
@@ -248,6 +248,10 @@ Tests
* Added threading support to :class:`~django.test.LiveServerTestCase`.
+* Added settings that allow customizing the test tablespace parameters for
+ Oracle: :setting:`DATAFILE_SIZE`, :setting:`DATAFILE_TMP_SIZE`,
+ :setting:`DATAFILE_EXTSIZE`, and :setting:`DATAFILE_TMP_EXTSIZE`.
+
URLs
~~~~
@@ -394,6 +398,9 @@ Miscellaneous
``PASSWORD_RESET_TIMEOUT_DAYS = 3``, password reset tokens are now valid for
72 hours rather than 96 hours.
+* The default size of the Oracle test tablespace is increased from 20M to 50M
+ and the default autoextend size is increased from 10M to 25M.
+
.. _deprecated-features-2.0:
Features deprecated in 2.0
diff --git a/docs/spelling_wordlist b/docs/spelling_wordlist
index f4bd112e46..afbb16e514 100644
--- a/docs/spelling_wordlist
+++ b/docs/spelling_wordlist
@@ -35,6 +35,7 @@ autodetector
autodiscovery
autoescape
autoescaping
+autoextend
autogenerated
autoincrement
autoreload