You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafodion.apache.org by db...@apache.org on 2016/01/29 18:45:50 UTC

[1/2] incubator-trafodion git commit: [TRAFODION-1779] Non-optimal plan chosen for a query against the created table in the same session

Repository: incubator-trafodion
Updated Branches:
  refs/heads/master 110bce7de -> 7fec7ad3d


[TRAFODION-1779] Non-optimal plan chosen for a query against the created table
in the same session

The CQD TRAF_RELOAD_NATABLE_CACHE can be turned on to invalidate the cache entry.

The usage will be as follows:
create table t1 ..
load into table t1 .. -->This adds the table t1 to NATable cache with estimated row count as 100
cqd traf_reload_natable_cache 'on' ;
select * from t1 -->The non-metadata table accessed by this query will be invalidated from
the NATable cache and reloaded
cqd traf_reload_natable_cache 'off'

Also removed the use of this CQD in the DDL portion of the codes because it was never used.
This CQD was used prior to introduction of query invalidation feature.


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

Branch: refs/heads/master
Commit: 91031ce94ea16ddb2e64f7c18ae3647f6e958583
Parents: 02c6c32
Author: selvaganesang <se...@esgyn.com>
Authored: Wed Jan 27 01:27:01 2016 +0000
Committer: selvaganesang <se...@esgyn.com>
Committed: Wed Jan 27 01:27:01 2016 +0000

----------------------------------------------------------------------
 core/sql/optimizer/NATable.cpp           |  7 ++---
 core/sql/regress/core/EXPECTED005.SB     |  2 +-
 core/sql/sqlcomp/CmpDescribe.cpp         |  8 -----
 core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp | 14 ++-------
 core/sql/sqlcomp/CmpSeabaseDDLschema.cpp | 11 +------
 core/sql/sqlcomp/CmpSeabaseDDLtable.cpp  | 43 ---------------------------
 6 files changed, 6 insertions(+), 79 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/91031ce9/core/sql/optimizer/NATable.cpp
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/NATable.cpp b/core/sql/optimizer/NATable.cpp
index 0b01dc2..88036c6 100644
--- a/core/sql/optimizer/NATable.cpp
+++ b/core/sql/optimizer/NATable.cpp
@@ -7864,12 +7864,9 @@ NATable * NATableDB::get(CorrName& corrName, BindWA * bindWA,
       table = NULL;
     }
 
-  if (0) //(table && (corrName.isHbase() || corrName.isSeabase()))
+  if (table && ((table->isHbaseTable() || table->isSeabaseTable()) && !(table->isSeabaseMDTable())))
     {
-      const NAString * val =
-	ActiveControlDB()->getControlSessionValue("SHOWPLAN");
-      if ( ( (val) && (*val == "ON") ) &&
-	   (CmpCommon::getDefault(TRAF_RELOAD_NATABLE_CACHE) == DF_ON))
+      if ((CmpCommon::getDefault(TRAF_RELOAD_NATABLE_CACHE) == DF_ON))
 	{
 	  remove(table->getKey());
 	  table = NULL;

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/91031ce9/core/sql/regress/core/EXPECTED005.SB
----------------------------------------------------------------------
diff --git a/core/sql/regress/core/EXPECTED005.SB b/core/sql/regress/core/EXPECTED005.SB
index ed22546..6a200c8 100644
--- a/core/sql/regress/core/EXPECTED005.SB
+++ b/core/sql/regress/core/EXPECTED005.SB
@@ -1568,7 +1568,7 @@ NUM_LOOKUPS  NUM_CACHE_HITS  NUM_ENTRIES  MAX_CACHE_SIZE
 NUM_LOOKUPS  NUM_CACHE_HITS  NUM_ENTRIES  MAX_CACHE_SIZE
 -----------  --------------  -----------  --------------
 
-        170             136            0        20971520
+        165             135            0        20971520
 
 --- 1 row(s) selected.
 >>

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/91031ce9/core/sql/sqlcomp/CmpDescribe.cpp
----------------------------------------------------------------------
diff --git a/core/sql/sqlcomp/CmpDescribe.cpp b/core/sql/sqlcomp/CmpDescribe.cpp
index aa55e0d..480853b 100644
--- a/core/sql/sqlcomp/CmpDescribe.cpp
+++ b/core/sql/sqlcomp/CmpDescribe.cpp
@@ -1690,10 +1690,6 @@ static short CmpDescribePlan(
   if (retcode)
     return (short)retcode;
 
-  retcode = exeImmedCQD("TRAF_RELOAD_NATABLE_CACHE", TRUE);
-  if (retcode)
-    return (short)retcode;
-
   // send control session to indicate showplan is being done
   retcode = exeImmedOneStmt("CONTROL SESSION SET 'SHOWPLAN' 'ON';");
   if (retcode)
@@ -1763,8 +1759,6 @@ static short CmpDescribePlan(
   if (retcode)
     goto label_error;
         
-  resetRetcode  = exeImmedCQD("TRAF_RELOAD_NATABLE_CACHE", FALSE);
-
    // free up resources
   retcode = SQL_EXEC_DeallocDesc(&sql_src);
   if (retcode)
@@ -1782,8 +1776,6 @@ static short CmpDescribePlan(
     resetRetcode = exeImmedOneStmt("CONTROL SESSION RESET 'SHOWPLAN';");
 
  label_error:
-    resetRetcode  = exeImmedCQD("TRAF_RELOAD_NATABLE_CACHE", FALSE);
-
     return ((retcode < 0) ? -1 : (short)retcode);
 } // CmpDescribePlan
 

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/91031ce9/core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp
----------------------------------------------------------------------
diff --git a/core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp b/core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp
index 4bb9e85..d6470fa 100644
--- a/core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp
+++ b/core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp
@@ -8859,15 +8859,6 @@ bool CmpSeabaseDDL::dropOneTableorView(
 
 char buf [1000];
 
-Lng32 cliRC = cliInterface.holdAndSetCQD("TRAF_RELOAD_NATABLE_CACHE", "ON");
-
-   if (cliRC < 0)
-   {
-      cliInterface.retrieveSQLDiagnostics(CmpCommon::diags());
-      
-      return false;
-   }
-
 bool someObjectsCouldNotBeDropped = false;
 
 char volatileString[20] = {0};
@@ -8892,7 +8883,8 @@ char objectTypeString[20] = {0};
                volatileString,objectTypeString,objectName);
                
 // Save the current parserflags setting
-ULng32 savedParserFlags = Get_SqlParser_Flags(0xFFFFFFFF);
+   ULng32 savedParserFlags = Get_SqlParser_Flags(0xFFFFFFFF);
+   Lng32 cliRC = 0;
 
    try
    {            
@@ -8914,8 +8906,6 @@ ULng32 savedParserFlags = Get_SqlParser_Flags(0xFFFFFFFF);
    if (cliRC < 0 && cliRC != -CAT_OBJECT_DOES_NOT_EXIST_IN_TRAFODION)
       someObjectsCouldNotBeDropped = true;
 
-   cliRC = cliInterface.restoreCQD("TRAF_RELOAD_NATABLE_CACHE");
-
    return someObjectsCouldNotBeDropped;
    
 }

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/91031ce9/core/sql/sqlcomp/CmpSeabaseDDLschema.cpp
----------------------------------------------------------------------
diff --git a/core/sql/sqlcomp/CmpSeabaseDDLschema.cpp b/core/sql/sqlcomp/CmpSeabaseDDLschema.cpp
index 1168371..fc615cb 100644
--- a/core/sql/sqlcomp/CmpSeabaseDDLschema.cpp
+++ b/core/sql/sqlcomp/CmpSeabaseDDLschema.cpp
@@ -1010,18 +1010,10 @@ static bool dropOneTable(
 
 char buf [1000];
 
-Lng32 cliRC = cliInterface.holdAndSetCQD("TRAF_RELOAD_NATABLE_CACHE", "ON");
-
-   if (cliRC < 0)
-   {
-      cliInterface.retrieveSQLDiagnostics(CmpCommon::diags());
-      
-      return false;
-   }
-
 bool someObjectsCouldNotBeDropped = false;
 
 char volatileString[20] = {0};
+Lng32 cliRC = 0;
 
    if (isVolatile)
       strcpy(volatileString,"VOLATILE");
@@ -1060,7 +1052,6 @@ ULng32 savedParserFlags = Get_SqlParser_Flags(0xFFFFFFFF);
 
    ActiveSchemaDB()->getNATableDB()->removeNATable(cn,
      NATableDB::REMOVE_FROM_ALL_USERS, COM_BASE_TABLE_OBJECT);
-   cliRC = cliInterface.restoreCQD("TRAF_RELOAD_NATABLE_CACHE");
 
    return someObjectsCouldNotBeDropped;
    

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/91031ce9/core/sql/sqlcomp/CmpSeabaseDDLtable.cpp
----------------------------------------------------------------------
diff --git a/core/sql/sqlcomp/CmpSeabaseDDLtable.cpp b/core/sql/sqlcomp/CmpSeabaseDDLtable.cpp
index b720650..4f8d7a7 100644
--- a/core/sql/sqlcomp/CmpSeabaseDDLtable.cpp
+++ b/core/sql/sqlcomp/CmpSeabaseDDLtable.cpp
@@ -2904,9 +2904,6 @@ short CmpSeabaseDDL::dropSeabaseTable2(
   else
      verifyName = tableName;
 
-  if (CmpCommon::getDefault(TRAF_RELOAD_NATABLE_CACHE) == DF_OFF)
-    ActiveSchemaDB()->getNATableDB()->useCache();
-
  // save the current parserflags setting
   ULng32 savedParserFlags = Get_SqlParser_Flags (0xFFFFFFFF);
   Set_SqlParser_Flags(ALLOW_VOLATILE_SCHEMA_IN_TABLE_NAME);
@@ -3089,17 +3086,6 @@ short CmpSeabaseDDL::dropSeabaseTable2(
       // drop all constraints referencing me.
       if (uniqConstr->hasRefConstraintsReferencingMe())
         {
-          cliRC = cliInterface->holdAndSetCQD("TRAF_RELOAD_NATABLE_CACHE", "ON");
-          if (cliRC < 0)
-            {
-              cliInterface->retrieveSQLDiagnostics(CmpCommon::diags());
-              
-              deallocEHI(ehi); 
-              processReturn();
-              
-              return -1;
-            }
-
           for (Lng32 j = 0; j < uniqConstr->getNumRefConstraintsReferencingMe(); j++)
             {
               const ComplementaryRIConstraint * rc = 
@@ -3118,9 +3104,6 @@ short CmpSeabaseDDL::dropSeabaseTable2(
               if (cliRC < 0)
                 {
                   cliInterface->retrieveSQLDiagnostics(CmpCommon::diags());
-
-                  cliRC = cliInterface->restoreCQD("TRAF_RELOAD_NATABLE_CACHE");
-                  
                   deallocEHI(ehi); 
                   processReturn();
                   
@@ -3128,9 +3111,6 @@ short CmpSeabaseDDL::dropSeabaseTable2(
                 }
               
             } // for
-          
-          cliRC = cliInterface->restoreCQD("TRAF_RELOAD_NATABLE_CACHE");
-          
         } // if
     } // for
 
@@ -4748,24 +4728,12 @@ void CmpSeabaseDDL::alterSeabaseTableAddColumn(
       (alterAddColNode->getAddConstraintUniqueArray().entries() NEQ 0) OR
       (alterAddColNode->getAddConstraintRIArray().entries() NEQ 0))
     {
-      cliRC = cliInterface.holdAndSetCQD("TRAF_RELOAD_NATABLE_CACHE", "ON");
-      if (cliRC < 0)
-        {
-          cliInterface.retrieveSQLDiagnostics(CmpCommon::diags());
-          
-          processReturn();
-          
-          goto label_return;
-        }
-
       addConstraints(tableName, currCatAnsiName, currSchAnsiName,
                      alterAddColNode->getAddConstraintPK(),
                      alterAddColNode->getAddConstraintUniqueArray(),
                      alterAddColNode->getAddConstraintRIArray(),
                      alterAddColNode->getAddConstraintCheckArray());                 
 
-      cliRC = cliInterface.restoreCQD("TRAF_RELOAD_NATABLE_CACHE");
-
       if (CmpCommon::diags()->getNumber(DgSqlCode::ERROR_))
         return;
     }
@@ -5574,8 +5542,6 @@ void CmpSeabaseDDL::alterSeabaseTableAddPKeyConstraint(
       return;
     }
 
-  if (CmpCommon::getDefault(TRAF_RELOAD_NATABLE_CACHE) == DF_OFF)
-    ActiveSchemaDB()->getNATableDB()->useCache();
 
   BindWA bindWA(ActiveSchemaDB(), CmpCommon::context(), FALSE/*inDDL*/);
   CorrName cn(tableName.getObjectNamePart().getInternalName(),
@@ -5859,9 +5825,6 @@ void CmpSeabaseDDL::alterSeabaseTableAddUniqueConstraint(
       return;
     }
 
-  if (CmpCommon::getDefault(TRAF_RELOAD_NATABLE_CACHE) == DF_OFF)
-    ActiveSchemaDB()->getNATableDB()->useCache();
-
   BindWA bindWA(ActiveSchemaDB(), CmpCommon::context(), FALSE/*inDDL*/);
   CorrName cn(tableName.getObjectNamePart().getInternalName(),
               STMTHEAP,
@@ -6091,9 +6054,6 @@ void CmpSeabaseDDL::alterSeabaseTableAddRIConstraint(
       return;
     }
 
-  if (CmpCommon::getDefault(TRAF_RELOAD_NATABLE_CACHE) == DF_OFF)
-    ActiveSchemaDB()->getNATableDB()->useCache();
-
   BindWA bindWA(ActiveSchemaDB(), CmpCommon::context(), FALSE/*inDDL*/);
   CorrName cn(referencingTableName.getObjectNamePart().getInternalName(),
               STMTHEAP,
@@ -6827,9 +6787,6 @@ void CmpSeabaseDDL::alterSeabaseTableAddCheckConstraint(
       return;
     }
 
-  if (CmpCommon::getDefault(TRAF_RELOAD_NATABLE_CACHE) == DF_OFF)
-    ActiveSchemaDB()->getNATableDB()->useCache();
-
   BindWA bindWA(ActiveSchemaDB(), CmpCommon::context(), FALSE/*inDDL*/);
   CorrName cn(tableName.getObjectNamePart().getInternalName(),
               STMTHEAP,


[2/2] incubator-trafodion git commit: [TRAFODION-1779] PR 287 Improve query plans for tables created in same session

Posted by db...@apache.org.
[TRAFODION-1779] PR 287 Improve query plans for tables created in same session


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

Branch: refs/heads/master
Commit: 7fec7ad3d31fee59e20b98e2396c9a00d2367136
Parents: 110bce7 91031ce
Author: Dave Birdsall <db...@apache.org>
Authored: Fri Jan 29 17:43:27 2016 +0000
Committer: Dave Birdsall <db...@apache.org>
Committed: Fri Jan 29 17:45:05 2016 +0000

----------------------------------------------------------------------
 core/sql/optimizer/NATable.cpp           |  7 ++---
 core/sql/regress/core/EXPECTED005.SB     |  2 +-
 core/sql/sqlcomp/CmpDescribe.cpp         |  8 -----
 core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp | 14 ++-------
 core/sql/sqlcomp/CmpSeabaseDDLschema.cpp | 11 +------
 core/sql/sqlcomp/CmpSeabaseDDLtable.cpp  | 43 ---------------------------
 6 files changed, 6 insertions(+), 79 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/7fec7ad3/core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp
----------------------------------------------------------------------