Classes | Namespaces | Defines | Typedefs | Functions | Variables
const.h File Reference

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 FASTBIT_CXX_DLLSPEC
#define FASTBIT_DIRSEP   '/'
 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 IBIS_REPLACEMENT_RWLOCK
#define MessageBox(x1, x2, x3, x4)   ; {}
#define stricmp   strcasecmp
#define strnicmp   strncasecmp
#define THREAD_RWLOCK_INITIALIZER

Typedefs

typedef std::vector< const part * > ibis::constPartList
 A simple list of data partitions.
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.

Detailed Description

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 Documentation

#define FASTBIT_DIRSEP   '/'

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::text::append(), ibis::category::append(), ibis::blob::append(), ibis::column::append(), ibis::part::append1(), ibis::part::append2(), ibis::column::appendStrings(), ibis::part::appendToBackup(), ibis::column::appendValues(), ibis::bord::backup(), ibis::category::category(), ibis::part::commit(), ibis::range::construct(), ibis::ambit::construct(), ibis::blob::countRawBytes(), ibis::index::create(), ibis::column::dataFileName(), ibis::index::dataFileName(), ibis::part::deactivate(), ibis::category::fillIndex(), ibis::text::findString(), ibis::fileManager::flushDir(), ibis::util::gatherParts(), ibis::blob::getBlob(), ibis::query::getRIDsInBundle(), ibis::roster::icSearch(), ibis::index::indexFileName(), ibis::util::makeDir(), ibis::column::nullMaskName(), ibis::roster::oocSearch(), ibis::part::barrel::open(), ibis::part::vault::open(), ibis::part::part(), ibis::part::purgeInactive(), ibis::column::purgeIndexFile(), ibis::query::query(), ibis::part::reactivate(), ibis::resource::read(), ibis::part::readMeshShape(), ibis::part::readMetaData(), ibis::part::readMetaTags(), ibis::bundle::readRIDs(), ibis::part::readRIDs(), ibis::text::readString(), ibis::keywords::readTermDocFile(), ibis::util::removeDir(), ibis::part::reorder(), ibis::part::rollback(), ibis::text::saveSelected(), ibis::column::saveSelected(), ibis::text::selectLongs(), ibis::blob::selectRawBytes(), ibis::text::selectStrings(), ibis::category::setDictionary(), ibis::text::startPositions(), ibis::text::stringSearch(), ibis::column::truncateData(), ibis::part::updateData(), ibis::roster::write(), ibis::tafel::write(), ibis::blob::writeData(), ibis::column::writeData(), ibis::tafel::writeMetaData(), ibis::part::writeMetaData(), and ibis::roster::writeSorted().

#define THREAD_RWLOCK_INITIALIZER
Value:
{PTHREAD_MUTEX_INITIALIZER, PTHREAD_COND_INITIALIZER, \
                PTHREAD_COND_INITIALIZER, 0, 0}

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