pub struct PostgresTripleWriter { /* private fields */ }Expand description
Transactional TripleWriter for SPARQL Update.
apply_update runs the whole batch in one Postgres transaction: each
Change deletes, registers any named graph its inserts target (the graph
row owns its triples via FK), then inserts; each Clear drops a graph’s
contents. Either the whole update commits or none of it does.
Implementations§
Source§impl PostgresTripleWriter
impl PostgresTripleWriter
pub fn new( triples: Arc<TripleRepository>, accel: AccelRepository, pool: PgPool, ) -> Self
Trait Implementations§
Source§impl Clone for PostgresTripleWriter
impl Clone for PostgresTripleWriter
Source§impl TripleWriter for PostgresTripleWriter
impl TripleWriter for PostgresTripleWriter
Source§fn apply_update<'life0, 'async_trait>(
&'life0 self,
changes: Vec<TripleChange>,
) -> Pin<Box<dyn Future<Output = Result<UpdateOutcome, DomainError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn apply_update<'life0, 'async_trait>(
&'life0 self,
changes: Vec<TripleChange>,
) -> Pin<Box<dyn Future<Output = Result<UpdateOutcome, DomainError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Apply every change in one atomic unit, registering any named graph an
insert targets before writing it. Returns the inserted/deleted tally.
Auto Trait Implementations§
impl !RefUnwindSafe for PostgresTripleWriter
impl !UnwindSafe for PostgresTripleWriter
impl Freeze for PostgresTripleWriter
impl Send for PostgresTripleWriter
impl Sync for PostgresTripleWriter
impl Unpin for PostgresTripleWriter
impl UnsafeUnpin for PostgresTripleWriter
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more