44 inline int pg_to_int(PGresult *res,
int row,
int col)
46 return atoi(PQgetvalue(res, row, col));
51 return (u32) atoi(PQgetvalue(res, row, col));
56 return (
float) atof(PQgetvalue(res, row, col));
70 return std::string(PQgetvalue(res, row, col), PQgetlength(res, row, col));
73 inline PGresult *
execPrepared(
const char *stmtName,
const int paramsNumber,
75 const int *paramsLengths = NULL,
const int *paramsFormats = NULL,
76 bool clear =
true,
bool nobinary =
true)
79 (
const char*
const*)
params, paramsLengths, paramsFormats,
80 nobinary ? 1 : 0), clear);
83 inline PGresult *
execPrepared(
const char *stmtName,
const int paramsNumber,
84 const char **
params,
bool clear =
true,
bool nobinary =
true)
87 (
const void **)
params, NULL, NULL, clear, nobinary);
185 void getModKeys(
const std::string &modname, std::vector<std::string> *storage);
186 bool getModEntry(
const std::string &modname,
const std::string &key, std::string *value);
187 bool hasModEntry(
const std::string &modname,
const std::string &key);
189 const std::string &key, std::string_view value);
Definition: database-postgresql.h:156
virtual void writePrivileges(const AuthEntry &authEntry)
virtual bool saveAuth(const AuthEntry &authEntry)
virtual bool getAuth(const std::string &name, AuthEntry &res)
virtual void createDatabase()
virtual void verifyDatabase()
Definition: database-postgresql.h:161
virtual ~AuthDatabasePostgreSQL()=default
virtual bool deleteAuth(const std::string &name)
virtual bool createAuth(AuthEntry &authEntry)
virtual void listNames(std::vector< std::string > &res)
virtual void initStatements()
AuthDatabasePostgreSQL(const std::string &connect_string)
Definition: database.h:76
Definition: database-postgresql.h:30
v3s16 pg_to_v3s16(PGresult *res, int row, int col)
Definition: database-postgresql.h:59
std::string pg_to_string(PGresult *res, int row, int col)
Definition: database-postgresql.h:68
std::string m_connect_string
Definition: database-postgresql.h:112
u32 pg_to_uint(PGresult *res, int row, int col)
Definition: database-postgresql.h:49
int m_pgversion
Definition: database-postgresql.h:114
int getPGVersion() const
Definition: database-postgresql.h:102
float pg_to_float(PGresult *res, int row, int col)
Definition: database-postgresql.h:54
void createTableIfNotExists(const std::string &table_name, const std::string &definition)
PGconn * m_conn
Definition: database-postgresql.h:113
PGresult * execPrepared(const char *stmtName, const int paramsNumber, const char **params, bool clear=true, bool nobinary=true)
Definition: database-postgresql.h:83
void prepareStatement(const std::string &name, const std::string &sql)
Definition: database-postgresql.h:97
PGresult * checkResults(PGresult *res, bool clear=true)
Database_PostgreSQL(const std::string &connect_string, const char *type)
int pg_to_int(PGresult *res, int row, int col)
Definition: database-postgresql.h:44
PGresult * execPrepared(const char *stmtName, const int paramsNumber, const void **params, const int *paramsLengths=NULL, const int *paramsFormats=NULL, bool clear=true, bool nobinary=true)
Definition: database-postgresql.h:73
virtual void initStatements()=0
virtual void createDatabase()=0
Definition: database.h:30
Definition: database-postgresql.h:118
void listAllLoadableBlocks(std::vector< v3s16 > &dst)
virtual void createDatabase()
bool saveBlock(const v3s16 &pos, std::string_view data)
MapDatabasePostgreSQL(const std::string &connect_string)
void endSave()
Definition: database-postgresql.h:129
virtual void initStatements()
void beginSave()
Definition: database-postgresql.h:128
bool deleteBlock(const v3s16 &pos)
virtual ~MapDatabasePostgreSQL()=default
void loadBlock(const v3s16 &pos, std::string *block)
Definition: database.h:38
Definition: database-postgresql.h:179
bool setModEntry(const std::string &modname, const std::string &key, std::string_view value)
bool removeModEntry(const std::string &modname, const std::string &key)
bool hasModEntry(const std::string &modname, const std::string &key)
bool removeModEntries(const std::string &modname)
ModStorageDatabasePostgreSQL(const std::string &connect_string)
void beginSave()
Definition: database-postgresql.h:194
~ModStorageDatabasePostgreSQL()=default
void getModKeys(const std::string &modname, std::vector< std::string > *storage)
void endSave()
Definition: database-postgresql.h:195
bool getModEntry(const std::string &modname, const std::string &key, std::string *value)
virtual void initStatements()
void getModEntries(const std::string &modname, StringMap *storage)
virtual void createDatabase()
void listMods(std::vector< std::string > *res)
Definition: database.h:89
Definition: database-postgresql.h:137
virtual void initStatements()
void savePlayer(RemotePlayer *player)
void listPlayers(std::vector< std::string > &res)
PlayerDatabasePostgreSQL(const std::string &connect_string)
bool playerDataExists(const std::string &playername)
virtual void createDatabase()
bool loadPlayer(RemotePlayer *player, PlayerSAO *sao)
bool removePlayer(const std::string &name)
virtual ~PlayerDatabasePostgreSQL()=default
Definition: database.h:56
Definition: player_sao.h:71
Definition: remoteplayer.h:40
Definition: settings.h:124
core::vector3d< s16 > v3s16
Definition: irr_v3d.h:28
static LightingParams params
Definition: light.cpp:40
std::unordered_map< std::string, std::string > StringMap
Definition: string.h:78
Definition: database.h:67