1276 Commits (next)

Author SHA1 Message Date
Sayan Nandan 23f4296982
Pass references for model data
Also fixed a bug that reported false positives of data corruption
resulting from incorrect checksum tracking.
10 months ago
Sayan Nandan 2b4d9efb1b
Simplify response handling 10 months ago
Sayan Nandan 341a896c37
Simplify schema changes 10 months ago
Sayan Nandan 3e49971efc
Fix inconsistent SE state due to incorrect propagation 10 months ago
Sayan Nandan 4ba7b97ac7
Fix windows builds
Also added changelog entries
10 months ago
Sayan Nandan a3d87e4850
Make sure that model drops are synchronized across the system 10 months ago
Sayan Nandan 3cdd814067
Ensure PID locks prevent corruption 10 months ago
Sayan Nandan f923a4fc39
Fix test harness
Don't try to initiate an actual connection (right now). Instead,
try to see if the TCP port is live and can be connected to.

Also added some misc `rustfmt` fixes.
10 months ago
Sayan Nandan fddb24ad0b
Implement new REPL and remove old impls 10 months ago
Sayan Nandan fff5780586
Remove old tools 10 months ago
Sayan Nandan 0fed52fe8a
Sync system stores when config changes 10 months ago
Sayan Nandan d6eeb5cdf6
Cleanup 11 months ago
Sayan Nandan cac33bf7c2
Simplify DML path [skip ci] 11 months ago
Sayan Nandan 09bd217998
Use buffered IO and fix r/w through cache [skip ci]
Also ensure that any pending tasks are completed before exit
11 months ago
Sayan Nandan b7fd815e9e
Enable select exec [skip ci] 11 months ago
Sayan Nandan e412cea7eb
Preserve type in objects and fix DML validation 11 months ago
Sayan Nandan 3e981f3dcb
Implement exec, fix delta handling and add resp 11 months ago
Sayan Nandan dfdb8a39ec
Migrate to use new database engine 12 months ago
Sayan Nandan a69093aa96
Implement new error tracing system
[ci] Update rust installation
12 months ago
Sayan Nandan be540a7ded
Add net impls
Also cleaned up error impls
12 months ago
Sayan Nandan 5ba82a6cf0
Force users to set root password 12 months ago
Sayan Nandan d2faa19140
Remove retry loop in SE recovery algorithm
I must have done this in a hurry, but this algorithm has a lot of
inconsistencies and it's safer to avoid this for now. I'll implement
a more robust error detection and correction algorithm later.
12 months ago
Sayan Nandan 0d16776541
Enable sysdb init 12 months ago
Sayan Nandan ef3d71f593
Optimize header implementation
The SDSS header impls were way too complex, and unnecessarily linked
to the file system API abstractions. Now we have a more decoupled API
with optional variable headers.
12 months ago
Sayan Nandan c4d51ac8e7
Ensure full auth config is read 1 year ago
Sayan Nandan c35e35b9c8
Only attempt to restore data if new instance 1 year ago
Sayan Nandan 6df09c194c
Initialize storage drivers on init
Also fixed an issue with NullFS where the null
flag was not set.
1 year ago
Sayan Nandan fac2802849
Wire up queries to SE 1 year ago
Sayan Nandan 9102834623
Add config tests 1 year ago
Sayan Nandan 190220127c
Implement new config module 1 year ago
Sayan Nandan 6a01d9d513
Basic DCL impls 1 year ago
Sayan Nandan 597a49a91b
Param by default in protocol 1 year ago
Sayan Nandan a390120231
Cleanup lexer impl 1 year ago
Sayan Nandan 5e068c0e9b
Generalize scanner 1 year ago
Sayan Nandan 7238f0c0e8
Impl Skyhash/2 data exchange 1 year ago
Sayan Nandan 91514d4219
Implement protocol stage 1 1 year ago
Sayan Nandan 9e9a7b9c9a
Clean up enum methods 1 year ago
Sayan Nandan 9ceaa54abd
Simplify error propagation 1 year ago
Sayan Nandan 1abe4a7217
Simplify gns txn driver handling 1 year ago
Sayan Nandan cf055f418d
Request delta updates 1 year ago
Sayan Nandan 0d076dd1b3
Simplify global namespace handling 1 year ago
Sayan Nandan 5cafc61231
Implement services 1 year ago
Sayan Nandan e309e35b63
Make the FS definition more generic 1 year ago
Sayan Nandan cbac4e6739
Add tests for skewed and shuffled deltas 1 year ago
Sayan Nandan f4d2adc4e8
Add tests for skewed and unskewed deltas 1 year ago
Sayan Nandan 7dff706115
Reduce batch metadata size 1 year ago
Sayan Nandan 20c937451f
Implement batched persistence system 1 year ago
Sayan Nandan ee9ccd5a30
Also store schema version in delta 1 year ago
Sayan Nandan e4848e645e
Sync row deltas to delta state 1 year ago
Sayan Nandan f230bc7920
Add all model DDL txn tests 1 year ago
Sayan Nandan 8d2097e526
Add txn impls and tests for model DDL 1 year ago
Sayan Nandan 29d4137a2c
Add space DDL txns and full chain tests
Also ensure that the `env` key is not when merged
1 year ago
Sayan Nandan 39edfc64c9
Make sure props are stored inside space.meta.env
Also fixed a bug in the create space txn payload
1 year ago
Sayan Nandan ea072f281c
Add create space txn 1 year ago
Sayan Nandan 97a9471529
Utilize VFS for all testing 1 year ago
Sayan Nandan 9133949beb
Add IO tests for gns tx payloads 1 year ago
Sayan Nandan ea20611ebe
Cleanup gns txn impls 1 year ago
Sayan Nandan 13a39f1e1f
Simplify enc/dec misc procedures 1 year ago
Sayan Nandan 891252a89d
Add remaining DDL txns 1 year ago
Sayan Nandan 138753c4ad
Add `create model` txn impl 1 year ago
Sayan Nandan b78824d6d0
Simplify gns event impls 1 year ago
Sayan Nandan 7eff973b9e
Add `create space` txn impl 1 year ago
Sayan Nandan 79b450160e
Remove metadata spec and simplify obj enc/dec 1 year ago
Sayan Nandan d09df81757
Unlink MD traits from map enc/dec impls 1 year ago
Sayan Nandan df61b627b4
Add preliminary event impls 1 year ago
Sayan Nandan d8cabb9761
Add enc/dec for space 1 year ago
Sayan Nandan 70552a5df4
Impl enc/dec for model 1 year ago
Sayan Nandan 6e3f26ddbd
Make enc/dec for dicts more generic 1 year ago
Sayan Nandan 550a39ad99
Fix space DDL tests 1 year ago
Sayan Nandan 369abe9a22
Allow persist objects to have custom metadata 1 year ago
Sayan Nandan 2937cc7fbe
Simplify enc/dec spec traits 1 year ago
Sayan Nandan a619ea635c
Always assign UUIDs 1 year ago
Sayan Nandan 29457c6b89
Impl enc/dec routines for internal structures 1 year ago
Sayan Nandan 026b5ef0d2
Implement dict dec and resolve null disambiguation
The previous logic of using a different null was extremely confusing,
and we essentially ended up creating "two different null types."

That has been removed and we have implemented the dict dec methods and
rectified the enc methods.
1 year ago
Sayan Nandan bd3225693f
Upgrade deps 1 year ago
Sayan Nandan b6d5ad1c75
Add basic impl for `DictGeneric` 1 year ago
Sayan Nandan 7346035a27
Impl basic hl inf for persist 1 year ago
Sayan Nandan 3d2e4f2014
Simplify metadict semantics 1 year ago
Sayan Nandan 263e70905d
Rewrite journal: recovery impl and driver init
On initialization the driver will no longer attempt to truncate the
close event but instead use a truly AO style and utilize a new
directive.

We also now have a basic externally triggered on write and automatically
trigger on read recovery system in place. However, there are several
scopes of improvement to the implementation, such as tolerating even
more inconsistencies in the data.
1 year ago
Sayan Nandan e2b81ac77f
Upgrade deps 1 year ago
Sayan Nandan c1f8e2d1bd
Remove the delete entry once validated 1 year ago
Sayan Nandan dc4afdc257
Add mock txn impl and fix txn impls 1 year ago
Sayan Nandan 710fd79e64
Add methods to verify header data 1 year ago
Sayan Nandan 24c3b0f8a7
Fix test suite file writers 1 year ago
Sayan Nandan b0ef30853c
Upgrade deps 1 year ago
Sayan Nandan 843ff05d85
Impl txn log writer 1 year ago
Sayan Nandan 55f53456f8
Implement transaction reader 1 year ago
Sayan Nandan 9091db6bd3
Impl SDSS Writer 1 year ago
Sayan Nandan 17b07897e5
Implement `StartStop` 1 year ago
Sayan Nandan 2756682729
Implement auto generation for header objects 1 year ago
Sayan Nandan 45c93eac3c
Redefine SDSS Header records to have fixed layout 1 year ago
Sayan Nandan e126c826f9
Add new dynamic record definition and remove rw 1 year ago
Sayan Nandan 901150f98f
Impl basic header enc/dec methods 1 year ago
Sayan Nandan beb4d16ab4
Simplify header decode impl and fix MDR endian bug 1 year ago
Sayan Nandan 0e77946714
Add decode impls for headers 1 year ago
Sayan Nandan 96acecb2c3
Impl basic SDSSWriter (raw) 1 year ago
Sayan Nandan c8d3e6b739
Fix uptime impl 1 year ago
Sayan Nandan f29807446f
Add generation for full SDSS header 1 year ago
Sayan Nandan b0651c9492
Implement SDSS Header generators 1 year ago
Sayan Nandan dbc7128c41
Add more tests for update 1 year ago
Sayan Nandan 4580b76d55
Implement v1 executor for update 1 year ago
Sayan Nandan f2a0fda29d
Remove the shared impl of seq index
I actually realized this is a terrible abstraction the day I implemented
it and have since been planning to remove it.

The issue is with aliasing and potential corruption in a multi-threaded
environment. Even though we have never used it in such a context (aka
triggering UB) but we can potentially make an *accidental* use of it;
don't take it lightly: it's like modifying data while someone else is
reading it. That's not bad, that's a nightmare.
1 year ago
Sayan Nandan dae2052773
Implement and select and fix security bug in index
Discovered another security bug which could potentially be dangerous:
the low level impl of the index used a comparator where eager evaluation
of an expression led to an erroneous return.
1 year ago
Sayan Nandan abf1e29344
Add tests for insert and delete, and fix security bug
This commit makes an important security fix that caused non-matching
of field data which could have had terrible impacts.

Second, it adds tests for insert and delete.
1 year ago
Sayan Nandan b714647905
Add tests for insert 1 year ago
Sayan Nandan 2488053318
Implement delete and add impls required for other dml queries 1 year ago
Sayan Nandan 361acccc09
Use delta for schema changes
Also fixed an issue where an `alter model` would fail to keep added
fields in order.
1 year ago
Sayan Nandan 5838941ce8
Impl basic executor for ins 1 year ago
Sayan Nandan 60157e110b
Simplify cht impls 1 year ago
Sayan Nandan 05d93d2102
Add basic row definition 1 year ago
Sayan Nandan ac2ec6f71a
Move dc into data 1 year ago
Sayan Nandan 9297095f45
Add spl case tests 1 year ago
Sayan Nandan e2112c8bc1
Fix error causing dangling block 1 year ago
Sayan Nandan 4eb2851cf9
Improve word impls 1 year ago
Sayan Nandan 329ef1a27e
Add tests for large integers in data items 1 year ago
Sayan Nandan b25899e04b
Fix native qw storage for `Datacell` 1 year ago
Sayan Nandan eca185d560
Make rc modular 1 year ago
Sayan Nandan 554a478917
Add index key 1 year ago
Sayan Nandan 87adc1046d
Simplify entity handling 1 year ago
Sayan Nandan f98c5d3aa4
Reduce memory usage per GNS index item 1 year ago
Sayan Nandan 1586b05bbd
Add `drop model` exec without advanced params 1 year ago
Sayan Nandan fcc187901d
Require full entity in `create model` 1 year ago
Sayan Nandan 45ef72e400
Require full entity path in `alter model` 1 year ago
Sayan Nandan 30d1be4862
Add misc fixes 1 year ago
Sayan Nandan d626f9a302
Fix layer validation call and entity parse 1 year ago
Sayan Nandan ccfb7b2e12
Unsafe code review (partial)
Unsafe code review for March, 2023.

NEEDCHECK: Still need to verify unsafe code in index implementations
1 year ago
Sayan Nandan f0f67a98fc
Fix unsoundness in `alter space` and remove redundant macro usage 1 year ago
Sayan Nandan f351be2819
Remove partial entity syntax
This was a bad mistake that we made with the actions API, and we won't
make the same mistake with BlueQL again. PES has been a terrible idea
all along, and it was a leaky abstraction.

Instead, we'll be using a more robust framework for addressing entities.
2 years ago
Sayan Nandan 0e67872e69
Add tests for simple alter 2 years ago
Sayan Nandan c5d7f5f6f6
Test illegal type casts 2 years ago
Sayan Nandan 8f77c1d73a
Add basic alter exec impl 2 years ago
Sayan Nandan 9bc3d85b1c
Revise lit definitions and layout 2 years ago
Sayan Nandan 73df6f9af4
Define intents for sync 2 years ago
Sayan Nandan 1c95c2e70f
Implement alter model plan 2 years ago
Sayan Nandan 7069ab7bfb
Add exec for create model 2 years ago
Sayan Nandan 64c8b55b93
Add exec for drop space 2 years ago
Sayan Nandan feac086edc
Implement exec for create model 2 years ago
Sayan Nandan a88319b8b9
Enable fpath on nullable data 2 years ago
Sayan Nandan 188f9ecbb4
Support null in cell 2 years ago
Sayan Nandan b9453041e4
Trace fpath in layers 2 years ago
Sayan Nandan 1c9dfbaebe
Implement layered data validation
Also fixed stacked borrows
2 years ago
Sayan Nandan b8dd8135f1
Implement layer validation 2 years ago
Sayan Nandan 8d789bd166
Migrate to the newer datacell impl 2 years ago
Sayan Nandan 5d9851a427
Add model cell definition and more word impls 2 years ago
Sayan Nandan 3b8a251a01
Define larger words 2 years ago
Sayan Nandan 9d9ffeed1a
Skip expensive ql tests on miri [skip ci] 2 years ago
Sayan Nandan f2dbec0229
Use custom tags 2 years ago
Sayan Nandan ca04ea2cd1
Use custom lit impl 2 years ago
Sayan Nandan 66dab00eb3
Add lit impls
Also fixed 32-bit word store
2 years ago
Sayan Nandan 0410a019cf
Define explicit literals 2 years ago