set current_schema to 'test_ansi_quotes';
SET dolphin.sql_mode TO 'sql_mode_strict,sql_mode_full_group,pipes_as_concat';
set behavior_compat_options = 'display_leading_zero';
set b_format_behavior_compat_options = '';
select pg_sleep(3);
set search_path = pl_debugger;
select count(*) from debug_info;
select dbe_pldebugger.attach(nodename, port) from debug_info;
select * from dbe_pldebugger.info_locals();
create table tmp_holder (res text);
do $$
declare
funcoid oid;
begin
select oid from pg_proc into funcoid where proname = 'test_debug';
insert into tmp_holder select * from dbe_pldebugger.add_breakpoint(funcoid, 0);
insert into tmp_holder select * from dbe_pldebugger.add_breakpoint(funcoid, 5);
insert into tmp_holder select * from dbe_pldebugger.add_breakpoint(funcoid, 15);
insert into tmp_holder select * from dbe_pldebugger.add_breakpoint(funcoid, 17);
insert into tmp_holder select * from dbe_pldebugger.add_breakpoint(funcoid, 22);
insert into tmp_holder select * from dbe_pldebugger.add_breakpoint(funcoid, 15);
insert into tmp_holder select * from dbe_pldebugger.add_breakpoint(funcoid, 29);
insert into tmp_holder select * from dbe_pldebugger.add_breakpoint(funcoid, 32);
insert into tmp_holder select * from dbe_pldebugger.add_breakpoint(funcoid, 35);
insert into tmp_holder select * from dbe_pldebugger.add_breakpoint(funcoid, 39);
insert into tmp_holder select * from dbe_pldebugger.disable_breakpoint(4);
insert into tmp_holder select * from dbe_pldebugger.disable_breakpoint(5);
insert into tmp_holder select * from dbe_pldebugger.enable_breakpoint( 5);
insert into tmp_holder select * from dbe_pldebugger.add_breakpoint(funcoid, 50);
insert into tmp_holder select * from dbe_pldebugger.delete_breakpoint(1);
insert into tmp_holder select * from dbe_pldebugger.delete_breakpoint(0);
insert into tmp_holder select * from dbe_pldebugger.add_breakpoint(funcoid, 15);
insert into tmp_holder select breakpointno || ':' || lineno || ':' || query || ':' || enable from dbe_pldebugger.info_breakpoints();
end;
$$;
select * from tmp_holder;
select * from dbe_pldebugger.print_var('test.c');
select * from dbe_pldebugger.print_var('<UNKNOWN>');
select funcname, lineno, query from dbe_pldebugger.next();
select funcname, lineno, query from dbe_pldebugger.next();
select funcname, lineno, query from dbe_pldebugger.next();
select funcname, lineno, query from dbe_pldebugger.next();
select * from dbe_pldebugger.info_locals();
select * from dbe_pldebugger.print_var('cur');
select funcname, lineno, query from dbe_pldebugger.next();
select funcname, lineno, query from dbe_pldebugger.next();
select funcname, lineno, query from dbe_pldebugger.next();
select funcname, lineno, query from dbe_pldebugger.next();
select * from dbe_pldebugger.info_locals();
select * from dbe_pldebugger.print_var('rec');
select funcname, lineno, query from dbe_pldebugger.next();
select funcname, lineno, query from dbe_pldebugger.step();
select funcname, lineno, query from dbe_pldebugger.next();
select funcname, lineno, query from dbe_pldebugger.next();
select * from dbe_pldebugger.info_locals();
select * from dbe_pldebugger.print_var('row');
select funcname, lineno, query from dbe_pldebugger.step();
select funcname, lineno, query from dbe_pldebugger.step();
select funcname, lineno, query from dbe_pldebugger.next();
select funcname, lineno, query from dbe_pldebugger.next();
select * from dbe_pldebugger.info_locals();
select * from dbe_pldebugger.print_var('b_tmp');
select funcname, lineno, query from dbe_pldebugger.next();
select funcname, lineno, query from dbe_pldebugger.next();
select funcname, lineno, query from dbe_pldebugger.next();
select funcname, lineno, query from dbe_pldebugger.continue();
select pg_sleep(1);
select dbe_pldebugger.attach(nodename, port) from debug_info;
select * from dbe_pldebugger.abort();
select pg_sleep(1);
select dbe_pldebugger.attach(nodename, port) from debug_info;
select funcname, lineno, query from dbe_pldebugger.next();
select funcname, lineno, query from dbe_pldebugger.step();
select funcname, lineno, query from dbe_pldebugger.next();
select funcname, lineno, query from dbe_pldebugger.next();
select pg_sleep(1);
select dbe_pldebugger.attach(nodename, port) from debug_info;
select funcname, lineno, query from dbe_pldebugger.next();
select * from dbe_pldebugger.info_locals();
select funcname, lineno, query from dbe_pldebugger.next();
select funcname, lineno, query from dbe_pldebugger.next();
select funcname, lineno, query from dbe_pldebugger.next();
select funcname, lineno, query from dbe_pldebugger.continue();
select funcname, lineno, query from dbe_pldebugger.next();
select pg_sleep(1);
select dbe_pldebugger.attach(nodename, port) from debug_info;
select funcname, lineno, query from dbe_pldebugger.step();
select * from dbe_pldebugger.info_locals();
select funcname, lineno, query from dbe_pldebugger.step();
select funcname, lineno, query from dbe_pldebugger.step();
select funcname, lineno, query from dbe_pldebugger.step();
select funcname, lineno, query from dbe_pldebugger.step();
select funcname, lineno, query from dbe_pldebugger.step();
select funcname, lineno, query from dbe_pldebugger.step();
select funcname, lineno, query from dbe_pldebugger.continue();
select funcname, lineno, query from dbe_pldebugger.continue();
select pg_sleep(1);
select dbe_pldebugger.attach(nodename, port) from debug_info;
SELECT funcname, lineno, query FROM DBE_PLDEBUGGER.step();
SELECT funcname, lineno, query FROM DBE_PLDEBUGGER.step();
SELECT funcname, lineno, query FROM DBE_PLDEBUGGER.step();
SELECT funcname, lineno, query FROM DBE_PLDEBUGGER.step();
SELECT funcname, lineno, query FROM DBE_PLDEBUGGER.step();
SELECT * FROM DBE_PLDEBUGGER.abort();
select pg_sleep(1);
select dbe_pldebugger.attach(nodename, port) from debug_info;
truncate tmp_holder;
do $$
declare
funcoid oid;
funcoid2 oid;
begin
select oid from pg_proc into funcoid where proname = 'test_debug';
select oid from pg_proc into funcoid2 where proname = 'test_debug4';
insert into tmp_holder select * from dbe_pldebugger.add_breakpoint(funcoid, 31);
insert into tmp_holder select * from dbe_pldebugger.add_breakpoint(funcoid, 44);
insert into tmp_holder select * from dbe_pldebugger.add_breakpoint(funcoid2, 12);
insert into tmp_holder select breakpointno || ':' || lineno || ':' || query from dbe_pldebugger.info_breakpoints();
end;
$$;
select * from tmp_holder;
select funcname, lineno, query from dbe_pldebugger.continue();
select * from dbe_pldebugger.info_locals();
select funcname, lineno, query from dbe_pldebugger.continue();
select frameno, funcname, lineno, query from dbe_pldebugger.backtrace();
select * from dbe_pldebugger.info_locals();
select funcname, lineno, query from dbe_pldebugger.continue();
select funcname, lineno, query from dbe_pldebugger.continue();
select pg_sleep(1);
select dbe_pldebugger.attach(nodename, port) from debug_info;
select funcname, lineno, query from dbe_pldebugger.next();
select funcname, lineno, query from dbe_pldebugger.next();
select funcname, lineno, query from dbe_pldebugger.next();
select funcname, lineno, query from dbe_pldebugger.step();
select funcname, lineno, query from dbe_pldebugger.finish();
select funcname, lineno, query from dbe_pldebugger.finish();
select pg_sleep(1);
select dbe_pldebugger.attach(nodename, port) from debug_info;
truncate tmp_holder;
do $$
declare
funcoid oid;
begin
select oid from pg_proc into funcoid where proname = 'test_debug';
insert into tmp_holder select * from dbe_pldebugger.add_breakpoint(funcoid, 31);
insert into tmp_holder select * from dbe_pldebugger.add_breakpoint(funcoid, 44);
insert into tmp_holder select breakpointno || ':' || lineno || ':' || query from dbe_pldebugger.info_breakpoints();
end;
$$;
select funcname, lineno, query from dbe_pldebugger.finish();
select funcname, lineno, query from dbe_pldebugger.finish();
select funcname, lineno, query from dbe_pldebugger.finish();
select funcname, lineno, query from dbe_pldebugger.finish();
select pg_sleep(1);
select dbe_pldebugger.attach(nodename, port) from debug_info;
truncate tmp_holder;
do $$
declare
funcoid oid;
begin
select oid from pg_proc into funcoid where proname = 'test_debug_recursive';
insert into tmp_holder select * from dbe_pldebugger.add_breakpoint(funcoid, 5);
insert into tmp_holder select breakpointno || ':' || lineno || ':' || query from dbe_pldebugger.info_breakpoints();
end;
$$;
select funcname, lineno, query from dbe_pldebugger.step();
select frameno, funcname, lineno, query from dbe_pldebugger.backtrace();
select funcname, lineno, query from dbe_pldebugger.step();
select funcname, lineno, query from dbe_pldebugger.step();
select frameno, funcname, lineno, query from dbe_pldebugger.backtrace();
select funcname, lineno, query from dbe_pldebugger.step();
select funcname, lineno, query from dbe_pldebugger.step();
select frameno, funcname, lineno, query from dbe_pldebugger.backtrace();
select funcname, lineno, query from dbe_pldebugger.continue();
select frameno, funcname, lineno, query from dbe_pldebugger.backtrace();
select funcname, lineno, query from dbe_pldebugger.continue();
select frameno, funcname, lineno, query from dbe_pldebugger.backtrace();
select * from dbe_pldebugger.info_locals();
select * from dbe_pldebugger.info_locals(0);
select * from dbe_pldebugger.info_locals(1);
select * from dbe_pldebugger.info_locals(2);
select * from dbe_pldebugger.info_locals(3);
select * from dbe_pldebugger.info_locals(4);
select * from dbe_pldebugger.info_locals(-1);
select * from dbe_pldebugger.print_var('ct');
select * from dbe_pldebugger.print_var('ct', 0);
select * from dbe_pldebugger.print_var('ct', 1);
select * from dbe_pldebugger.print_var('ct', 2);
select * from dbe_pldebugger.print_var('ct', 3);
select * from dbe_pldebugger.print_var('ct', 4);
select * from dbe_pldebugger.print_var('ct', -1);
do $$
declare
funcoid oid;
begin
select oid from pg_proc into funcoid where proname = 'test_debug_recursive';
insert into tmp_holder select * from dbe_pldebugger.delete_breakpoint(0);
insert into tmp_holder select breakpointno || ':' || lineno || ':' || query from dbe_pldebugger.info_breakpoints();
end;
$$;
select funcname, lineno, query from dbe_pldebugger.continue();
select frameno, funcname, lineno, query from dbe_pldebugger.backtrace();
select funcname, lineno, query from dbe_pldebugger.continue();
select pg_sleep(1);
select dbe_pldebugger.attach(nodename, port) from debug_info;
select pg_sleep(1);
select dbe_pldebugger.attach(nodename, port) from debug_info;
select * from dbe_pldebugger.info_locals();
select funcname, lineno, query from dbe_pldebugger.next();
select funcname, lineno, query from dbe_pldebugger.next();
select * from dbe_pldebugger.set_var('x', '1; create table injection(a int)');
select * from dbe_pldebugger.set_var('x', 'create table injection(a int)');
select * from dbe_pldebugger.set_var('x', '1');
select * from dbe_pldebugger.set_var('vint', '1+1');
select * from dbe_pldebugger.set_var('vnum', '1');
select * from dbe_pldebugger.set_var('vfloat', '1');
select * from dbe_pldebugger.set_var('vvarchar', 'there is no spoon');
select * from dbe_pldebugger.set_var('vvarchar', '$$there is no spoon$$');
select * from dbe_pldebugger.set_var('vtext', '$$Why oh why didnt I take the blue pill?$$');
select * from dbe_pldebugger.set_var('vrow', '1');
select * from dbe_pldebugger.set_var('vrow', 'select * from test order by 1 limit 1');
select * from dbe_pldebugger.set_var('vrow', '$$select * from test order by 1 limit 1$$');
select * from dbe_pldebugger.set_var('test.a', '1');
select * from dbe_pldebugger.set_var('test.b', '$$now$$');
select * from dbe_pldebugger.set_var('test.c', '$$2021-07-31$$::timestamp + now() - now()');
select * from dbe_pldebugger.set_var('test.c', '$$2021-07-31$$::timestamp');
select * from dbe_pldebugger.set_var('vrec', '(1,1,1)::test%rowtype');
select * from dbe_pldebugger.set_var('vrec', 'ROW(1,1,1)');
select * from dbe_pldebugger.set_var('vrefcursor', '1');
select * from dbe_pldebugger.set_var('vconst', '1');
select * from dbe_pldebugger.set_var('vint', '1;SELECT OID FROM PG_PROC limit 1;');
select * from dbe_pldebugger.set_var('vint', '1;S');
select * from dbe_pldebugger.info_locals();
select funcname, lineno, query from dbe_pldebugger.next();
select funcname, lineno, query from dbe_pldebugger.next();
select * from dbe_pldebugger.info_locals();
select funcname, lineno, query from dbe_pldebugger.next();
select * from dbe_pldebugger.info_locals();
select funcname, lineno, query from dbe_pldebugger.next();
select pg_sleep(1);
select dbe_pldebugger.attach(nodename, port) from debug_info;
select * from dbe_pldebugger.info_locals();
select * from dbe_pldebugger.next();
select * from dbe_pldebugger.next();
truncate tmp_holder;
do $$
declare
funcoid oid;
begin
select oid from pg_proc into funcoid where proname = 'pro1';
insert into tmp_holder select * from dbe_pldebugger.add_breakpoint(funcoid, 12);
insert into tmp_holder select breakpointno || ':' || lineno || ':' || query from dbe_pldebugger.info_breakpoints();
end;
$$;
select funcname, lineno, query from dbe_pldebugger.continue();
SELECT * FROM DBE_PLDEBUGGER.info_locals();
SELECT * FROM DBE_PLDEBUGGER.backtrace();
SELECT * FROM DBE_PLDEBUGGER.continue();