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(-)
----------------------------------------------------------------------