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_17_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/e05b7e2a45c7a151ad3f8771ba7f5d8b4ddd8d0c

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

Reply via email to