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

Add barebones duckDB reporter #75

Merged
merged 3 commits into from
Feb 14, 2024
Merged

Conversation

nicholasjng
Copy link
Collaborator

@nicholasjng nicholasjng commented Feb 12, 2024

Implements a polymorphic read/write facility via a simple backend
abstraction. A backend here is a pair of serialization and deserialization
callbacks with a strict interface.

Starting backends are JSON, CSV (untested), and YAML (untested).

Currently, the choice of inlining context vs. saving only the two top
level keys is not given, which results in errors when trying to read
records with duckDB. This will be addressed in a follow-up.


Add barebones duckDB reporter

This is a bit of a misnomer, since the class is currently just a file
reporter with some extra filtering facilities. To improve, we need to
open up a SQL query builder facility to actually obtain analytics from
the database without too much effort.

In that light, it may be beneficial to outsource this part of the process
if supporting all relevant SQL features turns out to be too cumbersome.

They are not directly useable for descendants, which might have their
own display options, so they move into the class API.

Also extends the read/write interfaces to variadic generics to make
subclassing easier for now until the interface stands.
Implements a polymorphic read/write facility via a simple backend
abstraction. A backend here is a pair of serialization and deserialization
callbacks with a strict interface.

Starting backends are JSON, CSV (untested), and YAML (untested).

Currently, the choice of inlining context vs. saving only the two top
level keys is not given, which results in errors when trying to read
records with duckDB. This will be addressed in a follow-up.
This is a bit of a misnomer, since the class is currently just a file
reporter with some extra filtering facilities. To improve, we need to
open up a SQL query builder facility to actually obtain analytics from
the database without too much effort.

In that light, it may be beneficial to outsource this part of the process
if supporting all relevant SQL features turns out to be too cumbersome.
@nicholasjng nicholasjng merged commit d57342d into main Feb 14, 2024
5 checks passed
@nicholasjng nicholasjng deleted the extend-reporter-interface branch February 14, 2024 15:37
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.

2 participants