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 <[email protected]> Authored: Tue Jun 28 20:36:25 2016 +0000 Committer: Dave Birdsall <[email protected]> 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},
