-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement inner join. #61
Comments
bigeasy
pushed a commit
that referenced
this issue
Oct 21, 2020
Not invalidating the cache for changes, so won't select against what's in memory. Will work with snapshots and mutators when there are no changes. See #61.
bigeasy
pushed a commit
that referenced
this issue
Oct 22, 2020
bigeasy
pushed a commit
that referenced
this issue
Oct 22, 2020
Start to think that we should have a light `OuterIterator` and `InnerIterator` that wraps an interation strategy, and the strategy is a state machine that can be as complicated as it needs to be. See #61.
bigeasy
pushed a commit
that referenced
this issue
Oct 22, 2020
Use a natural unique key for the records. Use the last name, first name for the index. All tests are easier to write now. See #61.
bigeasy
pushed a commit
that referenced
this issue
Oct 22, 2020
Create an `OuterIterator` and `InnerIterator` that are a thin wrapper around an object that does both inner and outer iteration. Reduces the dereferencing paths. See #61.
bigeasy
pushed a commit
that referenced
this issue
Oct 22, 2020
Instead of appending an edit as if it where the staging b-tree in Amalgamator, just assign the value to the array element. Simplifies get as there is no scan for latest, just yes/no. See #61.
bigeasy
pushed a commit
that referenced
this issue
Oct 23, 2020
Not unit tested, but the entire inner and outer join logic is there. See #61.
bigeasy
pushed a commit
that referenced
this issue
Oct 23, 2020
bigeasy
pushed a commit
that referenced
this issue
Oct 23, 2020
Index was missing a key extractor. Also, Strata had trouble with exceptions and not being able to clean up its cache because the exceptions where causing cache entries to leak. Fix that upstream. See #61.
bigeasy
pushed a commit
that referenced
this issue
Oct 26, 2020
bigeasy
pushed a commit
that referenced
this issue
Nov 12, 2020
Snapshot has now caught up with Mutator and can be used to implement index updates in the Mutator. Snapshot join was just the initial Amalgamaotr query used to prime the Mutator join which then has to check the in-memory stage. See #61.
bigeasy
pushed a commit
that referenced
this issue
Jan 23, 2021
* Resurrected, all tests pass. * Upgrade `b-tree` to `2.0.0-alpha.92`. * Upgrade `amalgamate` to `0.1.49`. * Upgrade `riffle` to `2.0.0-alpha.67`. * Upgrade `b-tree` to `2.0.0-alpha.91`. * Upgrade `amalgamate` to `0.1.48`. * Upgrade `riffle` to `2.0.0-alpha.66`. * Reopening again. * Upgrade `b-tree` to `2.0.0-alpha.90`. * Upgrade `amalgamate` to `0.1.47`. * Upgrade `riffle` to `2.0.0-alpha.65`. * Update `LICENSE` for 2021. * Build with Node.js 12, 14 and 15 on CI/CD. * Major dependency upgrade. * Upgrade `amalgamate` to `0.1.46`. * Upgrade `riffle` to `2.0.0-alpha.64`. * Upgrade `b-tree` to `2.0.0-alpha.89`. * Upgrade `b-tree` to `2.0.0-alpha.88`. * Upgrade `satiate` to `0.0.2`. * Upgrade `amalgamate` to `0.1.45`. * Upgrade `constrain` to `2.0.0-alpha.2`. * Upgrade `destructible` to `7.0.0-alpha.46`. * Upgrade `riffle` to `2.0.0-alpha.63`. * Upgrade `riffle` to `2.0.0-alpha.62`. * Upgrade `amalgamate` to `0.1.44`. * Upgrade `b-tree` to `2.0.0-alpha.86`. * Upgrade `amalgamate` to `0.1.43`. * Upgrade `riffle` to `2.0.0-alpha.61`. * Upgrade `amalgamate` to `0.1.42`. * Upgrade `b-tree` to `2.0.0-alpha.85`. * Upgrade `riffle` to `2.0.0-alpha.60`. * Upgrade `destructible` to `7.0.0-alpha.45`. * Upgrade `reciprocate` to `0.0.6`. * Upgrade `amalgamate` to `0.1.41`. * Upgrade `b-tree` to `2.0.0-alpha.84`. * Upgrade `interrupt` to `11.0.0-alpha.16`. * Upgrade `avenue` to `0.6.8`. * Upgrade `b-tree` to `2.0.0-alpha.83`. * Upgrade `whittle` to `0.0.1`. * Upgrade `amalgamate` to `0.1.39`. * Upgrade `destructible` to `7.0.0-alpha.39`. * Upgrade `rescue` to `7.0.0-alpha.9`. * Upgrade `journalist` to `0.1.21`. * Upgrade `riffle` to `2.0.0-alpha.59`. * Upgrade `reciprocate` to `0.0.5`. * Add email to author in `pacakge.json`. * Fix unit test count. * Snapshots in `readme.t.js`. See #26. * Fix unit test count. See #70. See #92. * Implement mutator index get, unset. Closes #70. Closes #92. * Remoe dead code. * Fix unit test count. See #68. * Update old index entry when updating object. Closes #68. * Upgrade `b-tree` to `2.0.0-alpha.67`. Closes #91. * Merge primary and indices at once. Closes #90. * Reuse `b-tree` `find`. Closes #89. * Remove debugging `Error.stackTraceLimit`. * Remove unused variable from `map`. See #78. * Upgrade `amalgamate` to `0.1.38`. Closes #88. * Upgrade `riffle` to `2.0.0-alpha.45`. Closes #87. * Upgrade `ascension` to `^3.0.0-alpha.0`. Closes #86. * Upgrade `b-tree` to `2.0.0-alpha.66`. Closes #85. * Implement snapshot inner join. See #61. * Implement snapshot index get. Closes #79. * Upgrade `amalgamate` to `0.1.37`. Closes #84. * Upgrade `riffle` to `2.0.0-alpha.44`. Closes #83. * Upgrade `b-tree` to `2.0.0-alpha.65`. * Upgrade `reciprocate` to `0.0.2`. Closes #82. * Implement snapshot map. Closes #78. * Upgrade `amalgamate` to `0.1.35`. Closes #81. * Unit tests for snapshot iterators. Closes #76. * Removed dead code. See #76. * Create common `_iterator` function. See #76. * Remove a temporary re-assignment of `this`. * Simplify structurs of a store mutation. Closes #80. * Implement snapshot `get`. Closes #78. * Split out a `Snapshot` and `SnapshotIterator`. See #76. * Renamed iterator classes after join refactor. See #61. * Upgrade `amalgamate` to `0.1.32`. Closes #74. * Upgrade `riffle` to `2.0.0-alpha.40`. Closes #73. * Upgrade `b-tree` to `2.0.0-alpha.63`. Closes #72. * Replace `skip` with `reciprocate`. Closes #71. * Fix index key extractor. See #61. * Test changing the foreign relation in a join. See #61. * Sketch of a complete join. See #61. * Simpify `get` but replacing edits in memory stage. See #61. * Convert iterator to state machine thing. See #61. * Refactor unit test. See #61. * Slight tidy. See #61. * Reversal should be non-inclusive. Closes #67. * Work the join function into something reusable. See #61. * Upgrade `riffle` to `2.0.0-alpha.38`. Closes #66. * Replace `trampoline.sync` call for new Skip. Closes #65. * Upgrade `amalgamate` to `0.1.30`. Closes #64. * Upgrade `b-tree` to `2.0.0-alpha.57`. Closes #63. * Upgrade `skip` to `0.1.1`. Closes #62. * Implement inner join against amalgamated stores. See #61. * Reopen database. Run version upgrade. Closes #6. Closes #60. * Remove rotated versions out of the commit log. Closes #59. * Unpin alpha dependencies. Closes #58. * Remove duplicate Destructible dependency. Closes #57. * Write a `readme.t.js` unit test. See #26. * Record successful commit. Closes #56. * Use in Interrupt code mechanism. Closes #55. * Upgrade `interrupt` to `11.0.0-alpha.1`. Closes #54. * Upgrade `journalist` to `0.1.7`. Closes #53. * Add Destructible to dev dependencies. Closes #52. * Use increment/decrement to control shutdown. Closes #51. * Upgrade `journalist` to `0.1.6`. Closes #50. * Upgrade `b-tree` to `^2.0.0-alpha.54`. Closes #49. * Implement index rename. See #48. * Implement store and index rename. Closes #48. * Rollback store and index creation. Closes #47. * Create `memento.close()` function. Closes #39. * Create a static `open` function. Closes #40. * Make upgrade version a property of `Schema`. Closes #46. * Upgrade `amalgamate` to `^0.1.21`. Closes #45. * Upgrade `b-tree` to `^2.0.0-alpha.50`. Closes #44. * Upgrade `interrupt` to `^10.1.0`. Closes #43. * Rename to `Memento.mutator`. Closes #42. * Documentation on `open`, diary entry on `join`. See #26. * Test propagating errors out of mutate. See #32. * Remove old `mutator` function. See #32. * Implement reverse and reversable iteration. Closes #37. Closes #38. * Implement working forward iterator. Closes #25. * Sketch of `README.md`. See #26. * Implement indexes. Closes #32. * Use new Trampoline class. Closes #36. * Make `Schema` a descendent of `Mutator`. Closes #35. * Implement auto-commit interface. Closes #32. * Fix test count. See #33. * Implement `get`. Closes #33. * Update for external async Amalgamate. Closes #34. * Start of index, need to implement `get` first. See #32. * Sketch of auto-commit interface. See #31. Closes #93.
bigeasy
pushed a commit
that referenced
this issue
Dec 31, 2021
bigeasy
pushed a commit
that referenced
this issue
Feb 7, 2022
* Fix test count. * Upgrade `b-tree` to `2.0.0-alpha.128`. * Upgrade `satiate` to `0.0.6`. * Upgrade `amalgamate` to `0.1.82`. * Upgrade `constrain` to `2.0.0-alpha.7`. * Upgrade `interrupt` to `11.0.0-alpha.26`. * Upgrade `avenue` to `0.6.18`. * Upgrade `verbatim` to `0.1.9`. * Upgrade `whittle` to `0.0.6`. * Upgrade `reciprocate` to `0.0.10`. * Upgrade `destructible` to `7.0.0-alpha.72`. * Upgrade `extant` to `2.0.0-alpha.5`. * Upgrade `rescue` to `7.0.0-alpha.19`. * Upgrade `journalist` to `0.1.31`. * Upgrade `perhaps` to `0.0.13`. * Merge `master`. * Update `LICENSE` for current year. * Document innner join. See #61. Closes #153.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
No description provided.
The text was updated successfully, but these errors were encountered: