Fix core dump in QTNodeCompare when tsquery_cmp() is applied to two empty
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 3 Aug 2010 00:10:52 +0000 (00:10 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 3 Aug 2010 00:10:52 +0000 (00:10 +0000)
commit9f4b99afbb3861ab2344b1db62193b4673126ce5
treea03a0a6a500de8b074ba12a050298800b70dcc89
parentc472e780a375c2aaf88b95f7c36cf4d74f453679
Fix core dump in QTNodeCompare when tsquery_cmp() is applied to two empty
tsqueries.  CompareTSQ has to have a guard for the case rather than blindly
applying QTNodeCompare to random data past the end of the datums.  Also,
change QTNodeCompare to be a little less trusting: use an actual test rather
than just Assert'ing that the input is sane.  Problem encountered while
investigating another issue (I saw a core dump in autoanalyze on a table
containing multiple empty tsquery values).

Back-patch to all branches with tsquery support.

In HEAD, also fix some bizarre (though not outright wrong) coding in
tsq_mcontains().
src/backend/utils/adt/tsquery_op.c
src/backend/utils/adt/tsquery_util.c