aboutsummaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2025-03-13 20:48:27 +0100
committerShauren <shauren.trinity@gmail.com>2025-03-13 20:48:27 +0100
commitd997e821dd7bd26258e6ffb8c40509c58db054fd (patch)
tree1a41cf79a06cbdd202aedce352fa086fcdce9af0 /src/server
parentb2a69f04ee8f83b83f161190ca7b08e337aa8fcd (diff)
Core/Database: Improve assertion message on duplicate column aliases in queries
Diffstat (limited to 'src/server')
-rw-r--r--src/server/database/Database/QueryResult.cpp10
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;