crawlserv++  [under development]
Application for crawling and analyzing textual content of websites.
Database.hpp File Reference
#include "Config.hpp"
#include "../../Helper/CommaLocale.hpp"
#include "../../Main/Exception.hpp"
#include "../../Struct/DataEntry.hpp"
#include "../../Struct/StatusSetter.hpp"
#include "../../Struct/TableColumn.hpp"
#include "../../Struct/TargetTableProperties.hpp"
#include "../../Wrapper/Database.hpp"
#include "../../Helper/Portability/mysqlcppconn.h"
#include <cppconn/exception.h>
#include <cppconn/prepared_statement.h>
#include <cppconn/resultset.h>
#include <cppconn/statement.h>
#include <mysql_connection.h>
#include <algorithm>
#include <chrono>
#include <cstddef>
#include <cstdint>
#include <memory>
#include <queue>
#include <sstream>
#include <string>
#include <string_view>
#include <utility>
#include <vector>
Include dependency graph for Database.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  crawlservpp::Module::Extractor::Database
 Class providing database functionality for extractor threads by implementing Wrapper::Database. More...
 
class  crawlservpp::Module::Extractor::Database::Exception
 Class for parser database exceptions. More...
 

Namespaces

 crawlservpp::Module::Extractor
 Namespace for extractor classes.
 

Constants

constexpr auto crawlservpp::Module::Extractor::minTargetColumns {4}
 Minimum number of columns in the target table. More...
 
constexpr auto crawlservpp::Module::Extractor::minLinkedColumns {2}
 Minimum number of columns in the linked target table. More...
 
constexpr auto crawlservpp::Module::Extractor::maxContentSize {1073741824}
 Maximum size of database content (= 1 GiB). More...
 
constexpr auto crawlservpp::Module::Extractor::maxContentSizeString {"1 GiB"sv}
 Maximum size of database content as string. More...
 

Constants for MySQL Queries

constexpr auto crawlservpp::Module::Extractor::oneAtOnce {1}
 Process one value at once. More...
 
constexpr auto crawlservpp::Module::Extractor::nAtOnce10 {10}
 Process ten values at once. More...
 
constexpr auto crawlservpp::Module::Extractor::nAtOnce100 {100}
 Process one hundred values at once. More...
 
constexpr auto crawlservpp::Module::Extractor::sqlArg1 {1}
 First argument in a SQL query. More...
 
constexpr auto crawlservpp::Module::Extractor::sqlArg2 {2}
 Second argument in a SQL query. More...
 
constexpr auto crawlservpp::Module::Extractor::sqlArg3 {3}
 Third argument in a SQL query. More...
 
constexpr auto crawlservpp::Module::Extractor::sqlArg4 {4}
 Fourth argument in a SQL query. More...
 
constexpr auto crawlservpp::Module::Extractor::sqlArg5 {5}
 Fifth argument in a SQL query. More...
 
constexpr auto crawlservpp::Module::Extractor::extractingTableAlias {"a"sv}
 Alias, used in SQL queries, for the extracting table. More...
 
constexpr auto crawlservpp::Module::Extractor::targetTableAlias {"b"sv}
 Alias, used in SQL queries, for the target table. More...
 
constexpr auto crawlservpp::Module::Extractor::linkedTableAlias {"c"sv}
 Alias, used in SQL queries, for the linked target table. More...
 
constexpr auto crawlservpp::Module::Extractor::parsedDataTableAlias {"a"sv}
 Alias, used in SQL queries, for the parsed data table. More...
 
constexpr auto crawlservpp::Module::Extractor::crawledDataTableAlias {"b"sv}
 Alias, used in SQL queries, for the crawled data table. More...
 
constexpr auto crawlservpp::Module::Extractor::urlListTableAlias {"c"sv}
 Alias, used in SQL queries, for the URL list table. More...
 
constexpr auto crawlservpp::Module::Extractor::numArgsLockUrl {3}
 Number of arguments to lock one URL. More...
 
constexpr auto crawlservpp::Module::Extractor::numArgsAddUpdateData {4}
 Number of arguments to add or update one data entry (without custom columns). More...
 
constexpr auto crawlservpp::Module::Extractor::numArgsLinked {2}
 Number of additional arguments when data is linked. More...
 
constexpr auto crawlservpp::Module::Extractor::numArgsOverwriteData {3}
 Number of additional arguments when overwriting existing data. More...
 
constexpr auto crawlservpp::Module::Extractor::numArgsAddUpdateLinkedData {2}
 Number of arguments to add or update one linked data entry. More...
 
constexpr auto crawlservpp::Module::Extractor::numArgsOverwriteLinkedData {2}
 Number of additional arguments when overwriting existing linked data. More...
 
constexpr auto crawlservpp::Module::Extractor::numArgsFinishUrl {2}
 Number of arguments to set a URL to finished. More...