1 #ifndef DATA_DEDUPLICATION_SERVICE_DBCOMMON_H
2 #define DATA_DEDUPLICATION_SERVICE_DBCOMMON_H
10 #include "expected.hpp"
23 static inline std::string resDirPath =
"../../conf/";
25 static inline std::string resDirPath =
"../../conf/";
29 static inline std::string cfileName = resDirPath.append(
"config.txt");
30 static constexpr
const char *
const sqlLimitBreachedState =
"23505";
31 static constexpr
const char *
const sqlFqConstraight =
"23503";
32 static const char *
const sampleTempDb =
"template1";
37 using conPtr = std::shared_ptr<connectionType>;
186 template<pr
intable T>
208 auto static defaultConfiguration = []() {
212 template<
typename T,
unsigned long size>
213 std::array<T, size>
fromString(std::basic_string<T> &
string) {
214 std::array<T, size> res;
215 for (
int i = 0; i < size; ++i) {
221 template<pr
intable T>
223 std::stringstream ss;
228 for (; i < vec.size() - 1; ++i) {
244 template<
typename ResultType,
typename ... Args>
245 tl::expected<ResultType, int>
248 ResultType res = call(txn, std::forward<Args>(args)...);
261 template<
typename ResultType,
typename ... Args>
262 tl::expected<ResultType, int>
266 ResultType res = call(txn, std::forward<Args>(args)...);
std::unordered_map< int, fileLoad > files
Definition: common.cpp:16
db_services namespace
Definition: dbCommon.h:17
pqxx::transaction< pqxx::isolation_level::read_committed > trasnactionType
Definition: dbCommon.h:35
resType checkFilesExistence(trasnactionType &txn, const std::vector< std::filesystem::path > &files)
Definition: dbCommon.cpp:133
resType getTotalSchemaSizes(trasnactionType &txn)
Definition: dbCommon.cpp:270
resType checkFileExistence(trasnactionType &txn, std::string_view fileName)
Definition: dbCommon.cpp:82
int64_t indexType
Definition: dbCommon.h:34
pqxx::result resType
Definition: dbCommon.h:38
tl::expected< ResultType, int > executeInTransaction(conPtr &conn, ResultType(*call)(trasnactionType &, Args ...), Args &&... args)
Definition: dbCommon.h:246
bool doesFileExist(trasnactionType &txn, std::string_view fileName)
Definition: dbCommon.cpp:94
tl::expected< indexType, int > getTotalFileSize(trasnactionType &txn)
Definition: dbCommon.cpp:285
pqxx::nontransaction nonTransType
Definition: dbCommon.h:39
std::string toSpacedPath(std::string_view path)
Definition: dbCommon.cpp:178
indexType getFileId(trasnactionType &txn, std::string_view fileName)
Definition: dbCommon.cpp:90
tl::expected< conPtr, returnCodes > connectIfPossible(std::string_view cString)
Definition: dbCommon.cpp:10
resType getEntriesForDirectory(trasnactionType &txn, std::string_view dirPath)
Definition: dbCommon.cpp:61
void printRes(resType &rss, std::ostream &out)
Definition: dbCommon.cpp:245
myConnString loadConfiguration(std::string_view filename)
Definition: dbCommon.cpp:106
resType checkDatabaseExistence(nonTransType &noTransExec, std::string_view dbName)
Definition: dbCommon.cpp:49
resType checkSchemas(trasnactionType &txn)
Definition: dbCommon.cpp:54
void printRowsAffected(const resType &res)
Definition: dbCommon.cpp:294
resType getDedupCharacteristics(trasnactionType &txn)
Definition: dbCommon.cpp:205
resType deleteUnusedSegments(trasnactionType &txn)
Definition: dbCommon.cpp:188
bool checkConnection(const conPtr &conn)
Definition: dbCommon.cpp:309
std::string vecToString(std::vector< T > &vec)
Definition: dbCommon.h:222
std::string toTsquerablePath(std::string_view path)
Definition: dbCommon.cpp:148
resType checkTExistence(db_services::trasnactionType &txn, std::string_view fileName)
Definition: dbCommon.cpp:299
resType terminateAllDbConnections(nonTransType &noTransExec, std::string_view dbName)
Definition: dbCommon.cpp:37
std::array< T, size > fromString(std::basic_string< T > &string)
Definition: dbCommon.h:213
resType getFileSizes(trasnactionType &txn)
Definition: dbCommon.cpp:232
std::string fromSpacedPath(std::string_view path)
Definition: dbCommon.cpp:171
std::shared_ptr< connectionType > conPtr
Definition: dbCommon.h:37
indexType checkSegmentCount(trasnactionType &txn)
Definition: dbCommon.cpp:192
pqxx::connection connectionType
Definition: dbCommon.h:36
bool checkConnString(const myConnString &connString)
Definition: dbCommon.cpp:313
std::vector< indexType > getFileIdVector(trasnactionType &txn, std::string_view dirPath)
Definition: dbCommon.cpp:72
std::string getHashStr(std::string_view stringView)
Definition: HashUtils.h:87
concept printable
Definition: myConcepts.h:29
returnCodes
Definition: myConcepts.h:47
std::string vformat(const char *zcFormat,...)
Definition: myConcepts.cpp:11
Structure to store and format connection string.
Definition: myConnString.h:15