diff options
author | Shauren <shauren.trinity@gmail.com> | 2025-01-23 12:45:56 +0100 |
---|---|---|
committer | Ovahlord <dreadkiller@gmx.de> | 2025-04-06 19:25:37 +0200 |
commit | be2da4fed32a1acbe32805c9a34dc9e7f698a6e1 (patch) | |
tree | c0b653a1336cf72c706df3065621fc7165a97616 /src/server/database/Database/QueryResult.cpp | |
parent | 383474122aea87b1fbe5a27fd8b661dbb4685ab1 (diff) |
Core/Database: Optimize named query result field access
(cherry picked from commit f5d71b2b92f334ee913baab78899f4d06fbae523)
Diffstat (limited to 'src/server/database/Database/QueryResult.cpp')
-rw-r--r-- | src/server/database/Database/QueryResult.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/server/database/Database/QueryResult.cpp b/src/server/database/Database/QueryResult.cpp index 3180761b81f..6edfff80b9c 100644 --- a/src/server/database/Database/QueryResult.cpp +++ b/src/server/database/Database/QueryResult.cpp @@ -405,7 +405,7 @@ _fields(fields) for (uint32 i = 0; i < _fieldCount; i++) { InitializeDatabaseFieldMetadata(&_fieldMetadata[i], &_fields[i], i, false); - bool success = _fieldIndexByAlias.try_emplace(_fieldMetadata[i].Alias, i).second; + bool success = _fieldIndexByAlias.try_emplace({ Trinity::DB::FieldLookupByAliasKey::RuntimeInit, _fieldMetadata[i].Alias }, i).second; ASSERT(success); _currentRow[i].SetMetadata(&_fieldMetadata[i]); } @@ -463,7 +463,7 @@ m_metadataResult(result) rowSize += size; InitializeDatabaseFieldMetadata(&m_fieldMetadata[i], &field[i], i, true); - bool success = m_fieldIndexByAlias.try_emplace(m_fieldMetadata[i].Alias, i).second; + bool success = m_fieldIndexByAlias.try_emplace({ Trinity::DB::FieldLookupByAliasKey::RuntimeInit, m_fieldMetadata[i].Alias }, i).second; ASSERT(success); m_rBind[i].buffer_type = field[i].type; @@ -637,7 +637,7 @@ Field const& ResultSet::operator[](std::size_t index) const return _currentRow[index]; } -Field const& ResultSet::operator[](std::string_view const& alias) const +Field const& ResultSet::operator[](Trinity::DB::FieldLookupByAliasKey const& alias) const { auto itr = _fieldIndexByAlias.find(alias); ASSERT(itr != _fieldIndexByAlias.end()); @@ -663,7 +663,7 @@ Field const& PreparedResultSet::operator[](std::size_t index) const return m_rows[std::size_t(m_rowPosition) * m_fieldCount + index]; } -Field const& PreparedResultSet::operator[](std::string_view const& alias) const +Field const& PreparedResultSet::operator[](Trinity::DB::FieldLookupByAliasKey const& alias) const { ASSERT(m_rowPosition < m_rowCount); auto itr = m_fieldIndexByAlias.find(alias); |