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

pub struct Index { /* fields omitted */ }

An index is a group of key values and pointers.

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.

This is an alternative to space.select() which goes via a particular index and can make use of additional parameter that specify the iterator type.

  • 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]

Delete a tuple identified by a key.

Same as space.delete(), but key is searched in this index instead of in the primary-key index. This index ought to be unique.

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

Returns the deleted tuple

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

Update a tuple.

Same as space.update(), but key is searched in this index instead of primary key. This index ought to be unique.

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

Returns a new tuple.

See also: index.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.

Will try to insert tuple. Update if already exists.

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

Returns a new tuple.

See also: index.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

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.