mirror of
https://github.com/appy-one/acebase.git
synced 2026-05-25 06:02:14 -06:00
[PR #265] [MERGED] Split code into multiple files for easier maintenance #197
Labels
No labels
IndexedDB
browser
bug
dependencies
documentation
duplicate
enhancement
feature request
indexes
indexes
invalid
pull-request
query
question
transaction logging
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/acebase#197
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/appy-one/acebase/pull/265
Author: @appy-one
Created: 10/10/2025
Status: ✅ Merged
Merged: 5/18/2026
Merged by: @appy-one
Base:
master← Head:quality/organize-code📝 Commits (10+)
e7b6203Split code into multiple files for easier maintenancee788c54Fix: make sure unallocated records are not referenced in cache anymore. Might preventCorruptRecordErrors from occuring whilst running in a single process.cd10f2cFix failing node address lookups never resolving a parent read/write operationfbe619cAdd node info toreadHeadererror messagea5cc57cFix: suppress unhandled promise rejections and PromiseRejectionHandledWarningc41bb02Enhance node read/write error handling, automatically await child stream callback promises, fix locks potentially not being released upon error, reduce mem/cpu usage when reading/writing large nodes (maybe also slowing down a bit but not noticeably when running the tests), improve loggingdc17370(commented out) add a way to test with very short lock timeouts3611f5cImprove node-lock test to handle lock timeouts correctly3397a04Fix transaction log tests that did not always get the most recent cursor because of a race condition3d64340Add corrupted node testing capability. Writing to pathsimulate/corrupt/record/herewill now simulate a corrupted record📊 Changes
37 files changed (+7378 additions, -7200 deletions)
View changed files
📝
dist/browser.js(+159 -140)📝
dist/browser.min.js(+1 -1)📝
package-lock.json(+2 -2)📝
package.json(+1 -1)📝
src/api-local.ts(+4 -4)📝
src/btree/binary-tree.ts(+13 -5)➕
src/storage/binary/binary-storage-address-range.ts(+3 -0)➕
src/storage/binary/binary-storage-settings.ts(+74 -0)➕
src/storage/binary/binary-storage.ts(+2323 -0)➕
src/storage/binary/flags.ts(+9 -0)📝
src/storage/binary/index.ts(+2 -4629)➕
src/storage/binary/internal-node-reference.ts(+20 -0)➕
src/storage/binary/node-allocation.ts(+127 -0)➕
src/storage/binary/node-reader.ts(+1069 -0)➕
src/storage/binary/node-writer/create-node.ts(+28 -0)➕
src/storage/binary/node-writer/get-value-bytes.ts(+6 -0)➕
src/storage/binary/node-writer/lock-and-write-node.ts(+14 -0)➕
src/storage/binary/node-writer/merge-node.ts(+379 -0)➕
src/storage/binary/node-writer/rebuild-key-tree.ts(+47 -0)➕
src/storage/binary/node-writer/serialize-value.ts(+127 -0)...and 17 more files
📄 Description
This splits up the code into multiple files for easier maintenance, also includes latest fixes to increase stability, performance and prevent data curruption.
The code in this branch has been battle-tested for a week on a fairly busy app backend database with extremely satisfying results
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.