mirror of
https://github.com/postgres/postgres.git
synced 2025-04-21 12:05:57 +03:00
Fix backstop in gin test if injection point is not reached
Per Tom Lane's observation that the test got stuck in infinite loop if the injection_points module was not loaded. It was supposed to give up after 10000 iterations, but the backstop was broken. Discussion: https://www.postgresql.org/message-id/2498595.1710511222%40sss.pgh.pa.us
This commit is contained in:
parent
85f65d7a26
commit
d802ff06d0
@ -45,6 +45,7 @@ declare
|
||||
i integer;
|
||||
begin
|
||||
-- Insert arrays with 'step' elements each, until an error occurs.
|
||||
i := 0;
|
||||
loop
|
||||
begin
|
||||
select insert_n(next_i, step) into next_i;
|
||||
@ -53,12 +54,12 @@ begin
|
||||
exit;
|
||||
end;
|
||||
|
||||
-- The caller is expected to set an injection point that eventuall
|
||||
-- The caller is expected to set an injection point that eventually
|
||||
-- causes an error. But bail out if still no error after 10000
|
||||
-- attempts, so that we don't get stuck in an infinite loop.
|
||||
i := i + 1;
|
||||
if i = 10000 then
|
||||
raise 'no error on inserts after ';
|
||||
raise 'no error on inserts after % iterations', i;
|
||||
end if;
|
||||
end loop;
|
||||
|
||||
|
@ -48,6 +48,7 @@ declare
|
||||
i integer;
|
||||
begin
|
||||
-- Insert arrays with 'step' elements each, until an error occurs.
|
||||
i := 0;
|
||||
loop
|
||||
begin
|
||||
select insert_n(next_i, step) into next_i;
|
||||
@ -56,12 +57,12 @@ begin
|
||||
exit;
|
||||
end;
|
||||
|
||||
-- The caller is expected to set an injection point that eventuall
|
||||
-- The caller is expected to set an injection point that eventually
|
||||
-- causes an error. But bail out if still no error after 10000
|
||||
-- attempts, so that we don't get stuck in an infinite loop.
|
||||
i := i + 1;
|
||||
if i = 10000 then
|
||||
raise 'no error on inserts after ';
|
||||
raise 'no error on inserts after % iterations', i;
|
||||
end if;
|
||||
end loop;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user