diff --git a/src/include/catalog/upgrade_sql/rollback_catalog_maindb/rollback-post_catalog_maindb_92_945.sql b/src/include/catalog/upgrade_sql/rollback_catalog_maindb/rollback-post_catalog_maindb_92_945.sql index 1c5c292d3..9038fab3a 100644 --- a/src/include/catalog/upgrade_sql/rollback_catalog_maindb/rollback-post_catalog_maindb_92_945.sql +++ b/src/include/catalog/upgrade_sql/rollback_catalog_maindb/rollback-post_catalog_maindb_92_945.sql @@ -93,7 +93,7 @@ CREATE FUNCTION pg_catalog.get_instr_unique_sql OUT srt14_after_query bigint, OUT rtt_unknown bigint ) -RETURNS setof record LANGUAGE INTERNAL VOLATILE NOT FENCED as 'get_instr_unique_sql'; +RETURNS setof record LANGUAGE INTERNAL STABLE NOT FENCED as 'get_instr_unique_sql'; CREATE VIEW DBE_PERF.statement AS SELECT * FROM get_instr_unique_sql(); @@ -194,7 +194,7 @@ CREATE unlogged table IF NOT EXISTS pg_catalog.statement_history( srt14_after_query bigint, rtt_unknown bigint, parent_query_id bigint -); +) WITH (orientation=row, compression=no); REVOKE ALL on table pg_catalog.statement_history FROM public; create index pg_catalog.statement_history_time_idx on pg_catalog.statement_history USING btree (start_time, is_slow_sql); DROP FUNCTION IF EXISTS dbe_perf.standby_statement_history(boolean); @@ -330,6 +330,8 @@ CREATE FUNCTION dbe_perf.standby_statement_history( OUT lwlock_wait_time bigint, OUT details bytea, OUT is_slow_sql boolean, + OUT trace_id text, + OUT advise text, OUT net_send_time bigint, OUT srt1_q bigint, OUT srt2_simple_query bigint, @@ -448,7 +450,6 @@ CREATE OR REPLACE FUNCTION DBE_PERF.get_global_full_sql_by_timestamp FOR row_name IN EXECUTE(query_str_nodes) LOOP query_str := 'SELECT * FROM DBE_PERF.statement_history where start_time >= ''' ||$1|| ''' and start_time <= ''' || $2 || ''''; FOR row_data IN EXECUTE(query_str) LOOP - IF row_data.parent_query_id = 0 then node_name := row_name.node_name; db_name := row_data.db_name; schema_name := row_data.schema_name; @@ -520,10 +521,9 @@ CREATE OR REPLACE FUNCTION DBE_PERF.get_global_full_sql_by_timestamp srt14_after_query := row_data.srt14_after_query; rtt_unknown := row_data.rtt_unknown; return next; - END IF; + END LOOP; END LOOP; - END LOOP; - return; + return; END; $$ LANGUAGE 'plpgsql' NOT FENCED; @@ -615,79 +615,77 @@ CREATE OR REPLACE FUNCTION DBE_PERF.get_global_full_sql_by_timestamp FOR row_name IN EXECUTE(query_str_nodes) LOOP query_str := 'SELECT * FROM DBE_PERF.statement_history where start_time >= ''' ||$1|| ''' and start_time <= ''' || $2 || ''' and is_slow_sql = true'; FOR row_data IN EXECUTE(query_str) LOOP - IF row_data.parent_query_id = 0 THEN - node_name := row_name.node_name; - db_name := row_data.db_name; - schema_name := row_data.schema_name; - origin_node := row_data.origin_node; - user_name := row_data.user_name; - application_name := row_data.application_name; - client_addr := row_data.client_addr; - client_port := row_data.client_port; - unique_query_id := row_data.unique_query_id; - debug_query_id := row_data.debug_query_id; - query := row_data.query; - start_time := row_data.start_time; - finish_time := row_data.finish_time; - slow_sql_threshold := row_data.slow_sql_threshold; - transaction_id := row_data.transaction_id; - thread_id := row_data.thread_id; - session_id := row_data.session_id; - n_soft_parse := row_data.n_soft_parse; - n_hard_parse := row_data.n_hard_parse; - query_plan := row_data.query_plan; - n_returned_rows := row_data.n_returned_rows; - n_tuples_fetched := row_data.n_tuples_fetched; - n_tuples_returned := row_data.n_tuples_returned; - n_tuples_inserted := row_data.n_tuples_inserted; - n_tuples_updated := row_data.n_tuples_updated; - n_tuples_deleted := row_data.n_tuples_deleted; - n_blocks_fetched := row_data.n_blocks_fetched; - n_blocks_hit := row_data.n_blocks_hit; - db_time := row_data.db_time; - cpu_time := row_data.cpu_time; - execution_time := row_data.execution_time; - parse_time := row_data.parse_time; - plan_time := row_data.plan_time; - rewrite_time := row_data.rewrite_time; - pl_execution_time := row_data.pl_execution_time; - pl_compilation_time := row_data.pl_compilation_time; - data_io_time := row_data.data_io_time; - net_send_info := row_data.net_send_info; - net_recv_info := row_data.net_recv_info; - net_stream_send_info := row_data.net_stream_send_info; - net_stream_recv_info := row_data.net_stream_recv_info; - lock_count := row_data.lock_count; - lock_time := row_data.lock_time; - lock_wait_count := row_data.lock_wait_count; - lock_wait_time := row_data.lock_wait_time; - lock_max_count := row_data.lock_max_count; - lwlock_count := row_data.lwlock_count; - lwlock_wait_count := row_data.lwlock_wait_count; - lwlock_time := row_data.lwlock_time; - lwlock_wait_time := row_data.lwlock_wait_time; - details := row_data.details; - is_slow_sql := row_data.is_slow_sql; - trace_id := row_data.trace_id; - advise := row_data.advise; - net_send_time =row_data.net_send_time; - srt1_q := row_data.srt1_q; - srt2_simple_query := row_data.srt2_simple_query; - srt3_analyze_rewrite := row_data.srt3_analyze_rewrite; - srt4_plan_query := row_data.srt4_plan_query; - srt5_light_query := row_data.srt5_light_query; - srt6_p := row_data.srt6_p; - srt7_b := row_data.srt7_b; - srt8_e := row_data.srt8_e; - srt9_d := row_data.srt9_d; - srt10_s := row_data.srt10_s; - srt11_c := row_data.srt11_c; - srt12_u := row_data.srt12_u; - srt13_before_query := row_data.srt13_before_query; - srt14_after_query := row_data.srt14_after_query; - rtt_unknown := row_data.rtt_unknown; - return next; - END IF; + node_name := row_name.node_name; + db_name := row_data.db_name; + schema_name := row_data.schema_name; + origin_node := row_data.origin_node; + user_name := row_data.user_name; + application_name := row_data.application_name; + client_addr := row_data.client_addr; + client_port := row_data.client_port; + unique_query_id := row_data.unique_query_id; + debug_query_id := row_data.debug_query_id; + query := row_data.query; + start_time := row_data.start_time; + finish_time := row_data.finish_time; + slow_sql_threshold := row_data.slow_sql_threshold; + transaction_id := row_data.transaction_id; + thread_id := row_data.thread_id; + session_id := row_data.session_id; + n_soft_parse := row_data.n_soft_parse; + n_hard_parse := row_data.n_hard_parse; + query_plan := row_data.query_plan; + n_returned_rows := row_data.n_returned_rows; + n_tuples_fetched := row_data.n_tuples_fetched; + n_tuples_returned := row_data.n_tuples_returned; + n_tuples_inserted := row_data.n_tuples_inserted; + n_tuples_updated := row_data.n_tuples_updated; + n_tuples_deleted := row_data.n_tuples_deleted; + n_blocks_fetched := row_data.n_blocks_fetched; + n_blocks_hit := row_data.n_blocks_hit; + db_time := row_data.db_time; + cpu_time := row_data.cpu_time; + execution_time := row_data.execution_time; + parse_time := row_data.parse_time; + plan_time := row_data.plan_time; + rewrite_time := row_data.rewrite_time; + pl_execution_time := row_data.pl_execution_time; + pl_compilation_time := row_data.pl_compilation_time; + data_io_time := row_data.data_io_time; + net_send_info := row_data.net_send_info; + net_recv_info := row_data.net_recv_info; + net_stream_send_info := row_data.net_stream_send_info; + net_stream_recv_info := row_data.net_stream_recv_info; + lock_count := row_data.lock_count; + lock_time := row_data.lock_time; + lock_wait_count := row_data.lock_wait_count; + lock_wait_time := row_data.lock_wait_time; + lock_max_count := row_data.lock_max_count; + lwlock_count := row_data.lwlock_count; + lwlock_wait_count := row_data.lwlock_wait_count; + lwlock_time := row_data.lwlock_time; + lwlock_wait_time := row_data.lwlock_wait_time; + details := row_data.details; + is_slow_sql := row_data.is_slow_sql; + trace_id := row_data.trace_id; + advise := row_data.advise; + net_send_time =row_data.net_send_time; + srt1_q := row_data.srt1_q; + srt2_simple_query := row_data.srt2_simple_query; + srt3_analyze_rewrite := row_data.srt3_analyze_rewrite; + srt4_plan_query := row_data.srt4_plan_query; + srt5_light_query := row_data.srt5_light_query; + srt6_p := row_data.srt6_p; + srt7_b := row_data.srt7_b; + srt8_e := row_data.srt8_e; + srt9_d := row_data.srt9_d; + srt10_s := row_data.srt10_s; + srt11_c := row_data.srt11_c; + srt12_u := row_data.srt12_u; + srt13_before_query := row_data.srt13_before_query; + srt14_after_query := row_data.srt14_after_query; + rtt_unknown := row_data.rtt_unknown; + return next; END LOOP; END LOOP; return; diff --git a/src/include/catalog/upgrade_sql/rollback_catalog_otherdb/rollback-post_catalog_otherdb_92_945.sql b/src/include/catalog/upgrade_sql/rollback_catalog_otherdb/rollback-post_catalog_otherdb_92_945.sql index 1c5c292d3..ab53647d3 100644 --- a/src/include/catalog/upgrade_sql/rollback_catalog_otherdb/rollback-post_catalog_otherdb_92_945.sql +++ b/src/include/catalog/upgrade_sql/rollback_catalog_otherdb/rollback-post_catalog_otherdb_92_945.sql @@ -93,7 +93,7 @@ CREATE FUNCTION pg_catalog.get_instr_unique_sql OUT srt14_after_query bigint, OUT rtt_unknown bigint ) -RETURNS setof record LANGUAGE INTERNAL VOLATILE NOT FENCED as 'get_instr_unique_sql'; +RETURNS setof record LANGUAGE INTERNAL STABLE NOT FENCED as 'get_instr_unique_sql'; CREATE VIEW DBE_PERF.statement AS SELECT * FROM get_instr_unique_sql(); @@ -194,7 +194,7 @@ CREATE unlogged table IF NOT EXISTS pg_catalog.statement_history( srt14_after_query bigint, rtt_unknown bigint, parent_query_id bigint -); +) WITH (orientation=row, compression=no); REVOKE ALL on table pg_catalog.statement_history FROM public; create index pg_catalog.statement_history_time_idx on pg_catalog.statement_history USING btree (start_time, is_slow_sql); DROP FUNCTION IF EXISTS dbe_perf.standby_statement_history(boolean); @@ -330,6 +330,8 @@ CREATE FUNCTION dbe_perf.standby_statement_history( OUT lwlock_wait_time bigint, OUT details bytea, OUT is_slow_sql boolean, + OUT trace_id text, + OUT advise text, OUT net_send_time bigint, OUT srt1_q bigint, OUT srt2_simple_query bigint, @@ -448,7 +450,6 @@ CREATE OR REPLACE FUNCTION DBE_PERF.get_global_full_sql_by_timestamp FOR row_name IN EXECUTE(query_str_nodes) LOOP query_str := 'SELECT * FROM DBE_PERF.statement_history where start_time >= ''' ||$1|| ''' and start_time <= ''' || $2 || ''''; FOR row_data IN EXECUTE(query_str) LOOP - IF row_data.parent_query_id = 0 then node_name := row_name.node_name; db_name := row_data.db_name; schema_name := row_data.schema_name; @@ -520,7 +521,6 @@ CREATE OR REPLACE FUNCTION DBE_PERF.get_global_full_sql_by_timestamp srt14_after_query := row_data.srt14_after_query; rtt_unknown := row_data.rtt_unknown; return next; - END IF; END LOOP; END LOOP; return; @@ -615,79 +615,77 @@ CREATE OR REPLACE FUNCTION DBE_PERF.get_global_full_sql_by_timestamp FOR row_name IN EXECUTE(query_str_nodes) LOOP query_str := 'SELECT * FROM DBE_PERF.statement_history where start_time >= ''' ||$1|| ''' and start_time <= ''' || $2 || ''' and is_slow_sql = true'; FOR row_data IN EXECUTE(query_str) LOOP - IF row_data.parent_query_id = 0 THEN - node_name := row_name.node_name; - db_name := row_data.db_name; - schema_name := row_data.schema_name; - origin_node := row_data.origin_node; - user_name := row_data.user_name; - application_name := row_data.application_name; - client_addr := row_data.client_addr; - client_port := row_data.client_port; - unique_query_id := row_data.unique_query_id; - debug_query_id := row_data.debug_query_id; - query := row_data.query; - start_time := row_data.start_time; - finish_time := row_data.finish_time; - slow_sql_threshold := row_data.slow_sql_threshold; - transaction_id := row_data.transaction_id; - thread_id := row_data.thread_id; - session_id := row_data.session_id; - n_soft_parse := row_data.n_soft_parse; - n_hard_parse := row_data.n_hard_parse; - query_plan := row_data.query_plan; - n_returned_rows := row_data.n_returned_rows; - n_tuples_fetched := row_data.n_tuples_fetched; - n_tuples_returned := row_data.n_tuples_returned; - n_tuples_inserted := row_data.n_tuples_inserted; - n_tuples_updated := row_data.n_tuples_updated; - n_tuples_deleted := row_data.n_tuples_deleted; - n_blocks_fetched := row_data.n_blocks_fetched; - n_blocks_hit := row_data.n_blocks_hit; - db_time := row_data.db_time; - cpu_time := row_data.cpu_time; - execution_time := row_data.execution_time; - parse_time := row_data.parse_time; - plan_time := row_data.plan_time; - rewrite_time := row_data.rewrite_time; - pl_execution_time := row_data.pl_execution_time; - pl_compilation_time := row_data.pl_compilation_time; - data_io_time := row_data.data_io_time; - net_send_info := row_data.net_send_info; - net_recv_info := row_data.net_recv_info; - net_stream_send_info := row_data.net_stream_send_info; - net_stream_recv_info := row_data.net_stream_recv_info; - lock_count := row_data.lock_count; - lock_time := row_data.lock_time; - lock_wait_count := row_data.lock_wait_count; - lock_wait_time := row_data.lock_wait_time; - lock_max_count := row_data.lock_max_count; - lwlock_count := row_data.lwlock_count; - lwlock_wait_count := row_data.lwlock_wait_count; - lwlock_time := row_data.lwlock_time; - lwlock_wait_time := row_data.lwlock_wait_time; - details := row_data.details; - is_slow_sql := row_data.is_slow_sql; - trace_id := row_data.trace_id; - advise := row_data.advise; - net_send_time =row_data.net_send_time; - srt1_q := row_data.srt1_q; - srt2_simple_query := row_data.srt2_simple_query; - srt3_analyze_rewrite := row_data.srt3_analyze_rewrite; - srt4_plan_query := row_data.srt4_plan_query; - srt5_light_query := row_data.srt5_light_query; - srt6_p := row_data.srt6_p; - srt7_b := row_data.srt7_b; - srt8_e := row_data.srt8_e; - srt9_d := row_data.srt9_d; - srt10_s := row_data.srt10_s; - srt11_c := row_data.srt11_c; - srt12_u := row_data.srt12_u; - srt13_before_query := row_data.srt13_before_query; - srt14_after_query := row_data.srt14_after_query; - rtt_unknown := row_data.rtt_unknown; - return next; - END IF; + node_name := row_name.node_name; + db_name := row_data.db_name; + schema_name := row_data.schema_name; + origin_node := row_data.origin_node; + user_name := row_data.user_name; + application_name := row_data.application_name; + client_addr := row_data.client_addr; + client_port := row_data.client_port; + unique_query_id := row_data.unique_query_id; + debug_query_id := row_data.debug_query_id; + query := row_data.query; + start_time := row_data.start_time; + finish_time := row_data.finish_time; + slow_sql_threshold := row_data.slow_sql_threshold; + transaction_id := row_data.transaction_id; + thread_id := row_data.thread_id; + session_id := row_data.session_id; + n_soft_parse := row_data.n_soft_parse; + n_hard_parse := row_data.n_hard_parse; + query_plan := row_data.query_plan; + n_returned_rows := row_data.n_returned_rows; + n_tuples_fetched := row_data.n_tuples_fetched; + n_tuples_returned := row_data.n_tuples_returned; + n_tuples_inserted := row_data.n_tuples_inserted; + n_tuples_updated := row_data.n_tuples_updated; + n_tuples_deleted := row_data.n_tuples_deleted; + n_blocks_fetched := row_data.n_blocks_fetched; + n_blocks_hit := row_data.n_blocks_hit; + db_time := row_data.db_time; + cpu_time := row_data.cpu_time; + execution_time := row_data.execution_time; + parse_time := row_data.parse_time; + plan_time := row_data.plan_time; + rewrite_time := row_data.rewrite_time; + pl_execution_time := row_data.pl_execution_time; + pl_compilation_time := row_data.pl_compilation_time; + data_io_time := row_data.data_io_time; + net_send_info := row_data.net_send_info; + net_recv_info := row_data.net_recv_info; + net_stream_send_info := row_data.net_stream_send_info; + net_stream_recv_info := row_data.net_stream_recv_info; + lock_count := row_data.lock_count; + lock_time := row_data.lock_time; + lock_wait_count := row_data.lock_wait_count; + lock_wait_time := row_data.lock_wait_time; + lock_max_count := row_data.lock_max_count; + lwlock_count := row_data.lwlock_count; + lwlock_wait_count := row_data.lwlock_wait_count; + lwlock_time := row_data.lwlock_time; + lwlock_wait_time := row_data.lwlock_wait_time; + details := row_data.details; + is_slow_sql := row_data.is_slow_sql; + trace_id := row_data.trace_id; + advise := row_data.advise; + net_send_time =row_data.net_send_time; + srt1_q := row_data.srt1_q; + srt2_simple_query := row_data.srt2_simple_query; + srt3_analyze_rewrite := row_data.srt3_analyze_rewrite; + srt4_plan_query := row_data.srt4_plan_query; + srt5_light_query := row_data.srt5_light_query; + srt6_p := row_data.srt6_p; + srt7_b := row_data.srt7_b; + srt8_e := row_data.srt8_e; + srt9_d := row_data.srt9_d; + srt10_s := row_data.srt10_s; + srt11_c := row_data.srt11_c; + srt12_u := row_data.srt12_u; + srt13_before_query := row_data.srt13_before_query; + srt14_after_query := row_data.srt14_after_query; + rtt_unknown := row_data.rtt_unknown; + return next; END LOOP; END LOOP; return; diff --git a/src/include/catalog/upgrade_sql/upgrade_catalog_maindb/upgrade-post_catalog_maindb_92_945.sql b/src/include/catalog/upgrade_sql/upgrade_catalog_maindb/upgrade-post_catalog_maindb_92_945.sql index 7f7aa5580..7a3f2fa7f 100644 --- a/src/include/catalog/upgrade_sql/upgrade_catalog_maindb/upgrade-post_catalog_maindb_92_945.sql +++ b/src/include/catalog/upgrade_sql/upgrade_catalog_maindb/upgrade-post_catalog_maindb_92_945.sql @@ -94,7 +94,7 @@ CREATE FUNCTION pg_catalog.get_instr_unique_sql OUT rtt_unknown bigint, OUT net_trans_time bigint ) -RETURNS setof record LANGUAGE INTERNAL VOLATILE NOT FENCED as 'get_instr_unique_sql'; +RETURNS setof record LANGUAGE INTERNAL STABLE NOT FENCED as 'get_instr_unique_sql'; CREATE VIEW DBE_PERF.statement AS SELECT * FROM get_instr_unique_sql(); @@ -196,7 +196,7 @@ CREATE unlogged table IF NOT EXISTS pg_catalog.statement_history( rtt_unknown bigint, parent_query_id bigint, net_trans_time bigint -); +) WITH (orientation=row, compression=no); REVOKE ALL on table pg_catalog.statement_history FROM public; create index pg_catalog.statement_history_time_idx on pg_catalog.statement_history USING btree (start_time, is_slow_sql); DROP FUNCTION IF EXISTS dbe_perf.standby_statement_history(boolean); @@ -333,6 +333,8 @@ CREATE FUNCTION dbe_perf.standby_statement_history( OUT lwlock_wait_time bigint, OUT details bytea, OUT is_slow_sql boolean, + OUT trace_id text, + OUT advise text, OUT net_send_time bigint, OUT srt1_q bigint, OUT srt2_simple_query bigint, diff --git a/src/include/catalog/upgrade_sql/upgrade_catalog_otherdb/upgrade-post_catalog_otherdb_92_945.sql b/src/include/catalog/upgrade_sql/upgrade_catalog_otherdb/upgrade-post_catalog_otherdb_92_945.sql index 7f7aa5580..7a3f2fa7f 100644 --- a/src/include/catalog/upgrade_sql/upgrade_catalog_otherdb/upgrade-post_catalog_otherdb_92_945.sql +++ b/src/include/catalog/upgrade_sql/upgrade_catalog_otherdb/upgrade-post_catalog_otherdb_92_945.sql @@ -94,7 +94,7 @@ CREATE FUNCTION pg_catalog.get_instr_unique_sql OUT rtt_unknown bigint, OUT net_trans_time bigint ) -RETURNS setof record LANGUAGE INTERNAL VOLATILE NOT FENCED as 'get_instr_unique_sql'; +RETURNS setof record LANGUAGE INTERNAL STABLE NOT FENCED as 'get_instr_unique_sql'; CREATE VIEW DBE_PERF.statement AS SELECT * FROM get_instr_unique_sql(); @@ -196,7 +196,7 @@ CREATE unlogged table IF NOT EXISTS pg_catalog.statement_history( rtt_unknown bigint, parent_query_id bigint, net_trans_time bigint -); +) WITH (orientation=row, compression=no); REVOKE ALL on table pg_catalog.statement_history FROM public; create index pg_catalog.statement_history_time_idx on pg_catalog.statement_history USING btree (start_time, is_slow_sql); DROP FUNCTION IF EXISTS dbe_perf.standby_statement_history(boolean); @@ -333,6 +333,8 @@ CREATE FUNCTION dbe_perf.standby_statement_history( OUT lwlock_wait_time bigint, OUT details bytea, OUT is_slow_sql boolean, + OUT trace_id text, + OUT advise text, OUT net_send_time bigint, OUT srt1_q bigint, OUT srt2_simple_query bigint,