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_14_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/264c441c4fc7a0d85996c422bdd4348eb14d8664

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

Reply via email to