diff options
author | Teodor Sigaev <teodor@sigaev.ru> | 2009-07-28 09:31:55 +0000 |
---|---|---|
committer | Teodor Sigaev <teodor@sigaev.ru> | 2009-07-28 09:31:55 +0000 |
commit | 1f4b046c188cd6f8eda4890f7f0e9d9974825d9b (patch) | |
tree | 69544f65f6025a55763546564f00c6da1928347d /src/backend/utils/adt/tsquery_rewrite.c | |
parent | c1b9ec24efb5d576800fb5163acab6bdefb4391c (diff) | |
download | postgresql-1f4b046c188cd6f8eda4890f7f0e9d9974825d9b.tar.gz postgresql-1f4b046c188cd6f8eda4890f7f0e9d9974825d9b.zip |
Fix incorrect cleanup of tsquery in ts_rewrite(). Per bug #4933 by
Aaron Marcuse-Kubitza <aaronmk@blackducksoftware.com>
Diffstat (limited to 'src/backend/utils/adt/tsquery_rewrite.c')
-rw-r--r-- | src/backend/utils/adt/tsquery_rewrite.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/backend/utils/adt/tsquery_rewrite.c b/src/backend/utils/adt/tsquery_rewrite.c index 981c729d953..d4f67334033 100644 --- a/src/backend/utils/adt/tsquery_rewrite.c +++ b/src/backend/utils/adt/tsquery_rewrite.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/utils/adt/tsquery_rewrite.c,v 1.15 2009/07/16 06:33:44 petere Exp $ + * $PostgreSQL: pgsql/src/backend/utils/adt/tsquery_rewrite.c,v 1.16 2009/07/28 09:31:55 teodor Exp $ * *------------------------------------------------------------------------- */ @@ -217,12 +217,12 @@ dropvoidsubtree(QTNode *root) root->nchild = j; - if (root->valnode->qoperator.oper == OP_NOT && root->nchild == 0) + if (root->nchild == 0) { QTNFree(root); root = NULL; } - else if (root->nchild == 1) + else if (root->nchild == 1 && root->valnode->qoperator.oper != OP_NOT) { QTNode *nroot = root->child[0]; |