TrinityCore
FieldValueConverter.cpp
Go to the documentation of this file.
1
/*
2
* This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
3
*
4
* This program is free software; you can redistribute it and/or modify it
5
* under the terms of the GNU General Public License as published by the
6
* Free Software Foundation; either version 2 of the License, or (at your
7
* option) any later version.
8
*
9
* This program is distributed in the hope that it will be useful, but WITHOUT
10
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12
* more details.
13
*
14
* You should have received a copy of the GNU General Public License along
15
* with this program. If not, see <http://www.gnu.org/licenses/>.
16
*/
17
18
#include "
FieldValueConverter.h
"
19
#include "
Errors.h
"
20
#include "
Field.h
"
21
22
BaseDatabaseResultValueConverter::BaseDatabaseResultValueConverter
() =
default
;
23
BaseDatabaseResultValueConverter::~BaseDatabaseResultValueConverter
() =
default
;
24
25
void
BaseDatabaseResultValueConverter::LogTruncation
(
char
const
* getter,
QueryResultFieldMetadata
const
* meta)
26
{
27
char
const
* expectedAccessor =
""
;
28
switch
(meta->
Type
)
29
{
30
case
DatabaseFieldTypes::UInt8
: expectedAccessor =
"Field::GetUInt8"
;
break
;
31
case
DatabaseFieldTypes::Int8
: expectedAccessor =
"Field::GetInt8"
;
break
;
32
case
DatabaseFieldTypes::UInt16
: expectedAccessor =
"Field::GetUInt16"
;
break
;
33
case
DatabaseFieldTypes::Int16
: expectedAccessor =
"Field::GetInt16"
;
break
;
34
case
DatabaseFieldTypes::UInt32
: expectedAccessor =
"Field::GetUIn32"
;
break
;
35
case
DatabaseFieldTypes::Int32
: expectedAccessor =
"Field::GetInt32"
;
break
;
36
case
DatabaseFieldTypes::UInt64
: expectedAccessor =
"Field::GetUIn64"
;
break
;
37
case
DatabaseFieldTypes::Int64
: expectedAccessor =
"Field::GetInt64"
;
break
;
38
case
DatabaseFieldTypes::Float
: expectedAccessor =
"Field::GetFloat"
;
break
;
39
case
DatabaseFieldTypes::Double
: expectedAccessor =
"Field::GetDouble"
;
break
;
40
case
DatabaseFieldTypes::Decimal
: expectedAccessor =
"Field::GetDouble or Field::GetString"
;
break
;
41
case
DatabaseFieldTypes::Date
: expectedAccessor =
"Field::GetDate"
;
break
;
42
case
DatabaseFieldTypes::Time
: expectedAccessor =
"Field::GetTime"
;
break
;
43
case
DatabaseFieldTypes::Binary
: expectedAccessor =
"Field::GetString or Field::GetBinary"
;
break
;
44
default
:
45
break
;
46
}
47
48
ASSERT
(
false
,
"%s on %s field %s.%s (%s.%s) at index %u caused value to be truncated. Use %s instead."
,
49
getter, meta->
TypeName
, meta->
TableAlias
, meta->
Alias
, meta->
TableName
, meta->
Name
, meta->
Index
, expectedAccessor);
50
}
Errors.h
ASSERT
#define ASSERT
Definition:
Errors.h:68
FieldValueConverter.h
Field.h
DatabaseFieldTypes::Float
@ Float
DatabaseFieldTypes::Int16
@ Int16
DatabaseFieldTypes::Date
@ Date
DatabaseFieldTypes::Binary
@ Binary
DatabaseFieldTypes::Int8
@ Int8
DatabaseFieldTypes::UInt16
@ UInt16
DatabaseFieldTypes::Decimal
@ Decimal
DatabaseFieldTypes::Time
@ Time
DatabaseFieldTypes::UInt64
@ UInt64
DatabaseFieldTypes::UInt8
@ UInt8
DatabaseFieldTypes::Int32
@ Int32
DatabaseFieldTypes::Double
@ Double
DatabaseFieldTypes::UInt32
@ UInt32
DatabaseFieldTypes::Int64
@ Int64
BaseDatabaseResultValueConverter::~BaseDatabaseResultValueConverter
virtual ~BaseDatabaseResultValueConverter()
BaseDatabaseResultValueConverter::BaseDatabaseResultValueConverter
BaseDatabaseResultValueConverter()
BaseDatabaseResultValueConverter::LogTruncation
static void LogTruncation(char const *getter, QueryResultFieldMetadata const *meta)
Definition:
FieldValueConverter.cpp:25
QueryResultFieldMetadata
Definition:
Field.h:51
QueryResultFieldMetadata::Type
DatabaseFieldTypes Type
Definition:
Field.h:58
QueryResultFieldMetadata::Alias
char const * Alias
Definition:
Field.h:55
QueryResultFieldMetadata::TableAlias
char const * TableAlias
Definition:
Field.h:53
QueryResultFieldMetadata::TableName
char const * TableName
Definition:
Field.h:52
QueryResultFieldMetadata::TypeName
char const * TypeName
Definition:
Field.h:56
QueryResultFieldMetadata::Index
uint32 Index
Definition:
Field.h:57
QueryResultFieldMetadata::Name
char const * Name
Definition:
Field.h:54
server
database
Database
FieldValueConverter.cpp
Generated on Tue Mar 18 2025 20:53:59 for TrinityCore by
1.9.4