summaryrefslogtreecommitdiffstats
path: root/Bugzilla/DB
diff options
context:
space:
mode:
authorFrédéric Buclin <LpSolit@gmail.com>2013-04-18 01:23:30 +0200
committerFrédéric Buclin <LpSolit@gmail.com>2013-04-18 01:23:30 +0200
commit361b33c90e91c9368d1ad3841c14786c4a952d1a (patch)
tree89cc16c27c34735ba4bf58f0768c218c376df19c /Bugzilla/DB
parentcd2776192dbaf1d21353f400eaf42d01e66b33f4 (diff)
downloadbugzilla-361b33c90e91c9368d1ad3841c14786c4a952d1a.tar.gz
bugzilla-361b33c90e91c9368d1ad3841c14786c4a952d1a.tar.xz
Bug 858911: Oracle fails with "ORA-04043: object T_GROUP_CONCAT does not exist" when installing Bugzilla for the first time
r=dkl a=LpSolit
Diffstat (limited to 'Bugzilla/DB')
-rw-r--r--Bugzilla/DB/Oracle.pm4
1 files changed, 3 insertions, 1 deletions
diff --git a/Bugzilla/DB/Oracle.pm b/Bugzilla/DB/Oracle.pm
index a4276ab7a..e9ee44f5e 100644
--- a/Bugzilla/DB/Oracle.pm
+++ b/Bugzilla/DB/Oracle.pm
@@ -531,7 +531,9 @@ sub bz_setup_database {
. " RETURN NUMBER IS BEGIN RETURN LENGTH(COLUMN_NAME); END;");
# Create types for group_concat
- $self->do("DROP TYPE T_GROUP_CONCAT");
+ my $type_exists = $self->selectrow_array("SELECT 1 FROM user_types
+ WHERE type_name = 'T_GROUP_CONCAT'");
+ $self->do("DROP TYPE T_GROUP_CONCAT") if $type_exists;
$self->do("CREATE OR REPLACE TYPE T_CLOB_DELIM AS OBJECT "
. "( p_CONTENT CLOB, p_DELIMITER VARCHAR2(256)"
. ", MAP MEMBER FUNCTION T_CLOB_DELIM_ToVarchar return VARCHAR2"