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

Reply via email to