00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #pragma once
00025
00026 #include <unistd.h>
00027 #include <stdint.h>
00028 #include <drizzled/korr.h>
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048 #define SELECT_DISTINCT (UINT64_C(1) << 0) // SELECT, user
00049 #define SELECT_STRAIGHT_JOIN (UINT64_C(1) << 1) // SELECT, user
00050 #define SELECT_DESCRIBE (UINT64_C(1) << 2) // SELECT, user
00051 #define SELECT_SMALL_RESULT (UINT64_C(1) << 3) // SELECT, user
00052 #define SELECT_BIG_RESULT (UINT64_C(1) << 4) // SELECT, user
00053 #define OPTION_FOUND_ROWS (UINT64_C(1) << 5) // SELECT, user
00054 #define SELECT_NO_JOIN_CACHE (UINT64_C(1) << 7) // intern
00055 #define OPTION_BIG_TABLES (UINT64_C(1) << 8) // THD, user
00056 #define OPTION_BIG_SELECTS (UINT64_C(1) << 9) // THD, user
00057 #define TMP_TABLE_ALL_COLUMNS (UINT64_C(1) << 12) // SELECT, intern
00058 #define OPTION_WARNINGS (UINT64_C(1) << 13) // THD, user
00059 #define OPTION_AUTO_IS_NULL (UINT64_C(1) << 14) // THD, user, binlog
00060 #define OPTION_FOUND_COMMENT (UINT64_C(1) << 15) // SELECT, intern, parser
00061 #define OPTION_BUFFER_RESULT (UINT64_C(1) << 17) // SELECT, user
00062 #define OPTION_NOT_AUTOCOMMIT (UINT64_C(1) << 19) // THD, user
00063 #define OPTION_BEGIN (UINT64_C(1) << 20) // THD, intern
00064
00065
00066 #define SELECT_ALL (UINT64_C(1) << 24) // SELECT, user, parser
00067
00070 #define OPTION_NO_FOREIGN_KEY_CHECKS (UINT64_C(1) << 26) // THD, user, binlog
00071
00073 #define OPTION_RELAXED_UNIQUE_CHECKS (UINT64_C(1) << 27) // THD, user, binlog
00074 #define SELECT_NO_UNLOCK (UINT64_C(1) << 28) // SELECT, intern
00075
00076 #define OPTION_SETUP_TABLES_DONE (UINT64_C(1) << 30) // intern
00077
00078 #define OPTION_SQL_NOTES (UINT64_C(1) << 31) // THD, user
00079
00080 #define HOSTNAME_LENGTH 60
00081 #define SYSTEM_CHARSET_MBMAXLEN 4
00082 #define USERNAME_CHAR_LENGTH 16
00083 #define NAME_CHAR_LEN 64
00084 #define NAME_LEN (NAME_CHAR_LEN*SYSTEM_CHARSET_MBMAXLEN)
00085 #define MAXIMUM_IDENTIFIER_LENGTH NAME_LEN
00086 #define USERNAME_LENGTH (USERNAME_CHAR_LENGTH*SYSTEM_CHARSET_MBMAXLEN)
00087
00088 #define SERVER_VERSION_LENGTH 60
00089 #define SQLSTATE_LENGTH 5
00090
00091
00092
00093
00094
00095
00096
00097 #define USER_HOST_BUFF_SIZE HOSTNAME_LENGTH + USERNAME_LENGTH + 2
00098
00099
00100
00101
00102
00103
00104
00105
00106
00107
00108 #define SCRAMBLE_LENGTH 20
00109 #define SCRAMBLE_LENGTH_323 8
00110
00111 #define NOT_NULL_FLAG 1
00112 #define PRI_KEY_FLAG 2
00113 #define UNIQUE_KEY_FLAG 4
00114 #define MULTIPLE_KEY_FLAG 8
00115 #define BLOB_FLAG 16
00116 #define UNSIGNED_FLAG 32
00117 #define BINARY_FLAG 128
00118
00119
00120 #define ENUM_FLAG 256
00121 #define AUTO_INCREMENT_FLAG 512
00122 #define FUNCTION_DEFAULT_FLAG 1024
00123 #define NO_DEFAULT_VALUE_FLAG 4096
00124 #define ON_UPDATE_NOW_FLAG 8192
00125 #define PART_KEY_FLAG 16384
00126 #define GROUP_FLAG 32768
00127 #define UNIQUE_FLAG 65536
00128 #define BINCMP_FLAG 131072
00129 #define COLUMN_FORMAT_FLAGS 25
00130 #define COLUMN_FORMAT_MASK 7
00131
00132 #define SERVER_STATUS_IN_TRANS 1
00133 #define SERVER_STATUS_AUTOCOMMIT 2
00134 #define SERVER_MORE_RESULTS_EXISTS 8
00135 #define SERVER_QUERY_NO_GOOD_INDEX_USED 16
00136 #define SERVER_QUERY_NO_INDEX_USED 32
00137 #define SERVER_STATUS_DB_DROPPED 256
00138
00139 #define DRIZZLE_ERRMSG_SIZE 512
00140
00141 #define ONLY_KILL_QUERY 1
00142
00143 #define MAX_INT_WIDTH 10
00144 #define MAX_BIGINT_WIDTH 20
00145 #define MAX_BLOB_WIDTH (uint32_t)16777216
00146
00147 #define DRIZZLE_PROTOCOL_NO_MORE_DATA 0xFE
00148
00149
00150
00151
00152 #define packet_error UINT32_MAX
00153
00154 #if defined(__cplusplus)
00155
00156 namespace drizzled
00157 {
00158
00159 enum enum_server_command
00160 {
00161 COM_SLEEP,
00162 COM_QUIT,
00163 COM_USE_SCHEMA,
00164 COM_QUERY,
00165 COM_SHUTDOWN,
00166 COM_CONNECT,
00167 COM_PING,
00168 COM_KILL,
00169
00170
00171 COM_END
00172 };
00173
00174
00175 enum enum_field_types {
00176 DRIZZLE_TYPE_LONG,
00177 DRIZZLE_TYPE_DOUBLE,
00178 DRIZZLE_TYPE_NULL,
00179 DRIZZLE_TYPE_TIMESTAMP,
00180 DRIZZLE_TYPE_LONGLONG,
00181 DRIZZLE_TYPE_DATETIME,
00182 DRIZZLE_TYPE_DATE,
00183 DRIZZLE_TYPE_VARCHAR,
00184 DRIZZLE_TYPE_DECIMAL,
00185 DRIZZLE_TYPE_ENUM,
00186 DRIZZLE_TYPE_BLOB,
00187 DRIZZLE_TYPE_TIME,
00188 DRIZZLE_TYPE_BOOLEAN,
00189 DRIZZLE_TYPE_UUID,
00190 DRIZZLE_TYPE_MICROTIME,
00191 DRIZZLE_TYPE_IPV6
00192 };
00193 const int enum_field_types_size= DRIZZLE_TYPE_IPV6 + 1;
00194
00195 }
00196
00197 #endif
00198