Repository navigation
Expand file tree
/
Copy pathlib.rs
More file actions
94 lines (89 loc) · 2.63 KB
/
Copy pathlib.rs
File metadata and controls
94 lines (89 loc) · 2.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
//! Schema-only Postgres and WAL replay catalog mirror for CDC
//!
//! Keep WAL parsing internals private. Expose contract modules for schema,
//! records, mappings, PostgreSQL paths, ClickHouse transport, and backfill
//! requests
/// `<crate version> (<git sha>)`, what every binary prints for `--version`.
/// The sha comes from build.rs
pub const VERSION: &str = concat!(
env!("CARGO_PKG_VERSION"),
" (",
env!("WALSHADOW_GIT_SHA"),
")"
);
/// `info_span!(target: "walshadow::trace", …)` when `$on`, else a no-op span
/// (fields unevaluated on the unsampled path).
macro_rules! trace_span {
($on:expr, $($span:tt)+) => {
if $on {
tracing::info_span!(target: "walshadow::trace", $($span)+)
} else {
tracing::Span::none()
}
};
}
pub mod ascii_buf;
#[macro_use]
pub mod atomic_stats;
pub mod backfill;
pub mod budget;
pub mod catalog;
pub mod ch;
pub mod column_rules;
pub mod config;
#[cfg(feature = "test-support")]
pub mod crash_test;
pub mod decode;
pub mod dsn;
pub mod emit;
pub mod filter;
pub mod fs;
pub mod mapping;
pub mod ops;
pub mod pg;
pub mod pos;
pub mod record;
pub mod runtime_config;
pub mod schema;
pub mod source;
pub mod source_db;
pub mod table_rules;
pub mod ticker;
pub mod toast;
mod toml_de;
pub mod xact;
#[doc(hidden)]
pub use backfill::{
backfill_bootstrap, backfill_staging, backfill_types, backup_backfill, backup_checkpoint,
backup_page_walk, backup_sentinel, backup_source, backup_source_direct,
backup_source_object_store, bootstrap_marker, bootstrap_window, copy_backfill, opt_in, pg_path,
spool, visibility_gate, visibility_pending, wal_replay, walk_barrier,
};
#[doc(hidden)]
pub use catalog::{desc_log, pending, shadow, shadow_catalog, type_bridge};
#[doc(hidden)]
pub use decode::{codecs, decoder_sink, fpi, heap_decoder, visibility, wal_xact};
#[doc(hidden)]
pub use emit::{ch_ddl, ch_emitter, pipeline};
#[doc(hidden)]
pub use filter::{catalog_tracker, classify, main_data, pg_class_decoder, rewrite};
#[doc(hidden)]
pub use ops::{
bridge, control, ctl, init, introspect, log_events, metrics, oracle, preflight, retention,
trace,
};
#[doc(hidden)]
pub use source::{
archive, boundary_hold, catalog_capture, manifest, queueing_record_sink, segment_sink,
shadow_stream, source_feed, timeline, transition, wal_stream,
};
#[doc(hidden)]
pub use toast::toast_retire;
#[doc(hidden)]
pub use xact::{spill, xact_buffer};
/// Enable every callsite so coverage runs evaluate tracing field expressions
#[cfg(test)]
#[ctor::ctor(unsafe)]
fn enable_tracing() {
let _ = tracing::subscriber::set_global_default(tracing_subscriber::registry());
}