Accept empty tsquery in binary input.

tsqueryrecv() calls findoprnd() even when the input has no query
items, so it fails on an empty tsquery, which is legal data.
This breaks, for example, binary COPY of a table containing an
empty tsquery.

Skip the operand walk for an empty query, as parse_tsquery() does.

Bug: #19778
Reported-by: Shay Rojansky <[email protected]>
Author: Ayush Tiwari <[email protected]>
Reviewed-by: Tom Lane <[email protected]>
Discussion: https://postgr.es/m/[email protected]
Backpatch-through: 14

Branch
------
REL_19_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/0d0d2a13e8b60f66017836ded0c05b5907921bf0

Modified Files
--------------
src/backend/utils/adt/tsquery.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)

Reply via email to