[jira] [Updated] (HAWQ-973) Check pi_varList in pxfheaders before setting headers
[ https://issues.apache.org/jira/browse/HAWQ-973?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Goden Yao updated HAWQ-973: --- Description: "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:c} 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. was:"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 where length(pi_targetList) >0 and length(pi_varNumbers) == 0, so a condition on pi_varList needs to be added before invoking add_projection_desc_httpheader as is done in ExecProject. > Check pi_varList in pxfheaders before setting headers > - > > 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: backlog > > > "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:c} > 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)
[jira] [Updated] (HAWQ-973) Check pi_varList in pxfheaders before setting headers
[ https://issues.apache.org/jira/browse/HAWQ-973?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Goden Yao updated HAWQ-973: --- Description: "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. was: "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:c} 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. > Check pi_varList in pxfheaders before setting headers > - > > 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: backlog > > > "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)
[jira] [Updated] (HAWQ-973) Check pi_varList in pxfheaders before setting headers
[ https://issues.apache.org/jira/browse/HAWQ-973?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Goden Yao updated HAWQ-973: --- Fix Version/s: backlog > Check pi_varList in pxfheaders before setting headers > - > > 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: backlog > > > "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 > where length(pi_targetList) >0 and length(pi_varNumbers) == 0, 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)
[jira] [Updated] (HAWQ-973) Check pi_varList in pxfheaders before setting headers
[ https://issues.apache.org/jira/browse/HAWQ-973?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Kavinder Dhaliwal updated HAWQ-973: --- Description: "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 where length(pi_targetList) >0 and length(pi_varNumbers) == 0, so a condition on pi_varList needs to be added before invoking add_projection_desc_httpheader as is done in ExecProject. (was: {code} add_projection_desc_httpheader {code} 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 where length(pi_targetList) >0 and length(pi_varNumbers) == 0, so a condition on pi_varList needs to be added before invoking add_projection_desc_httpheader as is done in ExecProject.) > Check pi_varList in pxfheaders before setting headers > - > > 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 > > "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 > where length(pi_targetList) >0 and length(pi_varNumbers) == 0, 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)