mirror of
https://github.com/postgres/postgres.git
synced 2026-05-26 11:15:54 -04:00
psql: Make ParseVariableDouble reject values above max
ParseVariableDouble missed returning false after logging an error when the parsed value exceeded max, making the value assigned rather than rejected. Backpatch down to v18 where this was introduced as part of the \WATCH_INTERVAL. Author: Sven Klemm <sven@tigerdata.com> Co-authored-by: Daniel Gustafsson <daniel@yesql.se> Reviewed-by: Daniel Gustafsson <daniel@yesql.se> Discussion: https://postgr.es/m/CAMCrgp31p_5SDVi7dwnP39tTW5icQ0MWHA+N4kJdXgkL0PEy8w@mail.gmail.com Backpatch-through: 18
This commit is contained in:
parent
aa7eb23aca
commit
e04910a9a2
2 changed files with 3 additions and 0 deletions
|
|
@ -452,6 +452,8 @@ psql_fails_like(
|
|||
'\set WATCH_INTERVAL 1e500',
|
||||
qr/is out of range/,
|
||||
'WATCH_INTERVAL variable is out of range');
|
||||
psql_like($node, '\echo :WATCH_INTERVAL',
|
||||
qr/^2$/m, 'WATCH_INTERVAL variable was not altered');
|
||||
|
||||
# Test \g output piped into a program.
|
||||
# The program is perl -pe '' to simply copy the input to the output.
|
||||
|
|
|
|||
|
|
@ -224,6 +224,7 @@ ParseVariableDouble(const char *value, const char *name, double *result, double
|
|||
if (name)
|
||||
pg_log_error("invalid value \"%s\" for variable \"%s\": must be less than %.2f",
|
||||
value, name, max);
|
||||
return false;
|
||||
}
|
||||
*result = dblval;
|
||||
return true;
|
||||
|
|
|
|||
Loading…
Reference in a new issue