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

Smaller codes DB tables #138

Merged
merged 5 commits into from
Jun 14, 2023
Merged

Smaller codes DB tables #138

merged 5 commits into from
Jun 14, 2023

Conversation

BryceStevenWilley
Copy link
Collaborator

Shrinks the code tables, particularly the optional services one, which required some refactoring to not assume that most operations take only a single transaction.

It shrinks the disk usage by a few GB, can't find my notes that I have for how much. It wasn't a ton though, and would need to go to enums if we wanted to actually decrease usage.

For now though, addresses #99.

Waiting for a run of replaceAll to finish for Illinois, then I'll merge, and will make the PR for integration tests as well.

More progress; still fails test from nothing

Had to pivot again, and start putting a lot of specific DELETE, INSERT,
and CREATE operations into the optional service class, since
that table is now two tables, which means two statements, which breaks all
of the abstractions we had that adding to a single codes table is adding to
a single SQL table. Just special cased a lot of stuff for Optionalservices.

Passed all tests, still need to local test

Formatting
Instead of continuing to non-optional service stuff.
@BryceStevenWilley BryceStevenWilley merged commit 57f6948 into main Jun 14, 2023
@BryceStevenWilley BryceStevenWilley deleted the smaller_codes branch June 14, 2023 21:15
BryceStevenWilley added a commit that referenced this pull request Jun 15, 2023
Added an easy script to run integration tests front to back, and slight improvements based on coverage data.

Previously, you would have to start up an the server separately, likely with a fully set-up database (that takes ~30-40 minutes for just one jurisdiction).

Now, there's a separate integration test that can generate coverage data for the java server code. It starts up by only downloading codes for one location to speed up start up time, and runs with the integration test script in EFSPIntegration.

There are also some fixes based on these integration tests run:

* Changed datafieldconfig column code to varchar 80. Bug introduced in #138, this only affects new databases made from scratch, which haven't happened yet. So this doesn't need to be in the version update.
* login database server key generation should create the tables if they don't exist
* HATEOS fixes:
    * add getDataFields to the ECFCodesService HATEOS
    * AdminUserServers had an extra /` on the end of HATEOS URLs, which causes issues on the current jakarta server
    * removes endpoints that don't exist based on the jurisdiction (i.e. Louisiana not having all endpoints)
* if there aren't message settings for a server, return the default settings, not 404
* removed the internal test trigger for when the Tyler EFM returns certain error codes
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