Remove redundant ctx.addGroup() calls

Description

A long time ago there were problems with the same cursor being bound more than once - particularly SELF. A partial solution was to add calls to ctx.addGroup() to ensure that it was only associated once in each context.

However that also has the side-effect of preventing expressions being commoned up that are used within the group, and then following it.

Since then a unique no_self instance is always created, which should mean that many addGroups() and some removeAssociations can be removed.

Care still needs to be taken:

  • if the same dataset is assigned to more than once, make sure the assignments are in separate groups/loops. E.g., creating an inline dataset, or the clear before an aggregate loop.

  • If a dataset is iterated outside a loop then accessing the dataset will need to be careful to ensure it doesn't leak outside the scope of the iterator class.

  • ? Any others?

Conclusion

None

Activity

Show:
Fixed
Pinned fields
Click on the next to a field label to start pinning.

Details

Components

Assignee

Reporter

Priority

Fix versions

Created January 26, 2016 at 3:45 PM
Updated January 28, 2016 at 10:29 AM
Resolved January 28, 2016 at 10:29 AM