Arachne 1.0
Arachne - the perpetual stitcher of Wikidata entities.
Loading...
Searching...
No Matches
arachne::penelope Namespace Reference

Namespaces

namespace  anonymous_namespace{inbox.cpp}
namespace  anonymous_namespace{store.cpp}

Classes

struct  inbox_issue
struct  inbox_batch_report
struct  inbox_result
class  inbox_error
struct  candidate_plan_descriptor
struct  candidate_snapshot_request
struct  integrity_report
struct  snapshot_result
class  store_error
class  store

Enumerations

enum class  inbox_batch_status { valid , applied , already_applied , rejected }
enum class  graph_domain { candidate }

Functions

inbox_result check_product_inbox (const std::filesystem::path &repository_root)
inbox_result apply_product_inbox (const std::filesystem::path &repository_root)
std::size_t rebuild_product_merge_hints (const std::filesystem::path &repository_root)
const char * to_string (inbox_batch_status status) noexcept
inbox_result check_product_inbox (const fs::path &repository_root)
inbox_result apply_product_inbox (const fs::path &repository_root)
std::size_t rebuild_product_merge_hints (const fs::path &repository_root)

Enumeration Type Documentation

◆ graph_domain

Enumerator
candidate 

Definition at line 32 of file store.hpp.

◆ inbox_batch_status

Enumerator
valid 
applied 
already_applied 
rejected 

Definition at line 25 of file inbox.hpp.

Function Documentation

◆ apply_product_inbox() [1/2]

inbox_result arachne::penelope::apply_product_inbox ( const fs::path & repository_root)

Definition at line 6151 of file inbox.cpp.

6151 {
6152 return run_inbox(repository_root, true);
6153}

References arachne::penelope::anonymous_namespace{inbox.cpp}::run_inbox().

Here is the call graph for this function:

◆ apply_product_inbox() [2/2]

inbox_result arachne::penelope::apply_product_inbox ( const std::filesystem::path & repository_root)
nodiscard

Validate every pending batch first, then apply valid batches directly to the schema-v5 product database, one BEGIN IMMEDIATE transaction per batch.

Referenced by anonymous_namespace{main.cpp}::command_product_inbox().

Here is the caller graph for this function:

◆ check_product_inbox() [1/2]

inbox_result arachne::penelope::check_product_inbox ( const fs::path & repository_root)

Definition at line 6147 of file inbox.cpp.

6147 {
6148 return run_inbox(repository_root, false);
6149}

References arachne::penelope::anonymous_namespace{inbox.cpp}::run_inbox().

Here is the call graph for this function:

◆ check_product_inbox() [2/2]

inbox_result arachne::penelope::check_product_inbox ( const std::filesystem::path & repository_root)
nodiscard

Validate every plain-JSON batch under <repository_root>/inbox.

The database is opened read-only. No issue rows, hints, files, or product records are modified.

Referenced by anonymous_namespace{main.cpp}::command_product_inbox().

Here is the caller graph for this function:

◆ rebuild_product_merge_hints() [1/2]

std::size_t arachne::penelope::rebuild_product_merge_hints ( const fs::path & repository_root)

Definition at line 6155 of file inbox.cpp.

6155 {
6156 const fs::path path
6157 = repository_root / "database" / "art-islands.sqlite";
6158 require_real_database_file(path);
6159 database product(path, true);
6160 return rebuild_hints(product);
6161}

References arachne::penelope::anonymous_namespace{inbox.cpp}::database::database(), arachne::penelope::anonymous_namespace{inbox.cpp}::rebuild_hints(), and arachne::penelope::anonymous_namespace{inbox.cpp}::require_real_database_file().

Here is the call graph for this function:

◆ rebuild_product_merge_hints() [2/2]

std::size_t arachne::penelope::rebuild_product_merge_hints ( const std::filesystem::path & repository_root)
nodiscard

Rebuild review-only merge hints without merging any entity.

Referenced by anonymous_namespace{main.cpp}::command_product_rebuild_merge_hints().

Here is the caller graph for this function:

◆ to_string()

const char * arachne::penelope::to_string ( inbox_batch_status status)
nodiscardnoexcept

Definition at line 6133 of file inbox.cpp.

6133 {
6134 switch (status) {
6136 return "valid";
6138 return "applied";
6140 return "already_applied";
6142 return "rejected";
6143 }
6144 return "unknown";
6145}

References already_applied, applied, rejected, and valid.