You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hawq.apache.org by "Goden Yao (JIRA)" <ji...@apache.org> on 2016/08/02 22:09:20 UTC

[jira] [Resolved] (HAWQ-973) Check pi_varList as additional condition before passing projection info

     [ https://issues.apache.org/jira/browse/HAWQ-973?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Goden Yao resolved HAWQ-973.
----------------------------
       Resolution: Fixed
    Fix Version/s:     (was: backlog)
                   2.0.1.0-incubating

> Check pi_varList as additional condition before passing projection info
> -----------------------------------------------------------------------
>
>                 Key: HAWQ-973
>                 URL: https://issues.apache.org/jira/browse/HAWQ-973
>             Project: Apache HAWQ
>          Issue Type: Bug
>          Components: PXF
>            Reporter: Kavinder Dhaliwal
>            Assignee: Kavinder Dhaliwal
>             Fix For: 2.0.1.0-incubating
>
>
> "add_projection_desc_httpheader()" extracts the indices of columns to project from pi_varNumbers, but calculates the length based on pi_targetList. This is similar to how ExecVariableList handles projection. However there are cases (Insert ...) where length(pi_targetList) >0 and length(pi_varNumbers) == 0, this will cause sigsegv when we try to iterate columns from varNumbers. 
> In HAWQ Native Table, see example below, it checks pi_isVarList to make sure the varNumbers are not null before passing projection filters:
> https://github.com/apache/incubator-hawq/blob/7fef48058c3572f4c4454d1726d07eefdfe0558c/src/backend/executor/execQual.c
> {code}
> if (projInfo->pi_isVarList)
> {
> ...
> }
> {code}
> PXF external tables should adopt the same logic, so a condition on pi_varList needs to be added before invoking add_projection_desc_httpheader as is done in ExecProject.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)