CernVM-FS  2.12.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
catalog::SqlLookup Class Reference

#include <catalog_sql.h>

Inheritance diagram for catalog::SqlLookup:
Collaboration diagram for catalog::SqlLookup:

Public Member Functions

DirectoryEntry GetDirent (const Catalog *catalog, const bool expand_symlink=true) const
 
shash::Md5 GetPathHash () const
 
shash::Md5 GetParentPathHash () const
 
- 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 unsigned size)
 
bool BindBlobTransient (const int index, const void *value, const unsigned 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 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)
 

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
 
- 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
 

Detailed Description

Definition at line 290 of file catalog_sql.h.

Member Function Documentation

DirectoryEntry catalog::SqlLookup::GetDirent ( const Catalog catalog,
const bool  expand_symlink = true 
) const

Retrieves a DirectoryEntry from a freshly performed SqlLookup statement.

Parameters
catalogthe catalog in which the DirectoryEntry resides
Returns
the retrieved DirectoryEntry

This method is a friend of DirectoryEntry.

Definition at line 696 of file catalog_sql.cc.

Referenced by swissknife::CommandMigrate::MigrationWorker_20x::FixNestedCatalogTransitionPoints(), catalog::Catalog::ListingMd5Path(), catalog::Catalog::ListingMd5PathStat(), catalog::Catalog::LookupEntry(), and swissknife::CommandMigrate::MigrationWorker_20x::RemoveDanglingNestedMountpoints().

Here is the call graph for this function:

Here is the caller graph for this function:

shash::Md5 catalog::SqlLookup::GetParentPathHash ( ) const

DirectoryEntries do not contain their parent path hash. This method retrieves the saved parent path hash from the database

Returns
the MD5 parent path hash of a freshly performed lookup

Definition at line 688 of file catalog_sql.cc.

shash::Md5 catalog::SqlLookup::GetPathHash ( ) const

DirectoryEntrys do not contain their path hash. This method retrieves the saved path hash from the database

Returns
the MD5 path hash of a freshly performed lookup

Definition at line 683 of file catalog_sql.cc.

Referenced by swissknife::CommandMigrate::MigrationWorker_20x::RemoveDanglingNestedMountpoints().

Here is the caller graph for this function:


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