Merge remote branch 'origin/master' into ansharma_nnpk_br
Conflicts:
core/sql/regress/seabase/EXPECTED031
core/sql/sqlcomp/CmpDescribe.cpp
core/sql/sqlcomp/CmpSeabaseDDLtable.cpp
core/sql/sqlcomp/DefaultConstants.h
Project: http://git-wip-us.apache.org/repos/asf/trafodion/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafodion/commit/ba15b2e3
Tree: http://git-wip-us.apache.org/repos/asf/trafodion/tree/ba15b2e3
Diff: http://git-wip-us.apache.org/repos/asf/trafodion/diff/ba15b2e3
Branch: refs/heads/master
Commit: ba15b2e37c20d2fdc11340e826045c9ce0950571
Parents: 5724b2e 985e2a1
Author: Anoop Sharma <[email protected]>
Authored: Mon Jun 11 17:14:40 2018 +0000
Committer: Anoop Sharma <[email protected]>
Committed: Mon Jun 11 17:14:40 2018 +0000
----------------------------------------------------------------------
core/sqf/sql/scripts/install_local_hadoop | 22 +-
core/sqf/src/seatrans/hbase-trx/pom.xml.hdp | 1 +
core/sqf/src/seatrans/hbase-trx/pom.xml.hdp2_1 | 1 +
core/sqf/src/seatrans/hbase-trx/pom.xml.mapr | 334 ------
core/sql/bin/SqlciErrors.txt | 11 +-
core/sql/cli/Cli.cpp | 15 +
core/sql/cli/Cli.h | 8 +-
core/sql/cli/CliExtern.cpp | 122 ++
core/sql/cli/Context.cpp | 86 ++
core/sql/cli/Context.h | 6 +-
core/sql/cli/SessionDefaults.cpp | 4 +-
core/sql/comexe/ComTdbExeUtil.cpp | 15 -
core/sql/comexe/ComTdbExeUtil.h | 23 +-
core/sql/common/ComObjectName.cpp | 7 +-
core/sql/common/NAString.cpp | 27 +-
core/sql/common/NAType.cpp | 10 +-
core/sql/common/OperTypeEnum.h | 4 +
core/sql/executor/ExComTdb.cpp | 1 -
core/sql/executor/ExExeUtil.h | 55 +-
core/sql/executor/ExExeUtilLoad.cpp | 70 +-
core/sql/executor/ExExeUtilMisc.cpp | 39 -
core/sql/executor/HiveClient_JNI.cpp | 3 +-
core/sql/executor/JavaObjectInterface.cpp | 43 +-
core/sql/executor/JavaObjectInterface.h | 8 +-
core/sql/exp/ExpErrorEnums.h | 1 +
core/sql/exp/ExpLOB.cpp | 131 ++-
core/sql/exp/ExpLOB.h | 15 +-
core/sql/exp/ExpLOBenums.h | 2 +-
core/sql/exp/ExpLOBexternal.h | 4 +-
core/sql/exp/ExpPCodeClauseGen.cpp | 4 +
core/sql/exp/exp_clause.cpp | 3 +
core/sql/exp/exp_clause_derived.h | 14 +-
core/sql/export/ComDiags.cpp | 1 +
core/sql/generator/GenExpGenerator.cpp | 2 +
core/sql/generator/GenExpGenerator.h | 9 +-
core/sql/generator/GenExplain.cpp | 25 +-
core/sql/generator/GenFastTransport.cpp | 6 +
core/sql/generator/GenItemExpr.cpp | 2 +
core/sql/generator/GenItemFunc.cpp | 10 +-
core/sql/generator/GenPreCode.cpp | 7 +-
core/sql/generator/GenRelExeUtil.cpp | 26 +-
core/sql/generator/GenRelScan.cpp | 4 +
core/sql/generator/Generator.h | 2 +-
core/sql/optimizer/BindItemExpr.cpp | 5 -
core/sql/optimizer/BindRelExpr.cpp | 5 +-
core/sql/optimizer/ItemExpr.cpp | 18 +-
core/sql/optimizer/NATable.cpp | 26 +-
core/sql/optimizer/NATable.h | 41 +-
core/sql/optimizer/NormRelExpr.cpp | 18 +-
core/sql/optimizer/RelExeUtil.cpp | 92 +-
core/sql/optimizer/RelExeUtil.h | 11 +-
core/sql/optimizer/RelExpr.cpp | 4 +-
core/sql/optimizer/RelMisc.h | 2 +
core/sql/optimizer/hiveHook.h | 16 +
core/sql/parser/AllStmtDDL.h | 2 +
core/sql/parser/ElemDDLLikeOptions.cpp | 30 +
core/sql/parser/ElemDDLLikeOptions.h | 33 +
core/sql/parser/ElemDDLNode.cpp | 6 +
core/sql/parser/ElemDDLNode.h | 6 +-
core/sql/parser/ParDDLLikeOpts.cpp | 15 +
core/sql/parser/ParDDLLikeOptsCreateTable.h | 14 +
core/sql/parser/SqlParserAux.cpp | 75 +-
core/sql/parser/SqlParserAux.h | 14 +-
core/sql/parser/StmtDDLCleanupObjects.h | 4 +-
core/sql/parser/StmtDDLCreate.cpp | 7 +-
core/sql/parser/StmtDDLCreateTable.h | 14 +
core/sql/parser/StmtDDLCreateView.h | 7 +
core/sql/parser/StmtDDLDrop.cpp | 3 +-
core/sql/parser/StmtDDLDropView.h | 6 +
core/sql/parser/StmtDDLMisc.cpp | 2 -
core/sql/parser/StmtDDLRegOrUnregHive.cpp | 4 +-
core/sql/parser/StmtDDLRegOrUnregHive.h | 6 +-
core/sql/parser/StmtDDLonHiveObjects.h | 191 +++
core/sql/parser/sqlparser.y | 765 ++++++++----
core/sql/parser/ulexer.cpp | 25 +-
core/sql/regress/compGeneral/EXPECTEDTOK | 4 +-
core/sql/regress/compGeneral/EXPECTEDTOK2 | 4 +-
core/sql/regress/core/EXPECTED002.LINUX | 15 +
core/sql/regress/core/TEST002 | 5 +
core/sql/regress/executor/EXPECTED020 | 4 +
core/sql/regress/executor/EXPECTED063 | 24 +-
core/sql/regress/executor/TEST063 | 2 +-
core/sql/regress/hive/DIFF003.KNOWN | 10 +-
core/sql/regress/hive/DIFF008.KNOWN | 7 +
core/sql/regress/hive/DIFF009.KNOWN | 3 +
core/sql/regress/hive/EXPECTED003 | 2 +-
core/sql/regress/hive/EXPECTED005 | 189 ++-
core/sql/regress/hive/EXPECTED007 | 314 ++++-
core/sql/regress/hive/EXPECTED008 | 1108 ++++++++++++++++++
core/sql/regress/hive/EXPECTED009 | 96 +-
core/sql/regress/hive/EXPECTED018 | 824 ++++++++-----
core/sql/regress/hive/FILTER005 | 1 +
core/sql/regress/hive/FILTER008 | 35 +
core/sql/regress/hive/TEST003 | 2 +-
core/sql/regress/hive/TEST005 | 57 +-
core/sql/regress/hive/TEST005_a.hive.sql | 2 +
core/sql/regress/hive/TEST007 | 53 +-
core/sql/regress/hive/TEST008 | 309 +++++
core/sql/regress/hive/TEST009 | 4 +-
core/sql/regress/hive/TEST009_a.hive.sql | 8 +-
core/sql/regress/hive/TEST009_b.hive.sql | 30 +-
core/sql/regress/hive/TEST018 | 154 ++-
.../hive/TEST018_create_hive_tables.hive | 20 +-
core/sql/regress/privs2/EXPECTED129 | 36 +-
core/sql/regress/seabase/EXPECTED003 | 6 +-
core/sql/regress/seabase/EXPECTED031 | 45 +-
core/sql/regress/seabase/TEST026 | 1 +
core/sql/regress/seabase/TEST031 | 10 +-
core/sql/runtimestats/SqlStats.cpp | 22 +-
core/sql/runtimestats/SqlStats.h | 3 +
core/sql/runtimestats/rts_msg.cpp | 39 +
core/sql/runtimestats/rts_msg.h | 40 +-
core/sql/runtimestats/sscpipc.cpp | 53 +
core/sql/runtimestats/sscpipc.h | 1 +
core/sql/runtimestats/ssmpipc.cpp | 85 ++
core/sql/runtimestats/ssmpipc.h | 5 +-
core/sql/sqlcomp/CmpDescribe.cpp | 213 +++-
core/sql/sqlcomp/CmpDescribe.h | 68 +-
core/sql/sqlcomp/CmpSeabaseDDL.h | 28 +
core/sql/sqlcomp/CmpSeabaseDDLcleanup.cpp | 185 +--
core/sql/sqlcomp/CmpSeabaseDDLcleanup.h | 5 +-
core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp | 15 +-
core/sql/sqlcomp/CmpSeabaseDDLschema.cpp | 5 +-
core/sql/sqlcomp/CmpSeabaseDDLtable.cpp | 948 +++++++++++++--
core/sql/sqlcomp/CmpSeabaseDDLview.cpp | 20 +
core/sql/sqlcomp/DefaultConstants.h | 4 +
core/sql/sqlcomp/nadefaults.cpp | 9 +-
core/sql/sqlcomp/parser.cpp | 131 ++-
core/sql/sqlcomp/parser.h | 100 ++
.../main/java/org/trafodion/sql/HiveClient.java | 6 +-
core/sql/ustat/hs_la.cpp | 6 +-
.../src/asciidoc/_chapters/sql_statements.adoc | 2 +-
132 files changed, 6228 insertions(+), 1799 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/trafodion/blob/ba15b2e3/core/sql/generator/GenPreCode.cpp
----------------------------------------------------------------------
diff --cc core/sql/generator/GenPreCode.cpp
index 12c501c,298b3f8..77902f9
--- a/core/sql/generator/GenPreCode.cpp
+++ b/core/sql/generator/GenPreCode.cpp
@@@ -2858,10 -2858,10 +2858,11 @@@ short DDLExpr::ddlXnsInfo(NABoolean &is
(ddlNode->getOperatorType() == DDL_CREATE_INDEX) ||
(ddlNode->getOperatorType() == DDL_POPULATE_INDEX) ||
(ddlNode->getOperatorType() ==
DDL_ALTER_TABLE_ALTER_COLUMN_DATATYPE) ||
+ (ddlNode->getOperatorType() ==
DDL_ALTER_TABLE_ADD_CONSTRAINT_PRIMARY_KEY) ||
(ddlNode->getOperatorType() ==
DDL_ALTER_TABLE_ALTER_HBASE_OPTIONS) ||
(ddlNode->getOperatorType() ==
DDL_ALTER_INDEX_ALTER_HBASE_OPTIONS) ||
- (ddlNode->getOperatorType() == DDL_ALTER_TABLE_RENAME)))
+ (ddlNode->getOperatorType() == DDL_ALTER_TABLE_RENAME) ||
+ (ddlNode->getOperatorType() == DDL_ON_HIVE_OBJECTS)))
{
// transaction will be started and commited in called methods.
xnCanBeStarted = FALSE;
http://git-wip-us.apache.org/repos/asf/trafodion/blob/ba15b2e3/core/sql/optimizer/NATable.cpp
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/trafodion/blob/ba15b2e3/core/sql/optimizer/NATable.h
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/trafodion/blob/ba15b2e3/core/sql/parser/StmtDDLCreate.cpp
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/trafodion/blob/ba15b2e3/core/sql/parser/sqlparser.y
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/trafodion/blob/ba15b2e3/core/sql/regress/seabase/EXPECTED031
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/trafodion/blob/ba15b2e3/core/sql/sqlcomp/CmpDescribe.cpp
----------------------------------------------------------------------
diff --cc core/sql/sqlcomp/CmpDescribe.cpp
index 1620627,420167e..26e0deb
--- a/core/sql/sqlcomp/CmpDescribe.cpp
+++ b/core/sql/sqlcomp/CmpDescribe.cpp
@@@ -181,40 -181,8 +181,7 @@@ static short CmpDescribeTransaction
char *&outbuf,
ULng32 &outbuflen,
NAMemory *h);
-
- short CmpDescribeHiveTable (
- const CorrName &dtName,
- short type, // 1, invoke. 2, showddl. 3,
createLike
- char* &outbuf,
- ULng32 &outbuflen,
- CollHeap *heap,
- UInt32 columnLengthLimit = UINT_MAX);
-
- short CmpDescribeSeabaseTable (
- const CorrName &dtName,
- short type, // 1, invoke. 2, showddl. 3, createLike
- char* &outbuf,
- ULng32 &outbuflen,
- CollHeap *heap,
- const char * pkeyName = NULL,
- const char * pkeyStr = NULL,
- NABoolean withPartns = FALSE,
- NABoolean withoutSalt = FALSE,
- NABoolean withoutDivisioning = FALSE,
- NABoolean withoutRowFormat = FALSE,
- NABoolean withoutLobColumns = FALSE,
- UInt32 columnLengthLimit = UINT_MAX,
- NABoolean noTrailingSemi = FALSE,
-
- // used to add,rem,alter column definition from col list.
- // valid for 'createLike' mode.
- // Used for 'alter add/drop/alter col'.
- char * colName = NULL,
- short ada = 0, // 0,add. 1,drop. 2,alter
- const NAColumn * nacol = NULL,
- const NAType * natype = NULL,
- Space *inSpace = NULL);
-
short CmpDescribeSequence (
const CorrName &dtName,
char* &outbuf,
@@@ -893,7 -862,10 +861,10 @@@ short CmpDescribe(const char *query, co
rc =
CmpDescribeSeabaseTable(d->getDescribedTableName(),
(d->getFormat() == Describe::INVOKE_ ? 1 : 2),
- outbuf, outbuflen, heap, NULL, NULL, TRUE);
- outbuf, outbuflen, heap, NULL, TRUE,
++ outbuf, outbuflen, heap, NULL, NULL, TRUE,
+ FALSE, FALSE, FALSE, FALSE, UINT_MAX, FALSE,
+ NULL, 0, NULL, NULL, NULL,
+ d->getIsDetail());
goto finally; // we are done
}
http://git-wip-us.apache.org/repos/asf/trafodion/blob/ba15b2e3/core/sql/sqlcomp/CmpDescribe.h
----------------------------------------------------------------------
diff --cc core/sql/sqlcomp/CmpDescribe.h
index 7a9004f,01d11a4..532001f
--- a/core/sql/sqlcomp/CmpDescribe.h
+++ b/core/sql/sqlcomp/CmpDescribe.h
@@@ -58,4 -56,69 +56,70 @@@ void sendParserFlag (ULng32 flag)
short setParentQidAtSession(NAHeap *heap, const char *parentQid);
+ extern short CmpDescribeSeabaseTable (
+ const CorrName &dtName,
+ short type, // 1, invoke. 2, showddl. 3, createLike
+ char* &outbuf,
+ ULng32 &outbuflen,
+ CollHeap *heap,
++ const char * pkeyName = NULL,
+ const char * pkeyStr = NULL,
+ NABoolean withPartns = FALSE,
+ NABoolean withoutSalt = FALSE,
+ NABoolean withoutDivisioning = FALSE,
+ NABoolean withoutRowFormat = FALSE,
+ NABoolean withoutLobColumns = FALSE,
+ UInt32 columnLengthLimit = UINT_MAX,
+ NABoolean noTrailingSemi = FALSE,
+
+ // used to add,rem,alter column definition from col list.
+ // valid for 'createLike' mode.
+ // Used for 'alter add/drop/alter col'.
+ char * colName = NULL,
+ short ada = 0, // 0,add. 1,drop. 2,alter
+ const NAColumn * nacol = NULL,
+ const NAType * natype = NULL,
+ Space *inSpace = NULL,
+ NABoolean isDetail = FALSE);
+
+ short CmpDescribeHiveTable (
+ const CorrName &dtName,
+ short type, // 1, invoke. 2, showddl. 3,
createLike
+ char* &outbuf,
+ ULng32 &outbuflen,
+ CollHeap *heap,
+ NABoolean isDetail = FALSE,
+ UInt32 columnLengthLimit = UINT_MAX);
+
+ short CmpDescribeTrafAsHiveTable (
+ const CorrName &dtName,
+ short type, // 1, invoke. 2, showddl. 3, createLike
+ char* &outbuf,
+ ULng32 &outbuflen,
+ CollHeap *heap,
+ UInt32 columnLengthLimit = UINT_MAX);
+
+ // type: 1, invoke. 2, showddl. 3, create_like
+ extern short cmpDisplayColumn(const NAColumn *nac,
+ char * inColName,
+ const NAType *inNAT,
+ short displayType,
+ Space *inSpace,
+ char * buf,
+ Lng32 &ii,
+ NABoolean namesOnly,
+ NABoolean &identityCol,
+ NABoolean isExternalTable,
+ NABoolean isAlignedRowFormat,
+ UInt32 columnLengthLimit,
+ NAList<const NAColumn *> * truncatedColumnList);
+
+ extern short cmpDisplayPrimaryKey(const NAColumnArray & naColArr,
+ Lng32 numKeys,
+ NABoolean displaySystemCols,
+ Space &space, char * buf,
+ NABoolean displayCompact,
+ NABoolean displayAscDesc,
+ NABoolean displayParens);
+
#endif
http://git-wip-us.apache.org/repos/asf/trafodion/blob/ba15b2e3/core/sql/sqlcomp/CmpSeabaseDDL.h
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/trafodion/blob/ba15b2e3/core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/trafodion/blob/ba15b2e3/core/sql/sqlcomp/CmpSeabaseDDLtable.cpp
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/trafodion/blob/ba15b2e3/core/sql/sqlcomp/DefaultConstants.h
----------------------------------------------------------------------
diff --cc core/sql/sqlcomp/DefaultConstants.h
index 0a9ebed,56a5b51..1488f77
--- a/core/sql/sqlcomp/DefaultConstants.h
+++ b/core/sql/sqlcomp/DefaultConstants.h
@@@ -3317,22 -3318,9 +3318,25 @@@ enum DefaultConstant
// Use the earlier implementation of HdfsScan via libhdfs
USE_LIBHDFS_SCAN,
+ // if set, make primary key columns non-nullable. ANSI specification.
+ // Default is ON.
+ TRAF_MAKE_PKEY_COLUMNS_NOT_NULL,
+
+ // if ON and there are dependent objects on the table, then
+ // create unique constraint instead of clustered primary key.
+ //
+ // Otherwise return error. Users will need to drop dependent objects and
+ // then recreate them after adding the primary key.
+ // Default is OFF.
+ TRAF_ALTER_ADD_PKEY_AS_UNIQUE_CONSTRAINT,
+
+ // if set, do not drop or create hbase objects.
+ // Internal cqd. Used during pkey alter/add
+ TRAF_NO_HBASE_DROP_CREATE,
+
+ // if set, ddl from Traf interface on Hive objects is supported.
+ TRAF_DDL_ON_HIVE_OBJECTS,
+
// This enum constant must be the LAST one in the list; it's a count,
// not an Attribute (it's not IN DefaultDefaults; it's the SIZE of it)!
// Size of byte[] in java when direct byteBuffer can't be used
http://git-wip-us.apache.org/repos/asf/trafodion/blob/ba15b2e3/core/sql/sqlcomp/nadefaults.cpp
----------------------------------------------------------------------