source: Ballon/web/WEB-INF/lib/mysql-connector-java-5.1.21/src/com/mysql/jdbc/MysqlDefs.java @ 766

Last change on this file since 766 was 766, checked in by npipsl, 11 years ago
File size: 16.1 KB
Line 
1/*
2 Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
3 
4
5  The MySQL Connector/J is licensed under the terms of the GPLv2
6  <http://www.gnu.org/licenses/old-licenses/gpl-2.0.html>, like most MySQL Connectors.
7  There are special exceptions to the terms and conditions of the GPLv2 as it is applied to
8  this software, see the FLOSS License Exception
9  <http://www.mysql.com/about/legal/licensing/foss-exception.html>.
10
11  This program is free software; you can redistribute it and/or modify it under the terms
12  of the GNU General Public License as published by the Free Software Foundation; version 2
13  of the License.
14
15  This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
16  without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
17  See the GNU General Public License for more details.
18
19  You should have received a copy of the GNU General Public License along with this
20  program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth
21  Floor, Boston, MA 02110-1301  USA
22
23
24
25 */
26package com.mysql.jdbc;
27
28import java.sql.Types;
29import java.util.HashMap;
30import java.util.Iterator;
31import java.util.Map;
32
33/**
34 * MysqlDefs contains many values that are needed for communication with the
35 * MySQL server.
36 *
37 * @author Mark Matthews
38 * @version $Id$
39 */
40public final class MysqlDefs {
41        // ~ Static fields/initializers
42        // ---------------------------------------------
43
44        static final int COM_BINLOG_DUMP = 18;
45
46        static final int COM_CHANGE_USER = 17;
47
48        static final int COM_CLOSE_STATEMENT = 25;
49
50        static final int COM_CONNECT_OUT = 20;
51
52        static final int COM_END = 29;
53
54        static final int COM_EXECUTE = 23;
55
56        static final int COM_FETCH = 28;
57
58        static final int COM_LONG_DATA = 24;
59
60        static final int COM_PREPARE = 22;
61
62        static final int COM_REGISTER_SLAVE = 21;
63
64        static final int COM_RESET_STMT = 26;
65
66        static final int COM_SET_OPTION = 27;
67
68        static final int COM_TABLE_DUMP = 19;
69
70        static final int CONNECT = 11;
71
72        static final int CREATE_DB = 5;
73
74        static final int DEBUG = 13;
75
76        static final int DELAYED_INSERT = 16;
77
78        static final int DROP_DB = 6;
79
80        static final int FIELD_LIST = 4;
81
82        static final int FIELD_TYPE_BIT = 16;
83
84        public static final int FIELD_TYPE_BLOB = 252;
85
86        static final int FIELD_TYPE_DATE = 10;
87
88        static final int FIELD_TYPE_DATETIME = 12;
89
90        // Data Types
91        static final int FIELD_TYPE_DECIMAL = 0;
92
93        static final int FIELD_TYPE_DOUBLE = 5;
94
95        static final int FIELD_TYPE_ENUM = 247;
96
97        static final int FIELD_TYPE_FLOAT = 4;
98
99        static final int FIELD_TYPE_GEOMETRY = 255;
100
101        static final int FIELD_TYPE_INT24 = 9;
102
103        static final int FIELD_TYPE_LONG = 3;
104
105        static final int FIELD_TYPE_LONG_BLOB = 251;
106
107        static final int FIELD_TYPE_LONGLONG = 8;
108
109        static final int FIELD_TYPE_MEDIUM_BLOB = 250;
110
111        static final int FIELD_TYPE_NEW_DECIMAL = 246;
112
113        static final int FIELD_TYPE_NEWDATE = 14;
114
115        static final int FIELD_TYPE_NULL = 6;
116
117        static final int FIELD_TYPE_SET = 248;
118
119        static final int FIELD_TYPE_SHORT = 2;
120
121        static final int FIELD_TYPE_STRING = 254;
122
123        static final int FIELD_TYPE_TIME = 11;
124
125        static final int FIELD_TYPE_TIMESTAMP = 7;
126
127        static final int FIELD_TYPE_TINY = 1;
128
129        // Older data types
130        static final int FIELD_TYPE_TINY_BLOB = 249;
131
132        static final int FIELD_TYPE_VAR_STRING = 253;
133
134        static final int FIELD_TYPE_VARCHAR = 15;
135
136        // Newer data types
137        static final int FIELD_TYPE_YEAR = 13;
138
139        static final int INIT_DB = 2;
140
141        static final long LENGTH_BLOB = 65535;
142
143        static final long LENGTH_LONGBLOB = 4294967295L;
144
145        static final long LENGTH_MEDIUMBLOB = 16777215;
146
147        static final long LENGTH_TINYBLOB = 255;
148
149        // Limitations
150        static final int MAX_ROWS = 50000000; // From the MySQL FAQ
151
152        /**
153         * Used to indicate that the server sent no field-level character set
154         * information, so the driver should use the connection-level character
155         * encoding instead.
156         */
157        public static final int NO_CHARSET_INFO = -1;
158
159        static final byte OPEN_CURSOR_FLAG = 1;
160
161        static final int PING = 14;
162
163        static final int PROCESS_INFO = 10;
164
165        static final int PROCESS_KILL = 12;
166
167        static final int QUERY = 3;
168
169        static final int QUIT = 1;
170
171        // ~ Methods
172        // ----------------------------------------------------------------
173
174        static final int RELOAD = 7;
175
176        static final int SHUTDOWN = 8;
177
178        //
179        // Constants defined from mysql
180        //
181        // DB Operations
182        static final int SLEEP = 0;
183
184        static final int STATISTICS = 9;
185
186        static final int TIME = 15;
187
188        /**
189         * Maps the given MySQL type to the correct JDBC type.
190         */
191        static int mysqlToJavaType(int mysqlType) {
192                int jdbcType;
193
194                switch (mysqlType) {
195                case MysqlDefs.FIELD_TYPE_NEW_DECIMAL:
196                case MysqlDefs.FIELD_TYPE_DECIMAL:
197                        jdbcType = Types.DECIMAL;
198
199                        break;
200
201                case MysqlDefs.FIELD_TYPE_TINY:
202                        jdbcType = Types.TINYINT;
203
204                        break;
205
206                case MysqlDefs.FIELD_TYPE_SHORT:
207                        jdbcType = Types.SMALLINT;
208
209                        break;
210
211                case MysqlDefs.FIELD_TYPE_LONG:
212                        jdbcType = Types.INTEGER;
213
214                        break;
215
216                case MysqlDefs.FIELD_TYPE_FLOAT:
217                        jdbcType = Types.REAL;
218
219                        break;
220
221                case MysqlDefs.FIELD_TYPE_DOUBLE:
222                        jdbcType = Types.DOUBLE;
223
224                        break;
225
226                case MysqlDefs.FIELD_TYPE_NULL:
227                        jdbcType = Types.NULL;
228
229                        break;
230
231                case MysqlDefs.FIELD_TYPE_TIMESTAMP:
232                        jdbcType = Types.TIMESTAMP;
233
234                        break;
235
236                case MysqlDefs.FIELD_TYPE_LONGLONG:
237                        jdbcType = Types.BIGINT;
238
239                        break;
240
241                case MysqlDefs.FIELD_TYPE_INT24:
242                        jdbcType = Types.INTEGER;
243
244                        break;
245
246                case MysqlDefs.FIELD_TYPE_DATE:
247                        jdbcType = Types.DATE;
248
249                        break;
250
251                case MysqlDefs.FIELD_TYPE_TIME:
252                        jdbcType = Types.TIME;
253
254                        break;
255
256                case MysqlDefs.FIELD_TYPE_DATETIME:
257                        jdbcType = Types.TIMESTAMP;
258
259                        break;
260
261                case MysqlDefs.FIELD_TYPE_YEAR:
262                        jdbcType = Types.DATE;
263
264                        break;
265
266                case MysqlDefs.FIELD_TYPE_NEWDATE:
267                        jdbcType = Types.DATE;
268
269                        break;
270
271                case MysqlDefs.FIELD_TYPE_ENUM:
272                        jdbcType = Types.CHAR;
273
274                        break;
275
276                case MysqlDefs.FIELD_TYPE_SET:
277                        jdbcType = Types.CHAR;
278
279                        break;
280
281                case MysqlDefs.FIELD_TYPE_TINY_BLOB:
282                        jdbcType = Types.VARBINARY;
283
284                        break;
285
286                case MysqlDefs.FIELD_TYPE_MEDIUM_BLOB:
287                        jdbcType = Types.LONGVARBINARY;
288
289                        break;
290
291                case MysqlDefs.FIELD_TYPE_LONG_BLOB:
292                        jdbcType = Types.LONGVARBINARY;
293
294                        break;
295
296                case MysqlDefs.FIELD_TYPE_BLOB:
297                        jdbcType = Types.LONGVARBINARY;
298
299                        break;
300
301                case MysqlDefs.FIELD_TYPE_VAR_STRING:
302                case MysqlDefs.FIELD_TYPE_VARCHAR:
303                        jdbcType = Types.VARCHAR;
304
305                        break;
306
307                case MysqlDefs.FIELD_TYPE_STRING:
308                        jdbcType = Types.CHAR;
309
310                        break;
311                case MysqlDefs.FIELD_TYPE_GEOMETRY:
312                        jdbcType = Types.BINARY;
313
314                        break;
315                case MysqlDefs.FIELD_TYPE_BIT:
316                        jdbcType = Types.BIT;
317
318                        break;
319                default:
320                        jdbcType = Types.VARCHAR;
321                }
322
323                return jdbcType;
324        }
325
326        /**
327         * Maps the given MySQL type to the correct JDBC type.
328         */
329        static int mysqlToJavaType(String mysqlType) {
330                if (mysqlType.equalsIgnoreCase("BIT")) {
331                        return mysqlToJavaType(FIELD_TYPE_BIT);
332                } else if (mysqlType.equalsIgnoreCase("TINYINT")) { //$NON-NLS-1$
333                        return mysqlToJavaType(FIELD_TYPE_TINY);
334                } else if (mysqlType.equalsIgnoreCase("SMALLINT")) { //$NON-NLS-1$
335                        return mysqlToJavaType(FIELD_TYPE_SHORT);
336                } else if (mysqlType.equalsIgnoreCase("MEDIUMINT")) { //$NON-NLS-1$
337                        return mysqlToJavaType(FIELD_TYPE_INT24);
338                } else if (mysqlType.equalsIgnoreCase("INT") || mysqlType.equalsIgnoreCase("INTEGER")) { //$NON-NLS-1$ //$NON-NLS-2$
339                        return mysqlToJavaType(FIELD_TYPE_LONG);
340                } else if (mysqlType.equalsIgnoreCase("BIGINT")) { //$NON-NLS-1$
341                        return mysqlToJavaType(FIELD_TYPE_LONGLONG);
342                } else if (mysqlType.equalsIgnoreCase("INT24")) { //$NON-NLS-1$
343                        return mysqlToJavaType(FIELD_TYPE_INT24);
344                } else if (mysqlType.equalsIgnoreCase("REAL")) { //$NON-NLS-1$
345                        return mysqlToJavaType(FIELD_TYPE_DOUBLE);
346                } else if (mysqlType.equalsIgnoreCase("FLOAT")) { //$NON-NLS-1$
347                        return mysqlToJavaType(FIELD_TYPE_FLOAT);
348                } else if (mysqlType.equalsIgnoreCase("DECIMAL")) { //$NON-NLS-1$
349                        return mysqlToJavaType(FIELD_TYPE_DECIMAL);
350                } else if (mysqlType.equalsIgnoreCase("NUMERIC")) { //$NON-NLS-1$
351                        return mysqlToJavaType(FIELD_TYPE_DECIMAL);
352                } else if (mysqlType.equalsIgnoreCase("DOUBLE")) { //$NON-NLS-1$
353                        return mysqlToJavaType(FIELD_TYPE_DOUBLE);
354                } else if (mysqlType.equalsIgnoreCase("CHAR")) { //$NON-NLS-1$
355                        return mysqlToJavaType(FIELD_TYPE_STRING);
356                } else if (mysqlType.equalsIgnoreCase("VARCHAR")) { //$NON-NLS-1$
357                        return mysqlToJavaType(FIELD_TYPE_VAR_STRING);
358                } else if (mysqlType.equalsIgnoreCase("DATE")) { //$NON-NLS-1$
359                        return mysqlToJavaType(FIELD_TYPE_DATE);
360                } else if (mysqlType.equalsIgnoreCase("TIME")) { //$NON-NLS-1$
361                        return mysqlToJavaType(FIELD_TYPE_TIME);
362                } else if (mysqlType.equalsIgnoreCase("YEAR")) { //$NON-NLS-1$
363                        return mysqlToJavaType(FIELD_TYPE_YEAR);
364                } else if (mysqlType.equalsIgnoreCase("TIMESTAMP")) { //$NON-NLS-1$
365                        return mysqlToJavaType(FIELD_TYPE_TIMESTAMP);
366                } else if (mysqlType.equalsIgnoreCase("DATETIME")) { //$NON-NLS-1$
367                        return mysqlToJavaType(FIELD_TYPE_DATETIME);
368                } else if (mysqlType.equalsIgnoreCase("TINYBLOB")) { //$NON-NLS-1$
369                        return java.sql.Types.BINARY;
370                } else if (mysqlType.equalsIgnoreCase("BLOB")) { //$NON-NLS-1$
371                        return java.sql.Types.LONGVARBINARY;
372                } else if (mysqlType.equalsIgnoreCase("MEDIUMBLOB")) { //$NON-NLS-1$
373                        return java.sql.Types.LONGVARBINARY;
374                } else if (mysqlType.equalsIgnoreCase("LONGBLOB")) { //$NON-NLS-1$
375                        return java.sql.Types.LONGVARBINARY;
376                } else if (mysqlType.equalsIgnoreCase("TINYTEXT")) { //$NON-NLS-1$
377                        return java.sql.Types.VARCHAR;
378                } else if (mysqlType.equalsIgnoreCase("TEXT")) { //$NON-NLS-1$
379                        return java.sql.Types.LONGVARCHAR;
380                } else if (mysqlType.equalsIgnoreCase("MEDIUMTEXT")) { //$NON-NLS-1$
381                        return java.sql.Types.LONGVARCHAR;
382                } else if (mysqlType.equalsIgnoreCase("LONGTEXT")) { //$NON-NLS-1$
383                        return java.sql.Types.LONGVARCHAR;
384                } else if (mysqlType.equalsIgnoreCase("ENUM")) { //$NON-NLS-1$
385                        return mysqlToJavaType(FIELD_TYPE_ENUM);
386                } else if (mysqlType.equalsIgnoreCase("SET")) { //$NON-NLS-1$
387                        return mysqlToJavaType(FIELD_TYPE_SET);
388                } else if (mysqlType.equalsIgnoreCase("GEOMETRY")) {
389                        return mysqlToJavaType(FIELD_TYPE_GEOMETRY);
390                } else if (mysqlType.equalsIgnoreCase("BINARY")) {
391                        return Types.BINARY; // no concrete type on the wire
392                } else if (mysqlType.equalsIgnoreCase("VARBINARY")) {
393                        return Types.VARBINARY; // no concrete type on the wire
394                } else if (mysqlType.equalsIgnoreCase("BIT")) {
395                        return mysqlToJavaType(FIELD_TYPE_BIT);
396                }
397
398                // Punt
399                return java.sql.Types.OTHER;
400        }
401
402        /**
403         * @param mysqlType
404         * @return
405         */
406        public static String typeToName(int mysqlType) {
407                switch (mysqlType) {
408                case MysqlDefs.FIELD_TYPE_DECIMAL:
409                        return "FIELD_TYPE_DECIMAL";
410
411                case MysqlDefs.FIELD_TYPE_TINY:
412                        return "FIELD_TYPE_TINY";
413
414                case MysqlDefs.FIELD_TYPE_SHORT:
415                        return "FIELD_TYPE_SHORT";
416
417                case MysqlDefs.FIELD_TYPE_LONG:
418                        return "FIELD_TYPE_LONG";
419
420                case MysqlDefs.FIELD_TYPE_FLOAT:
421                        return "FIELD_TYPE_FLOAT";
422
423                case MysqlDefs.FIELD_TYPE_DOUBLE:
424                        return "FIELD_TYPE_DOUBLE";
425
426                case MysqlDefs.FIELD_TYPE_NULL:
427                        return "FIELD_TYPE_NULL";
428
429                case MysqlDefs.FIELD_TYPE_TIMESTAMP:
430                        return "FIELD_TYPE_TIMESTAMP";
431
432                case MysqlDefs.FIELD_TYPE_LONGLONG:
433                        return "FIELD_TYPE_LONGLONG";
434
435                case MysqlDefs.FIELD_TYPE_INT24:
436                        return "FIELD_TYPE_INT24";
437
438                case MysqlDefs.FIELD_TYPE_DATE:
439                        return "FIELD_TYPE_DATE";
440
441                case MysqlDefs.FIELD_TYPE_TIME:
442                        return "FIELD_TYPE_TIME";
443
444                case MysqlDefs.FIELD_TYPE_DATETIME:
445                        return "FIELD_TYPE_DATETIME";
446
447                case MysqlDefs.FIELD_TYPE_YEAR:
448                        return "FIELD_TYPE_YEAR";
449
450                case MysqlDefs.FIELD_TYPE_NEWDATE:
451                        return "FIELD_TYPE_NEWDATE";
452
453                case MysqlDefs.FIELD_TYPE_ENUM:
454                        return "FIELD_TYPE_ENUM";
455
456                case MysqlDefs.FIELD_TYPE_SET:
457                        return "FIELD_TYPE_SET";
458
459                case MysqlDefs.FIELD_TYPE_TINY_BLOB:
460                        return "FIELD_TYPE_TINY_BLOB";
461
462                case MysqlDefs.FIELD_TYPE_MEDIUM_BLOB:
463                        return "FIELD_TYPE_MEDIUM_BLOB";
464
465                case MysqlDefs.FIELD_TYPE_LONG_BLOB:
466                        return "FIELD_TYPE_LONG_BLOB";
467
468                case MysqlDefs.FIELD_TYPE_BLOB:
469                        return "FIELD_TYPE_BLOB";
470
471                case MysqlDefs.FIELD_TYPE_VAR_STRING:
472                        return "FIELD_TYPE_VAR_STRING";
473
474                case MysqlDefs.FIELD_TYPE_STRING:
475                        return "FIELD_TYPE_STRING";
476
477                case MysqlDefs.FIELD_TYPE_VARCHAR:
478                        return "FIELD_TYPE_VARCHAR";
479
480                case MysqlDefs.FIELD_TYPE_GEOMETRY:
481                        return "FIELD_TYPE_GEOMETRY";
482
483                default:
484                        return " Unknown MySQL Type # " + mysqlType;
485                }
486        }
487
488        private static Map<String, Integer> mysqlToJdbcTypesMap = new HashMap<String, Integer>();
489
490        static {
491                mysqlToJdbcTypesMap.put("BIT", Integer.valueOf(
492                                mysqlToJavaType(FIELD_TYPE_BIT)));
493
494                mysqlToJdbcTypesMap.put("TINYINT", Integer.valueOf(
495                                mysqlToJavaType(FIELD_TYPE_TINY)));
496                mysqlToJdbcTypesMap.put("SMALLINT", Integer.valueOf(
497                                mysqlToJavaType(FIELD_TYPE_SHORT)));
498                mysqlToJdbcTypesMap.put("MEDIUMINT", Integer.valueOf(
499                                mysqlToJavaType(FIELD_TYPE_INT24)));
500                mysqlToJdbcTypesMap.put("INT", Integer.valueOf(
501                                mysqlToJavaType(FIELD_TYPE_LONG)));
502                mysqlToJdbcTypesMap.put("INTEGER", Integer.valueOf(
503                                mysqlToJavaType(FIELD_TYPE_LONG)));
504                mysqlToJdbcTypesMap.put("BIGINT", Integer.valueOf(
505                                mysqlToJavaType(FIELD_TYPE_LONGLONG)));
506                mysqlToJdbcTypesMap.put("INT24", Integer.valueOf(
507                                mysqlToJavaType(FIELD_TYPE_INT24)));
508                mysqlToJdbcTypesMap.put("REAL", Integer.valueOf(
509                                mysqlToJavaType(FIELD_TYPE_DOUBLE)));
510                mysqlToJdbcTypesMap.put("FLOAT", Integer.valueOf(
511                                mysqlToJavaType(FIELD_TYPE_FLOAT)));
512                mysqlToJdbcTypesMap.put("DECIMAL", Integer.valueOf(
513                                mysqlToJavaType(FIELD_TYPE_DECIMAL)));
514                mysqlToJdbcTypesMap.put("NUMERIC", Integer.valueOf(
515                                mysqlToJavaType(FIELD_TYPE_DECIMAL)));
516                mysqlToJdbcTypesMap.put("DOUBLE", Integer.valueOf(
517                                mysqlToJavaType(FIELD_TYPE_DOUBLE)));
518                mysqlToJdbcTypesMap.put("CHAR", Integer.valueOf(
519                                mysqlToJavaType(FIELD_TYPE_STRING)));
520                mysqlToJdbcTypesMap.put("VARCHAR", Integer.valueOf(
521                                mysqlToJavaType(FIELD_TYPE_VAR_STRING)));
522                mysqlToJdbcTypesMap.put("DATE", Integer.valueOf(
523                                mysqlToJavaType(FIELD_TYPE_DATE)));
524                mysqlToJdbcTypesMap.put("TIME", Integer.valueOf(
525                                mysqlToJavaType(FIELD_TYPE_TIME)));
526                mysqlToJdbcTypesMap.put("YEAR", Integer.valueOf(
527                                mysqlToJavaType(FIELD_TYPE_YEAR)));
528                mysqlToJdbcTypesMap.put("TIMESTAMP", Integer.valueOf(
529                                mysqlToJavaType(FIELD_TYPE_TIMESTAMP)));
530                mysqlToJdbcTypesMap.put("DATETIME", Integer.valueOf(
531                                mysqlToJavaType(FIELD_TYPE_DATETIME)));
532                mysqlToJdbcTypesMap.put("TINYBLOB", Integer.valueOf(java.sql.Types.BINARY));
533                mysqlToJdbcTypesMap.put("BLOB", Integer.valueOf(
534                                java.sql.Types.LONGVARBINARY));
535                mysqlToJdbcTypesMap.put("MEDIUMBLOB", Integer.valueOf(
536                                java.sql.Types.LONGVARBINARY));
537                mysqlToJdbcTypesMap.put("LONGBLOB", Integer.valueOf(
538                                java.sql.Types.LONGVARBINARY));
539                mysqlToJdbcTypesMap
540                                .put("TINYTEXT", Integer.valueOf(java.sql.Types.VARCHAR));
541                mysqlToJdbcTypesMap
542                                .put("TEXT", Integer.valueOf(java.sql.Types.LONGVARCHAR));
543                mysqlToJdbcTypesMap.put("MEDIUMTEXT", Integer.valueOf(
544                                java.sql.Types.LONGVARCHAR));
545                mysqlToJdbcTypesMap.put("LONGTEXT", Integer.valueOf(
546                                java.sql.Types.LONGVARCHAR));
547                mysqlToJdbcTypesMap.put("ENUM", Integer.valueOf(
548                                mysqlToJavaType(FIELD_TYPE_ENUM)));
549                mysqlToJdbcTypesMap.put("SET", Integer.valueOf(
550                                mysqlToJavaType(FIELD_TYPE_SET)));
551                mysqlToJdbcTypesMap.put("GEOMETRY", Integer.valueOf(
552                                mysqlToJavaType(FIELD_TYPE_GEOMETRY)));
553        }
554
555        static final void appendJdbcTypeMappingQuery(StringBuffer buf, String mysqlTypeColumnName) {
556
557                buf.append("CASE ");
558                Map<String, Integer> typesMap = new HashMap<String, Integer>();
559                typesMap.putAll(mysqlToJdbcTypesMap);
560                typesMap.put("BINARY", Integer.valueOf(Types.BINARY));
561                typesMap.put("VARBINARY", Integer.valueOf(Types.VARBINARY));
562               
563                Iterator<String> mysqlTypes = typesMap.keySet().iterator();
564               
565                while (mysqlTypes.hasNext()) {
566                        String mysqlTypeName = mysqlTypes.next();
567                        buf.append(" WHEN ");
568                        buf.append(mysqlTypeColumnName);
569                        buf.append("='");
570                        buf.append(mysqlTypeName);
571                        buf.append("' THEN ");
572                        buf.append(typesMap.get(mysqlTypeName));
573                       
574                        if (mysqlTypeName.equalsIgnoreCase("DOUBLE") ||
575                                        mysqlTypeName.equalsIgnoreCase("FLOAT") ||
576                                        mysqlTypeName.equalsIgnoreCase("DECIMAL") ||
577                                        mysqlTypeName.equalsIgnoreCase("NUMERIC")) {
578                                buf.append(" WHEN ");
579                                buf.append(mysqlTypeColumnName);
580                                buf.append("='");
581                                buf.append(mysqlTypeName);
582                                buf.append(" unsigned' THEN ");
583                                buf.append(typesMap.get(mysqlTypeName));       
584                        }       
585                }
586               
587                buf.append(" ELSE ");
588                buf.append(Types.OTHER);
589                buf.append(" END ");
590               
591        }
592}
Note: See TracBrowser for help on using the repository browser.