summaryrefslogtreecommitdiff
path: root/rt/etc/upgrade/4.1.7
diff options
context:
space:
mode:
Diffstat (limited to 'rt/etc/upgrade/4.1.7')
-rw-r--r--rt/etc/upgrade/4.1.7/schema.Oracle5
-rw-r--r--rt/etc/upgrade/4.1.7/schema.Pg5
-rw-r--r--rt/etc/upgrade/4.1.7/schema.SQLite2
-rw-r--r--rt/etc/upgrade/4.1.7/schema.mysql5
4 files changed, 17 insertions, 0 deletions
diff --git a/rt/etc/upgrade/4.1.7/schema.Oracle b/rt/etc/upgrade/4.1.7/schema.Oracle
new file mode 100644
index 0000000..b53dceb
--- /dev/null
+++ b/rt/etc/upgrade/4.1.7/schema.Oracle
@@ -0,0 +1,5 @@
+UPDATE Transactions
+SET TimeTaken
+ = COALESCE(TO_NUMBER(REGEXP_SUBSTR(NewValue, '^-?\d+$')), 0)
+ - COALESCE(TO_NUMBER(OldValue),0)
+WHERE ObjectType = 'RT::Ticket' AND Type = 'Set' AND Field = 'TimeWorked'; \ No newline at end of file
diff --git a/rt/etc/upgrade/4.1.7/schema.Pg b/rt/etc/upgrade/4.1.7/schema.Pg
new file mode 100644
index 0000000..2949e32
--- /dev/null
+++ b/rt/etc/upgrade/4.1.7/schema.Pg
@@ -0,0 +1,5 @@
+UPDATE Transactions
+SET TimeTaken
+ = (CASE WHEN NewValue~E'^-?\\d+$' THEN NewValue::integer ELSE 0 END)
+ - COALESCE(OldValue::integer, 0)
+WHERE ObjectType = 'RT::Ticket' AND Type = 'Set' AND Field = 'TimeWorked'; \ No newline at end of file
diff --git a/rt/etc/upgrade/4.1.7/schema.SQLite b/rt/etc/upgrade/4.1.7/schema.SQLite
new file mode 100644
index 0000000..8d6680d
--- /dev/null
+++ b/rt/etc/upgrade/4.1.7/schema.SQLite
@@ -0,0 +1,2 @@
+UPDATE Transactions SET TimeTaken = NewValue - OldValue
+WHERE ObjectType = 'RT::Ticket' AND Type = 'Set' AND Field = 'TimeWorked'; \ No newline at end of file
diff --git a/rt/etc/upgrade/4.1.7/schema.mysql b/rt/etc/upgrade/4.1.7/schema.mysql
new file mode 100644
index 0000000..95013f3
--- /dev/null
+++ b/rt/etc/upgrade/4.1.7/schema.mysql
@@ -0,0 +1,5 @@
+UPDATE Transactions
+SET TimeTaken
+ = COALESCE(NewValue,0)
+ - COALESCE(OldValue,0)
+WHERE ObjectType = 'RT::Ticket' AND Type = 'Set' AND Field = 'TimeWorked'; \ No newline at end of file