Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Handling of circular references #4

Closed
swmal opened this issue Feb 2, 2020 · 1 comment
Closed

Handling of circular references #4

swmal opened this issue Feb 2, 2020 · 1 comment
Assignees
Labels
bug Something isn't working enhancement New feature or request

Comments

@swmal
Copy link
Contributor

swmal commented Feb 2, 2020

The handling of circular references needs a redesign for the following reasons:

  • Currently a CircularReferenceException is always thrown when the formula engine detects a circular reference during construction of the dependency chain. We want to move the logic for throwing this exception downstream to the compiler so that it only is thrown when Calculate is called.

  • Some functions should be able to ignore if a circular reference occurs.

@swmal swmal added bug Something isn't working enhancement New feature or request labels Feb 2, 2020
@swmal swmal self-assigned this Feb 2, 2020
swmal added a commit that referenced this issue Feb 3, 2020
swmal added a commit that referenced this issue Feb 8, 2020
@swmal swmal closed this as completed Feb 8, 2020
@swmal
Copy link
Contributor Author

swmal commented Feb 8, 2020

Circular references are now ignored on functions such as ROW and COLUMN. For other circular references the calc engine will either throw a CircularReferenceException if ExcelCalculationOpton.AllowCircularReferences is set to false (default) or count the cell as empty if it is set to true. The default behaviour of this property can also be set via configuration files.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant