[][src]Struct tarantool_module::index::Index

pub struct Index { /* fields omitted */ }

Implementations

impl Index[src]

pub fn get<K>(&self, key: &K) -> Result<Option<Tuple>, Error> where
    K: AsTuple
[src]

Get a tuple from index by the key.

Please note that this function works much more faster than select

  • key - encoded key in MsgPack Array format ([part1, part2, ...]).

Returns a tuple or None if index is empty

pub fn select<K>(
    &self,
    iterator_type: IteratorType,
    key: &K
) -> Result<IndexIterator, Error> where
    K: AsTuple
[src]

Allocate and initialize iterator for index.

  • type - iterator type
  • key - encoded key in MsgPack Array format ([part1, part2, ...]).

pub fn delete<K>(&mut self, key: &K) -> Result<Option<Tuple>, Error> where
    K: AsTuple
[src]

Execute an DELETE request.

  • key - encoded key in MsgPack Array format ([part1, part2, ...]).

Returns an old tuple

See also: box.space[space_id].index[index_id]:delete(key)

pub fn update<K, Op>(
    &mut self,
    key: &K,
    ops: &Vec<Op>
) -> Result<Option<Tuple>, Error> where
    K: AsTuple,
    Op: AsTuple
[src]

Execute an UPDATE request.

  • key - encoded key in MsgPack Array format ([part1, part2, ...]).
  • ops - encoded operations in MsgPack Arrat format, e.g. [['=', field_id, value], ['!', 2, 'xxx']]

Returns a new tuple.

See also: box.space[space_id].index[index_id]:update(key, ops), upsert

pub fn upsert<T, Op>(
    &mut self,
    value: &T,
    ops: &Vec<Op>
) -> Result<Option<Tuple>, Error> where
    T: AsTuple,
    Op: AsTuple
[src]

Execute an UPSERT request.

  • value - encoded tuple in MsgPack Array format ([field1, field2, ...])
  • ops - encoded operations in MsgPack Arrat format, e.g. [['=', field_id, value], ['!', 2, 'xxx']]

Returns a new tuple.

See also: box.space[space_id].index[index_id]:update(key, ops), update

pub fn len(&self) -> Result<usize, Error>[src]

Return the number of elements in the index.

pub fn bsize(&self) -> Result<usize, Error>[src]

Return the number of bytes used in memory by the index.

pub fn random(&self, seed: u32) -> Result<Option<Tuple>, Error>[src]

Return a random tuple from the index (useful for statistical analysis).

  • rnd - random seed

See also: box.space[space_id].index[index_id]:random(rnd)

pub fn min<K>(&self, key: &K) -> Result<Option<Tuple>, Error> where
    K: AsTuple
[src]

Return a first (minimal) tuple matched the provided key.

  • key - encoded key in MsgPack Array format ([part1, part2, ...]).

Returns a tuple or None if index is empty

pub fn max<K>(&self, key: &K) -> Result<Option<Tuple>, Error> where
    K: AsTuple
[src]

Return a last (maximal) tuple matched the provided key.

  • key - encoded key in MsgPack Array format ([part1, part2, ...]).

Returns a tuple or None if index is empty

pub fn count<K>(
    &self,
    iterator_type: IteratorType,
    key: &K
) -> Result<usize, Error> where
    K: AsTuple
[src]

Count the number of tuple matched the provided key.

  • type - iterator type
  • key - encoded key in MsgPack Array format ([part1, part2, ...]).

pub fn extract_key(&self, tuple: Tuple) -> Tuple[src]

Extract key from tuple according to key definition of given index. Returned buffer is allocated on box_txn_alloc() with this key.

  • tuple - tuple from which need to extract key.

Auto Trait Implementations

impl RefUnwindSafe for Index

impl Send for Index

impl Sync for Index

impl Unpin for Index

impl UnwindSafe for Index

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.