{{{
'TEST_TBLSPACE_DATAFILE': '',
'TEST_TBLSPACE_TMP_DATAFILE': '',
}}}
Without these options, it is impossible to test against RAC, so I'm
classifying it as a bug rather than a new feature.
And the existing code that creates the tablespaces:
{{{
# django/db/backends/oracle/creation.py
def _execute_test_db_creation(self, cursor, parameters, verbosity):
if verbosity >= 2:
print("_create_test_db(): dbname = %s" % parameters['dbname'])
statements = [
"""CREATE TABLESPACE %(tblspace)s
DATAFILE '%(tblspace)s.dbf' SIZE 20M
REUSE AUTOEXTEND ON NEXT 10M MAXSIZE 200M
""",
"""CREATE TEMPORARY TABLESPACE %(tblspace_temp)s
TEMPFILE '%(tblspace_temp)s.dbf' SIZE 20M
REUSE AUTOEXTEND ON NEXT 10M MAXSIZE 100M
""",
]
self._execute_statements(cursor, statements, parameters,
verbosity)
}}}
Since not many people have access to an Oracle RAC installation, I'll
throw together a patch in the near future.
--
Ticket URL: <https://code.djangoproject.com/ticket/21775>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
* cc: shai (added)
* needs_better_patch: => 0
* needs_tests: => 0
* keywords: => oracle
* needs_docs: => 1
* type: Bug => New feature
* stage: Unreviewed => Accepted
Comment:
You should be able to test even against RAC by creating (or even just
using) your own tablespace, and setting `TEST_CREATE = False`. Of course,
it is much better to allow the use of test-only tablespaces and give the
user more control over where they are created; but that is an enhancement.
I have just run into a related problem myself -- the 200M size limit on
the test tablespace does not allow testing the GIS oracle backend; so, I'd
like to "hijack" this ticket into one which allows complete control over
the creation of the test tablespaces.
While at it, I don't like much the current set of Oracle-specific-test-
only parameters in the general database settings dictionary. I'd like to
collect them into a `TESTING` entry, or maybe into the `OPTIONS` entry;
I'll take that to the developers list.
--
Ticket URL: <https://code.djangoproject.com/ticket/21775#comment:1>
* cc: alvaro@… (added)
* owner: nobody => alvaro@…
* status: new => assigned
Comment:
I'd like to try to create a patch for this.[[BR]]
Could you please elaborate more on how to you imagine this patch to look
like?
Thanks!
--
Ticket URL: <https://code.djangoproject.com/ticket/21775#comment:2>
Comment (by smeatonj):
Alvaro, there is a discussion happening at the moment on the django
developers mailing list:
== https://groups.google.com/forum/#!topic/django-developers/2aJuLbMRARU
==
The discussion is currently centred on cleaning up how test database
settings should be structured. It'd be worth reading that, and either
waiting on an outcome, or writing the patch as you think it should work
and submitting for review.
Regards,
--
Ticket URL: <https://code.djangoproject.com/ticket/21775#comment:3>
* easy: 1 => 0
--
Ticket URL: <https://code.djangoproject.com/ticket/21775#comment:4>
Comment (by Shai Berger <shai@…>):
In [changeset:"41afae4ce906838fc87d63962104cfb47991f68b"]:
{{{
#!CommitTicketReference repository=""
revision="41afae4ce906838fc87d63962104cfb47991f68b"
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.
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/21775#comment:5>
Comment (by jarshwah):
https://github.com/django/django/pull/3118
This patch allows specifying the DATAFILE and MAXSIZE of each tablespace
(the primary and the tmp). The default maxsize has been increased from
200M to 500M to better support GIS on Oracle. This default may need to be
increased to correctly support GIS as it was just a guess - Shai to
confirm.
I've also changed the tablespace creation to be test_USER rather than
test_NAME - which should make more sense for an Oracle deployment. NAME
will be "xe" (or some other like-value) for every single django app
running on the same database, which could lead to clobbering if running
two different django applications on the same server. NAME will at least
be linked to the actual django application under test, rather than the
server.
--
Ticket URL: <https://code.djangoproject.com/ticket/21775#comment:6>
* has_patch: 0 => 1
* version: 1.6 => master
--
Ticket URL: <https://code.djangoproject.com/ticket/21775#comment:7>
* status: assigned => closed
* resolution: => fixed
Comment:
In [changeset:"0eb5cde9da3252fbdbbb59ae6e421ca04814ad3c"]:
{{{
#!CommitTicketReference repository=""
revision="0eb5cde9da3252fbdbbb59ae6e421ca04814ad3c"
Fixed #21775 -- Allowed customization of datafile for Oracle tablespace
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/21775#comment:8>
Comment (by Shai Berger <shai@…>):
In [changeset:"991f523753baff73b32859c906649767a2bc8061"]:
{{{
#!CommitTicketReference repository=""
revision="991f523753baff73b32859c906649767a2bc8061"
[1.7.x] Fixed #23969: Made Oracle default test-tablespace larger.
It seems our test suite has grown...
Refs #21775
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/21775#comment:9>