#ifndef _DB_POSTGRESQL_H #define _DB_POSTGRESQL_H #include "db.h" #include #if __cplusplus >= 201103L #include #else #include #endif #include #include #include "types.h" class DBPostgreSQL : public DB { #if __cplusplus >= 201103L typedef std::unordered_map BlockCache; #else typedef std::map BlockCache; #endif public: DBPostgreSQL(const std::string &mapdir); virtual int getBlocksQueriedCount(void); virtual int getBlocksReadCount(void); virtual const BlockPosList &getBlockPos(); virtual Block getBlockOnPos(const BlockPos &pos); ~DBPostgreSQL(); private: int m_blocksQueriedCount; int m_blocksReadCount; PGconn *m_connection; BlockPosList m_blockPosList; uint32_t m_getBlockParams[3]; char const *m_getBlockParamList[3]; int m_getBlockParamLengths[3]; int m_getBlockParamFormats[3]; }; #endif // _DB_POSTGRESQL_H