You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I get consistent server crash when running a query from plpgsql with an inequality condition that refers to a variable.
The crash happens exactly on the 6th execution of the request...
It does not occur if I change the inequality to an equality, or if I use a constant rather than a variable.
Versions:
postgres: 13.2
Mongo FDW: 5.4.0
Mongo: 4.2.18
Reproduction script:
CREATE FOREIGN TABLE test ( importeddate text )
SERVER whatever
OPTIONS (database 'test', collection 'test');
-- perform a query from with inequality and variable
create or replace procedure gogogo() as $$
declare val text;
begin
val :='ZZZ';
perform from test where importeddate > val ;
end
$$ LANGUAGE plpgsql;
-- Now do 6 call...
call crash(); call crash(); call crash(); call crash(); call crash(); call crash();
The text was updated successfully, but these errors were encountered:
This issue is reproducible at my end as well.
This is a bug and this is due to missed handling of Param node
in case of comparison operator while preparing query filter.
You can apply attached patch to fix this issue.
We will try to commit these changes as soon as possible. Fix-crash-v1.txt
While preparing a query filter in mongo_query_document(), we have
missed considering the Param node in a comparison expression. And
thus, was not preparing the query correctly, leading to the server
crash. We do have this handling for the equality operator, though.
Fix the same.
Reported on GitHub through issue #160 by pludov.
FDW-529, Vaibhav Dalvi, reviewed and further revised by Jeevan Chalke.
I get consistent server crash when running a query from plpgsql with an inequality condition that refers to a variable.
The crash happens exactly on the 6th execution of the request...
It does not occur if I change the inequality to an equality, or if I use a constant rather than a variable.
Versions:
Reproduction script:
The text was updated successfully, but these errors were encountered: