You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafodion.apache.org by db...@apache.org on 2018/04/26 21:48:59 UTC

[1/2] trafodion git commit: [TRAFODION-3043] Add missing binder check for DATE_PART function

Repository: trafodion
Updated Branches:
  refs/heads/master 4985dbd84 -> 60d717b7b


[TRAFODION-3043] Add missing binder check for DATE_PART function


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

Branch: refs/heads/master
Commit: 5c6bf2a14a9e748fa08ac5e905cb62c451257b16
Parents: 06d38d5
Author: Dave Birdsall <db...@apache.org>
Authored: Thu Apr 26 00:19:59 2018 +0000
Committer: Dave Birdsall <db...@apache.org>
Committed: Thu Apr 26 00:19:59 2018 +0000

----------------------------------------------------------------------
 core/sql/common/DTICommonType.cpp | 12 ++++++++++++
 core/sql/optimizer/SynthType.cpp  |  8 ++++++++
 2 files changed, 20 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafodion/blob/5c6bf2a1/core/sql/common/DTICommonType.cpp
----------------------------------------------------------------------
diff --git a/core/sql/common/DTICommonType.cpp b/core/sql/common/DTICommonType.cpp
index 0374bcb..e8c11df 100644
--- a/core/sql/common/DTICommonType.cpp
+++ b/core/sql/common/DTICommonType.cpp
@@ -61,6 +61,18 @@ const char* DatetimeIntervalCommonType::getFieldName(rec_datetime_field field)
     return "SECOND";
   case REC_DATE_FRACTION_MP:
     return "FRACTION";
+  case REC_DATE_YEARQUARTER_EXTRACT:
+    return "YEARQUARTER";
+  case REC_DATE_YEARMONTH_EXTRACT:
+    return "YEARMONTH";
+  case REC_DATE_YEARWEEK_EXTRACT:
+    return "YEARWEEK";
+  case REC_DATE_YEARQUARTER_D_EXTRACT:
+    return "YEARQUARTERD";
+  case REC_DATE_YEARMONTH_D_EXTRACT:
+    return "YEARMONTHD";
+  case REC_DATE_YEARWEEK_D_EXTRACT:
+    return "YEARWEEKD";
   default:
     return NULL;
   }

http://git-wip-us.apache.org/repos/asf/trafodion/blob/5c6bf2a1/core/sql/optimizer/SynthType.cpp
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/SynthType.cpp b/core/sql/optimizer/SynthType.cpp
index 39ebfe4..f993aa6 100644
--- a/core/sql/optimizer/SynthType.cpp
+++ b/core/sql/optimizer/SynthType.cpp
@@ -4429,6 +4429,14 @@ const NAType *Extract::synthesizeType()
         extractEndField = REC_DATE_DAY; // extracting week requires the day
       else
         extractEndField = REC_DATE_MONTH; // months/quarters need only the month
+
+      if (type == NA_INTERVAL_TYPE)  // YEARQUARTER etc. are not supported on intervals
+        {
+          *CmpCommon::diags() << DgSqlCode(-4037)
+            << DgString0(dti.getFieldName(getExtractField()))
+            << DgString1(dti.getTypeSQLname(TRUE /*terse*/));
+          return NULL;
+        }
     }
 
   if (dti.getStartField() > extractStartField ||


[2/2] trafodion git commit: Merge [TRAFODION-3043] PR 1541 Add missing binder check for DATE_PART

Posted by db...@apache.org.
Merge [TRAFODION-3043] PR 1541 Add missing binder check for DATE_PART


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

Branch: refs/heads/master
Commit: 60d717b7b6c669830a2a745ef5ad772b8308a1d4
Parents: 4985dbd 5c6bf2a
Author: Dave Birdsall <db...@apache.org>
Authored: Thu Apr 26 21:48:25 2018 +0000
Committer: Dave Birdsall <db...@apache.org>
Committed: Thu Apr 26 21:48:25 2018 +0000

----------------------------------------------------------------------
 core/sql/common/DTICommonType.cpp | 12 ++++++++++++
 core/sql/optimizer/SynthType.cpp  |  8 ++++++++
 2 files changed, 20 insertions(+)
----------------------------------------------------------------------