Joedb 9.1.4
The Journal-Only Embedded Database
Loading...
Searching...
No Matches
Classes | Macros | Enumerations | Functions | Variables
User Interface

user interface, including all interactive command-line tools More...

Classes

class  joedb::Blob_Reader_Command_Processor
 
class  joedb::Client_Command_Processor
 
class  joedb::Client_Parser
 
class  joedb::Command_Interpreter
 
class  joedb::Command_Processor
 
class  joedb::Connection_Builder
 
class  joedb::Connection_Parser
 Create an instance of a Connection by parsing command-line arguments. More...
 
class  joedb::Data_Manipulation_Command_Processor
 
class  joedb::Dummy_Connection_Builder
 
class  joedb::Dump_Connection_Data< Dump_Writable >
 
class  joedb::Dump_Connection_Builder< Dump_Writable >
 
class  joedb::File_Connection_Builder
 
class  joedb::File_Parser
 Create an instance of a Buffered_File by parsing command-line arguments. More...
 
class  joedb::Readable_Interpreter
 
class  joedb::Writable_Interpreter
 
class  joedb::Interpreter
 
class  joedb::Interpreter_Writable
 
class  joedb::Network_Connection_Builder
 
class  joedb::Progress_Bar
 
class  joedb::Raw_Dump_Writable
 
class  joedb::Readable_Command_Processor
 
class  joedb::Readable_Writable_Command_Processor
 
class  joedb::SQL_Writable
 
class  joedb::SSH_Connection_Builder
 
class  joedb::Writable_Command_Processor
 

Macros

#define PRIMITIVE_IO(type, type_id)
 

Enumerations

enum  joedb::JSON_Error { joedb::ok = 0 , joedb::utf8 = 1 , joedb::infnan = 2 }
 

Functions

std::string joedb::base64_encode (const std::string &input)
 
std::string joedb::base64_decode (const std::string &input)
 
void joedb::dump (const Readable &db, Writable &writable, bool schema_only=false)
 
void joedb::dump_data (const Readable &db, Writable &writable)
 
void joedb::pack (Readonly_Journal &input_journal, Writable &writable)
 
std::string joedb::get_time_string (int64_t timestamp)
 
std::string joedb::get_time_string_of_now ()
 
void joedb::inplace_pack (const std::string &file_name)
 
int joedb::write_json (std::ostream &out, const Readable &db, bool base64)
 
int joedb::write_json_string (std::ostream &out, const std::string &s, bool base64)
 
int joedb::main_exception_catcher (int(*main)(int, char **), int argc, char **argv)
 Catch exception from main.
 
void joedb::merge (Database &merged, const Database &db)
 
int joedb::process_journal_pair (int argc, char **argv, void(*process)(Readonly_Journal &, Writable_Journal &, int64_t checkpoint))
 
std::string joedb::read_string (std::istream &in)
 
void joedb::write_string (std::ostream &out, const std::string &s, bool json)
 
void joedb::write_sql_string (std::ostream &out, const std::string &s)
 
size_t joedb::utf8_display_size (const std::string &s)
 
uint32_t joedb::read_utf8_char (size_t &i, const std::string &s)
 
void joedb::write_justified (std::ostream &out, const std::string &s, size_t width, bool flush_left)
 
char joedb::get_hex_char_from_digit (uint8_t n)
 
uint8_t joedb::get_hex_digit_from_char (char c)
 
void joedb::write_hexa_character (std::ostream &out, uint8_t c)
 
void joedb::write_octal_character (std::ostream &out, uint8_t c)
 
int8_t joedb::read_int8 (std::istream &in)
 
void joedb::write_int8 (std::ostream &out, int8_t value)
 
bool joedb::read_boolean (std::istream &in)
 
void joedb::write_boolean (std::ostream &out, bool value)
 
void joedb::write_blob (std::ostream &out, Blob blob)
 
Blob joedb::read_blob (std::istream &in)
 
std::ostream & joedb::operator<< (std::ostream &out, Table_Id table_id)
 
std::ostream & joedb::operator<< (std::ostream &out, Field_Id field_id)
 
std::ostream & joedb::operator<< (std::ostream &out, Record_Id record_id)
 
std::istream & joedb::operator>> (std::istream &in, Table_Id &table_id)
 
std::istream & joedb::operator>> (std::istream &in, Field_Id &field_id)
 
std::istream & joedb::operator>> (std::istream &in, Record_Id &record_id)
 
int32_t joedb::read_int32 (std::istream &in)
 
void joedb::write_int32 (std::ostream &out, int32_t value)
 
int64_t joedb::read_int64 (std::istream &in)
 
void joedb::write_int64 (std::ostream &out, int64_t value)
 
Record_Id joedb::read_reference (std::istream &in)
 
void joedb::write_reference (std::ostream &out, Record_Id value)
 
float joedb::read_float32 (std::istream &in)
 
void joedb::write_float32 (std::ostream &out, float value)
 
double joedb::read_float64 (std::istream &in)
 
void joedb::write_float64 (std::ostream &out, double value)
 
int16_t joedb::read_int16 (std::istream &in)
 
void joedb::write_int16 (std::ostream &out, int16_t value)
 
void joedb::write_value (std::ostream &out, const Readable &readable, Table_Id table_id, Record_Id record_id, Field_Id field_id)
 

Variables

const std::array< const char *, size_t(Open_Mode::mode_count)> joedb::open_mode_strings
 

Detailed Description

Macro Definition Documentation

◆ PRIMITIVE_IO

#define PRIMITIVE_IO (   type,
  type_id 
)
Value:
inline type read_##type_id(std::istream &in)\
{type value = type(); in >> value; return value;}\
inline void write_##type_id(std::ostream &out, type value)\
{out << value;}

Definition at line 69 of file type_io.h.

Enumeration Type Documentation

◆ JSON_Error

Enumerator
ok 
utf8 
infnan 

Definition at line 12 of file json.h.

Function Documentation

◆ base64_decode()

std::string joedb::base64_decode ( const std::string &  input)

Definition at line 59 of file base64_decode.cpp.

◆ base64_encode()

std::string joedb::base64_encode ( const std::string &  input)

Definition at line 11 of file base64.cpp.

◆ dump()

void joedb::dump ( const Readable db,
Writable writable,
bool  schema_only 
)

Definition at line 12 of file dump.cpp.

◆ dump_data()

void joedb::dump_data ( const Readable db,
Writable writable 
)

Definition at line 119 of file dump.cpp.

◆ get_hex_char_from_digit()

char joedb::get_hex_char_from_digit ( uint8_t  n)

Definition at line 7 of file minimal_runtime_io.cpp.

◆ get_hex_digit_from_char()

uint8_t joedb::get_hex_digit_from_char ( char  c)

Definition at line 68 of file type_io.cpp.

◆ get_time_string()

std::string joedb::get_time_string ( int64_t  timestamp)

Definition at line 8 of file get_time_string.cpp.

◆ get_time_string_of_now()

std::string joedb::get_time_string_of_now ( )

Definition at line 26 of file get_time_string.cpp.

◆ inplace_pack()

void joedb::inplace_pack ( const std::string &  file_name)

Definition at line 10 of file inplace_pack.cpp.

◆ main_exception_catcher()

int joedb::main_exception_catcher ( int(*)(int, char **)  main,
int  argc,
char **  argv 
)

This function is particularly necessary in Windows, because no exception information is printed by default there.

Definition at line 11 of file main_exception_catcher.cpp.

◆ merge()

void joedb::merge ( Database merged,
const Database db 
)

Definition at line 5 of file merge.cpp.

◆ operator<<() [1/3]

std::ostream & joedb::operator<< ( std::ostream &  out,
Field_Id  field_id 
)
inline

Definition at line 47 of file type_io.h.

◆ operator<<() [2/3]

std::ostream & joedb::operator<< ( std::ostream &  out,
Record_Id  record_id 
)
inline

Definition at line 51 of file type_io.h.

◆ operator<<() [3/3]

std::ostream & joedb::operator<< ( std::ostream &  out,
Table_Id  table_id 
)
inline

Definition at line 43 of file type_io.h.

◆ operator>>() [1/3]

std::istream & joedb::operator>> ( std::istream &  in,
Field_Id field_id 
)
inline

Definition at line 60 of file type_io.h.

◆ operator>>() [2/3]

std::istream & joedb::operator>> ( std::istream &  in,
Record_Id record_id 
)
inline

Definition at line 64 of file type_io.h.

◆ operator>>() [3/3]

std::istream & joedb::operator>> ( std::istream &  in,
Table_Id table_id 
)
inline

Definition at line 56 of file type_io.h.

◆ pack()

void joedb::pack ( Readonly_Journal input_journal,
Writable writable 
)

Definition at line 220 of file dump.cpp.

◆ process_journal_pair()

int joedb::process_journal_pair ( int  argc,
char **  argv,
void(*)(Readonly_Journal &, Writable_Journal &, int64_t checkpoint)  process 
)

Definition at line 10 of file process_journal_pair.cpp.

◆ read_blob()

Blob joedb::read_blob ( std::istream &  in)

Definition at line 250 of file type_io.cpp.

◆ read_boolean()

bool joedb::read_boolean ( std::istream &  in)

Definition at line 215 of file type_io.cpp.

◆ read_float32()

float joedb::read_float32 ( std::istream &  in)
inline

Definition at line 78 of file type_io.h.

◆ read_float64()

double joedb::read_float64 ( std::istream &  in)
inline

Definition at line 79 of file type_io.h.

◆ read_int16()

int16_t joedb::read_int16 ( std::istream &  in)
inline

Definition at line 80 of file type_io.h.

◆ read_int32()

int32_t joedb::read_int32 ( std::istream &  in)
inline

Definition at line 75 of file type_io.h.

◆ read_int64()

int64_t joedb::read_int64 ( std::istream &  in)
inline

Definition at line 76 of file type_io.h.

◆ read_int8()

int8_t joedb::read_int8 ( std::istream &  in)

Definition at line 206 of file type_io.cpp.

◆ read_reference()

Record_Id joedb::read_reference ( std::istream &  in)
inline

Definition at line 77 of file type_io.h.

◆ read_string()

std::string joedb::read_string ( std::istream &  in)

Definition at line 12 of file type_io.cpp.

◆ read_utf8_char()

uint32_t joedb::read_utf8_char ( size_t &  i,
const std::string &  s 
)

Definition at line 121 of file type_io.cpp.

◆ utf8_display_size()

size_t joedb::utf8_display_size ( const std::string &  s)

Definition at line 104 of file type_io.cpp.

◆ write_blob()

void joedb::write_blob ( std::ostream &  out,
Blob  blob 
)

Definition at line 243 of file type_io.cpp.

◆ write_boolean()

void joedb::write_boolean ( std::ostream &  out,
bool  value 
)

Definition at line 233 of file type_io.cpp.

◆ write_float32()

void joedb::write_float32 ( std::ostream &  out,
float  value 
)
inline

Definition at line 78 of file type_io.h.

◆ write_float64()

void joedb::write_float64 ( std::ostream &  out,
double  value 
)
inline

Definition at line 79 of file type_io.h.

◆ write_hexa_character()

void joedb::write_hexa_character ( std::ostream &  out,
uint8_t  c 
)

Definition at line 80 of file type_io.cpp.

◆ write_int16()

void joedb::write_int16 ( std::ostream &  out,
int16_t  value 
)
inline

Definition at line 80 of file type_io.h.

◆ write_int32()

void joedb::write_int32 ( std::ostream &  out,
int32_t  value 
)
inline

Definition at line 75 of file type_io.h.

◆ write_int64()

void joedb::write_int64 ( std::ostream &  out,
int64_t  value 
)
inline

Definition at line 76 of file type_io.h.

◆ write_int8()

void joedb::write_int8 ( std::ostream &  out,
int8_t  value 
)

Definition at line 120 of file minimal_runtime_io.cpp.

◆ write_json()

int joedb::write_json ( std::ostream &  out,
const Readable db,
bool  base64 
)

Definition at line 14 of file json.cpp.

◆ write_json_string()

int joedb::write_json_string ( std::ostream &  out,
const std::string &  s,
bool  base64 
)

Definition at line 164 of file json.cpp.

◆ write_justified()

void joedb::write_justified ( std::ostream &  out,
const std::string &  s,
size_t  width,
bool  flush_left 
)

Definition at line 159 of file type_io.cpp.

◆ write_octal_character()

void joedb::write_octal_character ( std::ostream &  out,
uint8_t  c 
)

Definition at line 19 of file minimal_runtime_io.cpp.

◆ write_reference()

void joedb::write_reference ( std::ostream &  out,
Record_Id  value 
)
inline

Definition at line 77 of file type_io.h.

◆ write_sql_string()

void joedb::write_sql_string ( std::ostream &  out,
const std::string &  s 
)

Definition at line 90 of file type_io.cpp.

◆ write_string()

void joedb::write_string ( std::ostream &  out,
const std::string &  s,
bool  json 
)

Definition at line 39 of file minimal_runtime_io.cpp.

◆ write_value()

void joedb::write_value ( std::ostream &  out,
const Readable readable,
Table_Id  table_id,
Record_Id  record_id,
Field_Id  field_id 
)

Definition at line 8 of file write_value.cpp.

Variable Documentation

◆ open_mode_strings

const std::array< const char *, size_t(Open_Mode::mode_count)> joedb::open_mode_strings
Initial value:
=
{
"read",
"write",
"new",
"write_or_new",
"shared",
"lock"
}

Definition at line 5 of file open_mode_strings.cpp.