0.9.8.10
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
Hypertable::Key Class Reference

Provides access to internal components of opaque key. More...

#include <Key.h>

Collaboration diagram for Hypertable::Key:
Collaboration graph
[legend]

Public Member Functions

 Key ()
 Constructor (for implicit construction). More...
 
 Key (const SerializedKey &key)
 Constructor that takes an opaque key as an argument. More...
 
bool load (const SerializedKey &key)
 Parses the opaque key and loads the components into the member variables. More...
 
size_t len_row () const
 
size_t len_column_family () const
 
size_t len_cell () const
 

Static Public Member Functions

static void encode_ts64 (uint8_t **bufp, int64_t val, bool ascending=true)
 
static int64_t decode_ts64 (const uint8_t **bufp, bool ascending=true)
 

Public Attributes

SerializedKey serial
 
uint32_t length
 
uint8_t flag
 
uint8_t control
 
uint8_t column_family_code
 
bool row_key_set
 
const char * row
 
const char * column_qualifier
 
uint32_t row_len
 
uint32_t column_qualifier_len
 
const uint8_t * flag_ptr
 
int64_t timestamp
 
int64_t revision
 

Static Public Attributes

static const uint8_t HAVE_REVISION = 0x80
 
static const uint8_t HAVE_TIMESTAMP = 0x40
 
static const uint8_t AUTO_TIMESTAMP = 0x20
 
static const uint8_t REV_IS_TS = 0x10
 
static const uint8_t TS_CHRONOLOGICAL = 0x1
 
static const char * END_ROW_MARKER = (const char *)end_row_chars
 
static const char * END_ROOT_ROW = (const char *)end_root_row_chars
 

Detailed Description

Provides access to internal components of opaque key.

Definition at line 40 of file Key.h.

Constructor & Destructor Documentation

Hypertable::Key::Key ( )
inline

Constructor (for implicit construction).

Definition at line 93 of file Key.h.

Hypertable::Key::Key ( const SerializedKey key)

Constructor that takes an opaque key as an argument.

load is called to load the object with the key's components.

Parameters
keythe opaque key

Definition at line 151 of file Key.cc.

Member Function Documentation

static int64_t Hypertable::Key::decode_ts64 ( const uint8_t **  bufp,
bool  ascending = true 
)
inlinestatic

Definition at line 71 of file Key.h.

static void Hypertable::Key::encode_ts64 ( uint8_t **  bufp,
int64_t  val,
bool  ascending = true 
)
inlinestatic

Definition at line 52 of file Key.h.

size_t Hypertable::Key::len_cell ( ) const
inline

Definition at line 119 of file Key.h.

size_t Hypertable::Key::len_column_family ( ) const
inline

Definition at line 115 of file Key.h.

size_t Hypertable::Key::len_row ( ) const
inline

Definition at line 113 of file Key.h.

bool Hypertable::Key::load ( const SerializedKey key)

Parses the opaque key and loads the components into the member variables.

TODO: Re-implement below function in terms of this function.

Parameters
keythe opaque key
Returns
true on success, false otherwise

Definition at line 158 of file Key.cc.

Member Data Documentation

const uint8_t Hypertable::Key::AUTO_TIMESTAMP = 0x20
static

Definition at line 45 of file Key.h.

uint8_t Hypertable::Key::column_family_code

Definition at line 127 of file Key.h.

const char* Hypertable::Key::column_qualifier

Definition at line 130 of file Key.h.

uint32_t Hypertable::Key::column_qualifier_len

Definition at line 132 of file Key.h.

uint8_t Hypertable::Key::control

Definition at line 126 of file Key.h.

const char * Hypertable::Key::END_ROOT_ROW = (const char *)end_root_row_chars
static

Definition at line 50 of file Key.h.

const char * Hypertable::Key::END_ROW_MARKER = (const char *)end_row_chars
static

Definition at line 49 of file Key.h.

uint8_t Hypertable::Key::flag

Definition at line 125 of file Key.h.

const uint8_t* Hypertable::Key::flag_ptr

Definition at line 133 of file Key.h.

const uint8_t Hypertable::Key::HAVE_REVISION = 0x80
static

Definition at line 43 of file Key.h.

const uint8_t Hypertable::Key::HAVE_TIMESTAMP = 0x40
static

Definition at line 44 of file Key.h.

uint32_t Hypertable::Key::length

Definition at line 124 of file Key.h.

const uint8_t Hypertable::Key::REV_IS_TS = 0x10
static

Definition at line 46 of file Key.h.

int64_t Hypertable::Key::revision

Definition at line 135 of file Key.h.

const char* Hypertable::Key::row

Definition at line 129 of file Key.h.

bool Hypertable::Key::row_key_set

Definition at line 128 of file Key.h.

uint32_t Hypertable::Key::row_len

Definition at line 131 of file Key.h.

SerializedKey Hypertable::Key::serial

Definition at line 123 of file Key.h.

int64_t Hypertable::Key::timestamp

Definition at line 134 of file Key.h.

const uint8_t Hypertable::Key::TS_CHRONOLOGICAL = 0x1
static

Definition at line 47 of file Key.h.


The documentation for this class was generated from the following files: