diff options
author | Shauren <shauren.trinity@gmail.com> | 2025-03-13 20:48:27 +0100 |
---|---|---|
committer | Ovahlord <dreadkiller@gmx.de> | 2025-04-06 19:25:43 +0200 |
commit | c391f6b992e127f068d667bc7e92dd93fb790667 (patch) | |
tree | 25c2c54aa93ebf5f50566f3bae41da74346cbe17 /src | |
parent | be2da4fed32a1acbe32805c9a34dc9e7f698a6e1 (diff) |
Core/Database: Improve assertion message on duplicate column aliases in queries
(cherry picked from commit d997e821dd7bd26258e6ffb8c40509c58db054fd)
Diffstat (limited to 'src')
-rw-r--r-- | src/server/database/Database/QueryResult.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/server/database/Database/QueryResult.cpp b/src/server/database/Database/QueryResult.cpp index 6edfff80b9c..0c35ac6688d 100644 --- a/src/server/database/Database/QueryResult.cpp +++ b/src/server/database/Database/QueryResult.cpp @@ -405,8 +405,9 @@ _fields(fields) for (uint32 i = 0; i < _fieldCount; i++) { InitializeDatabaseFieldMetadata(&_fieldMetadata[i], &_fields[i], i, false); - bool success = _fieldIndexByAlias.try_emplace({ Trinity::DB::FieldLookupByAliasKey::RuntimeInit, _fieldMetadata[i].Alias }, i).second; - ASSERT(success); + auto [itr, success] = _fieldIndexByAlias.try_emplace({ Trinity::DB::FieldLookupByAliasKey::RuntimeInit, _fieldMetadata[i].Alias }, i); + ASSERT(success, "Duplicate column alias %s in query for column %s.%s, conflicts with column %s.%s", + _fieldMetadata[i].Alias, _fieldMetadata[i].TableName, _fieldMetadata[i].Name, _fieldMetadata[itr->second].TableName, _fieldMetadata[itr->second].Name); _currentRow[i].SetMetadata(&_fieldMetadata[i]); } } @@ -463,8 +464,9 @@ m_metadataResult(result) rowSize += size; InitializeDatabaseFieldMetadata(&m_fieldMetadata[i], &field[i], i, true); - bool success = m_fieldIndexByAlias.try_emplace({ Trinity::DB::FieldLookupByAliasKey::RuntimeInit, m_fieldMetadata[i].Alias }, i).second; - ASSERT(success); + auto [itr, success] = m_fieldIndexByAlias.try_emplace({ Trinity::DB::FieldLookupByAliasKey::RuntimeInit, m_fieldMetadata[i].Alias }, i); + ASSERT(success, "Duplicate column alias %s in query for column %s.%s, conflicts with column %s.%s", + m_fieldMetadata[i].Alias, m_fieldMetadata[i].TableName, m_fieldMetadata[i].Name, m_fieldMetadata[itr->second].TableName, m_fieldMetadata[itr->second].Name); m_rBind[i].buffer_type = field[i].type; m_rBind[i].buffer_length = size; |