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

Functions context #196

Merged
merged 13 commits into from
Jun 30, 2024
Merged

Functions context #196

merged 13 commits into from
Jun 30, 2024

Conversation

dnicolodi
Copy link
Collaborator

No description provided.

@dnicolodi dnicolodi force-pushed the functions-context branch 5 times, most recently from 7b822fb to 07cdc52 Compare June 30, 2024 12:58
This argument is going away in a few commits, but rename it for now
for clarity and to do not break everything during refactoring.
This allows functions implementations to access the evaluation
context, especially other tables. The goal is to eliminate all BQL
functions that take an implicit reference to the current evaluation
row and are thus tied to queries on specific tables.
Make them take a reference to the evaluation context instead, and look
up the required information from other tables. This allows to simplify
the structure of the row returned by the postings table.

meta(), entry_meta(), any_meta(), and has_account() cannot be updated
to the new schema as they access the entry relative to the current
posting. These functions will be deprecated and replaced by other
constructs.
The function cannot be short-circuit when the third argument is NULL.
The AST is rewritten to contain explicit references to the meta and
entry.meta columns. This removes the need to pass the current row
object (which is of the expected kind only when iterating the postings
or entries tables) to the function evaluation.
@dnicolodi dnicolodi merged commit 7577b6c into beancount:master Jun 30, 2024
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant