diff options
author | Shauren <shauren.trinity@gmail.com> | 2025-03-13 20:48:27 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2025-03-13 20:48:27 +0100 |
commit | d997e821dd7bd26258e6ffb8c40509c58db054fd (patch) | |
tree | 1a41cf79a06cbdd202aedce352fa086fcdce9af0 /src | |
parent | b2a69f04ee8f83b83f161190ca7b08e337aa8fcd (diff) |
Core/Database: Improve assertion message on duplicate column aliases in queries
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; |