#ifndef _DB_POSTGRESQL_H #define _DB_POSTGRESQL_H #include "db.h" #include class DBPostgreSQL : public DB { public: DBPostgreSQL(const std::string &mapdir); virtual std::vector getBlockPos(); virtual void getBlocksOnZ(std::map &blocks, int16_t zPos); virtual ~DBPostgreSQL(); protected: PGresult *checkResults(PGresult *res, bool clear = true); void prepareStatement(const std::string &name, const std::string &sql); 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 ); int pg_to_int(PGresult *res, int row, int col); int pg_binary_to_int(PGresult *res, int row, int col); BlockPos pg_to_blockpos(PGresult *res, int row, int col); private: PGconn *db; }; #endif // _DB_POSTGRESQL_H