mirror of
https://github.com/pchuan98/codex.git
synced 2026-07-01 00:31:56 +08:00
To allow the ability to have guaranteed-unique cursors, we make two important updates: * Add new updated_at_ms and created_at_ms columns that are in millisecond precision * Guarantee uniqueness -- if multiple items are inserted at the same millisecond, bump the new one by one millisecond until it becomes unique This lets us use single-number cursors for forwards and backwards paging through resultsets and guarantee that the cursor is a fixed point to do (timestamp > cursor) and get new items only. This updated implementation is backwards-compatible since multiple appservers can be running and won't handle the previous method well.
45 lines
1.5 KiB
Rust
45 lines
1.5 KiB
Rust
mod agent_job;
|
|
mod backfill_state;
|
|
mod graph;
|
|
mod log;
|
|
mod memories;
|
|
mod thread_metadata;
|
|
|
|
pub use agent_job::AgentJob;
|
|
pub use agent_job::AgentJobCreateParams;
|
|
pub use agent_job::AgentJobItem;
|
|
pub use agent_job::AgentJobItemCreateParams;
|
|
pub use agent_job::AgentJobItemStatus;
|
|
pub use agent_job::AgentJobProgress;
|
|
pub use agent_job::AgentJobStatus;
|
|
pub use backfill_state::BackfillState;
|
|
pub use backfill_state::BackfillStatus;
|
|
pub use graph::DirectionalThreadSpawnEdgeStatus;
|
|
pub use log::LogEntry;
|
|
pub use log::LogQuery;
|
|
pub use log::LogRow;
|
|
pub use memories::Phase2InputSelection;
|
|
pub use memories::Phase2JobClaimOutcome;
|
|
pub use memories::Stage1JobClaim;
|
|
pub use memories::Stage1JobClaimOutcome;
|
|
pub use memories::Stage1Output;
|
|
pub use memories::Stage1OutputRef;
|
|
pub use memories::Stage1StartupClaimParams;
|
|
pub use thread_metadata::Anchor;
|
|
pub use thread_metadata::BackfillStats;
|
|
pub use thread_metadata::ExtractionOutcome;
|
|
pub use thread_metadata::SortKey;
|
|
pub use thread_metadata::ThreadMetadata;
|
|
pub use thread_metadata::ThreadMetadataBuilder;
|
|
pub use thread_metadata::ThreadsPage;
|
|
|
|
pub(crate) use agent_job::AgentJobItemRow;
|
|
pub(crate) use agent_job::AgentJobRow;
|
|
pub(crate) use memories::Stage1OutputRow;
|
|
pub(crate) use memories::stage1_output_ref_from_parts;
|
|
pub(crate) use thread_metadata::ThreadRow;
|
|
pub(crate) use thread_metadata::anchor_from_item;
|
|
pub(crate) use thread_metadata::datetime_to_epoch_millis;
|
|
pub(crate) use thread_metadata::datetime_to_epoch_seconds;
|
|
pub(crate) use thread_metadata::epoch_millis_to_datetime;
|