Trait SourceDb

Source
pub trait SourceDb: Database + HasQueryGroup<SourceDbStorage> {
    // Required methods
    fn intern_file(&self, key0: File) -> SourceFileId;
    fn lookup_intern_file(&self, key0: SourceFileId) -> File;
    fn file_content(&self, key0: SourceFileId) -> Rc<str>;
    fn set_file_content(&mut self, key0: SourceFileId, value__: Rc<str>);
    fn set_file_content_with_durability(
        &mut self,
        key0: SourceFileId,
        value__: Rc<str>,
        durability__: Durability,
    );
    fn file_line_starts(&self, key0: SourceFileId) -> Rc<[usize]>;
    fn file_name(&self, key0: SourceFileId) -> SmolStr;
}

Required Methods§

Source

fn intern_file(&self, key0: File) -> SourceFileId

Source

fn lookup_intern_file(&self, key0: SourceFileId) -> File

Source

fn file_content(&self, key0: SourceFileId) -> Rc<str>

Set with `fn set_file_content(&mut self, file: SourceFileId, content: Rc)

Source

fn set_file_content(&mut self, key0: SourceFileId, value__: Rc<str>)

Set the value of the file_content input.

See file_content for details.

Note: Setting values will trigger cancellation of any ongoing queries; this method blocks until those queries have been cancelled.

Source

fn set_file_content_with_durability( &mut self, key0: SourceFileId, value__: Rc<str>, durability__: Durability, )

Set the value of the file_content input and promise that its value will never change again.

See file_content for details.

Note: Setting values will trigger cancellation of any ongoing queries; this method blocks until those queries have been cancelled.

Source

fn file_line_starts(&self, key0: SourceFileId) -> Rc<[usize]>

Source

fn file_name(&self, key0: SourceFileId) -> SmolStr

Implementors§

Source§

impl<DB> SourceDb for DB
where DB: Database + HasQueryGroup<SourceDbStorage>,