Skip to content

Conversation

@bartelink
Copy link
Collaborator

@bartelink bartelink commented Mar 28, 2024

Published as 4.2.0-preview.x from this branch with the aim of being to avoid breaking changes once an official 4.2 is published

  • Adds a CosmosStore.Linq namespace that facilitates efficient querying against Indexes (Uncompressed unfolds stored in Tip documents)

NOTES:

  • use AccessStrategy.Custom mode to store one or more uncompressed unfold(s) alongside a snapshot
  • filtering efficiently requires the u[].d.* fields to be indexed (eqx init --indexunfolds)
  • sorting requires the u[].d.* fields to be indexed (and uncompressed) (eqx init --indexunfolds)
  • render by querying c.u (and using CosmosStoreCategory.TryLoad) (mode: ReadOnly)
  • render identity info derived from the StreamName by also retrieving c.p (mode: SnapWithStream)
  • transact against the state by querying c._etag, c.u (and using CosmosStoreCategory.TryHydrateTip) (mode: ReadOnly)
  • render based on the state and/or id per item by querying c.u[0].d (efficient retrieval as the snapshot will be compressed), and, optionally, c.p (this PR)
  • transact based on c._etag, c.u[0].D, c.u[0].d (this PR)

(This PR has been a placeholder for the work on 4.1.0 over time, with pieces calved off as separate PRs as they have been validated in production)

Base automatically changed from cosmos-metrics to master March 28, 2024 01:43
@bartelink bartelink force-pushed the cosmos-linq branch 5 times, most recently from 167b5f6 to 7572f1f Compare April 8, 2024 23:58
@bartelink bartelink force-pushed the cosmos-linq branch 3 times, most recently from 3f6c3d4 to 708b0de Compare April 22, 2024 11:48
@bartelink bartelink force-pushed the cosmos-linq branch 5 times, most recently from 812e0e2 to d313d50 Compare May 7, 2024 08:42
@bartelink bartelink changed the base branch from master to cosmos-bycat May 7, 2024 08:43
@bartelink bartelink force-pushed the cosmos-linq branch 3 times, most recently from 7290f5a to c0d525a Compare June 8, 2024 00:52
@bartelink bartelink force-pushed the cosmos-linq branch 6 times, most recently from 8a8c25c to 5e1610e Compare June 12, 2024 22:13
@bartelink bartelink changed the base branch from master to eqx-top-destroy February 2, 2025 21:24
@bartelink bartelink force-pushed the cosmos-linq branch 3 times, most recently from 6554d60 to e9371fa Compare February 2, 2025 21:30
@bartelink bartelink force-pushed the eqx-top-destroy branch 5 times, most recently from 6b9e795 to 5b439b3 Compare February 2, 2025 22:34
Base automatically changed from eqx-top-destroy to master February 2, 2025 23:10
@bartelink bartelink force-pushed the cosmos-linq branch 2 times, most recently from 4acca04 to 6b2d254 Compare February 3, 2025 08:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants