From: lpsolit%gmail.com <> Date: Wed, 27 Aug 2008 20:22:09 +0000 (+0000) Subject: Bug 450379: Searching SQL for candidates to truncate short_desc (> 255 chars) should... X-Git-Tag: bugzilla-3.2rc2~78 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=500a3552fb7169c3e69502968d61e8a7d570e4db;p=thirdparty%2Fbugzilla.git Bug 450379: Searching SQL for candidates to truncate short_desc (> 255 chars) should use CHAR_LENGTH - Patch by A.A. Shimono (himorin) and Xiaoou r/a=mkanat --- diff --git a/Bugzilla/DB/Oracle.pm b/Bugzilla/DB/Oracle.pm index 417b97b31e..b785b08d7d 100644 --- a/Bugzilla/DB/Oracle.pm +++ b/Bugzilla/DB/Oracle.pm @@ -466,6 +466,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 a273dee36a..270b0e8041 100644 --- a/Bugzilla/Install/DB.pm +++ b/Bugzilla/Install/DB.pm @@ -2616,7 +2616,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 <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',