Repository: incubator-trafodion
Updated Branches:
  refs/heads/master ea6a93355 -> 2980764ae


[TRAFODION-1676] rework, fix executor regression test022 failures


Project: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/commit/758bc382
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/tree/758bc382
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/diff/758bc382

Branch: refs/heads/master
Commit: 758bc3828fadcb01633b3ac84d36ba9ead2599bf
Parents: 5d06605
Author: Liu Ming <[email protected]>
Authored: Thu Sep 1 14:35:49 2016 +0000
Committer: Liu Ming <[email protected]>
Committed: Thu Sep 1 14:35:49 2016 +0000

----------------------------------------------------------------------
 core/sql/exp/exp_datetime.cpp            | 197 ++++++--------------------
 core/sql/optimizer/BindRelExpr.cpp       |   6 +-
 core/sql/regress/executor/EXPECTED022.SB |   8 +-
 3 files changed, 52 insertions(+), 159 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/758bc382/core/sql/exp/exp_datetime.cpp
----------------------------------------------------------------------
diff --git a/core/sql/exp/exp_datetime.cpp b/core/sql/exp/exp_datetime.cpp
index 1df4ca7..2f7ce07 100644
--- a/core/sql/exp/exp_datetime.cpp
+++ b/core/sql/exp/exp_datetime.cpp
@@ -92,6 +92,30 @@ copyDatetimeFields(rec_datetime_field startField,
                    Lng32 dstLen,
                    NABoolean *roundedDownFlag);
 
+// Helper function to format extra error message text and report error
+// srcData is not null terminated, so need a buffer copy to build a C-style 
string
+// 
+static void 
+raiseDateConvErrorWithSrcData(int srcLen, ComDiagsArea** diagsArea, char 
*srcData, CollHeap *heap)
+{
+    char errstr[MAX_OFFENDING_SOURCE_DATA_DISPLAY_LEN];
+    memset(errstr, 0 , sizeof(errstr) );
+    if(srcLen > MAX_OFFENDING_SOURCE_DATA_DISPLAY_LEN -1 )
+      srcLen = MAX_OFFENDING_SOURCE_DATA_DISPLAY_LEN -1;
+    strncpy(errstr, srcData, srcLen);
+    ExRaiseSqlError(heap, diagsArea, 
EXE_CONVERT_DATETIME_ERROR,NULL,NULL,NULL,NULL,errstr);
+}
+
+// Helper function to format extra error message text and report error
+// 
+static void 
+raiseDateConvErrorWithSrcDataNumeric(ComDiagsArea** diagsArea, long srcData, 
CollHeap *heap)
+{
+   char errstr[MAX_OFFENDING_SOURCE_DATA_DISPLAY_LEN];
+   memset(errstr, 0 , sizeof(errstr) );
+   sprintf(errstr,"%ld",srcData);
+   ExRaiseSqlError(heap, diagsArea, 
EXE_CONVERT_DATETIME_ERROR,NULL,NULL,NULL,NULL,errstr);
+}
 //////////////////////////////////////////////
 // Defined in exp_datetime.h
 //
@@ -2023,13 +2047,7 @@ ExpDatetime::convAsciiToDatetime(char *srcData,
   // If the format could not be determined, issue an error.
   //
   if (format == DATETIME_FORMAT_ERROR) {
-    char hexstr[MAX_OFFENDING_SOURCE_DATA_DISPLAY_LEN];
-    memset(hexstr, 0 , sizeof(hexstr) );
-    int copyLen = strlen(originalSrcData);
-    if(copyLen > sizeof(hexstr) -1 )
-      copyLen = sizeof(hexstr) -1;
-    strncpy(hexstr,originalSrcData,copyLen);
-    ExRaiseSqlError(heap, diagsArea, 
EXE_CONVERT_DATETIME_ERROR,NULL,NULL,NULL,NULL,hexstr);
+    raiseDateConvErrorWithSrcData(originalSrcLen,diagsArea, originalSrcData, 
heap);
     return -1;
   }
 
@@ -2065,13 +2083,7 @@ ExpDatetime::convAsciiToDatetime(char *srcData,
   // if timezone is specified and end field is not DAY, return error.
   if ((defZ || TZD) && (dstEndField == REC_DATE_DAY))
     {
-      char hexstr[MAX_OFFENDING_SOURCE_DATA_DISPLAY_LEN];
-      memset(hexstr, 0 , sizeof(hexstr) );
-      int copyLen = strlen(originalSrcData);
-      if(copyLen > sizeof(hexstr) -1 )
-        copyLen = sizeof(hexstr) -1;
-      strncpy(hexstr,originalSrcData,copyLen);
-      ExRaiseSqlError(heap, diagsArea, 
EXE_CONVERT_DATETIME_ERROR,NULL,NULL,NULL,NULL,hexstr);
+      raiseDateConvErrorWithSrcData(originalSrcLen,diagsArea, originalSrcData, 
heap);
       return -1;
     }
 
@@ -2167,15 +2179,7 @@ ExpDatetime::convAsciiToDatetime(char *srcData,
                      heap,
                      diagsArea,
                     flags)) {
-        ExRaiseSqlError(heap, diagsArea, EXE_CONVERT_DATETIME_ERROR);
-        char hexstr[MAX_OFFENDING_SOURCE_DATA_DISPLAY_LEN];
-        memset(hexstr, 0 , sizeof(hexstr) );
-        int copyLen = strlen(originalSrcData);
-        if(copyLen > sizeof(hexstr) -1 )
-          copyLen = sizeof(hexstr) -1;
-        strncpy(hexstr,originalSrcData,copyLen);
-        if(*diagsArea != NULL)
-          **diagsArea << DgString0(hexstr); 
+        raiseDateConvErrorWithSrcData(originalSrcLen,diagsArea, 
originalSrcData, heap);
         return -1;
       }
     }
@@ -2183,13 +2187,7 @@ ExpDatetime::convAsciiToDatetime(char *srcData,
 
   // If there are any remaining characters in the input string.
   if (src != srcEnd) {
-      char hexstr[MAX_OFFENDING_SOURCE_DATA_DISPLAY_LEN];
-      memset(hexstr, 0 , sizeof(hexstr) );
-      int copyLen = strlen(originalSrcData);
-      if(copyLen > sizeof(hexstr) -1 )
-          copyLen = sizeof(hexstr) -1;
-      strncpy(hexstr,originalSrcData,copyLen);
-      ExRaiseSqlError(heap, diagsArea, 
EXE_CONVERT_DATETIME_ERROR,NULL,NULL,NULL,NULL,hexstr);
+      raiseDateConvErrorWithSrcData(originalSrcLen,diagsArea, originalSrcData, 
heap);
       return -1;
   }
 
@@ -2200,13 +2198,7 @@ ExpDatetime::convAsciiToDatetime(char *srcData,
       containsField(REC_DATE_HOUR, dstStartField, dstEndField) &&
       usaAmPm) {
     if (datetimeValues[REC_DATE_HOUR] > 12) {
-      char hexstr[MAX_OFFENDING_SOURCE_DATA_DISPLAY_LEN];
-      memset(hexstr, 0 , sizeof(hexstr) );
-      int copyLen = strlen(originalSrcData);
-      if(copyLen > sizeof(hexstr) -1 )
-          copyLen = sizeof(hexstr) -1;
-      strncpy(hexstr,originalSrcData,copyLen);
-      ExRaiseSqlError(heap, diagsArea, 
EXE_CONVERT_DATETIME_ERROR,NULL,NULL,NULL,NULL,hexstr);
+      raiseDateConvErrorWithSrcData(originalSrcLen,diagsArea, originalSrcData, 
heap);
       return -1;
     }
 
@@ -2226,13 +2218,7 @@ ExpDatetime::convAsciiToDatetime(char *srcData,
       }
     }
   } else if (usaAmPm) {
-    char hexstr[MAX_OFFENDING_SOURCE_DATA_DISPLAY_LEN];
-    memset(hexstr, 0 , sizeof(hexstr) );
-    int copyLen = strlen(originalSrcData);
-    if(copyLen > sizeof(hexstr) -1 )
-          copyLen = sizeof(hexstr) -1;
-    strncpy(hexstr,originalSrcData,copyLen);
-    ExRaiseSqlError(heap, diagsArea, 
EXE_CONVERT_DATETIME_ERROR,NULL,NULL,NULL,NULL,hexstr);
+    raiseDateConvErrorWithSrcData(originalSrcLen,diagsArea, originalSrcData, 
heap);
     return -1;
   }
     
@@ -2282,13 +2268,7 @@ ExpDatetime::convAsciiToDatetime(char *srcData,
       }
       break;
     default:
-      char hexstr[MAX_OFFENDING_SOURCE_DATA_DISPLAY_LEN];
-      memset(hexstr, 0 , sizeof(hexstr) );
-      int copyLen = strlen(originalSrcData);
-      if(copyLen > sizeof(hexstr) - 1 ) 
-        copyLen = sizeof(hexstr) - 1; 
-      strncpy(hexstr,originalSrcData, copyLen);
-      ExRaiseSqlError(heap, diagsArea, 
EXE_CONVERT_DATETIME_ERROR,NULL,NULL,NULL,NULL,hexstr);
+      raiseDateConvErrorWithSrcData(originalSrcLen,diagsArea, originalSrcData, 
heap);
       return -1;
     }
   }
@@ -2301,13 +2281,7 @@ ExpDatetime::convAsciiToDatetime(char *srcData,
     if (validateDate(dstStartField, dstEndField, 
                     dstData, NULL, FALSE, 
                     LastDayPrevMonth)) {
-      char hexstr[MAX_OFFENDING_SOURCE_DATA_DISPLAY_LEN];
-      memset(hexstr, 0 , sizeof(hexstr) );
-      int copyLen = strlen(originalSrcData);
-      if(copyLen > sizeof(hexstr) - 1 ) 
-        copyLen = sizeof(hexstr) - 1; 
-      strncpy(hexstr,originalSrcData, copyLen);
-      ExRaiseSqlError(heap, diagsArea, 
EXE_CONVERT_DATETIME_ERROR,NULL,NULL,NULL,NULL,hexstr);
+      raiseDateConvErrorWithSrcData(originalSrcLen,diagsArea, originalSrcData, 
heap);
       return -1;
     };
 
@@ -2323,13 +2297,7 @@ ExpDatetime::convAsciiToDatetime(char *srcData,
     short error;
     Int64 juliantimestamp = COMPUTETIMESTAMP(timestamp, &error);
     if (error) {
-      char hexstr[MAX_OFFENDING_SOURCE_DATA_DISPLAY_LEN];
-      memset(hexstr, 0 , sizeof(hexstr) );
-      int copyLen = strlen(originalSrcData);
-      if(copyLen > sizeof(hexstr) - 1 ) 
-        copyLen = sizeof(hexstr) - 1; 
-      strncpy(hexstr,originalSrcData, copyLen);
-      ExRaiseSqlError(heap, diagsArea, 
EXE_CONVERT_DATETIME_ERROR,NULL,NULL,NULL,NULL,hexstr);
+      raiseDateConvErrorWithSrcData(originalSrcLen,diagsArea, originalSrcData, 
heap);
       return -1;
     }
 
@@ -2377,13 +2345,7 @@ ExpDatetime::convAsciiToDatetime(char *srcData,
         }
         break;
       default:
-        char hexstr[MAX_OFFENDING_SOURCE_DATA_DISPLAY_LEN];
-        memset(hexstr, 0 , sizeof(hexstr) );
-        int copyLen = strlen(originalSrcData);
-        if(copyLen > sizeof(hexstr) - 1 ) 
-          copyLen = sizeof(hexstr) - 1; 
-        strncpy(hexstr,originalSrcData, copyLen);
-        ExRaiseSqlError(heap, diagsArea, 
EXE_CONVERT_DATETIME_ERROR,NULL,NULL,NULL,NULL,hexstr);
+        raiseDateConvErrorWithSrcData(originalSrcLen,diagsArea, 
originalSrcData, heap);
         return -1;
       }
     }
@@ -2458,12 +2420,7 @@ static NABoolean convertStrToMonth(char* &srcData, char 
*result,
               if (*srcData != *nextByte)
                 {
                   // string contains non-digit
-                  char hexstr[MAX_OFFENDING_SOURCE_DATA_DISPLAY_LEN];
-                  memset(hexstr, 0 , sizeof(hexstr) );
-                  if(copyLen > sizeof(hexstr) -1 ) 
-                    copyLen = sizeof(hexstr) -1;        
-                  strncpy(hexstr,originalSrcData,copyLen);
-                  ExRaiseSqlError(heap, diagsArea, 
EXE_CONVERT_DATETIME_ERROR,NULL,NULL,NULL,NULL,hexstr);
+                  raiseDateConvErrorWithSrcData(copyLen,diagsArea, 
originalSrcData, heap);
                   return FALSE; // error
                 }    
               srcData++;
@@ -2526,14 +2483,7 @@ static short convSrcDataToDst(Lng32 numSrcBytes, char* 
&srcData,
   if (src < numSrcBytes) 
     {
       // string contains non-digit
-      //
-      char hexstr[MAX_OFFENDING_SOURCE_DATA_DISPLAY_LEN];
-      memset(hexstr, 0 , sizeof(hexstr) );
-      int copyLen = strlen(srcData);
-      if( copyLen > sizeof(hexstr) - 1)
-         copyLen = sizeof(hexstr) - 1; 
-      strncpy(hexstr,srcData,copyLen);
-      ExRaiseSqlError(heap, diagsArea, 
EXE_CONVERT_DATETIME_ERROR,NULL,NULL,NULL,NULL,hexstr);
+      raiseDateConvErrorWithSrcData(numSrcBytes,diagsArea, srcData, heap);
       return -1;
     }
 
@@ -2551,13 +2501,7 @@ static short convSrcDataToDst(Lng32 numSrcBytes, char* 
&srcData,
       if (*srcData != *nextByte)
         {
           // string contains non-digit
-          char hexstr[MAX_OFFENDING_SOURCE_DATA_DISPLAY_LEN];
-          memset(hexstr, 0 , sizeof(hexstr) );
-          int copyLen = strlen(srcData);
-          if( copyLen > sizeof(hexstr) - 1)
-            copyLen = sizeof(hexstr) - 1; 
-          strncpy(hexstr,srcData,copyLen);
-          ExRaiseSqlError(heap, diagsArea, 
EXE_CONVERT_DATETIME_ERROR,NULL,NULL,NULL,NULL,hexstr);
+          raiseDateConvErrorWithSrcData(numSrcBytes,diagsArea, srcData, heap);
           return -1;
         }    
 
@@ -2619,14 +2563,7 @@ ExpDatetime::convAsciiToDate(char *srcData,
 
     if (i == srcLen) {
       // string contains only blanks.
-      //
-      char hexstr[MAX_OFFENDING_SOURCE_DATA_DISPLAY_LEN];
-      memset(hexstr, 0 , sizeof(hexstr) );
-      int copyLen = strlen(srcData);
-      if(copyLen > sizeof(hexstr) - 1)
-        copyLen = sizeof(hexstr) - 1;
-      strncpy(hexstr,srcData,copyLen);
-      ExRaiseSqlError(heap, diagsArea, 
EXE_CONVERT_DATETIME_ERROR,NULL,NULL,NULL,NULL,hexstr);
+      raiseDateConvErrorWithSrcData(inSrcLen,diagsArea, srcData, heap);
       return -1;
     };
 
@@ -2645,13 +2582,7 @@ ExpDatetime::convAsciiToDate(char *srcData,
   if ((minLength <= 0) || (srcLen < minLength)) {
     // string doesn't seem to contain all date fields.
     //
-    char hexstr[MAX_OFFENDING_SOURCE_DATA_DISPLAY_LEN];
-    memset(hexstr, 0 , sizeof(hexstr) );
-    int copyLen = strlen(srcData);
-    if(copyLen > sizeof(hexstr) - 1)
-      copyLen = sizeof(hexstr) - 1;
-    strncpy(hexstr,srcData,copyLen);
-    ExRaiseSqlError(heap, diagsArea, 
EXE_CONVERT_DATETIME_ERROR,NULL,NULL,NULL,NULL,hexstr);
+    raiseDateConvErrorWithSrcData(inSrcLen,diagsArea, srcData, heap);
     return -1;
   };
 
@@ -2862,13 +2793,7 @@ ExpDatetime::convAsciiToDate(char *srcData,
       // the month
       char * prevSrcData = srcData;
       if (! convertStrToMonthLongFormat(srcData, &dstData[2])) {
-        char hexstr[MAX_OFFENDING_SOURCE_DATA_DISPLAY_LEN];
-        memset(hexstr, 0 , sizeof(hexstr) );
-        int copyLen = strlen(srcData);
-        if(copyLen > sizeof(hexstr) -1 )
-          copyLen = sizeof(hexstr) -1 ;
-        strncpy(hexstr,srcData,copyLen);
-        ExRaiseSqlError(heap, diagsArea, 
EXE_CONVERT_DATETIME_ERROR,NULL,NULL,NULL,NULL,hexstr);
+        raiseDateConvErrorWithSrcData(inSrcLen,diagsArea, srcData, heap);
         return -1;
       }
       minLength += (srcData - prevSrcData);
@@ -3034,14 +2959,7 @@ ExpDatetime::convAsciiToDate(char *srcData,
   default:
     {
     // Format could not be determined, issue an error.
-    //
-    char hexstr[MAX_OFFENDING_SOURCE_DATA_DISPLAY_LEN];
-    memset(hexstr, 0 , sizeof(hexstr) );
-    int copyLen = strlen(srcData);
-    if(copyLen > sizeof(hexstr) -1 )
-      copyLen = sizeof(hexstr) -1 ;
-    strncpy(hexstr,srcData,copyLen);
-    ExRaiseSqlError(heap, diagsArea, 
EXE_CONVERT_DATETIME_ERROR,NULL,NULL,NULL,NULL,hexstr);
+    raiseDateConvErrorWithSrcData(inSrcLen,diagsArea, srcData, heap);
     return -1;
     }
   };
@@ -3053,14 +2971,7 @@ ExpDatetime::convAsciiToDate(char *srcData,
     for (i = 0; i < srcLen; i++) {
       if (srcData[i] != ' ') {
         // string contains only blanks.
-        //
-        char hexstr[MAX_OFFENDING_SOURCE_DATA_DISPLAY_LEN];
-        memset(hexstr, 0 , sizeof(hexstr) );
-        int copyLen = strlen(srcData);
-        if(copyLen > sizeof(hexstr) -1 )
-          copyLen = sizeof(hexstr) -1 ;
-        strncpy(hexstr,srcData,copyLen);
-        ExRaiseSqlError(heap, diagsArea, 
EXE_CONVERT_DATETIME_ERROR,NULL,NULL,NULL,NULL,hexstr);
+        raiseDateConvErrorWithSrcData(inSrcLen,diagsArea,srcData,heap);
         return -1;
       }
     }
@@ -3074,13 +2985,7 @@ ExpDatetime::convAsciiToDate(char *srcData,
        if (validateDate(REC_DATE_YEAR, REC_DATE_DAY, 
                         dstData, NULL, FALSE, 
                         LastDayPrevMonth)) {
-          char hexstr[MAX_OFFENDING_SOURCE_DATA_DISPLAY_LEN];
-          memset(hexstr, 0 , sizeof(hexstr) );
-          int copyLen = strlen(srcData);
-          if(copyLen > sizeof(hexstr) -1 )
-            copyLen = sizeof(hexstr) -1 ;
-          strncpy(hexstr,srcData,copyLen);
-         ExRaiseSqlError(heap, diagsArea, 
EXE_CONVERT_DATETIME_ERROR,NULL,NULL,NULL,NULL,hexstr);
+          raiseDateConvErrorWithSrcData(inSrcLen,diagsArea,srcData,heap);
          return -1;
        };
     }
@@ -3676,13 +3581,7 @@ ExpDatetime::convNumericTimeToASCII(char *srcData,
       // cannot convert negative number with NUM1 format
       if (format == DATETIME_FORMAT_NUM1)
         {
-          char hexstr[MAX_OFFENDING_SOURCE_DATA_DISPLAY_LEN];
-          memset(hexstr, 0 , sizeof(hexstr) );
-          int copyLen = strlen(srcData);
-          if(copyLen > sizeof(hexstr) -1 )
-            copyLen = sizeof(hexstr) -1;
-          strncpy(hexstr,srcData,copyLen);
-          ExRaiseSqlError(heap, diagsArea, 
EXE_CONVERT_DATETIME_ERROR,NULL,NULL,NULL,NULL,hexstr);
+          raiseDateConvErrorWithSrcDataNumeric(diagsArea,temp,heap);
           return -1;
         }
 
@@ -3720,13 +3619,7 @@ ExpDatetime::convNumericTimeToASCII(char *srcData,
       // if more digits left in input, error out.
       if (temp > 0)
         {
-          char hexstr[MAX_OFFENDING_SOURCE_DATA_DISPLAY_LEN];
-          memset(hexstr, 0 , sizeof(hexstr) );
-          int copyLen = strlen(srcData);
-          if(copyLen > sizeof(hexstr) -1 )
-            copyLen = sizeof(hexstr) -1;
-          strncpy(hexstr,srcData,copyLen);
-          ExRaiseSqlError(heap, diagsArea, 
EXE_CONVERT_DATETIME_ERROR,NULL,NULL,NULL,NULL,hexstr);
+          raiseDateConvErrorWithSrcDataNumeric(diagsArea,temp,heap);
           return -1;
         }
 

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/758bc382/core/sql/optimizer/BindRelExpr.cpp
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/BindRelExpr.cpp 
b/core/sql/optimizer/BindRelExpr.cpp
index 4e88616..e7bd236 100644
--- a/core/sql/optimizer/BindRelExpr.cpp
+++ b/core/sql/optimizer/BindRelExpr.cpp
@@ -2964,7 +2964,7 @@ RelExpr *Intersect::bindNode(BindWA *bindWA)
   //
   if(CmpCommon::getDefault(MODE_SPECIAL_4) != DF_ON)
   {
-    *CmpCommon::diags() << DgSqlCode(-3022)    // ## INTERSECT not yet 
supported
+    *CmpCommon::diags() << DgSqlCode(-3022)    // ## INTERSECT not yet 
supported , not fully tested
         << DgString0("INTERSECT");             // ##
     bindWA->setErrStatus();                    // ##
     if (bindWA->errStatus()) return NULL;      // ##
@@ -3056,7 +3056,7 @@ RelExpr *Except::bindNode(BindWA *bindWA)
   //
   if(CmpCommon::getDefault(MODE_SPECIAL_4) != DF_ON)
   {
-    *CmpCommon::diags() << DgSqlCode(-3022)    // ## INTERSECT not yet 
supported
+    *CmpCommon::diags() << DgSqlCode(-3022)    // ## EXCEPT not yet supported: 
not fully tested
         << DgString0("EXCEPT");             // ##
     bindWA->setErrStatus();                    // ##
     if (bindWA->errStatus()) return NULL;      // ##
@@ -3097,7 +3097,7 @@ RelExpr *Except::bindNode(BindWA *bindWA)
     return this;
   }
 
-  // Needs to be removed when supporting get_next for INTERSECT
+  // Needs to be removed when supporting get_next for EXCEPT
   if (getGroupAttr()->isEmbeddedUpdateOrDelete()) {
     *CmpCommon::diags() << DgSqlCode(-4160)
                 << DgString0(fmtdList1)

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/758bc382/core/sql/regress/executor/EXPECTED022.SB
----------------------------------------------------------------------
diff --git a/core/sql/regress/executor/EXPECTED022.SB 
b/core/sql/regress/executor/EXPECTED022.SB
index e588531..5635915 100644
--- a/core/sql/regress/executor/EXPECTED022.SB
+++ b/core/sql/regress/executor/EXPECTED022.SB
@@ -882,7 +882,7 @@ A           B         C
 
 >>select cast ('23:11:61' as time) from t022t1;
 
-*** ERROR[8415] The provided DATE, TIME, or TIMESTAMP is not valid and cannot 
be converted. Source data: 23:11:61-05:000
+*** ERROR[8415] The provided DATE, TIME, or TIMESTAMP is not valid and cannot 
be converted. Source data: 23:11:61
 
 --- 0 row(s) selected.
 >>select cast ('23:11:06' as timestamp) from t022t1;
@@ -892,7 +892,7 @@ A           B         C
 --- 0 row(s) selected.
 >>select cast('2010-01-01' as time) from t022t1;
 
-*** ERROR[8415] The provided DATE, TIME, or TIMESTAMP is not valid and cannot 
be converted. Source data: 2010-01-015:000
+*** ERROR[8415] The provided DATE, TIME, or TIMESTAMP is not valid and cannot 
be converted. Source data: 2010-01-01
 
 --- 0 row(s) selected.
 >>select timestamp'2010-01-01 10' from t022t1;
@@ -5652,7 +5652,7 @@ A           B         C
 
 >>select cast ('23:11:61' as time) from t022t1;
 
-*** ERROR[8415] The provided DATE, TIME, or TIMESTAMP is not valid and cannot 
be converted. Source data: 23:11:61-05:000
+*** ERROR[8415] The provided DATE, TIME, or TIMESTAMP is not valid and cannot 
be converted. Source data: 23:11:61
 
 --- 0 row(s) selected.
 >>select cast ('23:11:06' as timestamp) from t022t1;
@@ -5662,7 +5662,7 @@ A           B         C
 --- 0 row(s) selected.
 >>select cast('2010-01-01' as time) from t022t1;
 
-*** ERROR[8415] The provided DATE, TIME, or TIMESTAMP is not valid and cannot 
be converted. Source data: 2010-01-015:000
+*** ERROR[8415] The provided DATE, TIME, or TIMESTAMP is not valid and cannot 
be converted. Source data: 2010-01-01
 
 --- 0 row(s) selected.
 >>select timestamp'2010-01-01 10' from t022t1;

Reply via email to