2005-01-31 Zoltan Varga <vargaz@freemail.hu>
[mono.git] / mcs / class / ByteFX.Data / mysqlclient / MysqlDefs.cs
1 // ByteFX.Data data access components for .Net\r
2 // Copyright (C) 2002-2003  ByteFX, Inc.\r
3 //\r
4 // This library is free software; you can redistribute it and/or\r
5 // modify it under the terms of the GNU Lesser General Public\r
6 // License as published by the Free Software Foundation; either\r
7 // version 2.1 of the License, or (at your option) any later version.\r
8 // \r
9 // This library is distributed in the hope that it will be useful,\r
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of\r
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
12 // Lesser General Public License for more details.\r
13 // \r
14 // You should have received a copy of the GNU Lesser General Public\r
15 // License along with this library; if not, write to the Free Software\r
16 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\r
17 using System;\r
18 \r
19 namespace ByteFX.Data.MySqlClient\r
20 {\r
21         /// <summary>\r
22         /// Summary description for ClientParam.\r
23         /// </summary>\r
24         [Flags()]\r
25         internal enum ClientParam\r
26         {\r
27                 CLIENT_LONG_PASSWORD    = 1,                    // new more secure passwords\r
28                 CLIENT_FOUND_ROWS               = 2,                    // found instead of affected rows\r
29                 CLIENT_LONG_FLAG                = 4,                    // Get all column flags\r
30                 CLIENT_CONNECT_WITH_DB  = 8,                    // One can specify db on connect\r
31                 CLIENT_NO_SCHEMA                = 16,                   // Don't allow db.table.column\r
32                 CLIENT_COMPRESS                 = 32,                   // Client can use compression protocol\r
33                 CLIENT_ODBC                             = 64,                   // ODBC client\r
34                 CLIENT_LOCAL_FILES              = 128,                  // Can use LOAD DATA LOCAL\r
35                 CLIENT_IGNORE_SPACE             = 256,                  // Ignore spaces before '('\r
36                 CLIENT_CHANGE_USER              = 512,                  // Support the mysql_change_user()\r
37                 CLIENT_INTERACTIVE              = 1024,                 // This is an interactive client\r
38                 CLIENT_SSL                              = 2048,                 // Switch to SSL after handshake\r
39                 CLIENT_IGNORE_SIGPIPE   = 4096,                 // IGNORE sigpipes\r
40                 CLIENT_TRANSACTIONS             = 8192,                 // Client knows about transactions\r
41                 CLIENT_PROTOCOL_41              = 16384,\r
42                 CLIENT_SECURE_CONNECTION = 32768\r
43 \r
44         }\r
45         \r
46 \r
47         /// <summary>\r
48         /// DB Operations Code\r
49         /// </summary>\r
50         internal enum DBCmd : byte\r
51         {\r
52                 SLEEP        =  0,\r
53                 QUIT         =  1,\r
54                 INIT_DB      =  2,\r
55                 QUERY        =  3,\r
56                 FIELD_LIST   =  4,\r
57                 CREATE_DB    =  5,\r
58                 DROP_DB      =  6,\r
59                 RELOAD       =  7,\r
60                 SHUTDOWN     =  8,\r
61                 STATISTICS   =  9,\r
62                 PROCESS_INFO = 10,\r
63                 CONNECT      = 11,\r
64                 PROCESS_KILL = 12,\r
65                 DEBUG        = 13,\r
66                 PING         = 14,\r
67                 TIME         = 15,\r
68                 DELAYED_INSERT = 16,\r
69                 CHANGE_USER    = 17,\r
70         }\r
71 \r
72         /// <summary>\r
73         /// Specifies MySQL specific data type of a field, property, for use in a <see cref="MySqlParameter"/>.\r
74         /// </summary>\r
75         public enum MySqlDbType\r
76         {\r
77                 /// <summary> <see cref="Decimal"/><para>A fixed precision and scale numeric value between -1038 -1 and 10 38 -1.</para></summary>\r
78                 Decimal         =   0,  \r
79                 /// <summary> <see cref="Byte"/><para>The signed range is -128 to 127. The unsigned range is 0 to 255.</para></summary>\r
80                 Byte            =   1,  \r
81                 /// <summary><see cref="Int16"/><para>A 16-bit signed or unsigned integer. The signed range is -32768 to 32767. The unsigned range is 0 to 65535</para></summary>\r
82                 Short       =   2,\r
83                 /// <summary><see cref="Int32"/><para>A 32-bit signed or unsigned integer</para></summary>\r
84                 Int         =   3,\r
85                 /// <summary><b>Obsolete</b>  Please use Int for 32 bit values</summary>\r
86                 [Obsolete("Long is no longer the correct way of specifying a 32 bit value.  Use Int")]\r
87                 Long        =   3,\r
88                 /// <summary><see cref="Single"/><para>A small (single-precision) floating-point number. Allowable values are -3.402823466E+38 to -1.175494351E-38, 0, and 1.175494351E-38 to 3.402823466E+38.</para></summary>\r
89                 Float       =   4,\r
90                 /// <summary><see cref="Double"/><para>A normal-size (double-precision) floating-point number. Allowable values are -1.7976931348623157E+308 to -2.2250738585072014E-308, 0, and 2.2250738585072014E-308 to 1.7976931348623157E+308.</para></summary>\r
91                 Double      =   5,\r
92                 /// <summary>Specifies a null value</summary>\r
93                 Null        =   6,\r
94                 /// <summary>A timestamp. The range is '1970-01-01 00:00:00' to sometime in the year 2037</summary>\r
95                 Timestamp   =   7,\r
96                 /// <summary><see cref="Int64"/><para>A 64-bit signed or unsigned integer.</para></summary>\r
97                 BigInt      =   8,\r
98                 /// <summary><b>Obsolete</b>  Please use BigInt for 64 bit values</summary>\r
99                 [Obsolete("LongLong is no longer the correct way of specifying a 64 bit value.  Use BigInt")]\r
100                 LongLong    =   8,\r
101                 /// <summary>Specifies a 24 (3 byte) signed or unsigned value.</summary>\r
102                 Int24       =   9,\r
103                 ///<summary>Date The supported range is '1000-01-01' to '9999-12-31'.</summary>\r
104                 Date        =  10,\r
105                 /// <summary> Time <para>The range is '-838:59:59' to '838:59:59'.</para></summary>\r
106                 Time        =  11,\r
107                 ///<summary>DateTime The supported range is '1000-01-01 00:00:00' to '9999-12-31 23:59:59'.</summary>\r
108                 Datetime    =  12,  \r
109                 /// <summary>A year in 2- or 4-digit format (default is 4-digit). The allowable values are 1901 to 2155, 0000 in the 4-digit year format, and 1970-2069 if you use the 2-digit format (70-69)</summary>\r
110                 Year        =  13,\r
111                 /// <summary><b>Obsolete</b>  Use Datetime or Date type</summary>\r
112                 Newdate     =  14,\r
113                 /// <summary>An enumeration. A string object that can have only one value, chosen from the list of values 'value1', 'value2', ..., NULL or the special "" error value. An ENUM can have a maximum of 65535 distinct values</summary>\r
114                 Enum        = 247,\r
115                 /// <summary>A set. A string object that can have zero or more values, each of which must be chosen from the list of values 'value1', 'value2', ... A SET can have a maximum of 64 members.</summary>\r
116                 Set         = 248,\r
117                 /// <summary>A BLOB or TEXT column with a maximum length of 255 (2^8 - 1) characters</summary>\r
118                 TinyBlob    = 249,\r
119                 /// <summary>A BLOB or TEXT column with a maximum length of 16777215 (2^24 - 1) characters</summary>\r
120                 MediumBlob  = 250,\r
121                 /// <summary>A BLOB or TEXT column with a maximum length of 4294967295 or 4G (2^32 - 1) characters</summary>\r
122                 LongBlob    = 251,\r
123                 /// <summary>A BLOB or TEXT column with a maximum length of 65535 (2^16 - 1) characters</summary>\r
124                 Blob        = 252,\r
125                 /// <summary>A variable-length string containing 0 to 255 characters</summary>\r
126                 VarChar     = 253,\r
127                 /// <summary><b>Obsolete</b>  Use VarChar type</summary>\r
128                 String      = 254\r
129         };\r
130 \r
131 \r
132         enum Field_Type : byte\r
133         {\r
134                 DECIMAL                                 =0,\r
135                 BYTE                                    =1,\r
136                 SHORT                                   =2,\r
137                 LONG                                    =3,\r
138                 FLOAT                                   =4,\r
139                 DOUBLE                                  =5,\r
140                 NULL                                    =6,\r
141                 TIMESTAMP                               =7,\r
142                 LONGLONG                                =8,\r
143                 INT24                                   =9,\r
144                 DATE                                    =10,\r
145                 TIME                                    =11,\r
146                 DATETIME                                =12,\r
147                 YEAR                                    =13,\r
148                 NEWDATE                                 =14,\r
149                 ENUM                                    =247,\r
150                 SET                                             =248,\r
151                 TINY_BLOB                               =249,\r
152                 MEDIUM_BLOB                             =250,\r
153                 LONG_BLOB                               =251,\r
154                 BLOB                                    =252,\r
155                 VAR_STRING                              =253,\r
156                 STRING                                  =254,\r
157         }\r
158 }\r