31 #if !defined(MYSQLPP_SQL_TYPES_H_MAIN)
32 #define MYSQLPP_SQL_TYPES_H_MAIN
39 #if !defined(MYSQLPP_NO_STDINT_H)
45 #if !defined(DOXYGEN_IGNORE)
51 #if defined(MYSQLPP_NO_STDINT_H)
53 typedef tiny_int<signed char> sql_tinyint;
54 typedef tiny_int<unsigned char> sql_tinyint_unsigned;
55 typedef signed short sql_smallint;
56 typedef unsigned short sql_smallint_unsigned;
57 typedef signed int sql_int;
58 typedef unsigned int sql_int_unsigned;
59 typedef signed int sql_mediumint;
60 typedef unsigned int sql_mediumint_unsigned;
61 typedef longlong sql_bigint;
62 typedef ulonglong sql_bigint_unsigned;
66 typedef tiny_int<int8_t> sql_tinyint;
67 typedef tiny_int<uint8_t> sql_tinyint_unsigned;
68 typedef int16_t sql_smallint;
69 typedef uint16_t sql_smallint_unsigned;
70 typedef int32_t sql_int;
71 typedef uint32_t sql_int_unsigned;
72 typedef int32_t sql_mediumint;
73 typedef uint32_t sql_mediumint_unsigned;
74 typedef int64_t sql_bigint;
75 typedef uint64_t sql_bigint_unsigned;
80 typedef float sql_float;
81 typedef double sql_double;
82 typedef double sql_decimal;
83 typedef std::string sql_enum;
84 typedef std::string sql_char;
85 typedef std::string sql_varchar;
86 typedef std::string sql_tinytext;
87 typedef std::string sql_text;
88 typedef std::string sql_mediumtext;
89 typedef std::string sql_longtext;
94 typedef sql_tinyint sql_bool;
95 typedef sql_tinyint sql_boolean;
96 typedef sql_varchar sql_character_varying;
97 typedef sql_decimal sql_fixed;
98 typedef sql_float sql_float4;
99 typedef sql_double sql_float8;
100 typedef sql_tinyint sql_int1;
101 typedef sql_smallint sql_int2;
102 typedef sql_mediumint sql_int3;
103 typedef sql_int sql_int4;
104 typedef sql_bigint sql_int8;
105 typedef sql_mediumtext sql_long_varchar;
106 typedef sql_mediumtext sql_long;
107 typedef sql_mediumint sql_middleint;
108 typedef sql_decimal sql_numeric;
125 #if defined(MYSQLPP_MYSTRING_H) && !defined(MYSQLPP_SQL_TYPES_H_MYSTRING) && !defined(DOXYGEN_IGNORE)
126 # define MYSQLPP_SQL_TYPES_H_MYSTRING
128 typedef String sql_blob;
129 typedef String sql_tinyblob;
130 typedef String sql_mediumblob;
131 typedef String sql_longblob;
132 typedef sql_mediumblob sql_long_varbinary;
137 #if defined(MYSQLPP_DATETIME_H) && !defined(MYSQLPP_SQL_TYPES_H_DATETIME) && !defined(DOXYGEN_IGNORE)
138 # define MYSQLPP_SQL_TYPES_H_DATETIME
140 typedef Date sql_date;
141 typedef Time sql_time;
142 typedef DateTime sql_timestamp;
143 typedef DateTime sql_datetime;
148 #if defined(MYSQLPP_MYSET_H) && !defined(MYSQLPP_SQL_TYPES_H_SET) && !defined(DOXYGEN_IGNORE)
149 # define MYSQLPP_SQL_TYPES_H_SET
151 typedef Set<> sql_set;
155 #if defined(MYSQLPP_NULL_H) && !defined(MYSQLPP_SQL_TYPES_H_NULL) && !defined(DOXYGEN_IGNORE)
156 # define MYSQLPP_SQL_TYPES_H_NULL
159 typedef Null<sql_bigint> sql_bigint_null;
160 typedef Null<sql_bigint_unsigned> sql_bigint_unsigned_null;
161 typedef Null<sql_bool> sql_bool_null;
162 typedef Null<sql_boolean> sql_boolean_null;
163 typedef Null<sql_char> sql_char_null;
164 typedef Null<sql_character_varying> sql_character_varying_null;
165 typedef Null<sql_decimal> sql_decimal_null;
166 typedef Null<sql_double> sql_double_null;
167 typedef Null<sql_enum> sql_enum_null;
168 typedef Null<sql_fixed> sql_fixed_null;
169 typedef Null<sql_float> sql_float_null;
170 typedef Null<sql_float4> sql_float4_null;
171 typedef Null<sql_float8> sql_float8_null;
172 typedef Null<sql_int> sql_int_null;
173 typedef Null<sql_int1> sql_int1_null;
174 typedef Null<sql_int2> sql_int2_null;
175 typedef Null<sql_int3> sql_int3_null;
176 typedef Null<sql_int4> sql_int4_null;
177 typedef Null<sql_int8> sql_int8_null;
178 typedef Null<sql_int_unsigned> sql_int_unsigned_null;
179 typedef Null<sql_long> sql_long_null;
180 typedef Null<sql_longtext> sql_longtext_null;
181 typedef Null<sql_long_varchar> sql_long_varchar_null;
182 typedef Null<sql_mediumint> sql_mediumint_null;
183 typedef Null<sql_mediumint_unsigned> sql_mediumint_unsigned_null;
184 typedef Null<sql_mediumtext> sql_mediumtext_null;
185 typedef Null<sql_middleint> sql_middleint_null;
186 typedef Null<sql_numeric> sql_numeric_null;
187 typedef Null<sql_smallint> sql_smallint_null;
188 typedef Null<sql_smallint_unsigned> sql_smallint_unsigned_null;
189 typedef Null<sql_text> sql_text_null;
190 typedef Null<sql_tinyint> sql_tinyint_null;
191 typedef Null<sql_tinyint_unsigned> sql_tinyint_unsigned_null;
192 typedef Null<sql_tinytext> sql_tinytext_null;
193 typedef Null<sql_varchar> sql_varchar_null;
196 # if defined(MYSQLPP_SQL_TYPES_H_MYSTRING)
197 typedef Null<sql_blob> sql_blob_null;
198 typedef Null<sql_longblob> sql_longblob_null;
199 typedef Null<sql_mediumblob> sql_mediumblob_null;
200 typedef Null<sql_tinyblob> sql_tinyblob_null;
201 typedef Null<sql_long_varbinary> sql_long_varbinary_null;
203 # if defined(MYSQLPP_SQL_TYPES_H_DATETIME)
204 typedef Null<sql_date> sql_date_null;
205 typedef Null<sql_datetime> sql_datetime_null;
206 typedef Null<sql_time> sql_time_null;
207 typedef Null<sql_timestamp> sql_timestamp_null;
209 # if defined(MYSQLPP_SQL_TYPES_H_SET)
210 typedef Null<sql_set> sql_set_null;
This file includes top-level definitions for use both internal to the library, and outside it....
Declares class for holding a SQL TINYINT.