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.