These docs are for v1.3.0. Click to read the latest docs for v1.6.

Database

Defines C APIs for interfacing with the database.

Supported Table TypesFollowing are the table types supported by the C API:* Primary Table

  • 64-bit integer key
  • Secondary Index Table
  • 64-bit integer key
  • 128-bit integer key
  • 256-bit integer key
  • double key
  • long double

SUMMARY

MembersDescriptions
public int32_t db_store_i64(account_name scope,table_name table,account_name payer,uint64_t id,const void * data,uint32_t len)Store a record in a primary 64-bit integer index table.
public void db_update_i64(int32_t iterator,account_name payer,const void * data,uint32_t len)Update a record inside a primary 64-bit integer index table.
public void db_remove_i64(int32_t iterator)Remove a record inside a primary 64-bit integer index table.
public int32_t db_get_i64(int32_t iterator,const void * data,uint32_t len)Get a record inside a primary 64-bit integer index table.
public int32_t db_next_i64(int32_t iterator,uint64_t * primary)Get the next record after the given iterator from a primary 64-bit integer index table.
public int32_t db_previous_i64(int32_t iterator,uint64_t * primary)Get the previous record before the given iterator from a primary 64-bit integer index table.
public int32_t db_find_i64(account_name code,account_name scope,table_name table,uint64_t id)Find a record inside a primary 64-bit integer index table.
public int32_t db_lowerbound_i64(account_name code,account_name scope,table_name table,uint64_t id)Find the lowerbound record given a key inside a primary 64-bit integer index table.
public int32_t db_upperbound_i64(account_name code,account_name scope,table_name table,uint64_t id)Find the upperbound record given a key inside a primary 64-bit integer index table.
public int32_t db_end_i64(account_name code,account_name scope,table_name table)Find the latest record inside a primary 64-bit integer index table.
public int32_t db_idx64_store(account_name scope,table_name table,account_name payer,uint64_t id,const uint64_t * secondary)Store a record's secondary index in a secondary 64-bit integer index table.
public void db_idx64_update(int32_t iterator,account_name payer,const uint64_t * secondary)Update a record's secondary index inside a secondary 64-bit integer index table.
public void db_idx64_remove(int32_t iterator)Remove a record's secondary index from a secondary 64-bit integer index table.
public int32_t db_idx64_next(int32_t iterator,uint64_t * primary)Get the next secondary index inside a secondary 64-bit integer index table.
public int32_t db_idx64_previous(int32_t iterator,uint64_t * primary)Get the previous secondary index inside a secondary 64-bit integer index table.
public int32_t db_idx64_find_primary(account_name code,account_name scope,table_name table,uint64_t * secondary,uint64_t primary)Get the secondary index of a record from a secondary 64-bit integer index table given the record's primary key.
public int32_t db_idx64_find_secondary(account_name code,account_name scope,table_name table,const uint64_t * secondary,uint64_t * primary)Get the secondary index of a record from a secondary 64-bit integer index table given the secondary index key.
public int32_t db_idx64_lowerbound(account_name code,account_name scope,table_name table,uint64_t * secondary,uint64_t * primary)Get the secondary index of a record from a secondary 64-bit integer index table given the secondary index key.
public int32_t db_idx64_upperbound(account_name code,account_name scope,table_name table,uint64_t * secondary,uint64_t * primary)Get the secondary index of a record from a secondary 64-bit integer index table given the secondary index key.
public int32_t db_idx64_end(account_name code,account_name scope,table_name table)Get the last secondary index from a secondary 64-bit integer index table.
public int32_t db_idx128_store(account_name scope,table_name table,account_name payer,uint64_t id,const uint128_t * secondary)Store a record's secondary index in a secondary 128-bit integer index table.
public void db_idx128_update(int32_t iterator,account_name payer,const uint128_t * secondary)Update a record's secondary index inside a secondary 128-bit integer index table.
public void db_idx128_remove(int32_t iterator)Remove a record's secondary index from a secondary 128-bit integer index table.
public int32_t db_idx128_next(int32_t iterator,uint64_t * primary)Get the next secondary index inside a secondary 128-bit integer index table.
public int32_t db_idx128_previous(int32_t iterator,uint64_t * primary)Get the previous secondary index inside a secondary 128-bit integer index table.
public int32_t db_idx128_find_primary(account_name code,account_name scope,table_name table,uint128_t * secondary,uint64_t primary)Get the secondary index of a record from a secondary 128-bit integer index table given the record's primary key.
public int32_t db_idx128_find_secondary(account_name code,account_name scope,table_name table,const uint128_t * secondary,uint64_t * primary)Get the secondary index of a record from a secondary 128-bit integer index table given the secondary index key.
public int32_t db_idx128_lowerbound(account_name code,account_name scope,table_name table,uint128_t * secondary,uint64_t * primary)Get the secondary index of a record from a secondary 128-bit integer index table given the secondary index key.
public int32_t db_idx128_upperbound(account_name code,account_name scope,table_name table,uint128_t * secondary,uint64_t * primary)Get the secondary index of a record from a secondary 128-bit integer index table given the secondary index key.
public int32_t db_idx128_end(account_name code,account_name scope,table_name table)Get the last secondary index from a secondary 128-bit integer index table.
public int32_t db_idx256_store(account_name scope,table_name table,account_name payer,uint64_t id,const void * data,uint32_t data_len)Store a record's secondary index in a secondary 256-bit integer index table.
public void db_idx256_update(int32_t iterator,account_name payer,const void * data,uint32_t data_len)Update a record's secondary index inside a secondary 256-bit integer index table.
public void db_idx256_remove(int32_t iterator)Remove a record's secondary index from a secondary 256-bit integer index table.
public int32_t db_idx256_next(int32_t iterator,uint64_t * primary)Get the next secondary index inside a secondary 256-bit integer index table.
public int32_t db_idx256_previous(int32_t iterator,uint64_t * primary)Get the previous secondary index inside a secondary 256-bit integer index table.
public int32_t db_idx256_find_primary(account_name code,account_name scope,table_name table,void * data,uint32_t data_len,uint64_t primary)Get the secondary index of a record from a secondary 256-bit integer index table given the record's primary key.
public int32_t db_idx256_find_secondary(account_name code,account_name scope,table_name table,const void * data,uint32_t data_len,uint64_t * primary)Get the secondary index of a record from a secondary 256-bit integer index table given the secondary index key.
public int32_t db_idx256_lowerbound(account_name code,account_name scope,table_name table,void * data,uint32_t data_len,uint64_t * primary)Get the secondary index of a record from a secondary 256-bit integer index table given the secondary index key.
public int32_t db_idx256_upperbound(account_name code,account_name scope,table_name table,void * data,uint32_t data_len,uint64_t * primary)Get the secondary index of a record from a secondary 256-bit integer index table given the secondary index key.
public int32_t db_idx256_end(account_name code,account_name scope,table_name table)Get the last secondary index from a secondary 256-bit integer index table.
public int32_t db_idx_double_store(account_name scope,table_name table,account_name payer,uint64_t id,const double * secondary)Store a record's secondary index in a secondary double index table.
public void db_idx_double_update(int32_t iterator,account_name payer,const double * secondary)Update a record's secondary index inside a secondary double index table.
public void db_idx_double_remove(int32_t iterator)Remove a record's secondary index from a secondary double index table.
public int32_t db_idx_double_next(int32_t iterator,uint64_t * primary)Get the next secondary index inside a secondary double index table.
public int32_t db_idx_double_previous(int32_t iterator,uint64_t * primary)Get the previous secondary index inside a secondary double index table.
public int32_t db_idx_double_find_primary(account_name code,account_name scope,table_name table,double * secondary,uint64_t primary)Get the secondary index of a record from a secondary double index table given the record's primary key.
public int32_t db_idx_double_find_secondary(account_name code,account_name scope,table_name table,const double * secondary,uint64_t * primary)Get the secondary index of a record from a secondary double index table given the secondary index key.
public int32_t db_idx_double_lowerbound(account_name code,account_name scope,table_name table,double * secondary,uint64_t * primary)Get the secondary index of a record from a secondary double index table given the secondary index key.
public int32_t db_idx_double_upperbound(account_name code,account_name scope,table_name table,double * secondary,uint64_t * primary)Get the secondary index of a record from a secondary double index table given the secondary index key.
public int32_t db_idx_double_end(account_name code,account_name scope,table_name table)Get the last secondary index from a secondary double index table.
public int32_t db_idx_long_double_store(account_name scope,table_name table,account_name payer,uint64_t id,const long double * secondary)Store a record's secondary index in a secondary long double index table.
public void db_idx_long_double_update(int32_t iterator,account_name payer,const long double * secondary)Update a record's secondary index inside a secondary long double index table.
public void db_idx_long_double_remove(int32_t iterator)Remove a record's secondary index from a secondary long double index table.
public int32_t db_idx_long_double_next(int32_t iterator,uint64_t * primary)Get the next secondary index inside a secondary long double index table.
public int32_t db_idx_long_double_previous(int32_t iterator,uint64_t * primary)Get the previous secondary index inside a secondary long double index table.
public int32_t db_idx_long_double_find_primary(account_name code,account_name scope,table_name table,long double * secondary,uint64_t primary)Get the secondary index of a record from a secondary long double index table given the record's primary key.
public int32_t db_idx_long_double_find_secondary(account_name code,account_name scope,table_name table,const long double * secondary,uint64_t * primary)Get the secondary index of a record from a secondary long double index table given the secondary index key.
public int32_t db_idx_long_double_lowerbound(account_name code,account_name scope,table_name table,long double * secondary,uint64_t * primary)Get the secondary index of a record from a secondary long double index table given the secondary index key.
public int32_t db_idx_long_double_upperbound(account_name code,account_name scope,table_name table,long double * secondary,uint64_t * primary)Get the secondary index of a record from a secondary long double index table given the secondary index key.
public int32_t db_idx_long_double_end(account_name code,account_name scope,table_name table)Get the last secondary index from a secondary long double index table.