Defines common data types, constants and macros. More...
#include <errno.h>
#include <string.h>
#include <pthread.h>
#include "fastbit-config.h"
#include <sys/types.h>
#include <stdint.h>
#include <vector>
#include <functional>
#include <iosfwd>
#include <syslimits.h>
#include <strings.h>
Go to the source code of this file.
Classes | |
struct | _rwlock |
struct | ibis::lessi |
A case-insensitive version of less for comparing names of tables, columns, and other resources. More... | |
union | ibis::rid_t |
The object identifiers used to distinguish records. More... | |
struct | ibis::rid_t::name |
As two 32-bit values. More... | |
Namespaces | |
namespace | ibis |
The current implementation of FastBit is code named IBIS; most data structures and functions are in the name space ibis. | |
Defines | |
#define | _PTHREADS |
#define | _REENTRANT |
#define | FASTBIT_CXX_DLLSPEC |
#define | FASTBIT_DIRSEP '/' |
#define | IBIS_REPLACEMENT_RWLOCK |
#define | MAX_LINE 2048 |
#define | MessageBox(x1, x2, x3, x4) ; {} |
#define | PATH_MAX 512 |
#define | PREFERRED_BLOCK_SIZE 1048576 |
PREFERRED_BLOCK_SIZE is the parameter used to determine the logical page size during some I/O intensive operations, such as nested loop join. | |
#define | stricmp strcasecmp |
#define | strnicmp strncasecmp |
#define | THREAD_RWLOCK_INITIALIZER |
Typedefs | |
typedef std::vector< part * > | ibis::partList |
A simple list of data partitions. | |
typedef struct _rwlock | pthread_rwlock_t |
Functions | |
int | pthread_rwlock_destroy (pthread_rwlock_t *rwlock) |
int | pthread_rwlock_init (pthread_rwlock_t *rwlock, void *) |
int | pthread_rwlock_rdlock (pthread_rwlock_t *rwlock) |
int | pthread_rwlock_tryrdlock (pthread_rwlock_t *rwlock) |
int | pthread_rwlock_trywrlock (pthread_rwlock_t *rwlock) |
int | pthread_rwlock_unlock (pthread_rwlock_t *rwlock) |
int | pthread_rwlock_wrlock (pthread_rwlock_t *rwlock) |
Variables | |
int | ibis::gVerbose = 0 |
Verbosity level. |
Defines common data types, constants and macros.
Used by all files in the IBIS implementation of FastBit from the Scientific Data Management Research Group of Lawrence Berkeley National Laboratory.
#define PREFERRED_BLOCK_SIZE 1048576 |
PREFERRED_BLOCK_SIZE is the parameter used to determine the logical page size during some I/O intensive operations, such as nested loop join.
Many CPUs have 512KB cache, setting this value to 256K (262144) will allow about two such 'logical' block to be in cache at the same time, which should be good to things like nested loop join.
Referenced by ibis::query::orderPairs(), ibis::part::reorderValues(), and ibis::part::writeValues().
#define THREAD_RWLOCK_INITIALIZER |
{PTHREAD_MUTEX_INITIALIZER, PTHREAD_COND_INITIALIZER, \ PTHREAD_COND_INITIALIZER, 0, 0}
![]() |