MicrofeedDatabase

This module implementing a database layer is used internally in the publisher side, but can be also utilized outside of the library implementation. More...

Typedefs

typedef struct
_MicrofeedDatabaseEnvironment 
MicrofeedDatabaseEnvironment
 Opaque data type representing Microfeed database environment which contains the actual databases.
typedef struct _MicrofeedDatabase MicrofeedDatabase
 Opaque data type representing Microfeed database.
typedef struct
_MicrofeedDatabaseIndex 
MicrofeedDatabaseIndex
 Opaque data type representing a secondary index of Microfeed database.
typedef struct
_MicrofeedDatabaseIterator 
MicrofeedDatabaseIterator
 Opaque data type representing Microfeed database iterator that iterates over the keys of the database.
typedef void(* MicrofeedDatabaseIndexFunction )(void *key, const size_t key_size, void *data, const size_t data_size, void **index_key, size_t *index_key_size)
typedef int(* MicrofeedDatabaseCompareFunction )(const void *key1, const size_t key1_size, const void *key2, const size_t key2_size)

Functions

MicrofeedDatabaseEnvironmentmicrofeed_database_environment_new (const char *name, const char *directory)
void microfeed_database_environment_free (MicrofeedDatabaseEnvironment *database_environment)
MicrofeedDatabaseEnvironmentmicrofeed_database_environment_ref (MicrofeedDatabaseEnvironment *database_environment)
void microfeed_database_environment_unref (MicrofeedDatabaseEnvironment *database_environment)
MicrofeedDatabasemicrofeed_database_environment_get_database (MicrofeedDatabaseEnvironment *database_environment, const char *name, MicrofeedDatabaseCompareFunction)
MicrofeedDatabaseIndexmicrofeed_database_get_index (MicrofeedDatabase *database, const char *name, MicrofeedDatabaseIndexFunction index_function)
void microfeed_database_free (MicrofeedDatabase *database)
MicrofeedDatabasemicrofeed_database_ref (MicrofeedDatabase *database)
void microfeed_database_unref (MicrofeedDatabase *database)
const char * microfeed_database_get_name (MicrofeedDatabase *database)
int microfeed_database_get_data (MicrofeedDatabase *database, const void *key, size_t key_size, void **data, size_t *data_size)
MicrofeedDatabaseIteratormicrofeed_database_iterate (MicrofeedDatabase *database, const void *start_key, size_t start_key_size, int backwards)
void microfeed_database_replace_data (MicrofeedDatabase *database, const void *key, size_t key_size, const void *data, size_t data_size)
void microfeed_database_replace_data_partial (MicrofeedDatabase *database, const void *key, size_t key_size, const void *data, size_t data_size, size_t offset)
void microfeed_database_remove_data (MicrofeedDatabase *database, const void *key, const size_t key_size)
void microfeed_database_remove_data_range (MicrofeedDatabase *database, const void *start_key, size_t start_key_size, const void *end_key, size_t end_key_size)
MicrofeedDatabasemicrofeed_database_index_get_database (MicrofeedDatabaseIndex *database_index)
const char * microfeed_database_index_get_name (MicrofeedDatabaseIndex *database_index)
int microfeed_database_index_get_data (MicrofeedDatabaseIndex *database_index, const void *index_key, size_t index_key_size, void **key, size_t *key_size, void **data, size_t *data_size)
int microfeed_database_get_data_partial (MicrofeedDatabase *database, const void *key, const size_t key_size, void *data, size_t *data_size, size_t offset)
MicrofeedDatabaseIteratormicrofeed_database_index_iterate (MicrofeedDatabaseIndex *database_index, const void *start_key, const size_t start_key_size, int backwards)
void microfeed_database_index_remove_data (MicrofeedDatabaseIndex *database_index, const void *key, size_t key_size)
void microfeed_database_index_remove_data_range (MicrofeedDatabaseIndex *database_index, const void *start_key, const size_t start_key_size, const void *end_key, const size_t end_key_size)
void microfeed_database_iterator_free (MicrofeedDatabaseIterator *iterator)
int microfeed_database_iterator_get (MicrofeedDatabaseIterator *iterator, const void **key, size_t *key_size, const void **data, size_t *data_size)
void microfeed_database_iterator_next (MicrofeedDatabaseIterator *iterator)

Detailed Description

This module implementing a database layer is used internally in the publisher side, but can be also utilized outside of the library implementation.


Typedef Documentation

Opaque data type representing Microfeed database.

Definition at line 23 of file microfeeddatabase.h.

typedef int(* MicrofeedDatabaseCompareFunction)(const void *key1, const size_t key1_size, const void *key2, const size_t key2_size)

Definition at line 36 of file microfeeddatabase.h.

Opaque data type representing Microfeed database environment which contains the actual databases.

Definition at line 18 of file microfeeddatabase.h.

Opaque data type representing a secondary index of Microfeed database.

Definition at line 28 of file microfeeddatabase.h.

typedef void(* MicrofeedDatabaseIndexFunction)(void *key, const size_t key_size, void *data, const size_t data_size, void **index_key, size_t *index_key_size)

Definition at line 35 of file microfeeddatabase.h.

Opaque data type representing Microfeed database iterator that iterates over the keys of the database.

Definition at line 33 of file microfeeddatabase.h.


Function Documentation

void microfeed_database_environment_free ( MicrofeedDatabaseEnvironment database_environment  ) 

MicrofeedDatabase* microfeed_database_environment_get_database ( MicrofeedDatabaseEnvironment database_environment,
const char *  name,
MicrofeedDatabaseCompareFunction   
)

MicrofeedDatabaseEnvironment* microfeed_database_environment_new ( const char *  name,
const char *  directory 
)

MicrofeedDatabaseEnvironment* microfeed_database_environment_ref ( MicrofeedDatabaseEnvironment database_environment  ) 

void microfeed_database_environment_unref ( MicrofeedDatabaseEnvironment database_environment  ) 

void microfeed_database_free ( MicrofeedDatabase database  ) 

int microfeed_database_get_data ( MicrofeedDatabase database,
const void *  key,
size_t  key_size,
void **  data,
size_t *  data_size 
)

int microfeed_database_get_data_partial ( MicrofeedDatabase database,
const void *  key,
const size_t  key_size,
void *  data,
size_t *  data_size,
size_t  offset 
)

MicrofeedDatabaseIndex* microfeed_database_get_index ( MicrofeedDatabase database,
const char *  name,
MicrofeedDatabaseIndexFunction  index_function 
)

const char* microfeed_database_get_name ( MicrofeedDatabase database  ) 

Definition at line 236 of file microfeeddatabase.c.

References _MicrofeedDatabase::name.

Referenced by microfeed_database_environment_new().

int microfeed_database_index_get_data ( MicrofeedDatabaseIndex database_index,
const void *  index_key,
size_t  index_key_size,
void **  key,
size_t *  key_size,
void **  data,
size_t *  data_size 
)

MicrofeedDatabase* microfeed_database_index_get_database ( MicrofeedDatabaseIndex database_index  ) 

Definition at line 400 of file microfeeddatabase.c.

References _MicrofeedDatabaseIndex::database.

const char* microfeed_database_index_get_name ( MicrofeedDatabaseIndex database_index  ) 

Definition at line 405 of file microfeeddatabase.c.

References _MicrofeedDatabaseIndex::name.

MicrofeedDatabaseIterator* microfeed_database_index_iterate ( MicrofeedDatabaseIndex database_index,
const void *  start_key,
const size_t  start_key_size,
int  backwards 
)

void microfeed_database_index_remove_data ( MicrofeedDatabaseIndex database_index,
const void *  key,
size_t  key_size 
)

void microfeed_database_index_remove_data_range ( MicrofeedDatabaseIndex database_index,
const void *  start_key,
const size_t  start_key_size,
const void *  end_key,
const size_t  end_key_size 
)

MicrofeedDatabaseIterator* microfeed_database_iterate ( MicrofeedDatabase database,
const void *  start_key,
size_t  start_key_size,
int  backwards 
)

void microfeed_database_iterator_free ( MicrofeedDatabaseIterator iterator  ) 

int microfeed_database_iterator_get ( MicrofeedDatabaseIterator iterator,
const void **  key,
size_t *  key_size,
const void **  data,
size_t *  data_size 
)

void microfeed_database_iterator_next ( MicrofeedDatabaseIterator iterator  ) 

MicrofeedDatabase* microfeed_database_ref ( MicrofeedDatabase database  ) 

void microfeed_database_remove_data ( MicrofeedDatabase database,
const void *  key,
const size_t  key_size 
)

void microfeed_database_remove_data_range ( MicrofeedDatabase database,
const void *  start_key,
size_t  start_key_size,
const void *  end_key,
size_t  end_key_size 
)

void microfeed_database_replace_data ( MicrofeedDatabase database,
const void *  key,
size_t  key_size,
const void *  data,
size_t  data_size 
)

void microfeed_database_replace_data_partial ( MicrofeedDatabase database,
const void *  key,
size_t  key_size,
const void *  data,
size_t  data_size,
size_t  offset 
)

void microfeed_database_unref ( MicrofeedDatabase database  ) 


Generated on Sat Feb 28 23:19:16 2009 for Microfeed by  doxygen 1.5.6