You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafodion.apache.org by su...@apache.org on 2016/07/15 03:29:43 UTC

[1/2] incubator-trafodion git commit: JIRA TRAFODION-1843 TRAFODION-2106

Repository: incubator-trafodion
Updated Branches:
  refs/heads/master 249dfefac -> 93053325e


JIRA TRAFODION-1843 TRAFODION-2106

-- TRAFODION-1843: allow 'default user' in create table statement
-- TRAFODION-2106: fix bug with use of to_date function in where clause


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

Branch: refs/heads/master
Commit: 77899fde1b20e53bbb6ad0de0cc91bb252542225
Parents: ea20874
Author: Anoop Sharma <an...@esgyn.com>
Authored: Thu Jul 14 13:48:54 2016 +0000
Committer: Anoop Sharma <an...@esgyn.com>
Committed: Thu Jul 14 13:48:54 2016 +0000

----------------------------------------------------------------------
 core/sql/exp/exp_function.cpp            | 19 -------
 core/sql/optimizer/BindRelExpr.cpp       |  3 +-
 core/sql/optimizer/ItemExpr.cpp          |  3 +-
 core/sql/regress/seabase/EXPECTED030     | 14 +++++
 core/sql/regress/seabase/EXPECTED031     | 76 +++++++++++++++++++++++++++
 core/sql/regress/seabase/TEST030         |  2 +
 core/sql/regress/seabase/TEST031         | 13 +++++
 core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp |  6 ---
 8 files changed, 109 insertions(+), 27 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/77899fde/core/sql/exp/exp_function.cpp
----------------------------------------------------------------------
diff --git a/core/sql/exp/exp_function.cpp b/core/sql/exp/exp_function.cpp
index c96b450..d5b896f 100644
--- a/core/sql/exp/exp_function.cpp
+++ b/core/sql/exp/exp_function.cpp
@@ -2964,13 +2964,6 @@ ex_expr::exp_return_type ex_function_ansi_user::eval(char *op_data[],
 						     CollHeap *heap,
 						     ComDiagsArea** diagsArea)
 {
-#if (defined (__EID))
-  // user function not supported in DP2 process on NSK. It is evaluated
-  // at master exe root tcb and sent down as an input value.
-  ExRaiseSqlError(heap, diagsArea, EXE_USER_FUNCTION_NOT_SUPP);
-  return ex_expr::EXPR_ERROR;
-#endif
-
   const Lng32 MAX_USER_NAME_LEN = ComSqlId::MAX_LDAP_USER_NAME_LEN;
 
   char username[MAX_USER_NAME_LEN + 1];
@@ -3004,14 +2997,6 @@ ex_expr::exp_return_type ex_function_user::eval(char *op_data[],
 						CollHeap *heap,
 						ComDiagsArea** diagsArea)
 {
-#if (defined __EID)
-  // user function not supported in DP2 process on NSK. It is evaluated
-  // at master exe root tcb and sent down as an input value.
-  ExRaiseSqlError(heap, diagsArea, EXE_USER_FUNCTION_NOT_SUPP);
-  return ex_expr::EXPR_ERROR;
-#else
-
-
   Int32 userIDLen = getOperand(1)->getLength(op_data[-MAX_OPERANDS+1]);
 
   Int64 id64;
@@ -3165,10 +3150,6 @@ ex_expr::exp_return_type ex_function_user::eval(char *op_data[],
   str_cpy_all(op_data[0], userName, userNameLen);
 
   return ex_expr::EXPR_OK;
-
-
-#endif
-
 };
 
 ////////////////////////////////////////////////////////////////////

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/77899fde/core/sql/optimizer/BindRelExpr.cpp
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/BindRelExpr.cpp b/core/sql/optimizer/BindRelExpr.cpp
index 966cd8f..b207b20 100644
--- a/core/sql/optimizer/BindRelExpr.cpp
+++ b/core/sql/optimizer/BindRelExpr.cpp
@@ -9951,7 +9951,8 @@ RelExpr *Insert::bindNode(BindWA *bindWA)
           assign = new (bindWA->wHeap())
             Assign(target.getItemExpr(), defaultValueExpr,
                     FALSE /*Not user Specified */);
-          if (nacol->getDefaultClass() != COM_CURRENT_DEFAULT)
+          if ((nacol->getDefaultClass() != COM_CURRENT_DEFAULT) &&
+              (nacol->getDefaultClass() != COM_USER_FUNCTION_DEFAULT))
              assign->setToBeSkipped(TRUE);
           assign->bindNode(bindWA);
         }

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/77899fde/core/sql/optimizer/ItemExpr.cpp
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/ItemExpr.cpp b/core/sql/optimizer/ItemExpr.cpp
index cc6d372..9966a95 100644
--- a/core/sql/optimizer/ItemExpr.cpp
+++ b/core/sql/optimizer/ItemExpr.cpp
@@ -8262,7 +8262,8 @@ ItemExpr * DateFormat::copyTopNode(ItemExpr *derivedNode,
   else
     result = (DateFormat*)derivedNode;
 
-  frmt_ = result->frmt_;
+  result->frmt_ = frmt_;
+  result->dateFormat_ = dateFormat_;
 
   return BuiltinFunction::copyTopNode(result,outHeap);
 

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/77899fde/core/sql/regress/seabase/EXPECTED030
----------------------------------------------------------------------
diff --git a/core/sql/regress/seabase/EXPECTED030 b/core/sql/regress/seabase/EXPECTED030
index 2376f64..579afe9 100644
--- a/core/sql/regress/seabase/EXPECTED030
+++ b/core/sql/regress/seabase/EXPECTED030
@@ -533,6 +533,14 @@ March 01, 2016, 10:11:12
 2016-03-01
 
 --- 1 row(s) selected.
+>>select * from t030t1 where to_date(c, 'YYYY-MM-DD') = DATE '2016-03-01';
+
+A           B                               C
+----------  ------------------------------  ------------------------------
+
+2016-03-01  2016-03-01                      2016-03-01                    
+
+--- 1 row(s) selected.
 >>
 >>-- negative tests
 >>select to_date('2016-03-01', 'YYYYMM-DD') from (values(1)) x(a);
@@ -570,6 +578,12 @@ March 01, 2016, 10:11:12
 
 *** ERROR[8822] The statement was not prepared.
 
+>>select * from t030t1 where to_date(c, 'YYYY-MM-DD') = '2016-03-01';
+
+*** ERROR[4041] Type DATE cannot be compared with type CHAR(10).
+
+*** ERROR[8822] The statement was not prepared.
+
 >>
 >>-- some formats only enabled in special mode. Not externalized.
 >>cqd mode_special_4 'ON';

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/77899fde/core/sql/regress/seabase/EXPECTED031
----------------------------------------------------------------------
diff --git a/core/sql/regress/seabase/EXPECTED031 b/core/sql/regress/seabase/EXPECTED031
index 81b09dd..873ed2c 100644
--- a/core/sql/regress/seabase/EXPECTED031
+++ b/core/sql/regress/seabase/EXPECTED031
@@ -472,4 +472,80 @@ aaaaaaaaaa                                ?
 
 --- 1 row(s) selected.
 >>
+>>-- default USER
+>>drop table if exists t031t1;
+
+--- SQL operation complete.
+>>create table t031t1 (a int, b varchar(20) default user);
+
+--- SQL operation complete.
+>>invoke t031t1;
+
+-- Definition of Trafodion table TRAFODION.SCH.T031T1
+-- Definition current  Wed Jul 13 23:30:01 2016
+
+  (
+    SYSKEY                           LARGEINT NO DEFAULT NOT NULL NOT DROPPABLE
+  , A                                INT DEFAULT NULL
+  , B                                VARCHAR(20) CHARACTER SET ISO88591 COLLATE
+      DEFAULT DEFAULT USER
+  )
+
+--- SQL operation complete.
+>>insert into t031t1 (a) values (10);
+
+--- 1 row(s) inserted.
+>>insert into t031t1 default values;
+
+--- 1 row(s) inserted.
+>>select * from t031t1;
+
+A            B                   
+-----------  --------------------
+
+         10  DB__ROOT            
+          ?  DB__ROOT            
+
+--- 2 row(s) selected.
+>>alter table t031t1 add column c char(20) default user;
+
+--- SQL operation complete.
+>>invoke t031t1;
+
+-- Definition of Trafodion table TRAFODION.SCH.T031T1
+-- Definition current  Wed Jul 13 23:30:02 2016
+
+  (
+    SYSKEY                           LARGEINT NO DEFAULT NOT NULL NOT DROPPABLE
+  , A                                INT DEFAULT NULL
+  , B                                VARCHAR(20) CHARACTER SET ISO88591 COLLATE
+      DEFAULT DEFAULT USER
+  , C                                CHAR(20) CHARACTER SET ISO88591 COLLATE
+      DEFAULT DEFAULT USER /*added_col*/
+  )
+
+--- SQL operation complete.
+>>select * from t031t1;
+
+A            B                     C                   
+-----------  --------------------  --------------------
+
+         10  DB__ROOT                                  
+          ?  DB__ROOT                                  
+
+--- 2 row(s) selected.
+>>insert into t031t1 default values;
+
+--- 1 row(s) inserted.
+>>select * from t031t1;
+
+A            B                     C                   
+-----------  --------------------  --------------------
+
+         10  DB__ROOT                                  
+          ?  DB__ROOT                                  
+          ?  DB__ROOT              DB__ROOT            
+
+--- 3 row(s) selected.
+>>
 >>log;

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/77899fde/core/sql/regress/seabase/TEST030
----------------------------------------------------------------------
diff --git a/core/sql/regress/seabase/TEST030 b/core/sql/regress/seabase/TEST030
index abe663a..5d3df76 100644
--- a/core/sql/regress/seabase/TEST030
+++ b/core/sql/regress/seabase/TEST030
@@ -97,6 +97,7 @@ select to_char(a, 'YYYYMMDD') from t030t1;
 select a (date, format 'YYYYMMDD') from t030t1;
 select to_date(b, 'YYYY-MM-DD') from t030t1;
 select to_date(c, 'YYYY-MM-DD') from t030t1;
+select * from t030t1 where to_date(c, 'YYYY-MM-DD') = DATE '2016-03-01';
 
 -- negative tests
 select to_date('2016-03-01', 'YYYYMM-DD') from (values(1)) x(a);
@@ -105,6 +106,7 @@ select to_date('0103.2016', 'DD.MM.YYYY') from (values(1)) x(a);
 select to_char('2016-03-01', 'YYYY-MM-DD') from (values(1)) x(a);
 select to_date(20160301, 'YYYYMMDD') from (values(1)) x(a);
 select to_char(date '2016-03-01', 'HH:MI:SS') from (values(1)) x(a);
+select * from t030t1 where to_date(c, 'YYYY-MM-DD') = '2016-03-01';
 
 -- some formats only enabled in special mode. Not externalized.
 cqd mode_special_4 'ON';

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/77899fde/core/sql/regress/seabase/TEST031
----------------------------------------------------------------------
diff --git a/core/sql/regress/seabase/TEST031 b/core/sql/regress/seabase/TEST031
index 80d124a..382e18f 100644
--- a/core/sql/regress/seabase/TEST031
+++ b/core/sql/regress/seabase/TEST031
@@ -166,4 +166,17 @@ delete from t031t1;
 insert into t031t1 select * from hive.hive.t031hive;
 select count(*) from t031t1;
 
+-- default USER
+drop table if exists t031t1;
+create table t031t1 (a int, b varchar(20) default user);
+invoke t031t1;
+insert into t031t1 (a) values (10);
+insert into t031t1 default values;
+select * from t031t1;
+alter table t031t1 add column c char(20) default user;
+invoke t031t1;
+select * from t031t1;
+insert into t031t1 default values;
+select * from t031t1;
+
 log;

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/77899fde/core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp
----------------------------------------------------------------------
diff --git a/core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp b/core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp
index cef4da1..969cd20 100644
--- a/core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp
+++ b/core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp
@@ -3060,12 +3060,6 @@ short CmpSeabaseDDL::getColInfo(ElemDDLColDef * colNode,
                (ie->getOperatorType() == ITM_CURRENT_USER) ||
                (ie->getOperatorType() == ITM_SESSION_USER))
         {
-          // default USER not currently supported.
-          *CmpCommon::diags() << DgSqlCode(-1084)
-                              << DgColumnName(colName);
-          
-          return -1;
-          
           defaultClass = COM_USER_FUNCTION_DEFAULT;
         }
       else if (ie->castToConstValue(negateIt) != NULL)


[2/2] incubator-trafodion git commit: Merge [TRAFODION-1843] PR-592 JIRA TRAFODION-1843 TRAFODION-2106

Posted by su...@apache.org.
Merge [TRAFODION-1843] PR-592 JIRA TRAFODION-1843 TRAFODION-2106


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

Branch: refs/heads/master
Commit: 93053325ecab38999a9178a5490540095bd20a92
Parents: 249dfef 77899fd
Author: Suresh Subbiah <su...@apache.org>
Authored: Fri Jul 15 03:26:06 2016 +0000
Committer: Suresh Subbiah <su...@apache.org>
Committed: Fri Jul 15 03:26:06 2016 +0000

----------------------------------------------------------------------
 core/sql/exp/exp_function.cpp            | 19 -------
 core/sql/optimizer/BindRelExpr.cpp       |  3 +-
 core/sql/optimizer/ItemExpr.cpp          |  3 +-
 core/sql/regress/seabase/EXPECTED030     | 14 +++++
 core/sql/regress/seabase/EXPECTED031     | 76 +++++++++++++++++++++++++++
 core/sql/regress/seabase/TEST030         |  2 +
 core/sql/regress/seabase/TEST031         | 13 +++++
 core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp |  6 ---
 8 files changed, 109 insertions(+), 27 deletions(-)
----------------------------------------------------------------------