[1.8.x] Fixed #27420 -- Quoted the Oracle test user password in queries.

Backport of c4b04e1598 from master
This commit is contained in:
Mariusz Felisiak 2016-11-02 14:44:15 +01:00 committed by Tim Graham
parent 90c61538ba
commit 32f50999cd
4 changed files with 18 additions and 2 deletions

View File

@ -174,7 +174,7 @@ class DatabaseCreation(BaseDatabaseCreation):
print("_create_test_user(): username = %s" % parameters['user'])
statements = [
"""CREATE USER %(user)s
IDENTIFIED BY %(password)s
IDENTIFIED BY "%(password)s"
DEFAULT TABLESPACE %(tblspace)s
TEMPORARY TABLESPACE %(tblspace_temp)s
QUOTA UNLIMITED ON %(tblspace)s
@ -191,7 +191,7 @@ class DatabaseCreation(BaseDatabaseCreation):
success = self._execute_allow_fail_statements(cursor, statements, parameters, verbosity, acceptable_ora_err)
# If the password was randomly generated, change the user accordingly.
if not success and self._test_settings_get('PASSWORD') is None:
set_password = "ALTER USER %(user)s IDENTIFIED BY %(password)s"
set_password = 'ALTER USER %(user)s IDENTIFIED BY "%(password)s"'
self._execute_statements(cursor, [set_password], parameters, verbosity)
# Most test-suites can be run without the create-view privilege. But some need it.
extra = "GRANT CREATE VIEW TO %(user)s"

View File

@ -729,6 +729,7 @@ To run a project's test suite, the user usually needs these *additional*
privileges:
* CREATE USER
* ALTER USER
* DROP USER
* CREATE TABLESPACE
* DROP TABLESPACE

14
docs/releases/1.8.17.txt Normal file
View File

@ -0,0 +1,14 @@
===========================
Django 1.8.17 release notes
===========================
*Under development*
Django 1.8.17 fixes a regression in 1.8.16.
Bugfixes
========
* Quoted the Oracle test user's password in queries to fix the "ORA-00922:
missing or invalid option" error when the password starts with a number or
special character (:ticket:`27420`).

View File

@ -25,6 +25,7 @@ versions of the documentation contain the release notes for any later releases.
.. toctree::
:maxdepth: 1
1.8.17
1.8.16
1.8.15
1.8.14