Commit graph

292 commits

Author SHA1 Message Date
Ewout Stortenbeker
b944b18eea +case insensitive compare on index result filters 2022-02-21 18:00:06 +01:00
Ewout Stortenbeker
6f373ade68 - also handle updates on indexed subkeys #67
- also allow indexes in subkeys (eg 'sub[2]/key')
- fixed #73: duplicate filter on index key failing
2022-02-21 17:57:50 +01:00
Ewout Stortenbeker
8a42bc7cc5 close indexes on exit 2022-02-21 15:25:00 +01:00
Ewout Stortenbeker
4056b46f88 - new feature: allow subkeys to be indexed #67
- performance improvements: enabled autoGrow, keeping index file open
- simplified tree locking
2022-02-21 15:24:23 +01:00
Ewout Stortenbeker
dce6c641ed removed invalid .bind call 2022-02-21 14:23:13 +01:00
Ewout Stortenbeker
d506dd2eff new getValueType utility function 2022-02-21 14:21:41 +01:00
Ewout Stortenbeker
24ca5f2038 return leaf write results 2022-02-18 20:20:41 +01:00
Ewout Stortenbeker
13342e6395 added lock timeout setting 2022-02-18 18:11:05 +01:00
Ewout Stortenbeker
47209b26e8 Fixed live query errors #61 and #68 2022-02-18 18:09:28 +01:00
Ewout Stortenbeker
fbf8209205 - New findAll method: fast keys lookup (helps #65)
- New splitNode method to prevent unnecessary rebuilds (helps #65)
- New process method: fast handling of multiple operations (helps #65)
- B+Tree locking now done on all operations
- new leaf hasNext and hasPrevious properties
- fixed "in" search operator (normalized key comparison)
- temporary tree rebuild statistics output
2022-02-18 18:07:57 +01:00
Ewout Stortenbeker
8feedf342a - FST management improvements
- fixed full FST issue #69
- Added support for database file locking
- Fixed getNodeInfo not working on announced lookups
- Improved child keys lookup performance in B+Trees (helps #65)
- Improved cache invalidation performance (helps #65)
- Implemented grow mechanism for B+Trees by moving data (helps #65)
2022-02-18 17:48:38 +01:00
Ewout Stortenbeker
31d32c4bdf Improved address cache invalidation performance 2022-02-18 17:33:41 +01:00
Ewout Stortenbeker
adee4599ba added lock timeout setting 2022-02-18 17:32:35 +01:00
Ewout Stortenbeker
8d9bb14743 - lock timeout setting
- fixed index creation on other storage types (in Node environment) #67
- preparations for import performance improvement
2022-02-18 17:31:23 +01:00
Ewout Stortenbeker
f4f8bc46d8 preparations for shared locks 2022-02-18 17:26:45 +01:00
Ewout Stortenbeker
ed5c6ee46d added hasErrorCode utility method 2022-02-18 17:25:22 +01:00
Ewout Stortenbeker
ebd4b5d276 configurable lock timeout 2022-02-18 17:23:44 +01:00
Ewout Stortenbeker
31ceb725c9 Export new PartialArray type from core 2022-01-07 17:57:06 +01:00
Ewout Stortenbeker
36e02b8f24 preparing for new data type.. 2022-01-07 17:56:11 +01:00
Ewout Stortenbeker
93ca3c24be - Improved transaction logging (+fixed #59)
- Better array handling & improved sparse checks
- Improved include / exlude filter logic & handling
2022-01-07 17:52:46 +01:00
Ewout Stortenbeker
9ef5852535 - Better array handling,
- Only prepare mutations if tx logging enabled
2022-01-07 17:48:40 +01:00
Ewout Stortenbeker
319aab2db5 Added import api method 2021-12-31 14:31:56 +01:00
Ewout Stortenbeker
3695aca8a8 - Added importNode method
- Added write function arg to exportNode method
- Fixed exporting of slashes in strings #56
- Fixed type-safe exporting default #57
- Fixed 'undefined` dbname prefixes #58
- Fixed options.context types in jsdocs
2021-12-31 14:31:30 +01:00
Ewout Stortenbeker
88b3b8c878 No optional chaining for old Node.js compatibility
(Fixes #55 Error: Unexpected token in storage-acebase.js)
2021-12-23 10:26:20 +01:00
Ewout Stortenbeker
10d07b712b Fixed index creation when running in cluster (#49) 2021-12-20 14:57:33 +01:00
Ewout Stortenbeker
f056603687 asynced readFromFile; now accepts file path 2021-12-20 14:54:37 +01:00
Ewout Stortenbeker
283c7b5a06 Moved ipc and transactions settings: storage->main 2021-12-15 11:46:24 +01:00
Ewout Stortenbeker
1b98342f2e Ignore non-object IPC messages 2021-12-15 11:42:02 +01:00
Ewout Stortenbeker
8ac93d230b Fixed startup error on missing ws package 2021-12-13 12:10:07 +01:00
Ewout Stortenbeker
3c94d8d7cd Added remote IPC server support 2021-12-10 17:42:39 +01:00
Ewout Stortenbeker
3a0abd3c37 canceled state wasn't updated 2021-12-10 17:41:45 +01:00
Ewout Stortenbeker
b8104e6734 debug flag off 2021-12-10 17:40:00 +01:00
Ewout Stortenbeker
331d872015 Added Remote IPC Server support 2021-12-10 17:39:39 +01:00
Ewout Stortenbeker
14198dff31 throw on pm2 clusters 2021-12-10 17:37:25 +01:00
Ewout Stortenbeker
d990ba8c12 throws instead of asserts 2021-12-10 17:36:20 +01:00
Ewout Stortenbeker
76af84783e Local API updates:
- get: adds cursor to context if tx logs used
- query: add cursor & return context with results
- updated getMutations
- added getChanges method
2021-11-25 17:13:14 +01:00
Ewout Stortenbeker
a09a53bdce - Added record corruption detection and handling
- Added ready event to prevent txStorage being used too early
- Improved getMutations logic, fixed unrelevant mutations being returned
- Split getMutations into getMutations & getChanges (compressed) methods
2021-11-25 17:08:19 +01:00
Ewout Stortenbeker
7786f222fa Exporting more classes 2021-11-25 16:59:11 +01:00
Ewout Stortenbeker
29b3f6dc68 debug logger now includes db type 2021-11-25 16:57:37 +01:00
Ewout Stortenbeker
5b01e0843d CustomStorage improvements:
- prevent repetitive diffing with forChild
- new getChildCount transaction method
- fixed child count to include inline children
2021-11-02 17:18:26 +01:00
Ewout Stortenbeker
eb94281d50 async getInfo, exists; commented out getChildInfo 2021-11-02 17:10:15 +01:00
Ewout Stortenbeker
5e2de83322 IndexedDB performance improvements:
- Using global 60s node cache
- Notifies other tabs (IPC peers) of cache invalidation
- Removed async for set, remove, removeMultiple
2021-11-02 17:08:52 +01:00
Ewout Stortenbeker
d8522aa918 Allowing indexes on different storage dbs 2021-10-27 11:42:03 +02:00
Ewout Stortenbeker
3cf22fab86 Implemented transaction logging support 2021-10-27 11:40:50 +02:00
Ewout Stortenbeker
8ad0bbb100 Improved IndexedDB performance with cache 2021-10-27 11:14:30 +02:00
Ewout Stortenbeker
74c6d4c279 Cleanup 2021-10-27 11:09:15 +02:00
Ewout Stortenbeker
7bde44a29c Added empty context to .get, new getMutations 2021-10-27 10:58:29 +02:00
Ewout Stortenbeker
51e0e650f7 Missing semicolon 2021-10-27 10:39:28 +02:00
Ewout Stortenbeker
471c95f968 Added fsync & fdatasync 2021-10-27 10:37:58 +02:00
Ewout Stortenbeker
70caf43fc8 Removed semicolon 2021-10-27 10:37:06 +02:00