
set log_min_messages to ERROR;
\getenv abs_builddir PG_ABS_BUILDDIR
\set regress_dll :abs_builddir '/regress.so'
CREATE OR REPLACE FUNCTION gp_execute_on_server(content int, query text) returns text
language C as :'regress_dll', 'gp_execute_on_server';

-- terminate backend process for this session on segment with content ID = 0
select gp_execute_on_server(0, 'select pg_terminate_backend(pg_backend_pid())');

-- session is reset and gp_session_id value changes
-- sess_id in pg_stat_activity should be consistent with gp_session_id
select session_id AS session_not_in_stat_activity from (select paramvalue AS session_id from gp_toolkit.gp_param_settings() where paramname='gp_session_id' and paramsegment = 0) right_id where right_id.session_id not in (select sess_id::text from pg_stat_activity);

set log_min_messages to default;
