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

Table::set should reuse Table::get to fill the cache #6

Closed
AlexanderMihail opened this issue Apr 11, 2024 · 1 comment
Closed

Table::set should reuse Table::get to fill the cache #6

AlexanderMihail opened this issue Apr 11, 2024 · 1 comment
Assignees

Comments

@AlexanderMihail
Copy link
Owner

Table::set currently duplicates the logic of Table::get for filling-in the cache for existing keys. This should change.

AlexanderMihail pushed a commit that referenced this issue Apr 13, 2024
… table as well as any other user-table. The root of the web server is a generated HTML page with navigation for all the system features. There is now a map of tables. Selecting the current table is with the /tablename/?use rest command. Tables can also be dropped. Table::compact was reworked to shift-up deleted keys in the index. An index_revolver coroutine was introduced to return one index per invocation. This logic also has index cleanup capabilities. The Table::list() command uses this coroutine to produce the list of all keys. Table::get/set are now boolean. The set prevents overinserting and updating of unknown keys. The get returns false if the key is unknown. This allows now for inserting or updating "null" values. Better statistics. Better formatted output. All REST logic is in one DefaultHandle where the table list lock is maneaged. Everything the DB server does is listed in the / page which is built by DefaultHandle::build_help. Added the new Table::self_test method and the corresponding /?selftest=0 REST command. This system of self-testing obsoletes the rest.bat file while also aiming at raw performance.

This version has problems with deleting keys that are in cache. TODO.
This version closes issues: #1, #2, #3, #4, #5, #6, #8. It advances on issues #13 and #11.
@AlexanderMihail
Copy link
Owner Author

Done. Relates to #5.

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

No branches or pull requests

1 participant