pub struct QualifiedCollection(/* private fields */);Expand description
A collection name qualified by its database.
The default database yields the bare collection name; any other
database prefixes it with {database_id}/. Security state (RLS
policies, redaction policies, CRDT write gates) must be stored and
looked up under the same QualifiedCollection, never a bare name,
or the policy silently misses outside the default database.
Implementations§
Source§impl QualifiedCollection
impl QualifiedCollection
Sourcepub fn new(database_id: DatabaseId, collection: &str) -> Self
pub fn new(database_id: DatabaseId, collection: &str) -> Self
Qualify collection for database_id.
DatabaseId::DEFAULT yields the bare name; any other database
yields {database_id}/{collection}.
Sourcepub fn from_stored(qualified: String) -> Self
pub fn from_stored(qualified: String) -> Self
Rebuild a QualifiedCollection from a string already qualified on
disk or on the wire. The only way to construct one without going
through new; never call this with an unqualified name.
pub fn as_str(&self) -> &str
Sourcepub fn collection_name(&self, database_id: DatabaseId) -> &str
pub fn collection_name(&self, database_id: DatabaseId) -> &str
The collection name Self::new qualified for database_id: the
catalog key a collection lookup in that database takes.
Trait Implementations§
Source§impl Clone for QualifiedCollection
impl Clone for QualifiedCollection
Source§impl Debug for QualifiedCollection
impl Debug for QualifiedCollection
Source§impl<'de> Deserialize<'de> for QualifiedCollection
impl<'de> Deserialize<'de> for QualifiedCollection
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl Display for QualifiedCollection
impl Display for QualifiedCollection
impl Eq for QualifiedCollection
Source§impl<'__msgpack_de> FromMessagePack<'__msgpack_de> for QualifiedCollection
impl<'__msgpack_de> FromMessagePack<'__msgpack_de> for QualifiedCollection
Source§impl Hash for QualifiedCollection
impl Hash for QualifiedCollection
Source§impl Ord for QualifiedCollection
impl Ord for QualifiedCollection
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
1.21.0 (const: unstable) · Source§fn min(self, other: Self) -> Selfwhere
Self: Sized,
fn min(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for QualifiedCollection
impl PartialEq for QualifiedCollection
Source§impl PartialOrd for QualifiedCollection
impl PartialOrd for QualifiedCollection
Source§impl Serialize for QualifiedCollection
impl Serialize for QualifiedCollection
impl StructuralPartialEq for QualifiedCollection
Source§impl ToMessagePack for QualifiedCollection
impl ToMessagePack for QualifiedCollection
Source§fn write<W: Write>(&self, writer: &mut W) -> Result<(), Error>
fn write<W: Write>(&self, writer: &mut W) -> Result<(), Error>
Source§fn size_hint(&self) -> Option<TrustedSizeHint>
fn size_hint(&self) -> Option<TrustedSizeHint>
Self::write, or None when it cannot be determined cheaply. Read moreAuto Trait Implementations§
impl Freeze for QualifiedCollection
impl RefUnwindSafe for QualifiedCollection
impl Send for QualifiedCollection
impl Sync for QualifiedCollection
impl Unpin for QualifiedCollection
impl UnsafeUnpin for QualifiedCollection
impl UnwindSafe for QualifiedCollection
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
impl<T> FromMessagePackOwned for Twhere
T: for<'a> FromMessagePack<'a>,
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> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out indicating that a T is niched.impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
impl<T> Scalar for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.