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_16_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/774c47de1b3bfdd022c0ba9ec0ed77c0d62c805b Modified Files -------------- src/backend/utils/adt/tsquery.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-)
