15
15
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
16
16
MA 02110-1301, USA. */
17
17
18
-
19
18
#pragma once
20
19
21
20
namespace datatypes
22
21
{
23
-
24
22
/*
25
23
A subset of SQL Conditions related to data processing.
26
24
SQLSTATE terminology is used for categories:
@@ -30,36 +28,39 @@ namespace datatypes
30
28
*/
31
29
class DataCondition
32
30
{
33
- public:
31
+ public:
34
32
enum Code
35
33
{
36
34
// Code Value SQLSTATE
37
- S_SUCCESS = 0 , // 00000
38
- W_STRING_DATA_RIGHT_TRUNCATION = 1 << 1 , // 01004
39
- X_STRING_DATA_RIGHT_TRUNCATION = 1 << 16 , // 22001
40
- X_NUMERIC_VALUE_OUT_OF_RANGE = 1 << 17 , // 22003
41
- X_INVALID_CHARACTER_VALUE_FOR_CAST = 1 << 18 , // 22018
35
+ S_SUCCESS = 0 , // 00000
36
+ W_STRING_DATA_RIGHT_TRUNCATION = 1 << 1 , // 01004
37
+ X_STRING_DATA_RIGHT_TRUNCATION = 1 << 16 , // 22001
38
+ X_NUMERIC_VALUE_OUT_OF_RANGE = 1 << 17 , // 22003
39
+ X_INVALID_CHARACTER_VALUE_FOR_CAST = 1 << 18 , // 22018
42
40
};
43
- DataCondition ()
44
- :mError (S_SUCCESS)
45
- { }
46
- DataCondition (Code code)
47
- :mError (code)
48
- { }
49
- DataCondition & operator |=(Code code)
41
+ DataCondition () : mError (S_SUCCESS)
50
42
{
51
- mError = (Code) (mError | code);
43
+ }
44
+ DataCondition (Code code) : mError (code)
45
+ {
46
+ }
47
+ DataCondition& operator |=(Code code)
48
+ {
49
+ mError = (Code)(mError | code);
52
50
return *this ;
53
51
}
54
52
DataCondition operator &(Code rhs) const
55
53
{
56
- return DataCondition ((Code) (mError & rhs));
54
+ return DataCondition ((Code)(mError & rhs));
55
+ }
56
+ operator Code () const
57
+ {
58
+ return mError ;
57
59
}
58
- operator Code () const { return mError ; }
59
60
60
61
// Adjust a sigened integer of any size to the range [-absMaxVal , +absMaxVal]
61
- template <typename T>
62
- void adjustSIntXRange (T & val, T absMaxVal)
62
+ template <typename T>
63
+ void adjustSIntXRange (T& val, T absMaxVal)
63
64
{
64
65
if (val > absMaxVal)
65
66
{
@@ -73,9 +74,8 @@ class DataCondition
73
74
}
74
75
}
75
76
76
- private:
77
+ private:
77
78
Code mError ;
78
79
};
79
80
80
- } // namespace datatypes
81
-
81
+ } // namespace datatypes
0 commit comments