mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-15 23:20:36 +01:00
Core/Database: Implement accessing query result fields by name
This commit is contained in:
@@ -20,6 +20,7 @@
|
||||
|
||||
#include "Define.h"
|
||||
#include "DatabaseEnvFwd.h"
|
||||
#include <unordered_map>
|
||||
#include <vector>
|
||||
|
||||
class TC_DATABASE_API ResultSet
|
||||
@@ -34,11 +35,13 @@ class TC_DATABASE_API ResultSet
|
||||
|
||||
Field* Fetch() const { return _currentRow; }
|
||||
Field const& operator[](std::size_t index) const;
|
||||
Field const& operator[](std::string_view const& alias) const;
|
||||
|
||||
QueryResultFieldMetadata const& GetFieldMetadata(std::size_t index) const;
|
||||
|
||||
protected:
|
||||
std::vector<QueryResultFieldMetadata> _fieldMetadata;
|
||||
std::unordered_map<std::string_view, std::size_t> _fieldIndexByAlias;
|
||||
uint64 _rowCount;
|
||||
Field* _currentRow;
|
||||
uint32 _fieldCount;
|
||||
@@ -64,11 +67,13 @@ class TC_DATABASE_API PreparedResultSet
|
||||
|
||||
Field* Fetch() const;
|
||||
Field const& operator[](std::size_t index) const;
|
||||
Field const& operator[](std::string_view const& alias) const;
|
||||
|
||||
QueryResultFieldMetadata const& GetFieldMetadata(std::size_t index) const;
|
||||
|
||||
protected:
|
||||
std::vector<QueryResultFieldMetadata> m_fieldMetadata;
|
||||
std::unordered_map<std::string_view, std::size_t> m_fieldIndexByAlias;
|
||||
std::vector<Field> m_rows;
|
||||
uint64 m_rowCount;
|
||||
uint64 m_rowPosition;
|
||||
|
||||
Reference in New Issue
Block a user