[jira] [Updated] (HAWQ-973) Check pi_varList in pxfheaders before setting headers

2016-08-02 Thread Goden Yao (JIRA)

 [ 
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

2016-08-02 Thread Goden Yao (JIRA)

 [ 
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

2016-08-02 Thread Goden Yao (JIRA)

 [ 
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

2016-08-01 Thread Kavinder Dhaliwal (JIRA)

 [ 
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)