capi.h File Reference

This header file defines a C API for accessing functions of FastBit IBIS implementations. More...

#include "fastbit-config.h"
#include <stdio.h>

Go to the source code of this file.

Typedefs

typedef struct FastBitQuery * FastBitQueryHandle
 A handle to be used by C clients.
typedef struct FastBitResultSet * FastBitResultSetHandle
 A handle to identify a set of query results.

Functions

int fastbit_add_values (const char *colname, const char *coltype, void *vals, uint32_t nelem, uint32_t start)
 Add nelem values of the specified column (colname) to the in-memory buffer.
int fastbit_build_index (const char *indexLocation, const char *cname, const char *indexOptions)
 Build an index for the named attribute.
int fastbit_build_indexes (const char *indexLocation, const char *indexOptions)
 Build indexes for all columns in the named directory.
FastBitQueryHandle fastbit_build_query (const char *selectClause, const char *indexLocation, const char *queryConditions)
 Build a new FastBit query.
FastBitResultSetHandle fastbit_build_result_set (FastBitQueryHandle query)
 Build a new result set from a query object.
void fastbit_cleanup (void)
 Clean up resources hold by FastBit file manager.
int fastbit_columns_in_partition (const char *dir)
 Return the number of columns in the data partition.
int fastbit_destroy_query (FastBitQueryHandle query)
 Free all resource associated with the handle.
int fastbit_destroy_result_set (FastBitResultSetHandle rset)
 Destroy a result set.
int fastbit_flush_buffer (const char *dir)
 Flush the in-memory data to the named directory.
const char * fastbit_get_from_clause (FastBitQueryHandle query)
 Return the table name.
const char * fastbit_get_logfile ()
 Find out the name of the current log file.
FILE * fastbit_get_logfilepointer ()
 Return the file pointer to the log file.
const signed char * fastbit_get_qualified_bytes (FastBitQueryHandle query, const char *cname)
const double * fastbit_get_qualified_doubles (FastBitQueryHandle query, const char *cname)
const float * fastbit_get_qualified_floats (FastBitQueryHandle query, const char *cname)
const int32_t * fastbit_get_qualified_ints (FastBitQueryHandle query, const char *cname)
const int64_t * fastbit_get_qualified_longs (FastBitQueryHandle query, const char *cname)
const int16_t * fastbit_get_qualified_shorts (FastBitQueryHandle query, const char *cname)
const char ** fastbit_get_qualified_strings (FastBitQueryHandle query, const char *cname)
const unsigned char * fastbit_get_qualified_ubytes (FastBitQueryHandle query, const char *cname)
const uint32_t * fastbit_get_qualified_uints (FastBitQueryHandle query, const char *cname)
const uint64_t * fastbit_get_qualified_ulongs (FastBitQueryHandle query, const char *cname)
const uint16_t * fastbit_get_qualified_ushorts (FastBitQueryHandle query, const char *cname)
int fastbit_get_result_columns (FastBitQueryHandle query)
 Count the number of columns selected in the select clause of the query.
int fastbit_get_result_rows (FastBitQueryHandle query)
 Return the number of hits in the query.
const char * fastbit_get_select_clause (FastBitQueryHandle query)
 Return the string form of the select clause.
int fastbit_get_verbose_level (void)
 Return the current verboseness level.
int fastbit_get_version_number ()
 Return the software version as an integer.
const char * fastbit_get_version_string ()
 Return the software version as a string.
const char * fastbit_get_where_clause (FastBitQueryHandle query)
 Return the where clause of the query.
void fastbit_init (const char *rcfile)
 Initialization function.
int fastbit_purge_index (const char *indexLocation, const char *cname)
 Purge the index of the named attribute.
int fastbit_purge_indexes (const char *indexLocation)
 Purge all index files.
int fastbit_reorder_partition (const char *dir)
 Reorder all the columns in the partition.
double fastbit_result_set_get_double (FastBitResultSetHandle rset, const char *cname)
 Get the value of the named column as a double-precision floating-point number.
float fastbit_result_set_get_float (FastBitResultSetHandle rset, const char *cname)
 Get the value of the named column as a single-precision floating-point number.
int fastbit_result_set_get_int (FastBitResultSetHandle rset, const char *cname)
 Get the value of the named column as an integer.
const char * fastbit_result_set_get_string (FastBitResultSetHandle rset, const char *cname)
 Get the value of the named column as a string.
unsigned fastbit_result_set_get_unsigned (FastBitResultSetHandle rset, const char *cname)
 Get the value of the named column as an unsigned integer.
double fastbit_result_set_getDouble (FastBitResultSetHandle rset, unsigned position)
 Get the value of the named column as a double-precision floating-point number.
float fastbit_result_set_getFloat (FastBitResultSetHandle rset, unsigned position)
 Get the value of the named column as a single-precision floating-point number.
int32_t fastbit_result_set_getInt (FastBitResultSetHandle rset, unsigned position)
 Get the value of the named column as an integer.
const char * fastbit_result_set_getString (FastBitResultSetHandle rset, unsigned position)
 Get the value of the named column as a string.
uint32_t fastbit_result_set_getUnsigned (FastBitResultSetHandle rset, unsigned position)
 Get the value of the named column as an unsigned integer.
int fastbit_result_set_next (FastBitResultSetHandle rset)
 Returns 0 if there are more results, otherwise returns -1.
int fastbit_rows_in_partition (const char *dir)
 Return the number of rows in the data partition.
int fastbit_set_logfile (const char *filename)
 Change the name of the log file.
int fastbit_set_verbose_level (int v)
 Change the verboseness of FastBit functions.

Detailed Description

This header file defines a C API for accessing functions of FastBit IBIS implementations.

It deals with data tables as directories and queries as pointers to struct FastBitQuery.

Note:
For functions that return integer error code, 0 always indicate success, a negative number indicate error, a positive number may also be returned to carry results, such as in fastbit_get_result_size.
For functions that returns pointers, they return a nil pointer in case of error.

An example of using these functions is in examples/tcapi.c.

Make It A Bit Faster
Contact us
Disclaimers
FastBit source code
FastBit mailing list archive