]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 559539: [Oracle] whine.pl sets run_next incorrectly due to CURRENT_DATE
authorDavid Taylor <davidt@yadt.co.uk>
Sun, 26 Aug 2012 01:22:01 +0000 (03:22 +0200)
committerFrédéric Buclin <LpSolit@gmail.com>
Sun, 26 Aug 2012 01:22:01 +0000 (03:22 +0200)
r/a=LpSolit

Bugzilla/DB/Oracle.pm

index 2cbd19a82ccb0ff5aef8da348c3f82446d61b855..83dc3a29aab7ce687b576a1de7eaf7877e4750e2 100644 (file)
@@ -310,8 +310,9 @@ sub adjust_statement {
     my $has_from =  ($part =~ m/\bFROM\b/io) if $is_select;
 
     # Oracle recognizes CURRENT_DATE, but not CURRENT_DATE()
-    $part =~ s/\bCURRENT_DATE\b\(\)/CURRENT_DATE/io;
-    
+    # and its CURRENT_DATE is a date+time, so wrap in TRUNC()
+    $part =~ s/\bCURRENT_DATE\b(?:\(\))?/TRUNC(CURRENT_DATE)/io;
+
     # Oracle use SUBSTR instead of SUBSTRING
     $part =~ s/\bSUBSTRING\b/SUBSTR/io;
    
@@ -341,7 +342,8 @@ sub adjust_statement {
                     if ($is_select and !$has_from);
 
         # Oracle recognizes CURRENT_DATE, but not CURRENT_DATE()
-        $nonstring =~ s/\bCURRENT_DATE\b\(\)/CURRENT_DATE/io;
+        # and its CURRENT_DATE is a date+time, so wrap in TRUNC()
+        $nonstring =~ s/\bCURRENT_DATE\b(?:\(\))?/TRUNC(CURRENT_DATE)/io;
 
         # Oracle use SUBSTR instead of SUBSTRING
         $nonstring =~ s/\bSUBSTRING\b/SUBSTR/io;