Repository: incubator-hawq Updated Branches: refs/heads/HAWQ-1048 0ff70373b -> 694ad0383
HAWQ-1048. Discard whole filter if at least one operator is not supported. Project: http://git-wip-us.apache.org/repos/asf/incubator-hawq/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-hawq/commit/694ad038 Tree: http://git-wip-us.apache.org/repos/asf/incubator-hawq/tree/694ad038 Diff: http://git-wip-us.apache.org/repos/asf/incubator-hawq/diff/694ad038 Branch: refs/heads/HAWQ-1048 Commit: 694ad0383cce829057636365a87b92056bb52e03 Parents: 0ff7037 Author: Oleksandr Diachenko <odiache...@pivotal.io> Authored: Thu Sep 22 11:43:19 2016 -0700 Committer: Oleksandr Diachenko <odiache...@pivotal.io> Committed: Thu Sep 22 11:43:19 2016 -0700 ---------------------------------------------------------------------- src/backend/access/external/pxffilters.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/694ad038/src/backend/access/external/pxffilters.c ---------------------------------------------------------------------- diff --git a/src/backend/access/external/pxffilters.c b/src/backend/access/external/pxffilters.c index 8c3864d..847f120 100644 --- a/src/backend/access/external/pxffilters.c +++ b/src/backend/access/external/pxffilters.c @@ -301,8 +301,12 @@ pxf_serialize_filter_list(List *expressionItems) } appendStringInfo(resbuf, "%c%d", PXF_OPERATOR_CODE, o); pxf_free_filter(filter); - } else{ + } else { + /* if at least one expression item is not supported, whole filter doesn't make sense*/ + elog(INFO, "Query will not be optimized to use filter push-down."); pfree(filter); + pfree(resbuf->data); + return NULL; } break; }