mirror of
https://github.com/postgres/postgres.git
synced 2025-11-04 20:11:56 +03:00
Convert tsqueryin and tsvectorin to report errors softly.
This is slightly tedious because the adjustments cascade through a couple of levels of subroutines, but it's not very hard. I chose to avoid changing function signatures more than absolutely necessary, by passing the escontext pointer in existing structs where possible. tsquery's nuisance NOTICEs about empty queries are suppressed in soft-error mode, since they're not errors and we surely don't want them to be shown to the user anyway. Maybe that whole behavior should be reconsidered. Discussion: https://postgr.es/m/3824377.1672076822@sss.pgh.pa.us
This commit is contained in:
@@ -383,7 +383,7 @@ calcstrlen(NODE *node)
|
||||
* Remove QI_VALSTOP (stopword) nodes from TSQuery.
|
||||
*/
|
||||
TSQuery
|
||||
cleanup_tsquery_stopwords(TSQuery in)
|
||||
cleanup_tsquery_stopwords(TSQuery in, bool noisy)
|
||||
{
|
||||
int32 len,
|
||||
lenstr,
|
||||
@@ -403,8 +403,9 @@ cleanup_tsquery_stopwords(TSQuery in)
|
||||
root = clean_stopword_intree(maketree(GETQUERY(in)), &ladd, &radd);
|
||||
if (root == NULL)
|
||||
{
|
||||
ereport(NOTICE,
|
||||
(errmsg("text-search query contains only stop words or doesn't contain lexemes, ignored")));
|
||||
if (noisy)
|
||||
ereport(NOTICE,
|
||||
(errmsg("text-search query contains only stop words or doesn't contain lexemes, ignored")));
|
||||
out = palloc(HDRSIZETQ);
|
||||
out->size = 0;
|
||||
SET_VARSIZE(out, HDRSIZETQ);
|
||||
|
||||
Reference in New Issue
Block a user