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/07/18 16:20:36 UTC

[11/16] incubator-trafodion git commit: Upgrade repository code changes

Upgrade repository code changes


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

Branch: refs/heads/master
Commit: ff89586c6ce2f4a769f56f439950a735c2556823
Parents: 548f729
Author: Dave Birdsall <db...@apache.org>
Authored: Tue Jun 28 20:36:25 2016 +0000
Committer: Dave Birdsall <db...@apache.org>
Committed: Tue Jun 28 20:36:25 2016 +0000

----------------------------------------------------------------------
 core/sql/common/ComSmallDefs.h           |   3 +
 core/sql/regress/compGeneral/EXPECTED042 |  32 +-
 core/sql/sqlcomp/CmpSeabaseDDLmd.h       |   4 +-
 core/sql/sqlcomp/CmpSeabaseDDLrepos.cpp  |  56 ++-
 core/sql/sqlcomp/CmpSeabaseDDLrepos.h    | 483 ++++++++++++++++++++++++--
 5 files changed, 524 insertions(+), 54 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/ff89586c/core/sql/common/ComSmallDefs.h
----------------------------------------------------------------------
diff --git a/core/sql/common/ComSmallDefs.h b/core/sql/common/ComSmallDefs.h
index 5aa5d57..3b10b16 100644
--- a/core/sql/common/ComSmallDefs.h
+++ b/core/sql/common/ComSmallDefs.h
@@ -188,6 +188,9 @@ typedef NABoolean               ComBoolean;
 // length of explain_plan column in metric_query_table.
 // explain_plan greater than this length are chunked and store in multiple
 // rows in metric_text_table
+// Note: This symbol is used in the DDL for the Repository tables.
+// If you change it, consider whether the Repository tables will need
+// an upgrade. See file sqlcomp/CmpSeabaseDDLrepos.h.
 #define REPOS_MAX_EXPLAIN_PLAN_LEN 1000000
 #define REPOS_MAX_EXPLAIN_PLAN_LEN_STR "1000000"
 

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/ff89586c/core/sql/regress/compGeneral/EXPECTED042
----------------------------------------------------------------------
diff --git a/core/sql/regress/compGeneral/EXPECTED042 b/core/sql/regress/compGeneral/EXPECTED042
index 55fb89e..f8eebdd 100644
--- a/core/sql/regress/compGeneral/EXPECTED042
+++ b/core/sql/regress/compGeneral/EXPECTED042
@@ -1,9 +1,9 @@
 >>showstats for table t042_orderline on ol_o_id detail;
 
 Detailed Histogram data for Table TRAFODION.ORDERENTRY.T042_ORDERLINE
-Table ID: 2761910211648663657
+Table ID: 7880838154057526438
 
-Hist ID:    1309682661
+Hist ID:    1934502880
 Column(s):  OL_O_ID
 Total Rows: 10
 Total UEC:  4
@@ -1788,15 +1788,19 @@ HQC key=SELECT T . VARCHAR0_UNIQ AS T_VARCHAR0_UNIQ , T . CHAR2_2 AS T_CHAR2_2 ,
 >>
 >>-- test compile time
 >>
+>>sh more /proc/loadavg  | cut -d' ' -f 1-3 | sed -e 's/^/System load: /' >> LOG042;
+System load: 0.87 0.49 0.33
+>>sh grep "model name" /proc/cpuinfo | head -1 | cut -d '@' -f 2 | sed -e 's/^/CPU frequency: /' >> LOG042;
+CPU frequency: model name	: Intel Core Processor (Haswell)
 >>set statistics on;
 >>prepare xx from select * from t042_orderline where ol_o_id = 1 ;
 
 --- SQL command prepared.
 
-Start Time             2015/09/24 16:38:19.189001
-End Time               2015/09/24 16:38:19.191810
-Elapsed Time                      00:00:00.002809
-Compile Time                      00:00:00.002809
+Start Time             2016/06/28 15:43:44.041291
+End Time               2016/06/28 15:43:44.043414
+Elapsed Time                      00:00:00.002123
+Compile Time                      00:00:00.002123
 Execution Time                    00:00:00.000000
 
 
@@ -1827,10 +1831,10 @@ HQC key=SELECT * FROM T042_ORDERLINE WHERE OL_O_ID = #NP# ;
 
 --- SQL command prepared.
 
-Start Time             2015/09/24 16:38:19.332484
-End Time               2015/09/24 16:38:19.335346
-Elapsed Time                      00:00:00.002862
-Compile Time                      00:00:00.002862
+Start Time             2016/06/28 15:43:44.260898
+End Time               2016/06/28 15:43:44.263812
+Elapsed Time                      00:00:00.002914
+Compile Time                      00:00:00.002914
 Execution Time                    00:00:00.000000
 
 
@@ -2218,9 +2222,9 @@ NUM_HKEYS   NUM_SKEYS   NUM_MAX_VALUES_PER_KEY  NUM_HASH_TABLE_BUCKETS
 ----------  ----------  -------------  --------------
 
        134           0              1               0
-       134           0              1               0
-       134           1              1               0
        134           1              1               0
+       142           0              1               0
+       142           1              1               0
        150           2              3               0
        150           3              3               0
        187           0              4               0
@@ -2312,9 +2316,9 @@ NUM_HKEYS   NUM_SKEYS   NUM_MAX_VALUES_PER_KEY  NUM_HASH_TABLE_BUCKETS
         90           0              0               3
         98           1              1               0
        134           0              1               0
-       134           0              1               0
-       134           1              1               0
        134           1              1               0
+       142           0              1               0
+       142           1              1               0
        150           2              3               0
        150           3              3               0
        187           0              4               0

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/ff89586c/core/sql/sqlcomp/CmpSeabaseDDLmd.h
----------------------------------------------------------------------
diff --git a/core/sql/sqlcomp/CmpSeabaseDDLmd.h b/core/sql/sqlcomp/CmpSeabaseDDLmd.h
index 41a1499..83d72c5 100644
--- a/core/sql/sqlcomp/CmpSeabaseDDLmd.h
+++ b/core/sql/sqlcomp/CmpSeabaseDDLmd.h
@@ -65,8 +65,8 @@ public:
 ///////////////////////////////////////////////////////////////////////////////
 // *** Current Definition ***
 //
-// Current metadata tables definition for Metadata Version 2.3
-//  (Major version = 2, Minor version = 3)
+// Current metadata tables definition for Metadata Version 2.1
+//  (Major version = 2, Minor version = 1)
 ///////////////////////////////////////////////////////////////////////////////
 
 static const QString seabaseAuthsDDL[] =

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/ff89586c/core/sql/sqlcomp/CmpSeabaseDDLrepos.cpp
----------------------------------------------------------------------
diff --git a/core/sql/sqlcomp/CmpSeabaseDDLrepos.cpp b/core/sql/sqlcomp/CmpSeabaseDDLrepos.cpp
index 89b2f8c..bc39c8d 100644
--- a/core/sql/sqlcomp/CmpSeabaseDDLrepos.cpp
+++ b/core/sql/sqlcomp/CmpSeabaseDDLrepos.cpp
@@ -140,7 +140,7 @@ short CmpSeabaseDDL::dropRepos(ExeCliInterface * cliInterface,
                                NABoolean dropSchema)
 {
   Lng32 cliRC = 0;
-
+  NABoolean xnWasStartedHere = FALSE;
   char queryBuf[1000];
 
   for (Int32 i = 0; i < sizeof(allReposUpgradeInfo)/sizeof(MDUpgradeInfo); i++)
@@ -153,18 +153,34 @@ short CmpSeabaseDDL::dropRepos(ExeCliInterface * cliInterface,
       str_sprintf(queryBuf, "drop table %s.\"%s\".%s cascade; ",
                   getSystemCatalog(), SEABASE_REPOS_SCHEMA,
                   (oldRepos ? rti.oldName : rti.newName));
-      
+    
+      if (beginXnIfNotInProgress(cliInterface, xnWasStartedHere))
+        {
+          cliInterface->retrieveSQLDiagnostics(CmpCommon::diags());
+          return -1;
+        }    
+
       cliRC = cliInterface->executeImmediate(queryBuf);
-      if (cliRC == -1389)  // table doesnt exist
+      if (cliRC == -1389)  // table doesn't exist
 	{
 	  // ignore the error.
-          //          CmpCommon::diags()->clear();
+          cliRC = 0;
 	}
       else if (cliRC < 0)
-	{
-	  cliInterface->retrieveSQLDiagnostics(CmpCommon::diags());
-	  return -1;
-	}
+        {
+          cliInterface->retrieveSQLDiagnostics(CmpCommon::diags());
+        }
+ 
+      if (endXnIfStartedHere(cliInterface, xnWasStartedHere, cliRC) < 0)
+        {
+          cliInterface->retrieveSQLDiagnostics(CmpCommon::diags());
+          return -1;
+        }
+ 
+      if (cliRC < 0)
+        {
+          return -1;  
+        }
 
     }
 
@@ -173,16 +189,34 @@ short CmpSeabaseDDL::dropRepos(ExeCliInterface * cliInterface,
       // Drop the _REPOS_ schema
       str_sprintf(queryBuf, "drop schema %s.\"%s\" cascade; ",
                   getSystemCatalog(),SEABASE_REPOS_SCHEMA);
+
+      if (beginXnIfNotInProgress(cliInterface, xnWasStartedHere))
+        {
+          cliInterface->retrieveSQLDiagnostics(CmpCommon::diags());
+          return -1;
+        } 
+
       cliRC = cliInterface->executeImmediate(queryBuf);
       if (cliRC == -1003)  // schema doesnt exist
         {
           // ignore the error.
+          cliRC = 0;
         }
       else if (cliRC < 0)
         {
           cliInterface->retrieveSQLDiagnostics(CmpCommon::diags());
+        }
+
+      if (endXnIfStartedHere(cliInterface, xnWasStartedHere, cliRC) < 0)
+        {
+          cliInterface->retrieveSQLDiagnostics(CmpCommon::diags());
           return -1;
         }
+ 
+      if (cliRC < 0)
+        {
+          return -1;  
+        }
     }
 
   return 0;
@@ -306,10 +340,10 @@ short CmpSeabaseDDL::copyOldReposToNew(ExeCliInterface * cliInterface)
 
       cliRC = cliInterface->executeImmediate(queryBuf);
       if (cliRC < 0)
-	{
-	  cliInterface->retrieveSQLDiagnostics(CmpCommon::diags());
+        {
+          cliInterface->retrieveSQLDiagnostics(CmpCommon::diags());
           return -1;
-	}
+        }
 
     } // for
 

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/ff89586c/core/sql/sqlcomp/CmpSeabaseDDLrepos.h
----------------------------------------------------------------------
diff --git a/core/sql/sqlcomp/CmpSeabaseDDLrepos.h b/core/sql/sqlcomp/CmpSeabaseDDLrepos.h
index f546f2c..a7df12f 100644
--- a/core/sql/sqlcomp/CmpSeabaseDDLrepos.h
+++ b/core/sql/sqlcomp/CmpSeabaseDDLrepos.h
@@ -33,6 +33,13 @@
 
 #define TRAF_METRIC_QUERY_VIEW "METRIC_QUERY_VIEW"
 
+///////////////////////////////////////////////////////////////////////////////
+// *** Current Definition ***
+//
+// Current repository tables definition for Metadata Version 2.1
+//  (Major version = 2, Minor version = 1)
+///////////////////////////////////////////////////////////////////////////////
+
 //----------------------------------------------------------------
 //-- METRIC_QUERY_TABLE
 //----------------------------------------------------------------
@@ -326,11 +333,332 @@ static const QString createMetricTextTable[] =
     {" ; "}
   };
 
+
+/////////////////////////////////////////////////////////////////////
+//
+// Information about changed old metadata tables from which upgrade
+// is being done to the current version.
+// These definitions have changed in the current version of code.
+// 
+// Old definitions have the form (for ex for METRIC_QUERY_TABLE table):
+//            createOldTrafv??MetricQueryTable[]
+// v?? is the old version.
+//
+// When definitions change, make new entries between
+// START_OLD_MD_v?? and END_OLD_MD_v??.
+// Do not remove older entries. We want to keep them around for
+// historical purpose.
+//
+// Change entries in allReposUpgradeInfo[] struct in this file
+// to reflect the 'old' repository tables.
+//
+//////////////////////////////////////////////////////////////////////
+
 #define TRAF_METRIC_QUERY_TABLE_OLD_REPOS REPOS_METRIC_QUERY_TABLE"_OLD_REPOS"
 #define TRAF_METRIC_SESSION_TABLE_OLD_REPOS REPOS_METRIC_SESSION_TABLE"_OLD_REPOS"
 #define TRAF_METRIC_QUERY_AGGR_TABLE_OLD_REPOS REPOS_METRIC_QUERY_AGGR_TABLE"_OLD_REPOS"
 
-static const QString createOldReposMetricQueryTable[] =
+//----------------------------------------------------------------
+//-- METRIC_QUERY_TABLE
+//----------------------------------------------------------------
+static const QString createOldTrafv11MetricQueryTable[] =
+{
+{" create table %s.\"%s\"."TRAF_METRIC_QUERY_TABLE_OLD_REPOS" "},
+ {" ( "},
+ {" instance_id                            integer unsigned no default not null not droppable serialized, "},
+ {" tenant_id                              integer unsigned no default not null not droppable serialized, "},
+ {" component_id                           integer unsigned default null serialized, "},
+ {" process_id                             integer default null serialized, "},
+ {" thread_id                              integer unsigned default null serialized, "},
+ {" node_id                                integer unsigned default null serialized, "},   
+ {" pnid_id                                integer unsigned default null serialized, "}, 
+ {" host_id                                integer unsigned no default not null not droppable serialized, "},
+ {" ip_address_id                          char(32) character set iso88591 casespecific default null serialized, "}, 
+ {" sequence_number                        integer unsigned default null serialized, "},             
+ {" process_name                           char(32) character set iso88591 casespecific default null serialized, "},
+ {" exec_start_utc_ts                      timestamp(6) no default not null not droppable not serialized, "}, 
+ {" query_id                               char("MAX_QUERY_ID_LEN_STR") character set iso88591 casespecific no default not null not droppable serialized, "},
+ {" user_name                              char(256 bytes) character set utf8 casespecific default null serialized, "},
+ {" role_name                              char(256 bytes) character set utf8 casespecific default null serialized, "},
+ {" start_priority                         integer unsigned default null serialized, "},
+ {" master_process_id                      char(64) character set iso88591 casespecific       default null serialized, "},
+ {" session_id                             char(108) character set iso88591 casespecific      default null serialized, "},
+ {" client_name                            varchar(1024) character set iso88591 casespecific  default null serialized, "},
+ {" application_name                       char(130) character set iso88591 casespecific      default null serialized, "},
+ {" statement_id                           char("MAX_QUERY_ID_LEN_STR") character set iso88591 casespecific      default null serialized, "},
+ {" statement_type                         char(36) character set iso88591 casespecific       default null serialized, "},
+ {" statement_subtype                      char(36) character set iso88591 casespecific       default null serialized, "},
+ {" submit_utc_ts				   timestamp(6) default null not serialized, "},
+ {" compile_start_utc_ts			   timestamp(6) default null not serialized, "},
+ {" compile_end_utc_ts			   timestamp(6) default null not serialized, "},
+ {" compile_elapsed_time			   largeint default null serialized, "},
+ {" cmp_affinity_num				   largeint default null serialized, "},
+ {" cmp_dop					   largeint default null serialized, "},
+ {" cmp_txn_needed				   largeint default null serialized, "},
+ {" cmp_mandatory_x_prod			   largeint default null serialized, "},
+ {" cmp_missing_stats				   largeint default null serialized, "},
+ {" cmp_num_joins				   largeint default null serialized, "},
+ {" cmp_full_scan_on_table			   largeint default null serialized, "},
+ {" cmp_rows_accessed_full_scan		   double precision default null not serialized, "},
+ {" est_accessed_rows       		   double precision default null not serialized, "}, 
+ {" est_used_rows				   double precision default null not serialized, "}, 
+ {" cmp_compiler_id				   char(28) character set iso88591 casespecific default null serialized, "},
+ {" cmp_cpu_path_length			   largeint default null serialized, "},
+ {" cmp_cpu_binder				   largeint default null serialized, "},
+ {" cmp_cpu_normalizer			   largeint default null serialized, "},
+ {" cmp_cpu_analyzer				   largeint default null serialized, "},
+ {" cmp_cpu_optimizer				   largeint default null serialized, "},
+ {" cmp_cpu_generator				   largeint default null serialized, "},
+ {" cmp_metadata_cache_hits			   largeint default null serialized, "},
+ {" cmp_metadata_cache_lookups		   largeint default null serialized, "},
+ {" cmp_query_cache_status	largeint                    default null serialized, "},
+ {" cmp_histogram_cache_hits	largeint                default null serialized, "},
+ {" cmp_histogram_cache_lookups	largeint                default null serialized, "},
+ {" cmp_stmt_heap_size	largeint                        default null serialized, "},
+ {" cmp_context_heap_size	largeint                    default null serialized, "},
+ {" cmp_optimization_tasks	largeint                    default null serialized, "},
+ {" cmp_optimization_contexts	largeint                default null serialized, "},
+ {" cmp_is_recompile	smallint                        default null serialized, "},
+ {" est_num_seq_ios	double precision                  	default null not serialized, "},
+ {" est_num_rand_ios	double precision                default null not serialized, "},
+ {" est_cost	double precision                  		default null not serialized, "},
+ {" est_cardinality	double precision                  	default null not serialized, "},
+ {" est_io_time	double precision                  		default null not serialized, "},
+ {" est_msg_time	double precision                  	default null not serialized, "},
+ {" est_idle_time	double precision                  	default null not serialized, "},
+ {" est_cpu_time	double precision                  	default null not serialized, "},
+ {" est_total_time	double precision                  	default null not serialized, "},
+ {" est_total_mem	double precision                  	default null not serialized, "},
+ {" est_resource_usage	largeint                        default null serialized, "},
+ {" aggregate_option	char(3)   character set iso88591 casespecific    	default null serialized, "},
+ {" cmp_number_of_bmos	integer                         default null serialized, "},
+ {" cmp_overflow_mode	char(10) character set iso88591 casespecific      	default null serialized, "},
+ {" cmp_overflow_size	largeint                        default null serialized, "},
+ {" aggregate_total     largeint                        default null serialized, "},
+ {" stats_error_code                       integer                           default null serialized, "},
+ {" query_elapsed_time                     largeint                          default null serialized, "},
+ {" sql_process_busy_time                  largeint                          default null serialized, "},
+ {" disk_process_busy_time                 largeint                          default null serialized, "},
+ {" disk_ios                               largeint                          default null serialized, "},
+ {" num_sql_processes                      largeint                          default null serialized, "},
+ {" sql_space_allocated                    largeint                          default null serialized, "},
+ {" sql_space_used                         largeint                          default null serialized, "},
+ {" sql_heap_allocated                     largeint                          default null serialized, "},
+ {" sql_heap_used                          largeint                          default null serialized, "},
+ {" total_mem_alloc                        largeint                          default null serialized, "},
+ {" max_mem_used                           largeint                          default null serialized, "},
+ {" transaction_id                         char(25) character set iso88591 casespecific       default null serialized, "},
+ {" num_request_msgs                       largeint                          default null serialized, "},
+ {" num_request_msg_bytes                  largeint                          default null serialized, "},
+ {" num_reply_msgs                         largeint                          default null serialized, "},
+ {" num_reply_msg_bytes                    largeint                          default null serialized, "},
+ {" first_result_return_utc_ts             timestamp(6)                      default null not serialized, "},
+ {" rows_returned_to_master                largeint                          default null serialized, "},
+ {" parent_query_id                        char("MAX_QUERY_ID_LEN_STR") character set iso88591 casespecific      default null serialized, "},
+ {" parent_system_name                     char(128) character set iso88591 casespecific      default null serialized, "},
+ {" exec_end_utc_ts                        timestamp(6)                      default null not serialized, "},
+ {" master_execution_time                  largeint                          default null serialized, "},
+ {" master_elapsed_time                    largeint                          default null serialized, "},
+{" query_status                            char(21) character set utf8 casespecific default null serialized, "},
+ {" query_sub_status                       char(30) character set utf8 casespecific default null serialized, "},
+ {" error_code                             integer                           default null serialized, "},
+ {" sql_error_code                         integer                           default null serialized, "},
+ {" error_text                             varchar(2000) character set utf8 casespecific default null serialized, "},
+ {" query_text                             varchar(50000) character set utf8 casespecific default null serialized, "},
+ {" explain_plan                           varchar(200000) character set iso88591 casespecific default null serialized, "},
+ {" last_error_before_aqr                  integer                           default null serialized, "},
+ {" delay_time_before_aqr_sec              largeint                          default null serialized, "},
+ {" total_num_aqr_retries                  largeint                          default null serialized, "},
+ {" msg_bytes_to_disk                      largeint                          default null serialized, "},
+ {" msgs_to_disk                           largeint                          default null serialized, "},
+ {" rows_accessed                          largeint                          default null serialized, "},
+ {" rows_retrieved                         largeint                          default null serialized, "},
+ {" num_rows_iud                           largeint                          default null serialized, "},
+ {" processes_created                      largeint                          default null serialized, "},
+ {" process_create_busy_time               largeint                          default null serialized, "},
+ {" ovf_file_count                         largeint                          default null serialized, "},
+ {" ovf_space_allocated                    largeint                          default null serialized, "},
+ {" ovf_space_used                         largeint                          default null serialized, "},
+ {" ovf_block_size                         largeint                          default null serialized, "},
+ {" ovf_write_read_count                   largeint                          default null serialized, "},
+ {" ovf_write_count                        largeint                          default null serialized, "},
+ {" ovf_buffer_blocks_written              largeint                          default null serialized, "},
+ {" ovf_buffer_bytes_written               largeint                          default null serialized, "},
+ {" ovf_read_count                         largeint                          default null serialized, "},
+ {" ovf_buffer_blocks_read                 largeint                          default null serialized, "},
+ {" ovf_buffer_bytes_read                  largeint                          default null serialized, "},
+ {" num_nodes                              largeint                          default null serialized, "},
+ {" udr_process_busy_time                  largeint                          default null serialized, "},
+ {" pertable_stats                         integer                           default null serialized "},
+ {" "},
+ {" ) "},
+ {" primary key ( exec_start_utc_ts, query_id ) salt using 8 partitions on ( query_id ) "},
+ {" hbase_options ( DATA_BLOCK_ENCODING = 'FAST_DIFF', COMPRESSION = 'GZ' ) "},
+ {" ; "}
+ };
+
+//----------------------------------------------------------------
+// -- METRIC_SESSION_TABLE
+// ----------------------------------------------------------------
+static const QString createOldTrafv11MetricSessionTable[] =
+{
+ {" create table %s.\"%s\"."TRAF_METRIC_SESSION_TABLE_OLD_REPOS"  "},
+ {" ( "},
+ {" instance_id                            integer unsigned no default not null not droppable serialized, "},
+ {" tenant_id                              integer unsigned no default not null not droppable serialized, "},
+ {" component_id                           integer unsigned default null serialized, "},
+ {" process_id                             integer default null serialized, "},
+ {" thread_id                              integer unsigned default null serialized, "},
+ {" node_id                                integer unsigned default null serialized, "},   
+ {" pnid_id                                integer unsigned default null serialized, "}, 
+ {" host_id                                integer unsigned no default not null not droppable serialized, "},
+ {" ip_address_id                          char(32) character set iso88591 casespecific default null serialized, "}, 
+ {" sequence_number                        integer unsigned default null serialized, "},                 
+ {" process_name                           char(32) character set iso88591 casespecific default null serialized, "},
+ {" session_id                             char(108)     character set iso88591 casespecific no default not null not droppable serialized, "},
+ {" session_status                         char(5)       character set iso88591 casespecific  default null serialized, "},
+ {" session_start_utc_ts               timestamp(6) no default not null not droppable not serialized, "},
+ {" session_end_utc_ts                     timestamp(6)                      default null not serialized, "},
+ {" user_id                                largeint                          default null serialized, "},
+ {" user_name                              char(256 bytes)     character set utf8 casespecific  default null serialized, "},
+ {" role_name                              char(256 bytes)     character set utf8 casespecific  default null serialized, "},
+ {" client_name                            varchar(256) character set utf8 casespecific  default null serialized, "},
+ {" client_user_name                       char(256 bytes)     character set utf8 casespecific  default null serialized, "},
+ {" application_name                       char(130)     character set iso88591 casespecific  default null serialized, "},
+ {" total_execution_time                   largeint                          default null serialized, "},
+ {" total_elapsed_time                     largeint                          default null serialized, "},
+ {" total_insert_stmts_executed            largeint                          default null serialized, "},
+ {" total_delete_stmts_executed            largeint                          default null serialized, "},
+ {" total_update_stmts_executed            largeint                          default null serialized, "},
+ {" total_select_stmts_executed            largeint                          default null serialized, "},
+ {" total_catalog_stmts                    largeint                          default null serialized, "},     
+ {" total_prepares                         largeint                          default null serialized, "},
+ {" total_executes                         largeint                          default null serialized, "},
+ {" total_fetches                          largeint                          default null serialized, "},
+ {" total_closes                           largeint                          default null serialized, "},
+ {" total_execdirects                      largeint                          default null serialized, "},
+ {" total_errors                           largeint                          default null serialized, "},
+ {" total_warnings                         largeint                          default null serialized, "},
+ {" total_login_elapsed_time_mcsec         largeint                          default null serialized, "},
+ {" ldap_login_elapsed_time_mcsec          largeint                          default null serialized, "},
+ {" sql_user_elapsed_time_mcsec            largeint                          default null serialized, "},
+ {" search_connection_elapsed_time_mcsec   largeint                          default null serialized, "},
+ {" search_elapsed_time_mcsec              largeint                          default null serialized, "},
+ {" authentication_connection_elapsed_time_mcsec     largeint                default null serialized, "},
+ {" authentication_elapsed_time_mcsec      largeint                          default null serialized "},
+ {" ) "},
+{" primary key (session_start_utc_ts, session_id ) salt using 8 partitions on ( session_id ) "},
+ {" hbase_options ( DATA_BLOCK_ENCODING = 'FAST_DIFF', COMPRESSION = 'GZ' ) "},
+ {" ; "},
+ };
+
+ //----------------------------------------------------------------
+ //- METRIC_QUERY_AGGREGATION_TABLE
+ //----------------------------------------------------------------
+static const QString createOldTrafv11MetricQueryAggrTable[] =
+{
+ {" create table %s.\"%s\"."TRAF_METRIC_QUERY_AGGR_TABLE_OLD_REPOS"  "},
+ {" ( "},
+ {" instance_id                            integer unsigned no default not null not droppable serialized, "},
+ {" tenant_id                              integer unsigned no default not null not droppable serialized, "},
+ {" component_id                           integer unsigned default null serialized, "},
+ {" process_id                             integer default null serialized, "},
+ {" thread_id                              integer unsigned default null serialized, "},
+ {" node_id                                integer unsigned default null serialized, "},   
+ {" pnid_id                                integer unsigned default null serialized, "}, 
+ {" host_id                                integer unsigned no default not null not droppable serialized, "},
+ {" ip_address_id                          char(32) character set iso88591 casespecific default null serialized, "}, 
+ {" sequence_number                        integer unsigned default null serialized, "},                 
+ {" process_name                           char(32) character set iso88591 casespecific default null serialized, "},
+ {" session_id                             char(108)     character set iso88591 casespecific no default not null not droppable serialized, "},
+ {" session_start_utc_ts               timestamp(6) no default not null not droppable not serialized, "},
+ {" aggregation_last_update_utc_ts         timestamp(6)                      default null not serialized, "},
+ {" aggregation_last_elapsed_time          largeint                          default null serialized, "},
+ {" user_id                                largeint                          default null serialized, "},
+ {" user_name                              char(256 bytes)     character set utf8 casespecific  default null serialized, "},
+ {" role_name                              char(256 bytes)     character set utf8 casespecific  default null serialized, "},
+ {" client_name                            varchar(256) character set utf8 casespecific  default null serialized, "},
+ {" client_user_name                       char(256 bytes)     character set utf8 casespecific  default null serialized, "},
+ {" application_name                       char(130)     character set iso88591 casespecific  default null serialized, "},
+ {" total_est_rows_accessed			   largeint default null serialized, "},
+ {" total_est_rows_used			   largeint default null serialized, "},
+ {" total_rows_retrieved			   largeint default null serialized, "},
+ {" total_num_rows_iud			   largeint default null serialized, "},
+ {" total_selects			   	   largeint default null serialized, "},
+ {" total_inserts			   largeint default null serialized, "},
+ {" total_updates			   largeint default null serialized, "},
+ {" total_deletes			   largeint default null serialized, "},
+
+ {" total_ddl_stmts			   largeint default null serialized, "},
+ {" total_util_stmts			   largeint default null serialized, "},
+ {" total_catalog_stmts			   largeint default null serialized, "},
+ {" total_other_stmts			   largeint default null serialized, "},
+
+ {" total_insert_errors			          largeint default null serialized, "},
+ {" total_delete_errors			          largeint default null serialized, "},
+ {" total_update_errors			   largeint default null serialized, "},
+ {" total_select_errors			   largeint default null serialized, "},
+
+ {" total_ddl_errors			          largeint default null serialized, "},
+ {" total_util_errors			          largeint default null serialized, "},
+ {" total_catalog_errors			   largeint default null serialized, "},
+ {" total_other_errors			   largeint default null serialized, "},
+
+ {" delta_estimated_rows_accessed			   largeint default null serialized, "},
+ {" delta_estimated_rows_used			   largeint default null serialized, "},
+ {" delta_rows_accessed			   largeint default null serialized, "},
+ {" delta_rows_retrieved			   largeint default null serialized, "},
+ {" delta_num_rows_iud			   largeint default null serialized, "},
+
+ {" delta_selects			   largeint default null serialized, "},
+ {" delta_inserts			   largeint default null serialized, "},
+ {" delta_updates			   largeint default null serialized, "},
+ {" delta_deletes			   largeint default null serialized, "},
+
+ {" delta_ddl_stmts			          largeint default null serialized, "},
+ {" delta_util_stmts			          largeint default null serialized, "},
+ {" delta_catalog_stmts			   largeint default null serialized, "},
+ {" delta_other_stmts			   largeint default null serialized, "},
+
+ {" delta_insert_errors			          largeint default null serialized, "},
+ {" delta_delete_errors			          largeint default null serialized, "},
+ {" delta_update_errors			   largeint default null serialized, "},
+ {" delta_select_errors			   largeint default null serialized, "},
+
+ {" delta_ddl_errors			          largeint default null serialized, "},
+ {" delta_util_errors			          largeint default null serialized, "},
+ {" delta_catalog_errors			   largeint default null serialized, "},
+ {" delta_other_errors			   largeint default null serialized "},
+
+ {" ) "},
+ {" primary key ( session_start_utc_ts, session_id ) salt using 8 partitions on ( session_id ) "},
+ {" hbase_options ( DATA_BLOCK_ENCODING = 'FAST_DIFF', COMPRESSION = 'GZ' ) "},
+ {" ; "}
+};
+
+//----------------------------------------------------------------
+//-- METRIC_TEXT_TABLE
+//----------------------------------------------------------------
+static const QString createOldTrafv11MetricTextTable[] =
+  {
+    {" create table %s.\"%s\"."REPOS_METRIC_TEXT_TABLE" "},  // table didn't change when moving from 1.1 to 2.1
+    {" ( "},
+    {"  query_id                               char("MAX_QUERY_ID_LEN_STR") character set iso88591 casespecific no default not null not droppable serialized, "},
+    {"   text_type int not null serialized, "},
+    {"   sub_id int not null serialized, "},
+    {"   seq_num int not null serialized, "},
+    {"   flags largeint not null serialized, "},
+    {"   text varchar(50000 bytes) character set iso88591 not null serialized "},
+    {" ) "},
+    {" primary key (query_id, text_type, sub_id, seq_num) "},
+    {" ; "}
+  };
+
+// The following are the repository definitions for Metadata version 2.3 (before we 
+// reset the numbering for Trafodion; 2.3 preceeds Trafodion 1.1). These are
+// kept solely for historical purposes.
+
+static const QString createOldv23ReposMetricQueryTable[] =
 {
  {" create table %s.\"%s\"."TRAF_METRIC_QUERY_TABLE_OLD_REPOS" "},
  {" ( "},
@@ -463,7 +791,7 @@ static const QString createOldReposMetricQueryTable[] =
  {" ; "}
  };
 
-static const QString createOldReposMetricSessionTable[] =
+static const QString createOldv23ReposMetricSessionTable[] =
 {
  {" create table %s.\"%s\"."TRAF_METRIC_SESSION_TABLE_OLD_REPOS"  "},
  {" ( "},
@@ -517,7 +845,7 @@ static const QString createOldReposMetricSessionTable[] =
  //----------------------------------------------------------------
  //- Old METRIC_QUERY_AGGREGATION_TABLE
  //----------------------------------------------------------------
-static const QString createOldReposMetricQueryAggrTable[] =
+static const QString createOldv23ReposMetricQueryAggrTable[] =
 {
  {" create table %s.\"%s\"."TRAF_METRIC_QUERY_AGGR_TABLE_OLD_REPOS"  "},
  {" ( "},
@@ -568,10 +896,11 @@ static const MDUpgradeInfo allReposUpgradeInfo[] = {
   // TRAF_METRIC_QUERY_TABLE
   { REPOS_METRIC_QUERY_TABLE,  TRAF_METRIC_QUERY_TABLE_OLD_REPOS,
     createMetricQueryTable,  sizeof(createMetricQueryTable),
-    createOldReposMetricQueryTable,  sizeof(createOldReposMetricQueryTable),
+    createOldTrafv11MetricQueryTable,  sizeof(createOldTrafv11MetricQueryTable),
     NULL, 0,
-    FALSE, 
+    TRUE, 
 
+    // new table columns
     "instance_id,"
     "tenant_id,"
     "component_id,"
@@ -585,6 +914,7 @@ static const MDUpgradeInfo allReposUpgradeInfo[] = {
     "process_name,"
     "exec_start_utc_ts,"
     "query_id,"
+    "query_signature_id,"
     "user_name,"
     "role_name,"
     "start_priority,"
@@ -696,8 +1026,10 @@ static const MDUpgradeInfo allReposUpgradeInfo[] = {
     "ovf_buffer_bytes_read,"
     "num_nodes,"
     "udr_process_busy_time,"
-    "pertable_stats",
+    "pertable_stats,"
+    "last_updated_time",
 
+    // values from old table to be inserted into new
     "instance_id,"
     "tenant_id,"
     "component_id,"
@@ -711,6 +1043,7 @@ static const MDUpgradeInfo allReposUpgradeInfo[] = {
     "process_name,"
     "exec_start_utc_ts,"
     "query_id,"
+    "NULL,"
     "user_name,"
     "role_name,"
     "start_priority,"
@@ -792,8 +1125,8 @@ static const MDUpgradeInfo allReposUpgradeInfo[] = {
     "exec_end_utc_ts,"
     "master_execution_time,"
     "master_elapsed_time,"
-    "'COMPLETED',"
-    "'COMPLETED',"
+    "query_status,"
+    "query_sub_status,"
     "error_code,"
     "sql_error_code,"
     "error_text,"
@@ -822,25 +1155,118 @@ static const MDUpgradeInfo allReposUpgradeInfo[] = {
     "ovf_buffer_bytes_read,"
     "num_nodes,"
     "udr_process_busy_time,"
-    "pertable_stats",
+    "pertable_stats,"
+    "NULL",
 
     NULL, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE},
  
   // REPOS_METRIC_SESSION_TABLE
   { REPOS_METRIC_SESSION_TABLE,  TRAF_METRIC_SESSION_TABLE_OLD_REPOS,
     createMetricSessionTable,  sizeof(createMetricSessionTable),
-    createOldReposMetricSessionTable,  sizeof(createOldReposMetricSessionTable),
+    createOldTrafv11MetricSessionTable,  sizeof(createOldTrafv11MetricSessionTable),
     NULL, 0,
-    FALSE, NULL, NULL, NULL, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE},
+    TRUE, 
+
+    // new table columns
+    "instance_id,"
+    "tenant_id,"
+    "component_id,"
+    "process_id,"
+    "thread_id,"
+    "node_id,"   
+    "pnid_id,"
+    "host_id,"
+    "ip_address_id," 
+    "sequence_number,"                 
+    "process_name,"
+    "session_id,"
+    "session_status,"
+    "session_start_utc_ts,"
+    "session_end_utc_ts,"
+    "user_id,"
+    "user_name,"
+    "role_name,"
+    "client_name,"
+    "client_user_name,"
+    "application_name,"
+    "profile_name,"
+    "sla_name,"
+    "total_execution_time,"
+    "total_elapsed_time,"
+    "total_insert_stmts_executed,"
+    "total_delete_stmts_executed,"
+    "total_update_stmts_executed,"
+    "total_select_stmts_executed,"
+    "total_catalog_stmts,"
+    "total_executes,"
+    "total_fetches,"
+    "total_closes,"
+    "total_execdirects,"
+    "total_errors,"
+    "total_warnings,"
+    "total_login_elapsed_time_mcsec,"
+    "ldap_login_elapsed_time_mcsec,"
+    "sql_user_elapsed_time_mcsec,"
+    "search_connection_elapsed_time_mcsec,"
+    "search_elapsed_time_mcsec,"
+    "authentication_connection_elapsed_time_mcsec,"
+    "authentication_elapsed_time_mcsec",   
+
+    // values from old table to be inserted into new
+    "instance_id,"
+    "tenant_id,"
+    "component_id,"
+    "process_id,"
+    "thread_id,"
+    "node_id,"   
+    "pnid_id,"
+    "host_id,"
+    "ip_address_id," 
+    "sequence_number,"                 
+    "process_name,"
+    "session_id,"
+    "session_status,"
+    "session_start_utc_ts,"
+    "session_end_utc_ts,"
+    "user_id,"
+    "user_name,"
+    "role_name,"
+    "client_name,"
+    "client_user_name,"
+    "application_name,"
+    "NULL,"
+    "NULL,"
+    "total_execution_time,"
+    "total_elapsed_time,"
+    "total_insert_stmts_executed,"
+    "total_delete_stmts_executed,"
+    "total_update_stmts_executed,"
+    "total_select_stmts_executed,"
+    "total_catalog_stmts,"
+    "total_executes,"
+    "total_fetches,"
+    "total_closes,"
+    "total_execdirects,"
+    "total_errors,"
+    "total_warnings,"
+    "total_login_elapsed_time_mcsec,"
+    "ldap_login_elapsed_time_mcsec,"
+    "sql_user_elapsed_time_mcsec,"
+    "search_connection_elapsed_time_mcsec,"
+    "search_elapsed_time_mcsec,"
+    "authentication_connection_elapsed_time_mcsec,"
+    "authentication_elapsed_time_mcsec",  
+
+    NULL, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE},
 
   // REPOS_METRIC_QUERY_AGGR_TABLE
   { REPOS_METRIC_QUERY_AGGR_TABLE,  TRAF_METRIC_QUERY_AGGR_TABLE_OLD_REPOS,
     createMetricQueryAggrTable,  sizeof(createMetricQueryAggrTable),
-    createOldReposMetricQueryAggrTable,  sizeof(createOldReposMetricQueryAggrTable),
+    createOldTrafv11MetricQueryAggrTable,  sizeof(createOldTrafv11MetricQueryAggrTable),
     NULL, 0,
-    FALSE, 
+    TRUE, 
 
-    // INSERTED columns
+    // new table columns
     "instance_id, tenant_id, component_id, process_id, thread_id, node_id, pnid_id, host_id,"
     "ip_address_id, sequence_number, process_name, session_id, "
     "session_start_utc_ts, aggregation_last_update_utc_ts, aggregation_last_elapsed_time," 
@@ -858,28 +1284,31 @@ static const MDUpgradeInfo allReposUpgradeInfo[] = {
 
     "delta_ddl_stmts, delta_util_stmts, delta_catalog_stmts, delta_other_stmts, "
     "delta_insert_errors, delta_delete_errors, delta_update_errors, delta_select_errors, "
-    "delta_ddl_errors, delta_util_errors, delta_catalog_errors, delta_other_errors ",
+    "delta_ddl_errors, delta_util_errors, delta_catalog_errors, delta_other_errors, "
+    
+    "average_response_time, throughput_per_second ",
 
-    // SELECTED columns
+    // values from old table to be inserted into new
     "instance_id, tenant_id, component_id, process_id, thread_id, node_id, pnid_id, host_id,"
     "ip_address_id, sequence_number, process_name, session_id, "
-    " current_timestamp, aggregation_start_utc_ts, cast((aggregation_end_utc_ts - aggregation_start_utc_ts) as largeint),"
+    "session_start_utc_ts, aggregation_last_update_utc_ts, aggregation_last_elapsed_time," 
     "user_id, user_name, role_name, client_name, client_user_name,"
     "application_name, total_est_rows_accessed, total_est_rows_used, total_rows_retrieved,"
+    "total_num_rows_iud, total_selects, total_inserts, total_updates, total_deletes,"
 
-    "total_num_rows_iud, total_selects, total_inserts, total_updates, total_deletes, "
-
-    "0, 0, 0, 0, "
-    "0, 0, 0, 0, "
-    "0, 0, 0, 0, "
+    "total_ddl_stmts, total_util_stmts, total_catalog_stmts, total_other_stmts, "
+    "total_insert_errors, total_delete_errors, total_update_errors, total_select_errors, "
+    "total_ddl_errors, total_util_errors, total_catalog_errors, total_other_errors, "
 
     "delta_estimated_rows_accessed, delta_estimated_rows_used, delta_rows_accessed,"
-    "delta_rows_retrieved, delta_num_rows_uid, delta_total_selects, delta_total_inserts,"
-    "delta_total_updates, delta_total_deletes, "
+    "delta_rows_retrieved, delta_num_rows_iud, "
+    "delta_selects, delta_inserts, delta_updates, delta_deletes,"
+
+    "delta_ddl_stmts, delta_util_stmts, delta_catalog_stmts, delta_other_stmts, "
+    "delta_insert_errors, delta_delete_errors, delta_update_errors, delta_select_errors, "
+    "delta_ddl_errors, delta_util_errors, delta_catalog_errors, delta_other_errors, "
 
-    "0, 0, 0, 0, "
-    "0, 0, 0, 0, "
-    "0, 0, 0, 0",
+    "NULL, NULL",
 
     NULL, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE},