CernVM-FS  2.13.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
swissknife::IngestSQL Class Reference

#include <swissknife_ingestsql.h>

Inheritance diagram for swissknife::IngestSQL:
Collaboration diagram for swissknife::IngestSQL:

Classes

struct  Directory
 
struct  File
 
struct  Symlink
 

Public Types

typedef std::map< std::string,
Directory
DirMap
 
typedef std::map< std::string,
std::vector< File > > 
FileMap
 
typedef std::map< std::string,
std::vector< Symlink > > 
SymlinkMap
 

Public Member Functions

 ~IngestSQL ()
 
virtual string GetName () const
 
virtual string GetDescription () const
 
virtual ParameterList GetParams () const
 
int Main (const ArgumentList &args)
 
- Public Member Functions inherited from swissknife::Command
 Command ()
 
virtual ~Command ()
 
- Public Member Functions inherited from ServerTool
 ServerTool ()
 
virtual ~ServerTool ()
 
bool InitDownloadManager (const bool follow_redirects, const std::string &proxy, const unsigned max_pool_handles=1)
 
bool InitSignatureManager (const std::string &pubkey_path, const std::string &certificate_path="", const std::string &private_key_path="")
 
manifest::ManifestOpenLocalManifest (const std::string path) const
 
manifest::Failures FetchRemoteManifestEnsemble (const std::string &repository_url, const std::string &repository_name, manifest::ManifestEnsemble *ensemble) const
 
manifest::ManifestFetchRemoteManifest (const std::string &repository_url, const std::string &repository_name, const shash::Any &base_hash=shash::Any()) const
 
template<class ObjectFetcherT >
manifest::ReflogFetchReflog (ObjectFetcherT *object_fetcher, const std::string &repo_name, const shash::Any &reflog_hash)
 
manifest::ReflogCreateEmptyReflog (const std::string &temp_directory, const std::string &repo_name)
 
download::DownloadManagerdownload_manager () const
 
signature::SignatureManagersignature_manager () const
 
perf::Statisticsstatistics ()
 
const perf::Statisticsstatistics () const
 

Private Member Functions

void process_sqlite (const std::vector< sqlite3 * > &dbs, catalog::WritableCatalogManager &catalog_manager, bool allow_additions, bool allow_deletions, const std::string &lease_path, const std::string &additional_prefix)
 
int add_files (catalog::WritableCatalogManager &catalog_manager, const std::vector< File > &files)
 
int add_symlinks (catalog::WritableCatalogManager &catalog_manager, const std::vector< Symlink > &symlinks)
 
int do_additions (const DirMap &all_dirs, const FileMap &all_files, const SymlinkMap &all_symlinks, const std::string &lease_path, catalog::WritableCatalogManager &catalog_manager)
 
int do_deletions (sqlite3 *db, catalog::WritableCatalogManager &catalog_manager, const std::string &lease_path, const std::string &additional_prefix)
 
void load_dirs (sqlite3 *db, const std::string &lease_path, const std::string &additional_prefix, std::map< std::string, Directory > &all_dirs)
 
void load_files (sqlite3 *db, const std::string &lease_path, const std::string &additional_prefix, std::map< std::string, std::vector< File >> &all_files)
 
void load_symlinks (sqlite3 *db, const std::string &lease_path, const std::string &additional_prefix, std::map< std::string, std::vector< Symlink >> &all_symlinks)
 

Additional Inherited Members

- Static Public Attributes inherited from swissknife::Command
static const char kGenericParam = '+'
 
static const char kGenericParamSeparator = ','
 
- Protected Attributes inherited from ServerTool
UniquePtr
< download::DownloadManager
download_manager_
 
UniquePtr
< signature::SignatureManager
signature_manager_
 
perf::Statistics statistics_
 

Detailed Description

Definition at line 17 of file swissknife_ingestsql.h.

Member Typedef Documentation

typedef std::map<std::string, Directory> swissknife::IngestSQL::DirMap

Definition at line 101 of file swissknife_ingestsql.h.

typedef std::map<std::string, std::vector<File> > swissknife::IngestSQL::FileMap

Definition at line 102 of file swissknife_ingestsql.h.

typedef std::map<std::string, std::vector<Symlink> > swissknife::IngestSQL::SymlinkMap

Definition at line 103 of file swissknife_ingestsql.h.

Constructor & Destructor Documentation

swissknife::IngestSQL::~IngestSQL ( )
inline

Definition at line 19 of file swissknife_ingestsql.h.

Member Function Documentation

int swissknife::IngestSQL::add_files ( catalog::WritableCatalogManager catalog_manager,
const std::vector< File > &  files 
)
private

Definition at line 1220 of file swissknife_ingestsql.cc.

Here is the call graph for this function:

int swissknife::IngestSQL::add_symlinks ( catalog::WritableCatalogManager catalog_manager,
const std::vector< Symlink > &  symlinks 
)
private

Definition at line 1029 of file swissknife_ingestsql.cc.

Here is the call graph for this function:

int swissknife::IngestSQL::do_additions ( const DirMap all_dirs,
const FileMap all_files,
const SymlinkMap all_symlinks,
const std::string &  lease_path,
catalog::WritableCatalogManager catalog_manager 
)
private

Definition at line 897 of file swissknife_ingestsql.cc.

Here is the call graph for this function:

int swissknife::IngestSQL::do_deletions ( sqlite3 *  db,
catalog::WritableCatalogManager catalog_manager,
const std::string &  lease_path,
const std::string &  additional_prefix 
)
private

Definition at line 1272 of file swissknife_ingestsql.cc.

Here is the call graph for this function:

virtual string swissknife::IngestSQL::GetDescription ( ) const
inlinevirtual

Implements swissknife::Command.

Definition at line 21 of file swissknife_ingestsql.h.

virtual string swissknife::IngestSQL::GetName ( ) const
inlinevirtual

Implements swissknife::Command.

Definition at line 20 of file swissknife_ingestsql.h.

virtual ParameterList swissknife::IngestSQL::GetParams ( ) const
inlinevirtual

Implements swissknife::Command.

Definition at line 24 of file swissknife_ingestsql.h.

Here is the call graph for this function:

void swissknife::IngestSQL::load_dirs ( sqlite3 *  db,
const std::string &  lease_path,
const std::string &  additional_prefix,
std::map< std::string, Directory > &  all_dirs 
)
private

Definition at line 1099 of file swissknife_ingestsql.cc.

Here is the call graph for this function:

void swissknife::IngestSQL::load_files ( sqlite3 *  db,
const std::string &  lease_path,
const std::string &  additional_prefix,
std::map< std::string, std::vector< File >> &  all_files 
)
private

Definition at line 1127 of file swissknife_ingestsql.cc.

Here is the call graph for this function:

void swissknife::IngestSQL::load_symlinks ( sqlite3 *  db,
const std::string &  lease_path,
const std::string &  additional_prefix,
std::map< std::string, std::vector< Symlink >> &  all_symlinks 
)
private

Definition at line 1194 of file swissknife_ingestsql.cc.

Here is the call graph for this function:

int swissknife::IngestSQL::Main ( const ArgumentList args)
virtual

Implements swissknife::Command.

Definition at line 470 of file swissknife_ingestsql.cc.

Here is the call graph for this function:

void swissknife::IngestSQL::process_sqlite ( const std::vector< sqlite3 * > &  dbs,
catalog::WritableCatalogManager catalog_manager,
bool  allow_additions,
bool  allow_deletions,
const std::string &  lease_path,
const std::string &  additional_prefix 
)
private

Definition at line 841 of file swissknife_ingestsql.cc.

Referenced by Main().

Here is the call graph for this function:

Here is the caller graph for this function:


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