Priority order
Order: 09 of 09
Priority: P3 performance
Problem
Snapshot reads use SELECT *, and snapshot indexes should be reviewed after the snapshot-candidate query is fixed.
Evidence:
src/NEventStore.Persistence.Sql/SqlDialects/CommonSqlStatements.resx:173
GetSnapshot uses SELECT *.
- Snapshot materialization needs
BucketId, StreamId, StreamRevision, and Payload.
Impact
Mandatory test-first workflow
- Add tests first that verify snapshot materialization still works with explicit projections.
- Use existing snapshot acceptance tests as the behavioral contract.
- Add or document query-plan checks before changing provider indexes.
- Do not change schema/indexes until the expected query behavior is covered.
Proposed action
Acceptance criteria
- Snapshot reads return the same objects as before.
- Provider tests pass for the touched SQL dialects.
- Any index change is justified by a query-plan comparison or clear provider-specific reasoning.
Source: docs/Project-Analysis-Issue-Drafts.md.
Priority order
Order: 09 of 09
Priority: P3 performance
Problem
Snapshot reads use
SELECT *, and snapshot indexes should be reviewed after the snapshot-candidate query is fixed.Evidence:
src/NEventStore.Persistence.Sql/SqlDialects/CommonSqlStatements.resx:173GetSnapshotusesSELECT *.BucketId,StreamId,StreamRevision, andPayload.Impact
Snapshotshas only four columns.Mandatory test-first workflow
Proposed action
SELECT *.IX_Snapshots_Stream_Revisionshould includeBucketIdfirst or be replaced by(BucketId, StreamId, StreamRevision)depending on provider plans.Acceptance criteria
Source:
docs/Project-Analysis-Issue-Drafts.md.