Translation update done using Pootle.
[phpmyadmin.git] / libraries / data_mysql.inc.php
blob9b1bd481a567cd0bfffacd7e6a5e517bbc0e1b6a
1 <?php
2 /**
3 * Column types and functions supported by MySQL
5 * @package PhpMyAdmin
6 */
8 // VARCHAR, TINYINT, TEXT and DATE are listed first, based on estimated popularity
9 $cfg['ColumnTypes'] = !empty($cfg['ColumnTypes']) ? $cfg['ColumnTypes'] : array(
10 // most used
11 'INT',
12 'VARCHAR',
13 'TEXT',
14 'DATE',
16 // numeric
17 'NUMERIC' => array(
18 'TINYINT',
19 'SMALLINT',
20 'MEDIUMINT',
21 'INT',
22 'BIGINT',
23 '-',
24 'DECIMAL',
25 'FLOAT',
26 'DOUBLE',
27 'REAL',
28 '-',
29 'BIT',
30 'BOOLEAN',
31 'SERIAL',
35 // Date/Time
36 'DATE and TIME' => array(
37 'DATE',
38 'DATETIME',
39 'TIMESTAMP',
40 'TIME',
41 'YEAR',
44 // Text
45 'STRING' => array(
46 'CHAR',
47 'VARCHAR',
48 '-',
49 'TINYTEXT',
50 'TEXT',
51 'MEDIUMTEXT',
52 'LONGTEXT',
53 '-',
54 'BINARY',
55 'VARBINARY',
56 '-',
57 'TINYBLOB',
58 'MEDIUMBLOB',
59 'BLOB',
60 'LONGBLOB',
61 '-',
62 'ENUM',
63 'SET',
66 'SPATIAL' => array(
67 'GEOMETRY',
68 'POINT',
69 'LINESTRING',
70 'POLYGON',
71 'MULTIPOINT',
72 'MULTILINESTRING',
73 'MULTIPOLYGON',
74 'GEOMETRYCOLLECTION',
78 $cfg['AttributeTypes'] = !empty($cfg['AttributeTypes']) ? $cfg['AttributeTypes'] : array(
79 '',
80 'BINARY',
81 'UNSIGNED',
82 'UNSIGNED ZEROFILL',
83 'on update CURRENT_TIMESTAMP',
86 if ($cfg['ShowFunctionFields']) {
87 $cfg['RestrictColumnTypes'] = !empty($cfg['RestrictColumnTypes']) ? $cfg['RestrictColumnTypes'] : array(
88 'TINYINT' => 'FUNC_NUMBER',
89 'SMALLINT' => 'FUNC_NUMBER',
90 'MEDIUMINT' => 'FUNC_NUMBER',
91 'INT' => 'FUNC_NUMBER',
92 'BIGINT' => 'FUNC_NUMBER',
93 'DECIMAL' => 'FUNC_NUMBER',
94 'FLOAT' => 'FUNC_NUMBER',
95 'DOUBLE' => 'FUNC_NUMBER',
96 'REAL' => 'FUNC_NUMBER',
97 'BIT' => 'FUNC_NUMBER',
98 'BOOLEAN' => 'FUNC_NUMBER',
99 'SERIAL' => 'FUNC_NUMBER',
101 'DATE' => 'FUNC_DATE',
102 'DATETIME' => 'FUNC_DATE',
103 'TIMESTAMP' => 'FUNC_DATE',
104 'TIME' => 'FUNC_DATE',
105 'YEAR' => 'FUNC_DATE',
107 'CHAR' => 'FUNC_CHAR',
108 'VARCHAR' => 'FUNC_CHAR',
109 'TINYTEXT' => 'FUNC_CHAR',
110 'TEXT' => 'FUNC_CHAR',
111 'MEDIUMTEXT' => 'FUNC_CHAR',
112 'LONGTEXT' => 'FUNC_CHAR',
113 'BINARY' => 'FUNC_CHAR',
114 'VARBINARY' => 'FUNC_CHAR',
115 'TINYBLOB' => 'FUNC_CHAR',
116 'MEDIUMBLOB' => 'FUNC_CHAR',
117 'BLOB' => 'FUNC_CHAR',
118 'LONGBLOB' => 'FUNC_CHAR',
119 'ENUM' => '',
120 'SET' => '',
122 'GEOMETRY' => 'FUNC_SPATIAL',
123 'POINT' => 'FUNC_SPATIAL',
124 'LINESTRING' => 'FUNC_SPATIAL',
125 'POLYGON' => 'FUNC_SPATIAL',
126 'MULTIPOINT' => 'FUNC_SPATIAL',
127 'MULTILINESTRING' => 'FUNC_SPATIAL',
128 'MULTIPOLYGON' => 'FUNC_SPATIAL',
129 'GEOMETRYCOLLECTION' => 'FUNC_SPATIAL',
133 $restrict_functions = array(
134 'FUNC_CHAR' => array(
135 'BIN',
136 'CHAR',
137 'CURRENT_USER',
138 'COMPRESS',
139 'DATABASE',
140 'DAYNAME',
141 'DES_DECRYPT',
142 'DES_ENCRYPT',
143 'ENCRYPT',
144 'HEX',
145 'INET_NTOA',
146 'LOAD_FILE',
147 'LOWER',
148 'LTRIM',
149 'MD5',
150 'MONTHNAME',
151 'OLD_PASSWORD',
152 'PASSWORD',
153 'QUOTE',
154 'REVERSE',
155 'RTRIM',
156 'SHA1',
157 'SOUNDEX',
158 'SPACE',
159 'TRIM',
160 'UNCOMPRESS',
161 'UNHEX',
162 'UPPER',
163 'USER',
164 'UUID',
165 'VERSION',
168 'FUNC_DATE' => array(
169 'CURRENT_DATE',
170 'CURRENT_TIME',
171 'DATE',
172 'FROM_DAYS',
173 'FROM_UNIXTIME',
174 'LAST_DAY',
175 'NOW',
176 'SEC_TO_TIME',
177 'SYSDATE',
178 'TIME',
179 'TIMESTAMP',
180 'UTC_DATE',
181 'UTC_TIME',
182 'UTC_TIMESTAMP',
183 'YEAR',
186 'FUNC_NUMBER' => array(
187 'ABS',
188 'ACOS',
189 'ASCII',
190 'ASIN',
191 'ATAN',
192 'BIT_LENGTH',
193 'BIT_COUNT',
194 'CEILING',
195 'CHAR_LENGTH',
196 'CONNECTION_ID',
197 'COS',
198 'COT',
199 'CRC32',
200 'DAYOFMONTH',
201 'DAYOFWEEK',
202 'DAYOFYEAR',
203 'DEGREES',
204 'EXP',
205 'FLOOR',
206 'HOUR',
207 'INET_ATON',
208 'LENGTH',
209 'LN',
210 'LOG',
211 'LOG2',
212 'LOG10',
213 'MICROSECOND',
214 'MINUTE',
215 'MONTH',
216 'OCT',
217 'ORD',
218 'PI',
219 'QUARTER',
220 'RADIANS',
221 'RAND',
222 'ROUND',
223 'SECOND',
224 'SIGN',
225 'SIN',
226 'SQRT',
227 'TAN',
228 'TO_DAYS',
229 'TO_SECONDS',
230 'TIME_TO_SEC',
231 'UNCOMPRESSED_LENGTH',
232 'UNIX_TIMESTAMP',
233 'UUID_SHORT',
234 'WEEK',
235 'WEEKDAY',
236 'WEEKOFYEAR',
237 'YEARWEEK',
240 'FUNC_SPATIAL' => array(
241 'GeomFromText',
242 'GeomFromWKB',
244 'GeomCollFromText',
245 'LineFromText',
246 'MLineFromText',
247 'PointFromText',
248 'MPointFromText',
249 'PolyFromText',
250 'MPolyFromText',
252 'GeomCollFromWKB',
253 'LineFromWKB',
254 'MLineFromWKB',
255 'PointFromWKB',
256 'MPointFromWKB',
257 'PolyFromWKB',
258 'MPolyFromWKB',
261 // $restrict_functions holds all known functions, remove these that are unavailable on current server
262 if (PMA_MYSQL_INT_VERSION < 50500) {
263 $restrict_functions['FUNC_NUMBER'] = array_diff($restrict_functions['FUNC_NUMBER'], array('TO_SECONDS'));
265 if (PMA_MYSQL_INT_VERSION < 50120) {
266 $restrict_functions['FUNC_NUMBER'] = array_diff($restrict_functions['FUNC_NUMBER'], array('UUID_SHORT'));
269 if (empty($cfg['RestrictFunctions'])) {
270 $cfg['RestrictFunctions'] = $restrict_functions;
273 if (empty($cfg['Functions'])) {
274 // build a list of functions based on $restrict_functions
275 $cfg['Functions'] = array();
276 foreach ($restrict_functions as $cat => $functions) {
277 if ($cat != 'FUNC_SPATIAL') {
278 $cfg['Functions'] = array_merge($cfg['Functions'], $functions);
281 sort($cfg['Functions']);
283 unset($restrict_functions);
284 } // end if