]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 450379: Searching SQL for candidates to truncate short_desc (> 255 chars) should...
authorlpsolit%gmail.com <>
Wed, 27 Aug 2008 20:19:58 +0000 (20:19 +0000)
committerlpsolit%gmail.com <>
Wed, 27 Aug 2008 20:19:58 +0000 (20:19 +0000)
Bugzilla/DB/Oracle.pm
Bugzilla/Install/DB.pm

index 341818a5c5e3da2f3753627e28c0567f38a802d2..cddb23da1acfd2b23c89cdb02e4ea668290de352 100644 (file)
@@ -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
index 561dc0850390626f9b44141d97955c4fa5a0a6ae..218ea093fadf1f255f29af47b31e5ba8725c1cf3 100644 (file)
@@ -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',