summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Bugzilla/DB/Oracle.pm2
-rw-r--r--Bugzilla/Install/DB.pm4
2 files changed, 4 insertions, 2 deletions
diff --git a/Bugzilla/DB/Oracle.pm b/Bugzilla/DB/Oracle.pm
index 341818a5c..cddb23da1 100644
--- a/Bugzilla/DB/Oracle.pm
+++ b/Bugzilla/DB/Oracle.pm
@@ -489,6 +489,8 @@ sub bz_setup_database {
# have that function, So we have to create one ourself.
$self->do("CREATE OR REPLACE FUNCTION NOW "
. " RETURN DATE IS BEGIN RETURN SYSDATE; END;");
+ $self->do("CREATE OR REPLACE FUNCTION CHAR_LENGTH(COLUMN_NAME VARCHAR2)"
+ . " RETURN NUMBER IS BEGIN RETURN LENGTH(COLUMN_NAME); END;");
# Create a WORLD_LEXER named BZ_LEX for multilingual fulltext search
my $lexer = $self->selectcol_arrayref(
"SELECT pre_name FROM CTXSYS.CTX_PREFERENCES WHERE pre_name = ? AND
diff --git a/Bugzilla/Install/DB.pm b/Bugzilla/Install/DB.pm
index 561dc0850..218ea093f 100644
--- a/Bugzilla/Install/DB.pm
+++ b/Bugzilla/Install/DB.pm
@@ -2623,7 +2623,7 @@ sub _change_short_desc_from_mediumtext_to_varchar {
# and then truncate the summary.
my $long_summary_bugs = $dbh->selectall_arrayref(
'SELECT bug_id, short_desc, reporter
- FROM bugs WHERE LENGTH(short_desc) > 255');
+ FROM bugs WHERE CHAR_LENGTH(short_desc) > 255');
if (@$long_summary_bugs) {
print <<EOT;
@@ -2979,7 +2979,7 @@ sub _check_content_length {
my $dbh = Bugzilla->dbh;
my %contents = @{ $dbh->selectcol_arrayref(
"SELECT $id_field, $field_name FROM $table_name
- WHERE LENGTH($field_name) > ?", {Columns=>[1,2]}, $max_length) };
+ WHERE CHAR_LENGTH($field_name) > ?", {Columns=>[1,2]}, $max_length) };
if (scalar keys %contents) {
print install_string('install_data_too_long',