00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 #if !defined(MYSQLPP_SQL_TYPES_H_MAIN)
00032 #define MYSQLPP_SQL_TYPES_H_MAIN
00033
00034 #include "common.h"
00035 #include "tiny_int.h"
00036
00037 #include <string>
00038
00039 namespace mysqlpp {
00040
00041 #if !defined(DOXYGEN_IGNORE)
00042
00043
00044
00045
00046
00047 #if defined(MYSQLPP_NO_STDINT_H)
00048
00049 typedef tiny_int<signed char> sql_tinyint;
00050 typedef tiny_int<unsigned char> sql_tinyint_unsigned;
00051 typedef signed short sql_smallint;
00052 typedef unsigned short sql_smallint_unsigned;
00053 typedef signed int sql_int;
00054 typedef unsigned int sql_int_unsigned;
00055 typedef signed int sql_mediumint;
00056 typedef unsigned int sql_mediumint_unsigned;
00057 typedef longlong sql_bigint;
00058 typedef ulonglong sql_bigint_unsigned;
00059 #else
00060
00061
00062 # include <stdint.h>
00063 typedef tiny_int<int8_t> sql_tinyint;
00064 typedef tiny_int<uint8_t> sql_tinyint_unsigned;
00065 typedef int16_t sql_smallint;
00066 typedef uint16_t sql_smallint_unsigned;
00067 typedef int32_t sql_int;
00068 typedef uint32_t sql_int_unsigned;
00069 typedef int32_t sql_mediumint;
00070 typedef uint32_t sql_mediumint_unsigned;
00071 typedef int64_t sql_bigint;
00072 typedef uint64_t sql_bigint_unsigned;
00073 #endif
00074
00075
00076
00077 typedef float sql_float;
00078 typedef double sql_double;
00079 typedef double sql_decimal;
00080 typedef std::string sql_enum;
00081 typedef std::string sql_char;
00082 typedef std::string sql_varchar;
00083 typedef std::string sql_tinytext;
00084 typedef std::string sql_text;
00085 typedef std::string sql_mediumtext;
00086 typedef std::string sql_longtext;
00087
00088
00089
00090
00091 typedef sql_tinyint sql_bool;
00092 typedef sql_tinyint sql_boolean;
00093 typedef sql_varchar sql_character_varying;
00094 typedef sql_decimal sql_fixed;
00095 typedef sql_float sql_float4;
00096 typedef sql_double sql_float8;
00097 typedef sql_tinyint sql_int1;
00098 typedef sql_smallint sql_int2;
00099 typedef sql_mediumint sql_int3;
00100 typedef sql_int sql_int4;
00101 typedef sql_bigint sql_int8;
00102 typedef sql_mediumtext sql_long_varchar;
00103 typedef sql_mediumtext sql_long;
00104 typedef sql_mediumint sql_middleint;
00105 typedef sql_decimal sql_numeric;
00106 #endif // !defined(DOXYGEN_IGNORE)
00107
00108 }
00109
00110 #endif // !defined(MYSQLPP_SQL_TYPES_H_MAIN)
00111
00112
00113
00114
00115
00116
00117
00118
00119
00120
00121
00122 #if defined(MYSQLPP_MYSTRING_H) && !defined(MYSQLPP_SQL_TYPES_H_MYSTRING) && !defined(DOXYGEN_IGNORE)
00123 # define MYSQLPP_SQL_TYPES_H_MYSTRING
00124 namespace mysqlpp {
00125 typedef String sql_blob;
00126 typedef String sql_tinyblob;
00127 typedef String sql_mediumblob;
00128 typedef String sql_longblob;
00129 typedef sql_mediumblob sql_long_varbinary;
00130 }
00131 #endif
00132
00133
00134 #if defined(MYSQLPP_DATETIME_H) && !defined(MYSQLPP_SQL_TYPES_H_DATETIME) && !defined(DOXYGEN_IGNORE)
00135 # define MYSQLPP_SQL_TYPES_H_DATETIME
00136 namespace mysqlpp {
00137 typedef Date sql_date;
00138 typedef Time sql_time;
00139 typedef DateTime sql_timestamp;
00140 typedef DateTime sql_datetime;
00141 }
00142 #endif
00143
00144
00145 #if defined(MYSQLPP_MYSET_H) && !defined(MYSQLPP_SQL_TYPES_H_SET) && !defined(DOXYGEN_IGNORE)
00146 # define MYSQLPP_SQL_TYPES_H_SET
00147 namespace mysqlpp {
00148 typedef Set<> sql_set;
00149 }
00150 #endif
00151