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

WIP: In memory database handle #206

Closed

Conversation

stepaniukm
Copy link
Contributor

@stepaniukm stepaniukm commented Mar 2, 2025

This PR introduces the first iteration of in memory database that is more compatible with Pongo, than the first tries. It is supposed to be the 3rd step from the issue: #179

stepaniukm and others added 30 commits February 10, 2025 21:26
Thanks to that, one can still use custom id based on the event data
Moved creation of db by location to construction
E2E tests were failing, as there was no nested database folder in the 'testing' subdirectory. Probably locally it was created, but git is not commiting empty folders. Adjusted not to require such nesting.

Fixed also TS config to compile SQLite package correctly, as some entries were missing. After that fixed the common errors.

Added a helper withConnection to streamline the connection management. Now it also uses correctly close in finalize, instead of double closing in case of error.

Renamed location to fileName to follow the SQLite naming convention, made it also optional with fallback to in memory.

Removed absolute file path and custom, as it won't allow easily passing the filenames without casting that are not typed manually.
Thanks to that processors will be automatically typed by that. This can be useful if we have multiple processors for the same stream subscription.

It's optional and falls back to event, so each processor can still have it's own event type (e.g. when subscribing to all events).

Other option is to put a union of all events in consumer and then use just a subset of those types in processors.
By accident, there was a leftover forcing user to still provide even empty object, which doesn't make sense as it should be passed.
oskardudycz and others added 28 commits March 2, 2025 12:17
Added also first draft of PostgreSQL async projection processor
This is the first step to enable message storing and workflows
The overview page provided users with a map to navigate the documentation while it keeps growing.

As systematic approach the Diataxis framework is introduced.
@stepaniukm
Copy link
Contributor Author

This PR was broken because I made a git mistake, correct one is to be found in the next one -> #207

@stepaniukm stepaniukm closed this Mar 2, 2025
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.

5 participants