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

Refactor internal query graph representation #504

Closed
tokebe opened this issue Sep 27, 2022 · 2 comments
Closed

Refactor internal query graph representation #504

tokebe opened this issue Sep 27, 2022 · 2 comments
Assignees
Labels
enhancement New feature or request testing

Comments

@tokebe
Copy link
Member

tokebe commented Sep 27, 2022

Previously, API response records were refactored to streamline related code interactions and to simplify testing.

It appears that our internal representation of the query graph could use a similar treatment. Currently, the query graph (as supplied by the query) is validated and transformed into first qNodes and qEdges, and then qXEdges (query execution edges) are created as a "wrapper" of sorts around qEdges. Given the actual lifetime of a qEdge and limited use outside of being part of a qXEdge, I think it makes sense to roll the two into simply just a qEdge.

Merging qEdge and qXEdge would simplify the structure and interface. Beyond this, however, refactoring the class along the lines of Record in order to allow freezing/unfreezing of an instance, where both the frozen and unfrozen data (and therefor class constructor) have the same structure and property names, would also dramatically simplify both testing and further development.

@tokebe tokebe added enhancement New feature or request testing labels Sep 27, 2022
@tokebe tokebe self-assigned this Sep 28, 2022
@rjawesome
Copy link
Contributor

rjawesome commented Sep 29, 2022

I could work on this. Some work started on combine-qedge branch (mega_query_edge.js is combined qedge/qxedge, is being used in query_graph.js).

@tokebe
Copy link
Member Author

tokebe commented Jan 25, 2023

Deployed to Prod.

@tokebe tokebe closed this as completed Jan 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request testing
Projects
None yet
Development

No branches or pull requests

2 participants