You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafodion.apache.org by sa...@apache.org on 2018/01/04 18:25:53 UTC

[1/3] trafodion git commit: TRAFODION-2873. Fix for avoiding cores during expression eval for inserts into LOB tables. The fix involves cleaning up the LOBGlibals and eliminating unneeded datamemebers and keeping only the ExLobGlobals members. Also cle

Repository: trafodion
Updated Branches:
  refs/heads/master 6be0b22c8 -> d08a0819f


TRAFODION-2873. Fix for  avoiding  cores during expression eval for inserts into LOB tables. The fix involves cleaning up the LOBGlibals and eliminating unneeded datamemebers and keeping only the ExLobGlobals members. Also cleaned up all LobLoad related code since it is obsolete and worked only with DP2.

Conflicts:

	core/sql/executor/ExExeUtilLoad.cpp


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

Branch: refs/heads/master
Commit: 701b2799884a402850d3e082cd717cbc5065c2c0
Parents: 51935dc
Author: Sandhya Sundaresan <sa...@apache.org>
Authored: Wed Jan 3 18:30:04 2018 +0000
Committer: Sandhya Sundaresan <sa...@apache.org>
Committed: Wed Jan 3 18:30:04 2018 +0000

----------------------------------------------------------------------
 core/sql/executor/ExExeUtil.h       |   8 +-
 core/sql/executor/ExExeUtilLoad.cpp |  52 +++++-----
 core/sql/executor/ex_globals.cpp    |  14 +--
 core/sql/executor/ex_globals.h      |   4 +-
 core/sql/exp/ExpLOB.cpp             |  78 ++-------------
 core/sql/exp/ExpLOB.h               | 160 +------------------------------
 core/sql/exp/exp_clause.cpp         |   8 +-
 core/sql/generator/GenItemFunc.cpp  |  37 -------
 core/sql/optimizer/ItemExpr.cpp     |  12 ---
 core/sql/optimizer/ItemFunc.h       |  17 ----
 10 files changed, 49 insertions(+), 341 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafodion/blob/701b2799/core/sql/executor/ExExeUtil.h
----------------------------------------------------------------------
diff --git a/core/sql/executor/ExExeUtil.h b/core/sql/executor/ExExeUtil.h
index 2965d21..d26f660 100644
--- a/core/sql/executor/ExExeUtil.h
+++ b/core/sql/executor/ExExeUtil.h
@@ -2935,7 +2935,7 @@ public:
   {
     return (ExExeUtilLobExtractTdb &) tdb;
   };
-  LOBglobals *getLobGlobals() { return lobGlobals_;}
+  ExLobGlobals *&getLobGlobals() { return exLobGlobals_;}
  protected:
   enum Step
   {
@@ -2985,7 +2985,7 @@ public:
   ExLobStats lobStats_;
   char statusString_[200];
   fstream indata_;
-  LOBglobals *lobGlobals_;
+  ExLobGlobals *exLobGlobals_;
 };
 
 
@@ -3041,7 +3041,7 @@ public:
   {
     return (ExExeUtilLobUpdateTdb &) tdb;
   };
-  LOBglobals *getLobGlobals() { return lobGlobals_;}
+  ExLobGlobals *&getLobGlobals() { return exLobGlobals_;}
  protected:
   enum Step
     {
@@ -3071,7 +3071,7 @@ public:
   ExLobStats lobStats_;
   char statusString_[200];
   fstream indata_;
-  LOBglobals *lobGlobals_;
+  ExLobGlobals *exLobGlobals_;
 };
 // -----------------------------------------------------------------------
 // ExExeUtilFileUpdateTcb

http://git-wip-us.apache.org/repos/asf/trafodion/blob/701b2799/core/sql/executor/ExExeUtilLoad.cpp
----------------------------------------------------------------------
diff --git a/core/sql/executor/ExExeUtilLoad.cpp b/core/sql/executor/ExExeUtilLoad.cpp
index 7ad1a50..ab1580c 100644
--- a/core/sql/executor/ExExeUtilLoad.cpp
+++ b/core/sql/executor/ExExeUtilLoad.cpp
@@ -2738,13 +2738,12 @@ ExExeUtilLobExtractTcb::ExExeUtilLobExtractTcb
 
   requestTag_ = -1;
   lobLoc_[0] = '\0';
+  exLobGlobals_ = NULL;
  
-  lobGlobals_ = 
-    new(currContext->exHeap()) LOBglobals(currContext->exHeap());
-  ExpLOBoper::initLOBglobal
-    (lobGlobals_->lobAccessGlobals(), 
-     currContext->exHeap(),currContext,lobTdb().getLobHdfsServer(),
-               lobTdb().getLobHdfsPort());
+  ExpLOBinterfaceInit(exLobGlobals_,currContext->exHeap(),currContext,TRUE,
+                      lobTdb().getLobHdfsServer(),
+                      lobTdb().getLobHdfsPort());
+                                     
     
 
 }
@@ -2753,7 +2752,9 @@ void ExExeUtilLobExtractTcb::freeResources()
 {
   Lng32 cliRC = 0;
   Lng32 retcode = 0;
-  ExLobGlobals * lobGlobs = getLobGlobals()->lobAccessGlobals();
+
+  ExLobGlobals * lobGlobs = getLobGlobals();
+
   ContextCli *currContext =
     getGlobals()->castToExExeStmtGlobals()->castToExMasterStmtGlobals()->
     getStatement()->getContext();
@@ -2780,8 +2781,10 @@ void ExExeUtilLobExtractTcb::freeResources()
 	       3, // close
                0); // open type not applicable
 
-   NADELETE(lobGlobals_,LOBglobals,currContext->exHeap());
-  lobGlobals_ = NULL;
+    
+  ExpLOBinterfaceCleanup
+    (exLobGlobals_, currContext->exHeap());
+  exLobGlobals_ = NULL;
 }
 
 ExExeUtilLobExtractTcb::~ExExeUtilLobExtractTcb()
@@ -2812,7 +2815,7 @@ short ExExeUtilLobExtractTcb::work()
 
   
 
-  ExLobGlobals * lobGlobs = getLobGlobals()->lobAccessGlobals();
+  ExLobGlobals * lobGlobs = getLobGlobals();
 
   ex_queue_entry * centry = NULL;
   
@@ -3189,7 +3192,7 @@ short ExExeUtilLobExtractTcb::work()
 						lobHandle_,
 						requestTag,
 						so,
-						((LOBglobals *)lobGlobs)->xnId(),
+						-1,
 						0,0,					       					
 						0, lobDataLen_, lobDataOutputLen, 
 						lobTdb().getFileName(),
@@ -3485,12 +3488,12 @@ ExExeUtilLobUpdateTcb::ExExeUtilLobUpdateTcb
     getStatement()->getContext();
   lobHandleLen_ = 2050;
   lobHandle_[0] = '\0';
-  lobGlobals_ = 
-    new(currContext->exHeap()) LOBglobals(currContext->exHeap());
-  ExpLOBoper::initLOBglobal
-    (lobGlobals_->lobAccessGlobals(), 
-     currContext->exHeap(),currContext,lobTdb().getLobHdfsServer(),
-               lobTdb().getLobHdfsPort());
+  exLobGlobals_=NULL;
+
+  ExpLOBinterfaceInit(exLobGlobals_,currContext->exHeap(),currContext,TRUE,
+                      lobTdb().getLobHdfsServer(),
+                      lobTdb().getLobHdfsPort());
+                                     
 }
 ExExeUtilLobUpdateTcb::~ExExeUtilLobUpdateTcb()
 {
@@ -3502,7 +3505,8 @@ void ExExeUtilLobUpdateTcb::freeResources()
  ContextCli *currContext =
     getGlobals()->castToExExeStmtGlobals()->castToExMasterStmtGlobals()->
     getStatement()->getContext();
-   NADELETE(lobGlobals_,LOBglobals,currContext->exHeap());
+ ExpLOBinterfaceCleanup(exLobGlobals_, currContext->exHeap());
+ exLobGlobals_ = NULL;
 }
 
 short ExExeUtilLobUpdateTcb::work()
@@ -3536,7 +3540,7 @@ short ExExeUtilLobUpdateTcb::work()
   Int64 lobLen = lobTdb().updateSize();
   char * data = (char *)(lobTdb().getBufAddr());
  
-  ExLobGlobals * lobGlobs = getLobGlobals()->lobAccessGlobals();
+  ExLobGlobals * lobGlobs = getLobGlobals();
 
   while (1)
     {
@@ -3660,7 +3664,7 @@ short ExExeUtilLobUpdateTcb::work()
                                             lobHandle_,
                                             &outHandleLen, outLobHandle,
                                             requestTag,
-                                            getLobGlobals()->xnId(),
+                                            -1,
                                             0,
                                             1,
                                             so,
@@ -3756,7 +3760,7 @@ short ExExeUtilLobUpdateTcb::work()
                                             lobHandle_,
                                             &outHandleLen, outLobHandle,
                                             requestTag,
-                                            getLobGlobals()->xnId(),
+                                            -1,
                                             0,
                                             1,
                                             so,
@@ -3854,7 +3858,7 @@ short ExExeUtilLobUpdateTcb::work()
                                             lobHandle_,
                                             &outHandleLen, outLobHandle,
                                             requestTag,
-                                            getLobGlobals()->xnId(),
+                                            -1,
                                             0,
                                             1,
                                             so,
@@ -3982,7 +3986,7 @@ short ExExeUtilFileExtractTcb::work()
 
   
 
-  ExLobGlobals * lobGlobs = getLobGlobals()->lobAccessGlobals();
+  ExLobGlobals * lobGlobs = getLobGlobals();
 
   while (1)
     {
@@ -4235,7 +4239,7 @@ short ExExeUtilFileLoadTcb::work()
 
   
 
-  ExLobGlobals * lobGlobs = getLobGlobals()->lobAccessGlobals();
+  ExLobGlobals * lobGlobs = getLobGlobals();
 
   while (1)
     {

http://git-wip-us.apache.org/repos/asf/trafodion/blob/701b2799/core/sql/executor/ex_globals.cpp
----------------------------------------------------------------------
diff --git a/core/sql/executor/ex_globals.cpp b/core/sql/executor/ex_globals.cpp
index e6f5252..0c81fdc 100644
--- a/core/sql/executor/ex_globals.cpp
+++ b/core/sql/executor/ex_globals.cpp
@@ -63,7 +63,8 @@ ex_globals::ex_globals(short num_temps,
        planVersion_(0),
        jmpInScope_(FALSE),
        sharedPool_(NULL),
-       rowNum_(1)
+       rowNum_(1),
+       exLobGlobals_(NULL)
 {
   // Small data items are allocated using space rather than heap so that
   // the allocation of memory for the heap can be avoided in simple queries.
@@ -81,19 +82,17 @@ ex_globals::ex_globals(short num_temps,
 	tempList_[i] = NULL;
     }
 
-  
-  lobGlobals_ = new(heap_) LOBglobals(heap_);
 }
 
 ExLobGlobals *&ex_globals::getExLobGlobal() 
 { 
-   return lobGlobals()->lobAccessGlobals(); 
+  return exLobGlobals_;
 }
 
 void ex_globals::initLOBglobal(ContextCli *context)
 {
   // initialize lob interface
-  ExpLOBoper::initLOBglobal(getExLobGlobal(), (NAHeap *)heap_, context, (char *)"default", (Int32)0);
+  ExpLOBoper::initLOBglobal(exLobGlobals_, (NAHeap *)heap_, context, (char *)"default", (Int32)0);
 
 }
 
@@ -106,8 +105,7 @@ void ex_globals::reAllocate(short create_gui_sched)
   tempList_ = NULL;
   
   tcbList_.allocate(0);
-
-  lobGlobals_ = new(heap_) LOBglobals(heap_);
+  exLobGlobals_ = NULL;
 }
 
 void ex_globals::deleteMe(NABoolean fatalError)
@@ -137,8 +135,6 @@ void ex_globals::deleteMe(NABoolean fatalError)
   statsArea_ = NULL;
   cleanupTcbs();
   tcbList_.deallocate();
-  NADELETE(lobGlobals_,LOBglobals,heap_);
-  lobGlobals_ = NULL;
 }
 
 void ex_globals::deleteMemory(void *mem)

http://git-wip-us.apache.org/repos/asf/trafodion/blob/701b2799/core/sql/executor/ex_globals.h
----------------------------------------------------------------------
diff --git a/core/sql/executor/ex_globals.h b/core/sql/executor/ex_globals.h
index 9a84a73..eeed8df 100644
--- a/core/sql/executor/ex_globals.h
+++ b/core/sql/executor/ex_globals.h
@@ -188,7 +188,6 @@ public:
   inline void setSharedPool(sql_buffer_pool *p) { sharedPool_ = p; }
 
   ExLobGlobals *&getExLobGlobal();
-  LOBglobals * lobGlobals() { return lobGlobals_; }
   
   void initLOBglobal(ContextCli *context);
   
@@ -268,8 +267,7 @@ private:
 
   // pool shared by among PAs under PAPA
   sql_buffer_pool *sharedPool_;
-
-  LOBglobals * lobGlobals_;
+  ExLobGlobals * exLobGlobals_;
 
   // pointer passed to interface methods that store and retrieve lob data
   // from flatfile or hdfs filesystem.

http://git-wip-us.apache.org/repos/asf/trafodion/blob/701b2799/core/sql/exp/ExpLOB.cpp
----------------------------------------------------------------------
diff --git a/core/sql/exp/ExpLOB.cpp b/core/sql/exp/ExpLOB.cpp
index ec69403..c4336f4 100644
--- a/core/sql/exp/ExpLOB.cpp
+++ b/core/sql/exp/ExpLOB.cpp
@@ -824,7 +824,7 @@ ex_expr::exp_return_type ExpLOBiud::insertDesc(char *op_data[],
          tgtLobName, 
          so,
          lobStorageLocation(),lobStorageType(),
-         getExeGlobals()->lobGlobals()->xnId(),
+         -1,
          handleLen, lobHandle,  &outHandleLen_, outLobHandle_,            
          lobData, lobLen, blackBox_, blackBoxLen_,lobMaxSize, getLobMaxChunkMemSize(),getLobGCLimit()); 
         
@@ -841,7 +841,7 @@ else
      &outHandleLen_, outLobHandle_,
      blackBoxLen_, blackBox_,
      requestTag_,
-     getExeGlobals()->lobGlobals()->xnId(),
+     -1,
      descSyskey,
      lo,
      &cliError,
@@ -882,12 +882,6 @@ else
 
   getOperand(0)->setVarLength(handleLen, op_data[-MAX_OPERANDS]);
 
-  if (NOT fromExternal())
-    {
-      getExeGlobals()->lobGlobals()->lobLoadInfo()->
-	setLobHandle(lobNum(), handleLen, lobHandle);
-    }
-
   return ex_expr::EXPR_OK;
 }
 
@@ -996,7 +990,7 @@ ex_expr::exp_return_type ExpLOBiud::insertData(Lng32 handleLen,
 				 blackBoxLen_, blackBox_,
 
 				 requestTag_,
-				 getExeGlobals()->lobGlobals()->xnId(),
+				 -1,
 				 
 				 descSyskey, 
 				 lo,
@@ -1114,7 +1108,7 @@ ex_expr::exp_return_type ExpLOBdelete::eval(char *op_data[],
      lobStorageLocation(),
      handleLen, op_data[1],
      requestTag_,
-     getExeGlobals()->lobGlobals()->xnId(),
+     -1,
      descSyskey,
      //     (getExeGlobals()->lobGlobals()->getCurrLobOperInProgress() ? 1 : 0),
      (lobOperStatus == CHECK_STATUS_ ? 1 : 0),
@@ -1354,7 +1348,7 @@ ex_expr::exp_return_type ExpLOBupdate::eval(char *op_data[],
 	 handleLen, lobHandle,
 	 &outHandleLen_, outLobHandle_,
 	 requestTag_,
-	 getExeGlobals()->lobGlobals()->xnId(),
+	 -1,
 	 
 	 (lobOperStatus == CHECK_STATUS_ ? 1 : 0),
 	 waitedOp,
@@ -1377,7 +1371,7 @@ ex_expr::exp_return_type ExpLOBupdate::eval(char *op_data[],
 	 handleLen, lobHandle,
 	 &outHandleLen_, outLobHandle_,
 	 requestTag_,
-	 getExeGlobals()->lobGlobals()->xnId(),
+	 -1,
 	 
 	 (lobOperStatus == CHECK_STATUS_ ? 1 : 0),
 	 waitedOp,
@@ -1551,7 +1545,7 @@ ex_expr::exp_return_type ExpLOBconvert::eval(char *op_data[],
 				 handleLen, lobHandle,
 				 requestTag_,
                                  so,
-				 getExeGlobals()->lobGlobals()->xnId(),
+				 -1,
 				 (lobOperStatus == CHECK_STATUS_ ? 1 : 0),
  				 waitedOp,
 
@@ -1576,7 +1570,7 @@ ex_expr::exp_return_type ExpLOBconvert::eval(char *op_data[],
 				 handleLen, lobHandle,
 				 requestTag_,
                                  so,
-				 getExeGlobals()->lobGlobals()->xnId(),
+				 -1,
 				 (lobOperStatus == CHECK_STATUS_ ? 1 : 0),
  				 waitedOp,
 
@@ -1713,62 +1707,6 @@ ex_expr::exp_return_type ExpLOBconvertHandle::eval(char *op_data[],
   return ex_expr::EXPR_OK;
 }
 
-////////////////////////////////////////////////////////
-// ExpLOBload
-////////////////////////////////////////////////////////
-ExpLOBload::ExpLOBload(){};
-ExpLOBload::ExpLOBload(OperatorTypeEnum oper_type,
-		       Lng32 numAttrs,
-		       Attributes ** attr, 
-		       Int64 objectUID,
-		       short descSchNameLen,
-		       char * descSchName,
-		       Space * space)
-  : ExpLOBinsert(oper_type, numAttrs,attr, objectUID, 
-		 descSchNameLen, descSchName, space),
-    llFlags_(0)
-{
-};
-
-void ExpLOBload::displayContents(Space * space, const char * displayStr, 
-				 Int32 clauseNum, char * constsArea)
-
-{
-  ExpLOBoper::displayContents(space, "ExpLOBload", clauseNum, constsArea);
-
-}
-
-ex_expr::exp_return_type ExpLOBload::eval(char *op_data[],
-					  CollHeap*h,
-					  ComDiagsArea** diagsArea)
-{
-  ex_expr::exp_return_type err = ex_expr::EXPR_OK;
-
-  char * handle =
-    getExeGlobals()->lobGlobals()->lobLoadInfo()->lobHandle(lobNum());
-  Lng32 handleLen =
-    getExeGlobals()->lobGlobals()->lobLoadInfo()->lobHandleLen(lobNum());
-
-  if (handle == NULL)
-    return ex_expr::EXPR_ERROR;
-  
-  if (fromLoad())
-    {
-      char * clientFile = op_data[1];
-      // call ExLoadApi
-      Lng32 rc = LOBsql2loaderInterface
-	(clientFile, strlen(clientFile),
-	 (char*)"loaderPort", strlen("loaderPort"),
-	 handle, handleLen,
-	 lobStorageLocation(), strlen(lobStorageLocation()));
-    }
-  else
-    {
-      err = insertData(handleLen, handle, op_data, h, diagsArea);
-    }
-
-  return err;
-}
 
 //////////////////////////////////////////////////
 // ExpLOBfunction

http://git-wip-us.apache.org/repos/asf/trafodion/blob/701b2799/core/sql/exp/ExpLOB.h
----------------------------------------------------------------------
diff --git a/core/sql/exp/ExpLOB.h b/core/sql/exp/ExpLOB.h
index f475461..f8a40cd 100644
--- a/core/sql/exp/ExpLOB.h
+++ b/core/sql/exp/ExpLOB.h
@@ -49,122 +49,6 @@ class ExLobGlobals;
 
 
 class ExLobInMemoryDescChunksEntry;
-////////////////////////////////
-// class LOBglobals
-////////////////////////////////
-class LobLoadInfo
-{
- private:
-  class LobLoadEntry
-  {
-  public:
-    LobLoadEntry() 
-      { 
-	handle_ = NULL; 
-	handleLen_ = 0;
-      };
-    
-    char* &handle() { return handle_; }
-    Lng32 &handleLen() { return handleLen_; }
-
-  private:
-    char *handle_;
-    Lng32 handleLen_;
-  };
-
- public:
-  LobLoadInfo(CollHeap * heap)
-    : heap_(heap)
-    , lobEntryList_(heap)
-  {};
-  ~LobLoadInfo(){}
-  void setLobLoadEntries(Lng32 num)
-  {
-  }
-
-  void setLobHandle(Lng32 pos, Lng32 handleLen, char * handle) 
-  {
-    if (lobEntryList_.used(pos))
-      {
-	NADELETEBASIC(lobEntryList_[pos]->handle(), heap_);
-      }
-    else
-      {
-	LobLoadEntry* lle = new(heap_) LobLoadEntry();
-	lobEntryList_.insertAt(pos, lle);
-      }
-
-    lobEntryList_[pos]->handleLen() = handleLen;
-    lobEntryList_[pos]->handle() = new(heap_) char[handleLen];
-    str_cpy_all(lobEntryList_[pos]->handle(), handle, handleLen);
-  }
-
-  char * lobHandle(Lng32 pos) 
-  { 
-    if (lobEntryList_.used(pos))
-      return lobEntryList_[pos]->handle(); 
-    else
-      return NULL;
-  };
-
-  Lng32 lobHandleLen(Lng32 pos) 
-  { 
-    if (lobEntryList_.used(pos))
-      return lobEntryList_[pos]->handleLen(); 
-    else
-      return -1;
-  };
-
- private:
-  CollHeap * heap_;
-
-  NAArray<LobLoadEntry*> lobEntryList_;
-};
-  
-class LOBglobals : public NABasicObject {
- public:
- LOBglobals(CollHeap * heap) : heap_(heap),
-    lobAccessGlobals_(NULL),
-    xnId_(-1),
-    lobOperInProgressList_(heap)
-      {
-	lobLoadInfo_ = new(heap) LobLoadInfo(heap);
-      };
-  ~LOBglobals() { NADELETE(lobLoadInfo_,LobLoadInfo,heap_); lobLoadInfo_=NULL;}
-  ExLobGlobals* &lobAccessGlobals() { return lobAccessGlobals_; };
-  LobLoadInfo * lobLoadInfo() { return lobLoadInfo_; }
-
-  Int64 &xnId() { return xnId_; };
-
-  void setLobOperInProgress(Lng32 pos, NABoolean v) 
-  {
-    if (lobOperInProgressList_.used(pos))
-      lobOperInProgressList_[pos] = (v ? 1 : 0);
-    else
-      lobOperInProgressList_.insertAt(pos, v);
-  }
-
-  NABoolean getLobOperInProgress(Lng32 pos)
-  {
-    return (lobOperInProgressList_[pos] != 0);
-  }
-
-  void setCurrLobOperInProgress(NABoolean v) { currLobOperInProgress_ = v; }
-  NABoolean getCurrLobOperInProgress() { return currLobOperInProgress_; }
- private:
-  CollHeap * heap_;
-  ExLobGlobals * lobAccessGlobals_;
-  LobLoadInfo * lobLoadInfo_;
-
-  // transaction id of the current transaction in progress.
-  // -1, if no transaction is associated with the current request.
-  Int64 xnId_;
-
-  NAArray<Lng32> lobOperInProgressList_;
-
-  NABoolean currLobOperInProgress_;
- 
-};
 
 
 /////////////////////////////////////////
@@ -905,49 +789,7 @@ public:
   char  filler1_[4];
 };
 
-class ExpLOBload : public ExpLOBinsert {
-public:
-  ExpLOBload(OperatorTypeEnum oper_type,
-	     Lng32 numAttrs,
-	     Attributes ** attr, 
-	     Int64 objectUID,
-	     short descSchNameLen,
-	     char * descSchName,
-	     Space * space);
-  ExpLOBload();
-
-  virtual ex_expr::exp_return_type eval(char *op_data[],
-					CollHeap*,
-					ComDiagsArea** diagsArea = 0);
-  
-  // Display
-  //
-  virtual void displayContents(Space * space, const char * displayStr, 
-			       Int32 clauseNum, char * constsArea);
-
-  // ---------------------------------------------------------------------
-  // Redefinition of methods inherited from NAVersionedObject.
-  // ---------------------------------------------------------------------
-  virtual unsigned char getClassVersionID()
-  {
-    return 1;
-  }
-
-  virtual void populateImageVersionIDArray()
-  {
-    setImageVersionID(2,getClassVersionID());
-    ExpLOBoper::populateImageVersionIDArray();
-  }
-
-  virtual short getClassSize() { return (short)sizeof(*this); }
-  // ---------------------------------------------------------------------
-
- private:
-
-  Lng32 llFlags_;
-  char  filler1_[4];
-};
-
+	   
 /////////////////////////////////////////
 // Class ExpLOBfunction                //
 /////////////////////////////////////////

http://git-wip-us.apache.org/repos/asf/trafodion/blob/701b2799/core/sql/exp/exp_clause.cpp
----------------------------------------------------------------------
diff --git a/core/sql/exp/exp_clause.cpp b/core/sql/exp/exp_clause.cpp
index 3de521b..503ad7c 100644
--- a/core/sql/exp/exp_clause.cpp
+++ b/core/sql/exp/exp_clause.cpp
@@ -574,8 +574,8 @@ ex_clause::ex_clause(clause_type type,
 	case ITM_LOBCONVERTHANDLE:
 	  setClassID(LOB_CONVERTHANDLE);
 	  break;
-	case ITM_LOBLOAD:
-	  setClassID(LOB_LOAD);
+          /*	case ITM_LOBLOAD:
+                setClassID(LOB_LOAD);*/
 	  break;
 	case ITM_SUBSTR:
 	  setClassID(LOB_FUNC_SUBSTR);
@@ -972,9 +972,6 @@ char *ex_clause::findVTblPtr(short classID)
     case ex_clause::LOB_CONVERTHANDLE:
       GetVTblPtr(vtblPtr, ExpLOBconvertHandle);
       break;
-    case ex_clause::LOB_LOAD:
-      GetVTblPtr(vtblPtr, ExpLOBload);
-      break;
     case ex_clause::LOB_FUNC_SUBSTR:
       GetVTblPtr(vtblPtr, ExpLOBfuncSubstring);
       break;
@@ -1405,7 +1402,6 @@ const char * getOperTypeEnumAsString(Int16 /*OperatorTypeEnum*/ ote)
     case ITM_LOBUPDATE: return "ITM_LOBUPDATE";
     case ITM_LOBCONVERT: return "ITM_LOBCONVERT";
     case ITM_LOBCONVERTHANDLE: return "ITM_LOBCONVERTHANDLE";
-    case ITM_LOBLOAD: return "ITM_LOBLOAD";
 
     case ITM_UNIQUE_EXECUTE_ID: return "ITM_UNIQUE_EXECUTE_ID";
     case ITM_GET_TRIGGERS_STATUS: return "ITM_GET_TRIGGERS_STATUS";

http://git-wip-us.apache.org/repos/asf/trafodion/blob/701b2799/core/sql/generator/GenItemFunc.cpp
----------------------------------------------------------------------
diff --git a/core/sql/generator/GenItemFunc.cpp b/core/sql/generator/GenItemFunc.cpp
index f1c4618..9821e4a 100644
--- a/core/sql/generator/GenItemFunc.cpp
+++ b/core/sql/generator/GenItemFunc.cpp
@@ -2824,43 +2824,6 @@ short LOBconvert::codeGen(Generator * generator)
   return 0;
 }
 
-short LOBload::codeGen(Generator * generator)
-{
-  Attributes ** attr;
-  
-  Space * space = generator->getSpace();
-  
-  if (generator->getExpGenerator()->genItemExpr(this, &attr, (1 + getArity()), -1) == 1)
-    return 0;
-
-  ExpLOBload * ll =
-    new(generator->getSpace()) ExpLOBload
-    (getOperatorType(), 
-     getArity()+1,
-     attr, 
-     objectUID_,
-     (short)insertedTableSchemaName().length(),
-     (char*)insertedTableSchemaName().data(),
-     space);
-  
-  if (obj_ == LOBoper::STRING_)
-    ll->setFromString(TRUE);
-  else if (obj_ == LOBoper::FILE_)
-    ll->setFromFile(TRUE);
-  else if (obj_ == LOBoper::LOAD_)
-    ll->setFromLoad(TRUE);
-  else if (obj_ == LOBoper::LOB_)
-    ll->setFromLob(TRUE);
-  
-
-  ll->lobNum() = lobNum();
-  ll->setLobStorageType(lobStorageType());
-  ll->setLobStorageLocation((char*)lobStorageLocation().data());
-  
-  generator->getExpGenerator()->linkClause(this, ll);
- return 0;
-}
- 
 
 short SequenceValue::codeGen(Generator * generator)
 {

http://git-wip-us.apache.org/repos/asf/trafodion/blob/701b2799/core/sql/optimizer/ItemExpr.cpp
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/ItemExpr.cpp b/core/sql/optimizer/ItemExpr.cpp
index 732dfde..c791a92 100644
--- a/core/sql/optimizer/ItemExpr.cpp
+++ b/core/sql/optimizer/ItemExpr.cpp
@@ -12828,18 +12828,6 @@ ItemExpr * LOBconvertHandle::copyTopNode(ItemExpr *derivedNode, CollHeap* outHea
   return LOBoper::copyTopNode(result, outHeap);
 }
 
-ItemExpr * LOBload::copyTopNode(ItemExpr *derivedNode, CollHeap* outHeap)
-{
-  ItemExpr *result;
-
-  if (derivedNode == NULL)
-    result = new (outHeap) LOBload(NULL, obj_);
-  else
-    result = derivedNode;
-
-  return LOBinsert::copyTopNode(result, outHeap);
-}
-
 ItemExpr * LOBextract::copyTopNode(ItemExpr *derivedNode, CollHeap* outHeap)
 {
   ItemExpr *result;

http://git-wip-us.apache.org/repos/asf/trafodion/blob/701b2799/core/sql/optimizer/ItemFunc.h
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/ItemFunc.h b/core/sql/optimizer/ItemFunc.h
index c60447d..0435521 100644
--- a/core/sql/optimizer/ItemFunc.h
+++ b/core/sql/optimizer/ItemFunc.h
@@ -3137,23 +3137,6 @@ class LOBconvertHandle : public LOBoper
  private:
 }; // class LOBconvertHandle
 
-class LOBload : public LOBinsert
-{
- public:
-  
- LOBload(ItemExpr *val1Ptr, ObjectType fromObj)
-   : LOBinsert(val1Ptr, NULL, fromObj, FALSE, ITM_LOBLOAD)
-    {};
-  
-  // copyTopNode method
-  virtual ItemExpr * copyTopNode(ItemExpr *derivedNode = NULL,
-				 CollHeap* outHeap = 0);
-  
-  // method to do code generation
-  virtual short codeGen(Generator*);
-
- private:
-}; // class LOBload
 
 class LOBextract : public LOBoper
 {


[2/3] trafodion git commit: Remove commented out lines.

Posted by sa...@apache.org.
Remove commented out lines.


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

Branch: refs/heads/master
Commit: 2e30aad46fb2c7b088c283c1bef1585494883130
Parents: 701b279
Author: Sandhya Sundaresan <sa...@apache.org>
Authored: Wed Jan 3 21:26:17 2018 +0000
Committer: Sandhya Sundaresan <sa...@apache.org>
Committed: Wed Jan 3 21:26:17 2018 +0000

----------------------------------------------------------------------
 core/sql/exp/exp_clause.cpp | 3 ---
 1 file changed, 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafodion/blob/2e30aad4/core/sql/exp/exp_clause.cpp
----------------------------------------------------------------------
diff --git a/core/sql/exp/exp_clause.cpp b/core/sql/exp/exp_clause.cpp
index 503ad7c..796e2e5 100644
--- a/core/sql/exp/exp_clause.cpp
+++ b/core/sql/exp/exp_clause.cpp
@@ -574,9 +574,6 @@ ex_clause::ex_clause(clause_type type,
 	case ITM_LOBCONVERTHANDLE:
 	  setClassID(LOB_CONVERTHANDLE);
 	  break;
-          /*	case ITM_LOBLOAD:
-                setClassID(LOB_LOAD);*/
-	  break;
 	case ITM_SUBSTR:
 	  setClassID(LOB_FUNC_SUBSTR);
 	  break;


[3/3] trafodion git commit: Merge remote branch 'origin/pr/1365/head' into merge_1365

Posted by sa...@apache.org.
Merge remote branch 'origin/pr/1365/head' into merge_1365


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

Branch: refs/heads/master
Commit: d08a0819f6f7fd265e60a2f303a282f02aa4d5d1
Parents: 6be0b22 2e30aad
Author: Sandhya Sundaresan <sa...@apache.org>
Authored: Thu Jan 4 18:25:27 2018 +0000
Committer: Sandhya Sundaresan <sa...@apache.org>
Committed: Thu Jan 4 18:25:27 2018 +0000

----------------------------------------------------------------------
 core/sql/executor/ExExeUtil.h       |   8 +-
 core/sql/executor/ExExeUtilLoad.cpp |  52 +++++-----
 core/sql/executor/ex_globals.cpp    |  14 +--
 core/sql/executor/ex_globals.h      |   4 +-
 core/sql/exp/ExpLOB.cpp             |  78 ++-------------
 core/sql/exp/ExpLOB.h               | 160 +------------------------------
 core/sql/exp/exp_clause.cpp         |   7 --
 core/sql/generator/GenItemFunc.cpp  |  37 -------
 core/sql/optimizer/ItemExpr.cpp     |  12 ---
 core/sql/optimizer/ItemFunc.h       |  17 ----
 10 files changed, 47 insertions(+), 342 deletions(-)
----------------------------------------------------------------------