[Rt-commit] rt branch, 4.2/oracle-upgrade-empty-clob, created. rt-4.2.7-7-gdbe284a
Alex Vandiver
alexmv at bestpractical.com
Mon Sep 15 15:47:01 EDT 2014
The branch, 4.2/oracle-upgrade-empty-clob has been created
at dbe284a7da2128fa1215bf2a076d7431fb5f17dc (commit)
- Log -----------------------------------------------------------------
commit dbe284a7da2128fa1215bf2a076d7431fb5f17dc
Author: Alex Vandiver <alexmv at bestpractical.com>
Date: Mon Sep 15 15:37:54 2014 -0400
Fix the 4.2.7 upgrade to run on Oracle (and copy to 4.2.8)
The "Content" column of the Attributes table is a CLOB column on Oracle;
this makes it impossible to use the '=' operator on it. Instead, check
the length of the contents, which works across databases and column
types.
The upgrade step is copied to 4.2.8, though only enabled on Oracle, to
catch those users who upgraded to 4.2.6 and for whom the upgrade step
errored out. For Oracle users who upgrade from before 4.2.6 up to
4.2.8, the 4.2.8 step will be a no-op.
Fixes I#30391.
diff --git a/etc/upgrade/4.2.7/content b/etc/upgrade/4.2.7/content
index 78a21a4..e94aa33 100644
--- a/etc/upgrade/4.2.7/content
+++ b/etc/upgrade/4.2.7/content
@@ -9,7 +9,7 @@ our @Initial = (
RT->DatabaseHandle->dbh->do(<<EOSQL);
DELETE FROM Attributes
WHERE (Name = 'LinkValueTo' OR Name = 'IncludeContentForValue')
- AND (Content = '' OR Content IS NULL);
+ AND (LENGTH(Content) = 0 OR Content IS NULL);
EOSQL
},
);
diff --git a/etc/upgrade/4.2.8/content b/etc/upgrade/4.2.8/content
new file mode 100644
index 0000000..0b643bd
--- /dev/null
+++ b/etc/upgrade/4.2.8/content
@@ -0,0 +1,16 @@
+use strict;
+use warnings;
+
+our @Initial = (
+ sub {
+ # This upgrade step is identical to the 4.2.7 upgrade, but only
+ # runs on Oracle because 4.2.7 was originally released with
+ # flawed SQL which did not run on Oracle.
+ return unless RT->Config->Get('DatabaseType') eq 'Oracle';
+ RT->DatabaseHandle->dbh->do(<<EOSQL);
+ DELETE FROM Attributes
+ WHERE (Name = 'LinkValueTo' OR Name = 'IncludeContentForValue')
+ AND (LENGTH(Content) = 0 OR Content IS NULL);
+EOSQL
+ },
+);
-----------------------------------------------------------------------
More information about the rt-commit
mailing list