mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 12:02:42 +01:00
Merge remote-tracking branch 'origin/5.5' into bb-10.0-bar
This commit is contained in:
commit
a4131c51f5
2 changed files with 6 additions and 2 deletions
|
@ -4027,7 +4027,7 @@ public:
|
|||
Base class to implement typed value caching Item classes
|
||||
|
||||
Item_copy_ classes are very similar to the corresponding Item_
|
||||
classes (e.g. Item_copy_int is similar to Item_int) but they add
|
||||
classes (e.g. Item_copy_string is similar to Item_string) but they add
|
||||
the following additional functionality to Item_ :
|
||||
1. Nullability
|
||||
2. Possibility to store the value not only on instantiation time,
|
||||
|
|
|
@ -33,7 +33,11 @@ public:
|
|||
bool neg() const { return m_value < 0 && !m_unsigned; }
|
||||
ulonglong abs() const
|
||||
{
|
||||
return neg() ? (ulonglong) -m_value : (ulonglong) m_value;
|
||||
if (m_unsigned)
|
||||
return (ulonglong) m_value;
|
||||
if (m_value == LONGLONG_MIN) // avoid undefined behavior
|
||||
return ((ulonglong) LONGLONG_MAX) + 1;
|
||||
return m_value < 0 ? -m_value : m_value;
|
||||
}
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in a new issue