Thread: [Squirrel-sql-commits] sql12/fw/src/net/sourceforge/squirrel_sql/fw/dialects DialectType.java, NON
A Java SQL client for any JDBC compliant database
Brought to you by:
colbell,
gerdwagner
Update of /cvsroot/squirrel-sql/sql12/fw/src/net/sourceforge/squirrel_sql/fw/dialects In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv13305/fw/src/net/sourceforge/squirrel_sql/fw/dialects Modified Files: ProgressDialect.java PointbaseDialect.java HibernateDialect.java PostgreSQLDialect.java AxionDialect.java IngresDialect.java InterbaseDialect.java MAXDBDialect.java FrontBaseDialect.java FirebirdDialect.java H2Dialect.java MySQL5Dialect.java MySQLDialect.java TimesTenDialect.java SybaseDialect.java McKoiDialect.java HADBDialect.java DialectFactory.java InformixDialect.java DB2Dialect.java Oracle9iDialect.java HSQLDialect.java DerbyDialect.java DaffodilDialect.java SQLServerDialect.java Added Files: DialectType.java Log Message: Implemented type-safe enum for capturing the dialect type. In this way, we don't have to pass around ISQLDatabaseMetaData all over the place. This will be associated with ColumnDisplayDefinition so that UI components can get plugin-specific DataTypeComponents from the CellComponentFactory. Index: DialectFactory.java =================================================================== RCS file: /cvsroot/squirrel-sql/sql12/fw/src/net/sourceforge/squirrel_sql/fw/dialects/DialectFactory.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** DialectFactory.java 1 Sep 2007 16:04:33 -0000 1.6 --- DialectFactory.java 4 Dec 2007 01:17:49 -0000 1.7 *************** *** 21,24 **** --- 21,25 ---- import java.io.PrintWriter; import java.io.StringWriter; + import java.sql.SQLException; import java.util.Arrays; import java.util.Collection; *************** *** 239,242 **** --- 240,270 ---- /** + * Returns a DialectType for the specified ISQLDatabaseMetaData + * + * @param md the metadata to use to determine the dialect type + * + * @return a dialect type + */ + public static DialectType getDialectType(ISQLDatabaseMetaData md) { + HibernateDialect dialect = null; + try { + dialect = getDialect(md); + } catch (UnknownDialectException e) { + try { + s_log.error("getDialectType: Unknown dialect for product=" + + md.getDatabaseProductName() + " version=" + + md.getDatabaseProductVersion()+" - "+e.getMessage(), e); + } catch (SQLException ex) { + s_log.error("getDialectType: unable to get database " + + "product/version: " + ex.getMessage(), ex); + } + } + if (dialect == null) { + return DialectType.UNKNOWN; + } + return dialect.getDialectType(); + } + + /** * Examines the driver class name from the specified session to see if it * begins with any of the space-delimited string tokens in the specified Index: DB2Dialect.java =================================================================== RCS file: /cvsroot/squirrel-sql/sql12/fw/src/net/sourceforge/squirrel_sql/fw/dialects/DB2Dialect.java,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** DB2Dialect.java 1 Sep 2007 16:04:48 -0000 1.21 --- DB2Dialect.java 4 Dec 2007 01:17:49 -0000 1.22 *************** *** 539,541 **** --- 539,548 ---- } + /** + * @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getDialectType() + */ + public DialectType getDialectType() { + return DialectType.DB2; + } + } Index: HADBDialect.java =================================================================== RCS file: /cvsroot/squirrel-sql/sql12/fw/src/net/sourceforge/squirrel_sql/fw/dialects/HADBDialect.java,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** HADBDialect.java 25 Jul 2007 07:51:13 -0000 1.12 --- HADBDialect.java 4 Dec 2007 01:17:49 -0000 1.13 *************** *** 420,423 **** --- 420,430 ---- return DialectUtils.getCreateTableSQL(tables, md, this, prefs, isJdbcOdbc); } + + /** + * @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getDialectType() + */ + public DialectType getDialectType() { + return DialectType.HADB; + } } Index: SybaseDialect.java =================================================================== RCS file: /cvsroot/squirrel-sql/sql12/fw/src/net/sourceforge/squirrel_sql/fw/dialects/SybaseDialect.java,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** SybaseDialect.java 7 Jul 2007 18:19:37 -0000 1.21 --- SybaseDialect.java 4 Dec 2007 01:17:49 -0000 1.22 *************** *** 467,470 **** --- 467,477 ---- return DialectUtils.getCreateTableSQL(tables, md, this, prefs, isJdbcOdbc); } + + /** + * @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getDialectType() + */ + public DialectType getDialectType() { + return DialectType.SYBASEASE; + } } Index: InformixDialect.java =================================================================== RCS file: /cvsroot/squirrel-sql/sql12/fw/src/net/sourceforge/squirrel_sql/fw/dialects/InformixDialect.java,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** InformixDialect.java 5 Jun 2007 03:48:38 -0000 1.20 --- InformixDialect.java 4 Dec 2007 01:17:49 -0000 1.21 *************** *** 467,470 **** --- 467,477 ---- return DialectUtils.getCreateTableSQL(tables, md, this, prefs, isJdbcOdbc); } + + /** + * @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getDialectType() + */ + public DialectType getDialectType() { + return DialectType.INFORMIX; + } } Index: HSQLDialect.java =================================================================== RCS file: /cvsroot/squirrel-sql/sql12/fw/src/net/sourceforge/squirrel_sql/fw/dialects/HSQLDialect.java,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** HSQLDialect.java 7 Jul 2007 18:19:38 -0000 1.21 --- HSQLDialect.java 4 Dec 2007 01:17:49 -0000 1.22 *************** *** 476,478 **** --- 476,485 ---- } + /** + * @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getDialectType() + */ + public DialectType getDialectType() { + return DialectType.HSQLDB; + } + } Index: ProgressDialect.java =================================================================== RCS file: /cvsroot/squirrel-sql/sql12/fw/src/net/sourceforge/squirrel_sql/fw/dialects/ProgressDialect.java,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** ProgressDialect.java 2 Jul 2007 10:21:35 -0000 1.16 --- ProgressDialect.java 4 Dec 2007 01:17:48 -0000 1.17 *************** *** 426,429 **** --- 426,436 ---- return DialectUtils.getCreateTableSQL(tables, md, this, prefs, isJdbcOdbc); } + + /** + * @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getDialectType() + */ + public DialectType getDialectType() { + return DialectType.PROGRESS; + } } Index: MAXDBDialect.java =================================================================== RCS file: /cvsroot/squirrel-sql/sql12/fw/src/net/sourceforge/squirrel_sql/fw/dialects/MAXDBDialect.java,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** MAXDBDialect.java 7 Jul 2007 18:19:38 -0000 1.19 --- MAXDBDialect.java 4 Dec 2007 01:17:48 -0000 1.20 *************** *** 442,445 **** --- 442,452 ---- return DialectUtils.getCreateTableSQL(tables, md, this, prefs, isJdbcOdbc); } + + /** + * @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getDialectType() + */ + public DialectType getDialectType() { + return DialectType.MAXDB; + } } Index: McKoiDialect.java =================================================================== RCS file: /cvsroot/squirrel-sql/sql12/fw/src/net/sourceforge/squirrel_sql/fw/dialects/McKoiDialect.java,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** McKoiDialect.java 5 Jun 2007 03:48:38 -0000 1.16 --- McKoiDialect.java 4 Dec 2007 01:17:49 -0000 1.17 *************** *** 418,421 **** --- 418,428 ---- return DialectUtils.getCreateTableSQL(tables, md, this, prefs, isJdbcOdbc); } + + /** + * @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getDialectType() + */ + public DialectType getDialectType() { + return DialectType.MCKOI; + } } Index: H2Dialect.java =================================================================== RCS file: /cvsroot/squirrel-sql/sql12/fw/src/net/sourceforge/squirrel_sql/fw/dialects/H2Dialect.java,v retrieving revision 1.25 retrieving revision 1.26 diff -C2 -d -r1.25 -r1.26 *** H2Dialect.java 7 Jul 2007 18:19:38 -0000 1.25 --- H2Dialect.java 4 Dec 2007 01:17:49 -0000 1.26 *************** *** 694,697 **** --- 694,704 ---- } + /** + * @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getDialectType() + */ + public DialectType getDialectType() { + return DialectType.H2; + } + } Index: SQLServerDialect.java =================================================================== RCS file: /cvsroot/squirrel-sql/sql12/fw/src/net/sourceforge/squirrel_sql/fw/dialects/SQLServerDialect.java,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -d -r1.18 -r1.19 *** SQLServerDialect.java 7 Jul 2007 18:19:38 -0000 1.18 --- SQLServerDialect.java 4 Dec 2007 01:17:50 -0000 1.19 *************** *** 467,470 **** --- 467,477 ---- } + /** + * @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getDialectType() + */ + public DialectType getDialectType() { + return DialectType.MSSQL; + } + } Index: MySQLDialect.java =================================================================== RCS file: /cvsroot/squirrel-sql/sql12/fw/src/net/sourceforge/squirrel_sql/fw/dialects/MySQLDialect.java,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** MySQLDialect.java 7 Jul 2007 18:19:38 -0000 1.19 --- MySQLDialect.java 4 Dec 2007 01:17:49 -0000 1.20 *************** *** 516,518 **** --- 516,525 ---- } + /** + * @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getDialectType() + */ + public DialectType getDialectType() { + return DialectType.MYSQL; + } + } Index: FirebirdDialect.java =================================================================== RCS file: /cvsroot/squirrel-sql/sql12/fw/src/net/sourceforge/squirrel_sql/fw/dialects/FirebirdDialect.java,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -d -r1.18 -r1.19 *** FirebirdDialect.java 5 Jun 2007 03:48:38 -0000 1.18 --- FirebirdDialect.java 4 Dec 2007 01:17:49 -0000 1.19 *************** *** 442,444 **** --- 442,451 ---- } + /** + * @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getDialectType() + */ + public DialectType getDialectType() { + return DialectType.FIREBIRD; + } + } Index: Oracle9iDialect.java =================================================================== RCS file: /cvsroot/squirrel-sql/sql12/fw/src/net/sourceforge/squirrel_sql/fw/dialects/Oracle9iDialect.java,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** Oracle9iDialect.java 5 Jun 2007 03:48:38 -0000 1.19 --- Oracle9iDialect.java 4 Dec 2007 01:17:49 -0000 1.20 *************** *** 528,531 **** --- 528,538 ---- return DialectUtils.getCreateTableSQL(tables, md, this, prefs, isJdbcOdbc); } + + /** + * @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getDialectType() + */ + public DialectType getDialectType() { + return DialectType.ORACLE; + } } --- NEW FILE: DialectType.java --- /* * Copyright (C) 2007 Rob Manning * man...@us... * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package net.sourceforge.squirrel_sql.fw.dialects; /** * An enumeration class that provides an entry for each database that we have a * HibernateDialect (SQuirreL's version) implemented. * * @author manningr */ public enum DialectType { AXION, DAFFODIL, DB2, DERBY, FIREBIRD, FRONTBASE, HADB, HSQLDB, H2, INFORMIX, INGRES, INTERBASE, MAXDB, MCKOI, MSSQL, MYSQL, // MySQL 4.x and below MYSQL5, // MySQL 5.x and above ORACLE, POINTBASE, POSTGRES, PROGRESS, SYBASEASE, // Sybase Adaptive Server Enterprise TIMESTEN, UNKNOWN } Index: AxionDialect.java =================================================================== RCS file: /cvsroot/squirrel-sql/sql12/fw/src/net/sourceforge/squirrel_sql/fw/dialects/AxionDialect.java,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** AxionDialect.java 5 Jun 2007 03:48:38 -0000 1.17 --- AxionDialect.java 4 Dec 2007 01:17:48 -0000 1.18 *************** *** 437,439 **** --- 437,448 ---- return DialectUtils.getCreateTableSQL(tables, md, this, prefs, isJdbcOdbc); } + + /** + * @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getDialectType() + */ + public DialectType getDialectType() { + return DialectType.AXION; + } + + } Index: TimesTenDialect.java =================================================================== RCS file: /cvsroot/squirrel-sql/sql12/fw/src/net/sourceforge/squirrel_sql/fw/dialects/TimesTenDialect.java,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** TimesTenDialect.java 5 Jun 2007 03:48:38 -0000 1.15 --- TimesTenDialect.java 4 Dec 2007 01:17:49 -0000 1.16 *************** *** 432,434 **** --- 432,441 ---- } + /** + * @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getDialectType() + */ + public DialectType getDialectType() { + return DialectType.TIMESTEN; + } + } Index: PointbaseDialect.java =================================================================== RCS file: /cvsroot/squirrel-sql/sql12/fw/src/net/sourceforge/squirrel_sql/fw/dialects/PointbaseDialect.java,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** PointbaseDialect.java 5 Jun 2007 03:48:38 -0000 1.17 --- PointbaseDialect.java 4 Dec 2007 01:17:48 -0000 1.18 *************** *** 418,421 **** --- 418,428 ---- return DialectUtils.getCreateTableSQL(tables, md, this, prefs, isJdbcOdbc); } + + /** + * @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getDialectType() + */ + public DialectType getDialectType() { + return DialectType.POINTBASE; + } } Index: FrontBaseDialect.java =================================================================== RCS file: /cvsroot/squirrel-sql/sql12/fw/src/net/sourceforge/squirrel_sql/fw/dialects/FrontBaseDialect.java,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -d -r1.18 -r1.19 *** FrontBaseDialect.java 5 Nov 2007 01:14:07 -0000 1.18 --- FrontBaseDialect.java 4 Dec 2007 01:17:49 -0000 1.19 *************** *** 466,468 **** --- 466,475 ---- } + /** + * @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getDialectType() + */ + public DialectType getDialectType() { + return DialectType.FRONTBASE; + } + } Index: HibernateDialect.java =================================================================== RCS file: /cvsroot/squirrel-sql/sql12/fw/src/net/sourceforge/squirrel_sql/fw/dialects/HibernateDialect.java,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** HibernateDialect.java 5 Jun 2007 03:48:38 -0000 1.15 --- HibernateDialect.java 4 Dec 2007 01:17:48 -0000 1.16 *************** *** 34,38 **** */ public interface HibernateDialect { ! /** * Get the name of the database type associated with the given --- 34,38 ---- */ public interface HibernateDialect { ! /** * Get the name of the database type associated with the given *************** *** 379,383 **** ISQLDatabaseMetaData md, CreateScriptPreferences prefs, ! boolean isJdbcOdbc) throws SQLException; } --- 379,390 ---- ISQLDatabaseMetaData md, CreateScriptPreferences prefs, ! boolean isJdbcOdbc) throws SQLException; ! ! /** ! * Returns the DialectType enum value associated with this dialect. ! * ! * @return the DialectType ! */ ! DialectType getDialectType(); } Index: InterbaseDialect.java =================================================================== RCS file: /cvsroot/squirrel-sql/sql12/fw/src/net/sourceforge/squirrel_sql/fw/dialects/InterbaseDialect.java,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** InterbaseDialect.java 7 Jul 2007 18:19:38 -0000 1.15 --- InterbaseDialect.java 4 Dec 2007 01:17:48 -0000 1.16 *************** *** 411,413 **** --- 411,420 ---- } + /** + * @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getDialectType() + */ + public DialectType getDialectType() { + return DialectType.INTERBASE; + } + } Index: MySQL5Dialect.java =================================================================== RCS file: /cvsroot/squirrel-sql/sql12/fw/src/net/sourceforge/squirrel_sql/fw/dialects/MySQL5Dialect.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** MySQL5Dialect.java 15 Jul 2007 11:27:41 -0000 1.1 --- MySQL5Dialect.java 4 Dec 2007 01:17:49 -0000 1.2 *************** *** 35,38 **** --- 35,44 ---- } + /** + * @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getDialectType() + */ + public DialectType getDialectType() { + return DialectType.MYSQL5; + } } Index: PostgreSQLDialect.java =================================================================== RCS file: /cvsroot/squirrel-sql/sql12/fw/src/net/sourceforge/squirrel_sql/fw/dialects/PostgreSQLDialect.java,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** PostgreSQLDialect.java 7 Jul 2007 18:19:38 -0000 1.19 --- PostgreSQLDialect.java 4 Dec 2007 01:17:48 -0000 1.20 *************** *** 479,482 **** --- 479,489 ---- } + /** + * @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getDialectType() + */ + public DialectType getDialectType() { + return DialectType.POSTGRES; + } + } Index: DerbyDialect.java =================================================================== RCS file: /cvsroot/squirrel-sql/sql12/fw/src/net/sourceforge/squirrel_sql/fw/dialects/DerbyDialect.java,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** DerbyDialect.java 7 Jul 2007 18:19:38 -0000 1.19 --- DerbyDialect.java 4 Dec 2007 01:17:49 -0000 1.20 *************** *** 447,449 **** --- 447,456 ---- } + /** + * @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getDialectType() + */ + public DialectType getDialectType() { + return DialectType.DERBY; + } + } Index: IngresDialect.java =================================================================== RCS file: /cvsroot/squirrel-sql/sql12/fw/src/net/sourceforge/squirrel_sql/fw/dialects/IngresDialect.java,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -d -r1.18 -r1.19 *** IngresDialect.java 7 Jul 2007 18:19:38 -0000 1.18 --- IngresDialect.java 4 Dec 2007 01:17:48 -0000 1.19 *************** *** 482,484 **** --- 482,491 ---- } + /** + * @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getDialectType() + */ + public DialectType getDialectType() { + return DialectType.INGRES; + } + } Index: DaffodilDialect.java =================================================================== RCS file: /cvsroot/squirrel-sql/sql12/fw/src/net/sourceforge/squirrel_sql/fw/dialects/DaffodilDialect.java,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -d -r1.18 -r1.19 *** DaffodilDialect.java 25 Jul 2007 07:51:13 -0000 1.18 --- DaffodilDialect.java 4 Dec 2007 01:17:49 -0000 1.19 *************** *** 464,466 **** --- 464,473 ---- } + /** + * @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getDialectType() + */ + public DialectType getDialectType() { + return DialectType.DAFFODIL; + } + } |