[][src]Struct polodb_core::db::Database

pub struct Database { /* fields omitted */ }

API wrapper for Rust-level

Use open API to open a database. A main database file will be generated in the path user provided.

When you own an instance of a Database, the instance holds a file descriptor of the database file. When the Database instance is dropped, the handle of the file will be released.

Collection

A Collection is a dataset of a kind of data. You can use create_collection to create a data collection. To obtain an exist collection, use collection,

Transaction

You an manually start a transaction by start_transaction method. If you don't start it manually, a transaction will be automatically started in your every operation.

Example

use polodb_core::Database;

let mut db = Database::open("/tmp/test-polo.db").unwrap();
let test_collection = db.collection("test").unwrap();

Implementations

impl Database[src]

pub fn mk_object_id(&mut self) -> ObjectId[src]

pub fn open<P: AsRef<Path>>(path: P) -> DbResult<Database>[src]

pub fn open_with_config<P: AsRef<Path>>(
    path: P,
    config: Config
) -> DbResult<Database>
[src]

pub fn create_collection(&mut self, name: &str) -> DbResult<Collection<'_>>[src]

pub fn get_version() -> String[src]

Return the version of package version in string. Defined in Cargo.toml.

pub fn collection(&mut self, col_name: &str) -> DbResult<Collection<'_>>[src]

Return an exist collection. If the collection is not exists, a new collection will be created.

pub fn dump(&mut self) -> DbResult<FullDump>[src]

pub fn start_transaction(&mut self, ty: Option<TransactionType>) -> DbResult<()>[src]

Manually start a transaction. There are three types of transaction.

  • None: Auto transaction
  • Some(Transaction::Write): Write transaction
  • Some(Transaction::Read): Read transaction

When you pass None to type parameter. The PoloDB will go into auto mode. The PoloDB will go into read mode firstly, once the users execute write operations(insert/update/delete), the DB will turn into write mode.

pub fn commit(&mut self) -> DbResult<()>[src]

pub fn rollback(&mut self) -> DbResult<()>[src]

Auto Trait Implementations

impl !RefUnwindSafe for Database

impl !Send for Database

impl !Sync for Database

impl Unpin for Database

impl UnwindSafe for Database

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.