[jira] [Updated] (SPARK-28836) Improve canonicalize API

2019-08-23 Thread Ali Afroozeh (Jira)


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

Ali Afroozeh updated SPARK-28836:
-
Description: 
The canonicalize(attrs: AttributeSeq) method in PlanExpression is somewhat 
confusing. 
 First, it is not clear why `PlanExpression` should have this method, and why 
the canonicalization is not handled
 by the canonicalized method of its parent, the Expression class. Second, the 
QueryPlan.normalizeExpressionId
 is the only place where PlanExpression.canonicalized is being called.

This PR removes the canonicalize method from the PlanExpression class and 
delegates the normalization of expression ids to
 the QueryPlan.normalizedExpressionId method. Also, the name 
normalizedExpressions is more suitable for this method,
 therefore, the method has also been renamed.

  was:
The canonicalize(attrs: AttributeSeq) method in PlanExpression is somewhat 
confusing. 
First, it is not clear why `PlanExpression` should have this method, and why 
the canonicalization is not handled
by the canonicalized method of its parent, the Expression class. Second, the 
QueryPlan.normalizeExpressionId
is the only place where PlanExpression.canonicalized is being called.

This PR simplifies the canonicalize method on PlanExpression and delegates the 
normalization of expression ids to
the QueryPlan.normalizedExpressionId method. Also, the name 
normalizedExpressions is more suitable for this method,
therefore, the method has also been renamed.


> Improve canonicalize API
> 
>
> Key: SPARK-28836
> URL: https://issues.apache.org/jira/browse/SPARK-28836
> Project: Spark
>  Issue Type: Improvement
>  Components: SQL
>Affects Versions: 3.0.0
>Reporter: Ali Afroozeh
>Priority: Minor
>
> The canonicalize(attrs: AttributeSeq) method in PlanExpression is somewhat 
> confusing. 
>  First, it is not clear why `PlanExpression` should have this method, and why 
> the canonicalization is not handled
>  by the canonicalized method of its parent, the Expression class. Second, the 
> QueryPlan.normalizeExpressionId
>  is the only place where PlanExpression.canonicalized is being called.
> This PR removes the canonicalize method from the PlanExpression class and 
> delegates the normalization of expression ids to
>  the QueryPlan.normalizedExpressionId method. Also, the name 
> normalizedExpressions is more suitable for this method,
>  therefore, the method has also been renamed.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)

-
To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org
For additional commands, e-mail: issues-h...@spark.apache.org



[jira] [Updated] (SPARK-28836) Improve canonicalize API

2019-08-23 Thread Ali Afroozeh (Jira)


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

Ali Afroozeh updated SPARK-28836:
-
Description: 
The canonicalize(attrs: AttributeSeq) method in PlanExpression is somewhat 
confusing. 
First, it is not clear why `PlanExpression` should have this method, and why 
the canonicalization is not handled
by the canonicalized method of its parent, the Expression class. Second, the 
QueryPlan.normalizeExpressionId
is the only place where PlanExpression.canonicalized is being called.

This PR simplifies the canonicalize method on PlanExpression and delegates the 
normalization of expression ids to
the QueryPlan.normalizedExpressionId method. Also, the name 
normalizedExpressions is more suitable for this method,
therefore, the method has also been renamed.

  was:This PR improves the `canonicalize` API by removing the method `def 
canonicalize(attrs: AttributeSeq): PlanExpression[T]` in `PlanExpression` and 
taking care of normalizing expressions in `QueryPlan`.


> Improve canonicalize API
> 
>
> Key: SPARK-28836
> URL: https://issues.apache.org/jira/browse/SPARK-28836
> Project: Spark
>  Issue Type: Improvement
>  Components: SQL
>Affects Versions: 3.0.0
>Reporter: Ali Afroozeh
>Priority: Minor
>
> The canonicalize(attrs: AttributeSeq) method in PlanExpression is somewhat 
> confusing. 
> First, it is not clear why `PlanExpression` should have this method, and why 
> the canonicalization is not handled
> by the canonicalized method of its parent, the Expression class. Second, the 
> QueryPlan.normalizeExpressionId
> is the only place where PlanExpression.canonicalized is being called.
> This PR simplifies the canonicalize method on PlanExpression and delegates 
> the normalization of expression ids to
> the QueryPlan.normalizedExpressionId method. Also, the name 
> normalizedExpressions is more suitable for this method,
> therefore, the method has also been renamed.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)

-
To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org
For additional commands, e-mail: issues-h...@spark.apache.org



[jira] [Updated] (SPARK-28836) Improve canonicalize API

2019-08-23 Thread Dongjoon Hyun (Jira)


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

Dongjoon Hyun updated SPARK-28836:
--
Description: This PR improves the `canonicalize` API by removing the method 
`def canonicalize(attrs: AttributeSeq): PlanExpression[T]` in `PlanExpression` 
and taking care of normalizing expressions in `QueryPlan`.  (was: This PR 
extracts the schema information of TPCDS tables into a separate class called 
`TPCDSSchema` which can be reused for other testing purposes)

> Improve canonicalize API
> 
>
> Key: SPARK-28836
> URL: https://issues.apache.org/jira/browse/SPARK-28836
> Project: Spark
>  Issue Type: Improvement
>  Components: SQL
>Affects Versions: 3.0.0
>Reporter: Ali Afroozeh
>Priority: Minor
>
> This PR improves the `canonicalize` API by removing the method `def 
> canonicalize(attrs: AttributeSeq): PlanExpression[T]` in `PlanExpression` and 
> taking care of normalizing expressions in `QueryPlan`.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)

-
To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org
For additional commands, e-mail: issues-h...@spark.apache.org



[jira] [Updated] (SPARK-28836) Improve canonicalize API

2019-08-23 Thread Dongjoon Hyun (Jira)


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

Dongjoon Hyun updated SPARK-28836:
--
Summary: Improve canonicalize API  (was: Introduce TPCDSSchema)

> Improve canonicalize API
> 
>
> Key: SPARK-28836
> URL: https://issues.apache.org/jira/browse/SPARK-28836
> Project: Spark
>  Issue Type: Improvement
>  Components: SQL
>Affects Versions: 3.0.0
>Reporter: Ali Afroozeh
>Priority: Minor
>
> This PR extracts the schema information of TPCDS tables into a separate class 
> called `TPCDSSchema` which can be reused for other testing purposes



--
This message was sent by Atlassian Jira
(v8.3.2#803003)

-
To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org
For additional commands, e-mail: issues-h...@spark.apache.org