You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pig.apache.org by "Daniel Dai (JIRA)" <ji...@apache.org> on 2010/07/21 19:04:50 UTC
[jira] Commented: (PIG-1510) Add `deepCopy` for LogicalExpressions
[ https://issues.apache.org/jira/browse/PIG-1510?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12890777#action_12890777 ]
Daniel Dai commented on PIG-1510:
---------------------------------
Yes, this should be a useful functionality. It will be included in the next patch for PIG-1178. I will submit a patch very soon.
> Add `deepCopy` for LogicalExpressions
> -------------------------------------
>
> Key: PIG-1510
> URL: https://issues.apache.org/jira/browse/PIG-1510
> Project: Pig
> Issue Type: New Feature
> Components: data
> Affects Versions: 0.8.0
> Reporter: Swati Jain
> Assignee: Swati Jain
> Fix For: 0.8.0
>
>
> It would be useful to have a way to `deepCopy` an expression. `deepCopy` will create a new object so that changes made to one object will not reflect in the copy. There are 2 reasons why we don't override clone.
> * It may be better to use `deepCopy` since the copy semantics are explicit (since deepCopy may be expensive).
> * A second important reason for defining `deepCopy` as a separate routine is that it can be passed a plan as an argument which will be updated as the expression is copied (through plan.add and plan.connect).
> The usage would look like the following:
> {noformat}
> LogicalExpressionPlan logicalPlan = new LogicalExpressionPlan();
> LogicalExpression copyExpression = origExpression.deepCopy( logicalPlan );
> {noformat}
> An immediate motivation for this would be for constructing the expressions that constitute the CNF form of an expression.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.