Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
/**
* The knowledge projector and the readers that must stay correct while it lags. A GitHub member
* source's document in a search index is changed by a writer in either projection mode —
* synchronous, as every writer now is, or deferred, as writers of releases that carried the
* `knowledge-async-projection` flag were, leaving only a mark — and search is checked before the
* synchronous, as every writer now is, or deferred, as writers of earlier releases could be,
* leaving only a mark — and search is checked before the
* projector runs: a revoked member is refused and a granted one is served, on the vector and
* keyword legs and under the source filter, and a disabled or deleted chunk is gone at once. The
* projector's own contract follows: it converges the rows and removes the mark, keeps a mark that
Expand Down
10 changes: 5 additions & 5 deletions packages/db/knowledge-projection.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ import type { Sql, TransactionSql } from 'postgres'
const logger = createLogger('KnowledgeProjection')

/**
* The transaction setting that skips the synchronous projection triggers. No application writer
* sets it: every writer's projection rows are written by those triggers in its own transaction.
* Releases that carried the `knowledge-async-projection` flag set it to leave a chunk write's rows
* to the projector, which is why a mark can still carry content to project. Either way the
* triggers mark the document in `knowledge_projection_dirty`.
* The transaction setting that skips the synchronous projection triggers. Only the projector sets
* it: every other writer's projection rows are written by those triggers in its own transaction.
* A mark can still carry content to project, because earlier releases also set it on chunk writes
* to leave their rows to the projector. Either way the triggers mark the document in
* `knowledge_projection_dirty`.
*/
const KNOWLEDGE_PROJECTION_MODE_SETTING = 'sim.projection_mode'

Expand Down
Loading