CernVM-FS  2.9.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
catalog::SqlDirentWrite Class Referenceabstract

#include <catalog_sql.h>

Inheritance diagram for catalog::SqlDirentWrite:
Collaboration diagram for catalog::SqlDirentWrite:

Public Member Functions

virtual bool BindDirent (const DirectoryEntry &entry)=0
 
- Public Member Functions inherited from catalog::SqlCatalog
 SqlCatalog (const CatalogDatabase &database, const std::string &statement)
 
shash::Md5 RetrieveMd5 (const int idx_high, const int idx_low) const
 
shash::Any RetrieveHashBlob (const int idx_column, const shash::Algorithms hash_algo, const char hash_suffix=shash::kSuffixNone) const
 
shash::Any RetrieveHashHex (const int idx_column, const char hash_suffix=shash::kSuffixNone) const
 
bool BindMd5 (const int idx_high, const int idx_low, const shash::Md5 &hash)
 
bool BindHashBlob (const int idx_column, const shash::Any &hash)
 
- Public Member Functions inherited from sqlite::Sql
 Sql (sqlite3 *sqlite_db, const std::string &statement)
 
virtual ~Sql ()
 
bool Execute ()
 
bool FetchRow ()
 
std::string DebugResultTable ()
 
bool Reset ()
 
int GetLastError () const
 
std::string GetLastErrorMsg () const
 
bool BindBlob (const int index, const void *value, const int size)
 
bool BindBlobTransient (const int index, const void *value, const int size)
 
bool BindDouble (const int index, const double value)
 
bool BindInt (const int index, const int value)
 
bool BindInt64 (const int index, const sqlite3_int64 value)
 
bool BindNull (const int index)
 
bool BindTextTransient (const int index, const std::string &value)
 
bool BindTextTransient (const int index, const char *value, const int size)
 
bool BindText (const int index, const std::string &value)
 
bool BindText (const int index, const char *value, const int size, void(*dtor)(void *)=SQLITE_STATIC)
 
template<typename T >
bool Bind (const int index, const T value)
 
int RetrieveType (const int idx_column) const
 
int RetrieveBytes (const int idx_column) const
 
const void * RetrieveBlob (const int idx_column) const
 
double RetrieveDouble (const int idx_column) const
 
int RetrieveInt (const int idx_column) const
 
sqlite3_int64 RetrieveInt64 (const int idx_column) const
 
const unsigned char * RetrieveText (const int idx_column) const
 
std::string RetrieveString (const int idx_column) const
 
template<typename T >
Retrieve (const int index)
 
template<>
bool Bind (const int index, const int value)
 
template<>
bool Bind (const int index, const unsigned int value)
 
template<>
bool Bind (const int index, const uint64_t value)
 
template<>
bool Bind (const int index, const sqlite3_int64 value)
 
template<>
bool Bind (const int index, const std::string value)
 
template<>
bool Bind (const int index, const char *value)
 
template<>
bool Bind (const int index, const float value)
 
template<>
bool Bind (const int index, const double value)
 
template<>
int Retrieve (const int index)
 
template<>
bool Retrieve (const int index)
 
template<>
sqlite3_int64 Retrieve (const int index)
 
template<>
uint64_t Retrieve (const int index)
 
template<>
std::string Retrieve (const int index)
 
template<>
float Retrieve (const int index)
 
template<>
double Retrieve (const int index)
 

Protected Member Functions

bool BindDirentFields (const int hash_idx, const int hardlinks_idx, const int size_idx, const int mode_idx, const int mtime_idx, const int flags_idx, const int name_idx, const int symlink_idx, const int uid_idx, const int gid_idx, const DirectoryEntry &entry)
 
- Protected Member Functions inherited from catalog::SqlDirent
unsigned CreateDatabaseFlags (const DirectoryEntry &entry) const
 
void StoreHashAlgorithm (const shash::Algorithms algo, unsigned *flags) const
 
shash::Algorithms RetrieveHashAlgorithm (const unsigned flags) const
 
zlib::Algorithms RetrieveCompressionAlgorithm (const unsigned flags) const
 
uint32_t Hardlinks2Linkcount (const uint64_t hardlinks) const
 
uint32_t Hardlinks2HardlinkGroup (const uint64_t hardlinks) const
 
uint64_t MakeHardlinks (const uint32_t hardlink_group, const uint32_t linkcount) const
 
void ExpandSymlink (LinkString *raw_symlink) const
 
- Protected Member Functions inherited from catalog::SqlCatalog
 SqlCatalog ()
 
- Protected Member Functions inherited from sqlite::Sql
 Sql ()
 
bool IsInitialized () const
 
bool Init (const sqlite3 *database, const std::string &statement)
 
void DeferredInit (const sqlite3 *database, const char *statement)
 
bool Successful () const
 

Additional Inherited Members

- Static Public Attributes inherited from catalog::SqlDirent
static const int kFlagDir = 1
 
static const int kFlagDirNestedMountpoint = 2
 
static const int kFlagDirNestedRoot = 32
 
static const int kFlagFile = 4
 
static const int kFlagLink = 8
 
static const int kFlagFileSpecial = 16
 
static const int kFlagFileChunk = 64
 
static const int kFlagFileExternal = 128
 
static const int kFlagPosHash = 8
 
static const int kFlagPosCompression = 11
 
static const int kFlagDirBindMountpoint = 0x4000
 
static const int kFlagHidden = 0x8000
 
static const int kFlagDirectIo = 0x10000
 

Detailed Description

Definition at line 252 of file catalog_sql.h.

Member Function Documentation

virtual bool catalog::SqlDirentWrite::BindDirent ( const DirectoryEntry entry)
pure virtual

To bind an entire DirectoryEntry

Parameters
entrythe DirectoryEntry to bind in the SQL statement
Returns
true on success, false otherwise

Implemented in catalog::SqlDirentUpdate, and catalog::SqlDirentInsert.

bool catalog::SqlDirentWrite::BindDirentFields ( const int  hash_idx,
const int  hardlinks_idx,
const int  size_idx,
const int  mode_idx,
const int  mtime_idx,
const int  flags_idx,
const int  name_idx,
const int  symlink_idx,
const int  uid_idx,
const int  gid_idx,
const DirectoryEntry entry 
)
protected

Definition at line 565 of file catalog_sql.cc.

Here is the call graph for this function:


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