Releases: mutable-org/mutable
Releases · mutable-org/mutable
v0.0.164: [Scheduler] Use -1 as special Timestamp
Initially, we reserved 0 as a special timestamp for `Transaction`s and tuples. For `Transaction`s a timestamp of 0 means the `Transaction` has not started executing statements yet. For Tuples the value 0 is equivalent to infinity. Since SQL does not support unsigned integers, this commit changes this special value from 0 to -1. This should help comprehension since -1 is often assigned a special meaning and we no longer skip over 0 when assigning timestamps.
v0.0.163
[Util] Support `const`, `&` in `is_specialization`
v0.0.162: [Util] Pools now do reference counting.
Massively refactor our pools `PODPool` and `Pool` to support reference counting of pooled objects. The pools are now *maps* from pooled object to the object's reference count. This allows for tracking whether we would leave any dangling pointers around when deleting a pool. Deleting a pool while the ref count of a pooled object is greater than zero causes an abort in the debug build. This should give us good confidence that we don't leave dangling references around. This patch also prepares for garbage-collecting pooled objects that are not being referenced anymore. Making `Pooled` perform garbage-collection is now a just a trivial change. However, before we can implement this, we must drop the implicit degeneration of a `Pooled` to a raw pointer, thereby reducing the reference count while still holding a reference through the raw pointer to the object. This patch also prepares for *optional* `Pooled`s, that do not reference any object. I don't know yet how to design declaration and construction in a convenient way...
v0.0.161
[IR] Mark some visitor methods `override`.
v0.0.160: [Util] Fix #146: Refactor visitor header (1/X).
Refactor the implementation of making a class hierarchy STL-style `visit()`-able. Replace the macro code by template magic. Reader discretion advised! This is not for the faint of heart.
v0.0.159: [CMake] Fix #172: Add Boost as CMake external proj
Build Boost as CMake external project. Boost is self-contained, shipping its own configuration and build automation tooling (`bootstap.sh` and `b2`). WIP Boost WIB boost
v0.0.158: [CMake] Fix #180: Refactor CMake external projects
Move CMake external projects and the like to separate files that live in new subdirectory `CMakeFiles/`.
v0.0.157
[ITest] Add positional argument to specify test files
v0.0.156
[Doc] Add documentation badge to README
v0.0.155: [ITest] More generous timeout per test case.
With the current timeout of 15 seconds, few long-running integration tests timeout frequently. This commit generously increases the timeout to 60 seconds. The goal of the timeout is not to ensure that integration tests run fast, but to ensure they guarantee they terminate eventually and the testing script (and hence CI) come to a result in a reasonable amount of time.