Query optimization will soon need this metric.
Therefore it must be moved out of core and into lib.
Eventually we might want to move all metrics into lib.
- Fixed column position in sequences (it used index after filtering instead of actual column index).
- Fixed sequence definitions conflicting with automatic sequences derived from Constraints.
- Removed constraints for columns that don't have any.
- Hid internal fields + more minor refactorings.
This is user-facing API that's used in docs & examples, so renaming the internal ColumnAttrs to ColumnDefWithAttrs and ConstraintFlags back to ColumnAttrs so that public examples & existing projects can still compile.
Removed mutex Locking on wrapper state object (Inner) and added more granual locks on indivisual states
---------
Co-authored-by: Tyler Cloutier <cloutiertyler@users.noreply.github.com>
* Refactoring bootstrapping and adding full support for constraints & multi-column indexes
* Removed deleted code and add some comments
* Add comment for Constraints
* Update crates/core/src/db/datastore/locking_tx_datastore/mod.rs
Co-authored-by: Mazdak Farrokhzad <twingoow@gmail.com>
Signed-off-by: Mario Montoya <mamcx@elmalabarista.com>
* Update crates/core/src/db/datastore/locking_tx_datastore/mod.rs
Co-authored-by: Mazdak Farrokhzad <twingoow@gmail.com>
Signed-off-by: Mario Montoya <mamcx@elmalabarista.com>
* Addressing some PR comments & remove cloning
* Adding details for when fail to decode rows in replay
* Apply Kim's fix for replay bug
* Addressing some PR comments
* Merge
* Fix conflicts
* Fix conflicts
* Fix test
* Fix generation of code for csharp & typescript, now it generate FilterBy for all columns
* Fix for index generation
* Fixing C# index generation
* Merge
* Fix compilation on csharp bindings
---------
Signed-off-by: Mario Montoya <mamcx@elmalabarista.com>
Co-authored-by: Mazdak Farrokhzad <twingoow@gmail.com>
Co-authored-by: John Detter <no-reply@boppygames.gg>
These metrics are already tracked via kubernetes.
And sys-info does not appear to be accurate on virtual systems anyway.
Furthermore what we really want are disk and memory usage metrics per database.
We already track disk usage for the wal, objectdb, and module logs.
Tracking memory usage per database requires a custom allocator.
* Format binary data as hex in sql/satn
* Add json test for identity
* Addressing some PR comments
* Fix test
---------
Signed-off-by: Mario Montoya <mamcx@elmalabarista.com>
Instead of deferring object storage loads to when they're needed, load
them in the `Replay` iterator. This allows to handle log trimming logic
uniformly for the situation when a commit happened to be flushed to
disk, but object storage didn't.