Update of /cvsroot/squirrel-sql/sql12/fw/src/net/sourceforge/squirrel_sql/fw/dialects
In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv29519/fw/src/net/sourceforge/squirrel_sql/fw/dialects
Modified Files:
DialectType.java DialectFactory.java
Added Files:
NetezzaDialextExt.java
Log Message:
New (incomplete) dialect for Netezza NPS v4.6 rdbms.
Index: DialectFactory.java
===================================================================
RCS file: /cvsroot/squirrel-sql/sql12/fw/src/net/sourceforge/squirrel_sql/fw/dialects/DialectFactory.java,v
retrieving revision 1.14
retrieving revision 1.15
diff -C2 -d -r1.14 -r1.15
*** DialectFactory.java 22 Sep 2008 10:02:55 -0000 1.14
--- DialectFactory.java 25 Dec 2009 02:58:30 -0000 1.15
***************
*** 38,325 ****
/**
! * This class maps SQLDatabaseMetaData instances to their corresponding
! * Hibernate dialect.
*/
! public class DialectFactory {
! /** this is used to indicate that the sesion is being copied from */
! public static final int SOURCE_TYPE = 0;
!
! /** this is used to indicate that the sesion is being copied to */
! public static final int DEST_TYPE = 1;
!
! /** Logger for this class. */
! private final static ILogger s_log =
! LoggerController.createLogger(DialectFactory.class);
!
! private static final AxionDialectExt axionDialect = new AxionDialectExt();
!
! private static final DB2DialectExt db2Dialect = new DB2DialectExt();
!
! // TODO: subclass these hibernate dialects to provide the "canPasteTo"
! // api method in HibernateDialect interface.
! //private static final DB2390Dialect db2390Dialect = new DB2390Dialect();
!
! //private static final DB2400Dialect db2400Dialect = new DB2400Dialect();
!
! private static final DaffodilDialectExt daffodilDialect = new DaffodilDialectExt();
!
! private static final DerbyDialectExt derbyDialect = new DerbyDialectExt();
!
! private static final FirebirdDialectExt firebirdDialect = new FirebirdDialectExt();
!
! private static final FrontBaseDialectExt frontbaseDialect = new FrontBaseDialectExt();
!
! private static final GenericDialectExt genericDialect = new GenericDialectExt();
!
! private static final HADBDialectExt hadbDialect = new HADBDialectExt();
!
! private static final H2DialectExt h2Dialect = new H2DialectExt();
!
! private static final HSQLDialectExt hsqlDialect = new HSQLDialectExt();
!
! private static final InformixDialectExt informixDialect = new InformixDialectExt();
!
! private static final InterbaseDialectExt interbaseDialect = new InterbaseDialectExt();
!
! private static final IngresDialectExt ingresDialect = new IngresDialectExt();
!
! private static final MAXDBDialectExt maxDbDialect = new MAXDBDialectExt();
!
! private static final McKoiDialectExt mckoiDialect = new McKoiDialectExt();
!
! private static final MySQLDialectExt mysqlDialect = new MySQLDialectExt();
!
! private static final MySQL5DialectExt mysql5Dialect = new MySQL5DialectExt();
!
! private static final OracleDialectExt oracle9iDialect = new OracleDialectExt();
!
! private static final PointbaseDialectExt pointbaseDialect =
! new PointbaseDialectExt();
!
! private static final PostgreSQLDialectExt postgreSQLDialect =
! new PostgreSQLDialectExt();
! private static final ProgressDialectExt progressDialect = new ProgressDialectExt();
!
! private static final SybaseDialectExt sybaseDialect = new SybaseDialectExt();
!
! private static final SQLServerDialectExt sqlserverDialect = new SQLServerDialectExt();
!
! private static final TimesTenDialectExt timestenDialect = new TimesTenDialectExt();
! private static final IntersystemsCacheDialectExt intersystemsCacheDialectExt = new IntersystemsCacheDialectExt();
! private static HashMap<String, HibernateDialect> dbNameDialectMap =
! new HashMap<String, HibernateDialect>();
!
! public static boolean isPromptForDialect = false;
!
! /** Internationalized strings for this class. */
! private static final StringManager s_stringMgr =
! StringManagerFactory.getStringManager(DialectFactory.class);
!
! private static IDialogUtils dialogUtils = new DialogUtils();
! public static void setDialogUtils(IDialogUtils dialogUtils) {
! DialectFactory.dialogUtils = dialogUtils;
! }
!
! /**
! * The keys to dbNameDialectMap are displayed to the user in the dialect
! * chooser widget, so be sure to use something that is intelligable to
! * an end user
! */
! static {
! dbNameDialectMap.put(axionDialect.getDisplayName(), axionDialect);
! dbNameDialectMap.put(db2Dialect.getDisplayName(), db2Dialect);
! //dbNameDialectMap.put("DB2/390", db2390Dialect);
! //dbNameDialectMap.put("DB2/400", db2400Dialect);
! dbNameDialectMap.put(daffodilDialect.getDisplayName(), daffodilDialect);
! dbNameDialectMap.put(derbyDialect.getDisplayName(), derbyDialect);
! dbNameDialectMap.put(firebirdDialect.getDisplayName(), firebirdDialect);
! dbNameDialectMap.put(frontbaseDialect.getDisplayName(), frontbaseDialect);
! dbNameDialectMap.put(hadbDialect.getDisplayName(), hadbDialect);
! dbNameDialectMap.put(hsqlDialect.getDisplayName(), hsqlDialect);
! dbNameDialectMap.put(h2Dialect.getDisplayName(), h2Dialect);
! dbNameDialectMap.put(informixDialect.getDisplayName(), informixDialect);
! dbNameDialectMap.put(ingresDialect.getDisplayName(), ingresDialect);
! dbNameDialectMap.put(interbaseDialect.getDisplayName(), interbaseDialect);
! dbNameDialectMap.put(maxDbDialect.getDisplayName(), maxDbDialect);
! dbNameDialectMap.put(mckoiDialect.getDisplayName(), mckoiDialect);
! dbNameDialectMap.put(sqlserverDialect.getDisplayName(), sqlserverDialect);
! dbNameDialectMap.put(mysqlDialect.getDisplayName(), mysqlDialect);
! dbNameDialectMap.put(oracle9iDialect.getDisplayName(), oracle9iDialect);
! dbNameDialectMap.put(pointbaseDialect.getDisplayName(), pointbaseDialect);
! dbNameDialectMap.put(postgreSQLDialect.getDisplayName(), postgreSQLDialect);
! dbNameDialectMap.put(progressDialect.getDisplayName(), progressDialect);
! dbNameDialectMap.put(sybaseDialect.getDisplayName(), sybaseDialect);
! dbNameDialectMap.put(timestenDialect.getDisplayName(), timestenDialect);
! dbNameDialectMap.put(intersystemsCacheDialectExt.getDisplayName(), intersystemsCacheDialectExt);
! }
!
! public static boolean isAxion(ISQLDatabaseMetaData md) {
! return dialectSupportsProduct(md, axionDialect);
! }
!
! public static boolean isDaffodil(ISQLDatabaseMetaData md) {
! return dialectSupportsProduct(md, daffodilDialect);
! }
!
! public static boolean isDB2(ISQLDatabaseMetaData md) {
! return dialectSupportsProduct(md, db2Dialect);
! }
! public static boolean isDerby(ISQLDatabaseMetaData md) {
! return dialectSupportsProduct(md, derbyDialect);
! }
!
! public static boolean isFirebird(ISQLDatabaseMetaData md) {
! return dialectSupportsProduct(md, firebirdDialect);
! }
!
! public static boolean isFrontBase(ISQLDatabaseMetaData md) {
! return dialectSupportsProduct(md, frontbaseDialect);
! }
! public static boolean isHADB(ISQLDatabaseMetaData md) {
! return dialectSupportsProduct(md, hadbDialect);
! }
!
! public static boolean isH2(ISQLDatabaseMetaData md) {
! return dialectSupportsProduct(md, h2Dialect);
! }
!
! public static boolean isHSQL(ISQLDatabaseMetaData md) {
! return dialectSupportsProduct(md, hsqlDialect);
! }
! public static boolean isInformix(ISQLDatabaseMetaData md) {
! return dialectSupportsProduct(md, informixDialect);
! }
!
! public static boolean isIngres(ISQLDatabaseMetaData md) {
! return dialectSupportsProduct(md, ingresDialect);
! }
! public static boolean isInterbase(ISQLDatabaseMetaData md) {
! return dialectSupportsProduct(md, interbaseDialect);
! }
!
! public static boolean isMaxDB(ISQLDatabaseMetaData md) {
! return dialectSupportsProduct(md, maxDbDialect);
! }
!
! public static boolean isMcKoi(ISQLDatabaseMetaData md) {
! return dialectSupportsProduct(md, mckoiDialect);
! }
! public static boolean isMSSQLServer(ISQLDatabaseMetaData md) {
! return dialectSupportsProduct(md, sqlserverDialect);
! }
!
! public static boolean isMySQL(ISQLDatabaseMetaData md) {
! return dialectSupportsProduct(md, mysqlDialect);
! }
! public static boolean isMySQL5(ISQLDatabaseMetaData md) {
! return dialectSupportsProduct(md, mysql5Dialect);
! }
!
! public static boolean isOracle(ISQLDatabaseMetaData md) {
! return dialectSupportsProduct(md, oracle9iDialect);
! }
!
! public static boolean isPointbase(ISQLDatabaseMetaData md) {
! return dialectSupportsProduct(md, pointbaseDialect);
! }
! public static boolean isPostgreSQL(ISQLDatabaseMetaData md) {
! return dialectSupportsProduct(md, postgreSQLDialect);
! }
!
! public static boolean isProgress(ISQLDatabaseMetaData md) {
! return dialectSupportsProduct(md, progressDialect);
! }
!
! public static boolean isSyBase(ISQLDatabaseMetaData md) {
! return dialectSupportsProduct(md, sybaseDialect);
! }
!
! public static boolean isTimesTen(ISQLDatabaseMetaData md) {
! return dialectSupportsProduct(md, timestenDialect);
! }
!
! public static boolean isIntersystemsCacheDialectExt(ISQLDatabaseMetaData md) {
! return dialectSupportsProduct(md, intersystemsCacheDialectExt);
! }
! /**
! * 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 = getDialect(md);
! 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
! * nameToMatch.
! *
! * @param session the ISession to check
! * @param nameToMatch a space-delimited string of driver class package
! * prefixes
! * @return true if there is a match of any string in the nameToMatch and
! * the ISession's driver class name; false otherwise.
! */
! private static boolean dialectSupportsProduct(ISQLDatabaseMetaData data,
! HibernateDialect dialect)
! {
! boolean result = false;
! if (data != null && dialect != null) {
! try {
! String productName = data.getDatabaseProductName();
! String productVersion = data.getDatabaseProductVersion();
! result = dialect.supportsProduct(productName, productVersion);
! } catch (Exception e) {
! s_log.error(
! "Encountered unexpected exception while attempting to " +
! "determine database product name/version: "+e.getMessage());
! if (s_log.isDebugEnabled()) {
! StringWriter s = new StringWriter();
! PrintWriter p = new PrintWriter(s);
! e.printStackTrace(p);
! s_log.debug(s.getBuffer().toString());
! }
! }
! }
! return result;
! }
!
! public static HibernateDialect getDialect(String dbName) {
! return dbNameDialectMap.get(dbName);
! }
!
! public static HibernateDialect getDialectIgnoreCase(String dbName) {
! for (String displayName : dbNameDialectMap.keySet()) {
! if (displayName.toLowerCase().equals(dbName.toLowerCase())) {
! return dbNameDialectMap.get(displayName);
! }
! }
! return null;
! }
!
! /**
! *
! * @param md
! * @return
! */
! public static HibernateDialect getDialect(ISQLDatabaseMetaData md)
! {
! if (isAxion(md)) { return axionDialect; }
if (isDaffodil(md)) { return daffodilDialect; }
if (isDB2(md)) { return db2Dialect; }
--- 38,361 ----
/**
! * This class maps SQLDatabaseMetaData instances to their corresponding Hibernate dialect.
*/
! public class DialectFactory
! {
! /** this is used to indicate that the sesion is being copied from */
! public static final int SOURCE_TYPE = 0;
! /** this is used to indicate that the sesion is being copied to */
! public static final int DEST_TYPE = 1;
! /** Logger for this class. */
! private final static ILogger s_log = LoggerController.createLogger(DialectFactory.class);
! private static final AxionDialectExt axionDialect = new AxionDialectExt();
! private static final DB2DialectExt db2Dialect = new DB2DialectExt();
! // TODO: subclass these hibernate dialects to provide the "canPasteTo"
! // api method in HibernateDialect interface.
! // private static final DB2390Dialect db2390Dialect = new DB2390Dialect();
! // private static final DB2400Dialect db2400Dialect = new DB2400Dialect();
! private static final DaffodilDialectExt daffodilDialect = new DaffodilDialectExt();
! private static final DerbyDialectExt derbyDialect = new DerbyDialectExt();
! private static final FirebirdDialectExt firebirdDialect = new FirebirdDialectExt();
! private static final FrontBaseDialectExt frontbaseDialect = new FrontBaseDialectExt();
! private static final GenericDialectExt genericDialect = new GenericDialectExt();
!
! private static final HADBDialectExt hadbDialect = new HADBDialectExt();
!
! private static final H2DialectExt h2Dialect = new H2DialectExt();
!
! private static final HSQLDialectExt hsqlDialect = new HSQLDialectExt();
!
! private static final InformixDialectExt informixDialect = new InformixDialectExt();
!
! private static final InterbaseDialectExt interbaseDialect = new InterbaseDialectExt();
!
! private static final IngresDialectExt ingresDialect = new IngresDialectExt();
!
! private static final MAXDBDialectExt maxDbDialect = new MAXDBDialectExt();
!
! private static final McKoiDialectExt mckoiDialect = new McKoiDialectExt();
!
! private static final MySQLDialectExt mysqlDialect = new MySQLDialectExt();
!
! private static final MySQL5DialectExt mysql5Dialect = new MySQL5DialectExt();
!
! private static final NetezzaDialextExt netezzaDialect = new NetezzaDialextExt();
!
! private static final OracleDialectExt oracle9iDialect = new OracleDialectExt();
!
! private static final PointbaseDialectExt pointbaseDialect = new PointbaseDialectExt();
!
! private static final PostgreSQLDialectExt postgreSQLDialect = new PostgreSQLDialectExt();
!
! private static final ProgressDialectExt progressDialect = new ProgressDialectExt();
!
! private static final SybaseDialectExt sybaseDialect = new SybaseDialectExt();
!
! private static final SQLServerDialectExt sqlserverDialect = new SQLServerDialectExt();
!
! private static final TimesTenDialectExt timestenDialect = new TimesTenDialectExt();
!
! private static final IntersystemsCacheDialectExt intersystemsCacheDialectExt =
! new IntersystemsCacheDialectExt();
!
! private static HashMap<String, HibernateDialect> dbNameDialectMap =
! new HashMap<String, HibernateDialect>();
!
! public static boolean isPromptForDialect = false;
!
! /** Internationalized strings for this class. */
! private static final StringManager s_stringMgr =
! StringManagerFactory.getStringManager(DialectFactory.class);
!
! private static IDialogUtils dialogUtils = new DialogUtils();
!
! public static void setDialogUtils(IDialogUtils dialogUtils)
! {
! DialectFactory.dialogUtils = dialogUtils;
! }
!
! /**
! * The keys to dbNameDialectMap are displayed to the user in the dialect chooser widget, so be sure to use
! * something that is intelligable to an end user
! */
! static
! {
! dbNameDialectMap.put(axionDialect.getDisplayName(), axionDialect);
! dbNameDialectMap.put(db2Dialect.getDisplayName(), db2Dialect);
! // dbNameDialectMap.put("DB2/390", db2390Dialect);
! // dbNameDialectMap.put("DB2/400", db2400Dialect);
! dbNameDialectMap.put(daffodilDialect.getDisplayName(), daffodilDialect);
! dbNameDialectMap.put(derbyDialect.getDisplayName(), derbyDialect);
! dbNameDialectMap.put(firebirdDialect.getDisplayName(), firebirdDialect);
! dbNameDialectMap.put(frontbaseDialect.getDisplayName(), frontbaseDialect);
! dbNameDialectMap.put(hadbDialect.getDisplayName(), hadbDialect);
! dbNameDialectMap.put(hsqlDialect.getDisplayName(), hsqlDialect);
! dbNameDialectMap.put(h2Dialect.getDisplayName(), h2Dialect);
! dbNameDialectMap.put(informixDialect.getDisplayName(), informixDialect);
! dbNameDialectMap.put(ingresDialect.getDisplayName(), ingresDialect);
! dbNameDialectMap.put(interbaseDialect.getDisplayName(), interbaseDialect);
! dbNameDialectMap.put(maxDbDialect.getDisplayName(), maxDbDialect);
! dbNameDialectMap.put(mckoiDialect.getDisplayName(), mckoiDialect);
! dbNameDialectMap.put(mysqlDialect.getDisplayName(), mysqlDialect);
! dbNameDialectMap.put(netezzaDialect.getDisplayName(), netezzaDialect);
! dbNameDialectMap.put(oracle9iDialect.getDisplayName(), oracle9iDialect);
! dbNameDialectMap.put(pointbaseDialect.getDisplayName(), pointbaseDialect);
! dbNameDialectMap.put(postgreSQLDialect.getDisplayName(), postgreSQLDialect);
! dbNameDialectMap.put(progressDialect.getDisplayName(), progressDialect);
! dbNameDialectMap.put(sqlserverDialect.getDisplayName(), sqlserverDialect);
! dbNameDialectMap.put(sybaseDialect.getDisplayName(), sybaseDialect);
! dbNameDialectMap.put(timestenDialect.getDisplayName(), timestenDialect);
! dbNameDialectMap.put(intersystemsCacheDialectExt.getDisplayName(), intersystemsCacheDialectExt);
! }
!
! public static boolean isAxion(ISQLDatabaseMetaData md)
! {
! return dialectSupportsProduct(md, axionDialect);
! }
!
! public static boolean isDaffodil(ISQLDatabaseMetaData md)
! {
! return dialectSupportsProduct(md, daffodilDialect);
! }
!
! public static boolean isDB2(ISQLDatabaseMetaData md)
! {
! return dialectSupportsProduct(md, db2Dialect);
! }
!
! public static boolean isDerby(ISQLDatabaseMetaData md)
! {
! return dialectSupportsProduct(md, derbyDialect);
! }
!
! public static boolean isFirebird(ISQLDatabaseMetaData md)
! {
! return dialectSupportsProduct(md, firebirdDialect);
! }
!
! public static boolean isFrontBase(ISQLDatabaseMetaData md)
! {
! return dialectSupportsProduct(md, frontbaseDialect);
! }
!
! public static boolean isHADB(ISQLDatabaseMetaData md)
! {
! return dialectSupportsProduct(md, hadbDialect);
! }
!
! public static boolean isH2(ISQLDatabaseMetaData md)
! {
! return dialectSupportsProduct(md, h2Dialect);
! }
!
! public static boolean isHSQL(ISQLDatabaseMetaData md)
! {
! return dialectSupportsProduct(md, hsqlDialect);
! }
!
! public static boolean isInformix(ISQLDatabaseMetaData md)
! {
! return dialectSupportsProduct(md, informixDialect);
! }
!
! public static boolean isIngres(ISQLDatabaseMetaData md)
! {
! return dialectSupportsProduct(md, ingresDialect);
! }
!
! public static boolean isInterbase(ISQLDatabaseMetaData md)
! {
! return dialectSupportsProduct(md, interbaseDialect);
! }
!
! public static boolean isMaxDB(ISQLDatabaseMetaData md)
! {
! return dialectSupportsProduct(md, maxDbDialect);
! }
!
! public static boolean isMcKoi(ISQLDatabaseMetaData md)
! {
! return dialectSupportsProduct(md, mckoiDialect);
! }
!
! public static boolean isMSSQLServer(ISQLDatabaseMetaData md)
! {
! return dialectSupportsProduct(md, sqlserverDialect);
! }
!
! public static boolean isMySQL(ISQLDatabaseMetaData md)
! {
! return dialectSupportsProduct(md, mysqlDialect);
! }
!
! public static boolean isMySQL5(ISQLDatabaseMetaData md)
! {
! return dialectSupportsProduct(md, mysql5Dialect);
! }
!
! public static boolean isNetezza(ISQLDatabaseMetaData md)
! {
! return dialectSupportsProduct(md, netezzaDialect);
! }
!
! public static boolean isOracle(ISQLDatabaseMetaData md)
! {
! return dialectSupportsProduct(md, oracle9iDialect);
! }
!
! public static boolean isPointbase(ISQLDatabaseMetaData md)
! {
! return dialectSupportsProduct(md, pointbaseDialect);
! }
!
! public static boolean isPostgreSQL(ISQLDatabaseMetaData md)
! {
! return dialectSupportsProduct(md, postgreSQLDialect);
! }
!
! public static boolean isProgress(ISQLDatabaseMetaData md)
! {
! return dialectSupportsProduct(md, progressDialect);
! }
!
! public static boolean isSyBase(ISQLDatabaseMetaData md)
! {
! return dialectSupportsProduct(md, sybaseDialect);
! }
!
! public static boolean isTimesTen(ISQLDatabaseMetaData md)
! {
! return dialectSupportsProduct(md, timestenDialect);
! }
!
! public static boolean isIntersystemsCacheDialectExt(ISQLDatabaseMetaData md)
! {
! return dialectSupportsProduct(md, intersystemsCacheDialectExt);
! }
!
! /**
! * 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 = getDialect(md);
! 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 nameToMatch.
! *
! * @param session
! * the ISession to check
! * @param nameToMatch
! * a space-delimited string of driver class package prefixes
! * @return true if there is a match of any string in the nameToMatch and the ISession's driver class name;
! * false otherwise.
! */
! private static boolean dialectSupportsProduct(ISQLDatabaseMetaData data, HibernateDialect dialect)
! {
! boolean result = false;
! if (data != null && dialect != null)
! {
! try
! {
! String productName = data.getDatabaseProductName();
! String productVersion = data.getDatabaseProductVersion();
! result = dialect.supportsProduct(productName, productVersion);
! }
! catch (Exception e)
! {
! s_log.error("Encountered unexpected exception while attempting to "
! + "determine database product name/version: " + e.getMessage());
! if (s_log.isDebugEnabled())
! {
! StringWriter s = new StringWriter();
! PrintWriter p = new PrintWriter(s);
! e.printStackTrace(p);
! s_log.debug(s.getBuffer().toString());
! }
! }
! }
! return result;
! }
!
! public static HibernateDialect getDialect(String dbName)
! {
! return dbNameDialectMap.get(dbName);
! }
!
! public static HibernateDialect getDialectIgnoreCase(String dbName)
! {
! for (String displayName : dbNameDialectMap.keySet())
! {
! if (displayName.toLowerCase().equals(dbName.toLowerCase())) { return dbNameDialectMap.get(displayName); }
! }
! return null;
! }
!
! /**
! * @param md
! * @return
! */
! public static HibernateDialect getDialect(ISQLDatabaseMetaData md)
! {
! if (isAxion(md)) { return axionDialect; }
if (isDaffodil(md)) { return daffodilDialect; }
if (isDB2(md)) { return db2Dialect; }
***************
*** 338,341 ****
--- 374,378 ----
if (isMySQL5(md)) { return mysql5Dialect; }
if (isMSSQLServer(md)) { return sqlserverDialect; }
+ if (isNetezza(md)) { return netezzaDialect; }
if (isOracle(md)) { return oracle9iDialect; }
if (isPointbase(md)) { return pointbaseDialect; }
***************
*** 345,368 ****
if (isTimesTen(md)) { return timestenDialect; }
if (isIntersystemsCacheDialectExt(md)) { return intersystemsCacheDialectExt; }
! // GenericDialect must be last, since it will claim that it supports any product/version. That is also
// why there is no isGenericDialect - it would always return true if there was one, making it useless.
! return genericDialect;
! }
!
! public static HibernateDialect getDialect(int sessionType,
! JFrame parent,
! ISQLDatabaseMetaData md)
! throws UserCancelledOperationException
! {
! HibernateDialect result = null;
!
! // User doesn't wish for us to try to auto-detect the dest db.
! if (isPromptForDialect) {
! result = showDialectDialog(parent, sessionType);
! } else {
! result = getDialect(md);
! }
! return result;
! }
/**
--- 382,406 ----
if (isTimesTen(md)) { return timestenDialect; }
if (isIntersystemsCacheDialectExt(md)) { return intersystemsCacheDialectExt; }
! // GenericDialect must be last, since it will claim that it supports any product/version. That is also
// why there is no isGenericDialect - it would always return true if there was one, making it useless.
! return genericDialect;
! }
!
! public static HibernateDialect getDialect(int sessionType, JFrame parent, ISQLDatabaseMetaData md)
! throws UserCancelledOperationException
! {
! HibernateDialect result = null;
!
! // User doesn't wish for us to try to auto-detect the dest db.
! if (isPromptForDialect)
! {
! result = showDialectDialog(parent, sessionType);
! }
! else
! {
! result = getDialect(md);
! }
! return result;
! }
/**
***************
*** 379,434 ****
* @return the dialect that the user picked.
*/
! private static HibernateDialect showDialectDialog(JFrame parent,
! int sessionType)
! throws UserCancelledOperationException
! {
! Object[] dbNames = getDbNames();
! String chooserTitle = s_stringMgr.getString("dialectChooseTitle");
! String typeStr = null;
! if (sessionType == SOURCE_TYPE) {
! typeStr = s_stringMgr.getString("sourceSessionTypeName");
! }
! if (sessionType == DEST_TYPE) {
! typeStr = s_stringMgr.getString("destSessionTypeName");
! }
! String message =
! s_stringMgr.getString("dialectDetectFailedMessage", typeStr);
! if (isPromptForDialect) {
! message = s_stringMgr.getString("autoDetectDisabledMessage", typeStr);
! }
!
! String dbName =
dialogUtils.showInputDialog(parent, message, chooserTitle, JOptionPane.INFORMATION_MESSAGE, null,
dbNames, dbNames[0]);
!
! if (dbName == null || "".equals(dbName)) {
! throw new UserCancelledOperationException();
! }
! return dbNameDialectMap.get(dbName);
! }
!
! /**
! * Returns a list of Database server names that can be preented to the
! * user whenever we want the user to pick a dialect.
! *
! * @return
! */
! public static Object[] getDbNames() {
! Set<String> keyset = dbNameDialectMap.keySet();
! Object[] keys = keyset.toArray();
! Arrays.sort(keys);
! return keys;
! }
!
! /**
! * Returns an array of HibernateDialect instances, one for each supported
! * dialect.
! *
! * @return
! */
! public static Object[] getSupportedDialects() {
! Collection<HibernateDialect> c = dbNameDialectMap.values();
! return c.toArray();
! }
!
}
--- 417,472 ----
* @return the dialect that the user picked.
*/
! private static HibernateDialect showDialectDialog(JFrame parent, int sessionType)
! throws UserCancelledOperationException
! {
! Object[] dbNames = getDbNames();
! String chooserTitle = s_stringMgr.getString("dialectChooseTitle");
! String typeStr = null;
! if (sessionType == SOURCE_TYPE)
! {
! typeStr = s_stringMgr.getString("sourceSessionTypeName");
! }
! if (sessionType == DEST_TYPE)
! {
! typeStr = s_stringMgr.getString("destSessionTypeName");
! }
! String message = s_stringMgr.getString("dialectDetectFailedMessage", typeStr);
! if (isPromptForDialect)
! {
! message = s_stringMgr.getString("autoDetectDisabledMessage", typeStr);
! }
!
! String dbName =
dialogUtils.showInputDialog(parent, message, chooserTitle, JOptionPane.INFORMATION_MESSAGE, null,
dbNames, dbNames[0]);
!
! if (dbName == null || "".equals(dbName)) { throw new UserCancelledOperationException(); }
! return dbNameDialectMap.get(dbName);
! }
!
! /**
! * Returns a list of Database server names that can be preented to the user whenever we want the user to
! * pick a dialect.
! *
! * @return
! */
! public static Object[] getDbNames()
! {
! Set<String> keyset = dbNameDialectMap.keySet();
! Object[] keys = keyset.toArray();
! Arrays.sort(keys);
! return keys;
! }
!
! /**
! * Returns an array of HibernateDialect instances, one for each supported dialect.
! *
! * @return
! */
! public static Object[] getSupportedDialects()
! {
! Collection<HibernateDialect> c = dbNameDialectMap.values();
! return c.toArray();
! }
!
}
Index: DialectType.java
===================================================================
RCS file: /cvsroot/squirrel-sql/sql12/fw/src/net/sourceforge/squirrel_sql/fw/dialects/DialectType.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** DialectType.java 6 Dec 2007 03:37:09 -0000 1.2
--- DialectType.java 25 Dec 2009 02:58:30 -0000 1.3
***************
*** 43,46 ****
--- 43,47 ----
MYSQL, // MySQL 4.x and below
MYSQL5, // MySQL 5.x and above
+ NETEZZA,
ORACLE,
POINTBASE,
--- NEW FILE: NetezzaDialextExt.java ---
/*
* Copyright (C) 2009 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;
import static net.sourceforge.squirrel_sql.fw.dialects.DialectUtils.ADD_COLUMN_TYPE;
import static net.sourceforge.squirrel_sql.fw.dialects.DialectUtils.COLUMN_DROP_TYPE;
import static net.sourceforge.squirrel_sql.fw.dialects.DialectUtils.COLUMN_NULL_ALTER_TYPE;
import static net.sourceforge.squirrel_sql.fw.dialects.DialectUtils.COLUMN_TYPE_ALTER_TYPE;
import static net.sourceforge.squirrel_sql.fw.dialects.DialectUtils.CREATE_INDEX_TYPE;
import static net.sourceforge.squirrel_sql.fw.dialects.DialectUtils.DROP_INDEX_TYPE;
import static net.sourceforge.squirrel_sql.fw.dialects.DialectUtils.getUnsupportedMessage;
import java.sql.Types;
import java.util.HashMap;
import java.util.List;
import net.sourceforge.squirrel_sql.fw.sql.ITableInfo;
import net.sourceforge.squirrel_sql.fw.sql.TableColumnInfo;
import org.antlr.stringtemplate.StringTemplate;
import org.hibernate.HibernateException;
/**
* Dialect for the Netezza NPS database server.
*/
public class NetezzaDialextExt extends CommonHibernateDialect
{
// Note that Netezza 4.6 doesn't have support for LOB data types. Under the hood, it appears to use
// PostgreSQL, but with some limitations.
private class NetezzaDialectHelper extends org.hibernate.dialect.PostgreSQLDialect
{
public NetezzaDialectHelper()
{
super();
registerColumnType(Types.BIGINT, "bigint");
registerColumnType(Types.BIT, "bool");
registerColumnType(Types.BOOLEAN, "bool");
registerColumnType(Types.CHAR, 64000, "char($l)");
registerColumnType(Types.CHAR, "char(64000)");
// Netezza 4.6 doesn't support text or any large character object data type
// registerColumnType(Types.CLOB, "text");
registerColumnType(Types.DATE, "date");
registerColumnType(Types.DECIMAL, "decimal($p,2)");
registerColumnType(Types.DOUBLE, "double precision");
registerColumnType(Types.FLOAT, 15, "float($p)");
registerColumnType(Types.FLOAT, "float(15)");
registerColumnType(Types.INTEGER, "int");
// Netezza 4.6 doesn't appear to support bytea or any binary type.
// registerColumnType(Types.LONGVARBINARY, "bytea");
registerColumnType(Types.LONGVARCHAR, "char(64000)");
registerColumnType(Types.NUMERIC, "numeric($p,$s)");
registerColumnType(Types.REAL, "real");
registerColumnType(Types.SMALLINT, "smallint");
registerColumnType(Types.TIME, "time");
registerColumnType(Types.TIMESTAMP, "timestamp");
registerColumnType(Types.TINYINT, "byteint");
// Netezza 4.6 doesn't appear to support bytea or any binary type.
// registerColumnType(Types.VARBINARY, "bytea");
registerColumnType(Types.VARCHAR, 64000, "varchar($l)");
registerColumnType(Types.VARCHAR, "varchar(64000)");
}
}
/** extended hibernate dialect used in this wrapper */
private NetezzaDialectHelper _dialect = new NetezzaDialectHelper();
private String cascadeClause;
@Override
public DialectType getDialectType()
{
return DialectType.NETEZZA;
}
@Override
public String getDisplayName()
{
return "Netezza";
}
@Override
public String getDropSequenceSQL(String sequenceName, boolean cascade, DatabaseObjectQualifier qualifier,
SqlGenerationPreferences prefs)
{
// "DROP SEQUENCE $sequenceName$ $cascade$";
StringTemplate st = new StringTemplate(ST_DROP_SEQUENCE_STYLE_ONE);
HashMap<String, String> valuesMap = DialectUtils.getValuesMap(ST_SEQUENCE_NAME_KEY, sequenceName);
return DialectUtils.bindTemplateAttributes(this, st, valuesMap, qualifier, prefs);
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.CommonHibernateDialect#getMaxPrecision(int)
*/
@Override
public int getMaxPrecision(int dataType)
{
return 38;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.CommonHibernateDialect#getMaxScale(int)
*/
@Override
public int getMaxScale(int dataType)
{
// user guide says scale can be 0 to as large as the precision. It cannot be
// greater than the precision.
return 38;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.CommonHibernateDialect#getPrecisionDigits(int, int)
*/
@Override
public int getPrecisionDigits(int columnSize, int dataType)
{
// Netezza correctly reports the size of the column in digits.
return columnSize;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.CommonHibernateDialect#getTypeName(int, int, int, int)
*/
@Override
public String getTypeName(int code, int length, int precision, int scale) throws HibernateException
{
return _dialect.getTypeName(code, length, precision, scale);
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.CommonHibernateDialect#supportsAccessMethods()
*/
@Override
public boolean supportsAccessMethods()
{
// Access methods have to do with indexes. Since Netezza disallows users from creating or changing
// indexes, this is unsupported
return false;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.CommonHibernateDialect#supportsAddColumn()
*/
@Override
public boolean supportsAddColumn()
{
return false;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.CommonHibernateDialect#supportsAddForeignKeyConstraint()
*/
@Override
public boolean supportsAddForeignKeyConstraint()
{
return true;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.CommonHibernateDialect#supportsAddUniqueConstraint()
*/
@Override
public boolean supportsAddUniqueConstraint()
{
return true;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.CommonHibernateDialect#supportsAlterColumnDefault()
*/
@Override
public boolean supportsAlterColumnDefault()
{
return true;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.CommonHibernateDialect#supportsAlterColumnNull()
*/
@Override
public boolean supportsAlterColumnNull()
{
return false;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.CommonHibernateDialect#supportsAlterColumnType()
*/
@Override
public boolean supportsAlterColumnType()
{
return false;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.CommonHibernateDialect#supportsAlterSequence()
*/
@Override
public boolean supportsAlterSequence()
{
return true;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.CommonHibernateDialect#supportsAutoIncrement()
*/
@Override
public boolean supportsAutoIncrement()
{
return false;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.CommonHibernateDialect#supportsCheckOptionsForViews()
*/
@Override
public boolean supportsCheckOptionsForViews()
{
return false;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.CommonHibernateDialect#supportsColumnComment()
*/
@Override
public boolean supportsColumnComment()
{
return false;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.CommonHibernateDialect#supportsCorrelatedSubQuery()
*/
@Override
public boolean supportsCorrelatedSubQuery()
{
// Although Netezza claims to support correlated sub-queries, the type of sub-query we want is not
// supported:
// update TOTABLE t set t.MYDESC =
// (
// select
// f.MYDESC
// from FROMTABLE f
// where f.myid = t.myid
// )
// Furthermore, the only refactoring that currently uses this is MergeTable which also requires
// add column support, which Netezza also doesn't seem to have.
return false;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.CommonHibernateDialect#supportsCreateIndex()
*/
@Override
public boolean supportsCreateIndex()
{
// Since Netezza disallows users from creating or changing indexes, this is unsupported
return false;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.CommonHibernateDialect#supportsCreateSequence()
*/
@Override
public boolean supportsCreateSequence()
{
return true;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.CommonHibernateDialect#supportsCreateTable()
*/
@Override
public boolean supportsCreateTable()
{
return true;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.CommonHibernateDialect#supportsCreateView()
*/
@Override
public boolean supportsCreateView()
{
return true;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.CommonHibernateDialect#supportsDropColumn()
*/
@Override
public boolean supportsDropColumn()
{
return false;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.CommonHibernateDialect#supportsDropConstraint()
*/
@Override
public boolean supportsDropConstraint()
{
return true;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.CommonHibernateDialect#supportsDropIndex()
*/
@Override
public boolean supportsDropIndex()
{
// Since Netezza disallows users from creating or changing indexes, this is unsupported
return false;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.CommonHibernateDialect#supportsDropSequence()
*/
@Override
public boolean supportsDropSequence()
{
return true;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.CommonHibernateDialect#supportsDropView()
*/
@Override
public boolean supportsDropView()
{
return true;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.CommonHibernateDialect#supportsEmptyTables()
*/
@Override
public boolean supportsEmptyTables()
{
return false;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.CommonHibernateDialect#supportsIndexes()
*/
@Override
public boolean supportsIndexes()
{
// Since Netezza disallows users from creating or changing indexes, this is unsupported
return false;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.CommonHibernateDialect#supportsInsertInto()
*/
@Override
public boolean supportsInsertInto()
{
return true;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.CommonHibernateDialect#supportsMultipleRowInserts()
*/
@Override
public boolean supportsMultipleRowInserts()
{
return false;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.CommonHibernateDialect#supportsProduct(java.lang.String,
* java.lang.String)
*/
@Override
public boolean supportsProduct(String databaseProductName, String databaseProductVersion)
{
if (databaseProductName == null) { return false; }
if (databaseProductName.trim().startsWith("Netezza"))
{
// We don't yet have the need to discriminate by version.
return true;
}
return false;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.CommonHibernateDialect#supportsRenameColumn()
*/
@Override
public boolean supportsRenameColumn()
{
return true;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.CommonHibernateDialect#supportsRenameTable()
*/
@Override
public boolean supportsRenameTable()
{
return true;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.CommonHibernateDialect#supportsRenameView()
*/
@Override
public boolean supportsRenameView()
{
return true;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.CommonHibernateDialect#supportsSchemasInTableDefinition()
*/
@Override
public boolean supportsSchemasInTableDefinition()
{
return true;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.CommonHibernateDialect#supportsSequence()
*/
@Override
public boolean supportsSequence()
{
return true;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.CommonHibernateDialect#supportsSequenceInformation()
*/
@Override
public boolean supportsSequenceInformation()
{
return false;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.CommonHibernateDialect#supportsTablespace()
*/
@Override
public boolean supportsTablespace()
{
return false;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.CommonHibernateDialect#supportsUpdate()
*/
@Override
public boolean supportsUpdate()
{
return true;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.CommonHibernateDialect#supportsViewDefinition()
*/
@Override
public boolean supportsViewDefinition()
{
return true;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.CommonHibernateDialect#getTableDropSQL(net.sourceforge.squirrel_sql.fw.sql.ITableInfo,
* boolean, boolean, net.sourceforge.squirrel_sql.fw.dialects.DatabaseObjectQualifier,
* net.sourceforge.squirrel_sql.fw.dialects.SqlGenerationPreferences)
*/
@Override
public List<String> getTableDropSQL(ITableInfo tableInfo, boolean cascadeConstraints,
boolean isMaterializedView, DatabaseObjectQualifier qualifier, SqlGenerationPreferences prefs)
{
final boolean supportsCascade = false;
final boolean supportsMatViews = true;
return DialectUtils.getTableDropSQL(tableInfo, supportsCascade, cascadeConstraints, supportsMatViews,
cascadeClause, isMaterializedView, qualifier, prefs, this);
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.CommonHibernateDialect#getColumnDropSQL(java.lang.String,
* java.lang.String, net.sourceforge.squirrel_sql.fw.dialects.DatabaseObjectQualifier,
* net.sourceforge.squirrel_sql.fw.dialects.SqlGenerationPreferences)
*/
@Override
public String getColumnDropSQL(String tableName, String columnName, DatabaseObjectQualifier qualifier,
SqlGenerationPreferences prefs) throws UnsupportedOperationException
{
throw new UnsupportedOperationException(getUnsupportedMessage(this, COLUMN_DROP_TYPE));
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.CommonHibernateDialect#getCreateIndexSQL(java.lang.String,
* java.lang.String, java.lang.String, java.lang.String[], boolean, java.lang.String,
* java.lang.String, net.sourceforge.squirrel_sql.fw.dialects.DatabaseObjectQualifier,
* net.sourceforge.squirrel_sql.fw.dialects.SqlGenerationPreferences)
*/
@Override
public String getCreateIndexSQL(String indexName, String tableName, String accessMethod, String[] columns,
boolean unique, String tablespace, String constraints, DatabaseObjectQualifier qualifier,
SqlGenerationPreferences prefs)
{
throw new UnsupportedOperationException(getUnsupportedMessage(this, CREATE_INDEX_TYPE));
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.CommonHibernateDialect#getDropIndexSQL(java.lang.String,
* java.lang.String, boolean, net.sourceforge.squirrel_sql.fw.dialects.DatabaseObjectQualifier,
* net.sourceforge.squirrel_sql.fw.dialects.SqlGenerationPreferences)
*/
@Override
public String getDropIndexSQL(String tableName, String indexName, boolean cascade,
DatabaseObjectQualifier qualifier, SqlGenerationPreferences prefs)
{
throw new UnsupportedOperationException(getUnsupportedMessage(this, DROP_INDEX_TYPE));
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.CommonHibernateDialect#getAddColumnSQL(net.sourceforge.squirrel_sql.fw.sql.TableColumnInfo,
* net.sourceforge.squirrel_sql.fw.dialects.DatabaseObjectQualifier,
* net.sourceforge.squirrel_sql.fw.dialects.SqlGenerationPreferences)
*/
@Override
public String[] getAddColumnSQL(TableColumnInfo column, DatabaseObjectQualifier qualifier,
SqlGenerationPreferences prefs)
{
throw new UnsupportedOperationException(getUnsupportedMessage(this, ADD_COLUMN_TYPE));
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.CommonHibernateDialect#getColumnNullableAlterSQL(net.sourceforge.squirrel_sql.fw.sql.TableColumnInfo,
* net.sourceforge.squirrel_sql.fw.dialects.DatabaseObjectQualifier,
* net.sourceforge.squirrel_sql.fw.dialects.SqlGenerationPreferences)
*/
@Override
public String[] getColumnNullableAlterSQL(TableColumnInfo info, DatabaseObjectQualifier qualifier,
SqlGenerationPreferences prefs)
{
throw new UnsupportedOperationException(getUnsupportedMessage(this, COLUMN_NULL_ALTER_TYPE));
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.CommonHibernateDialect#getColumnTypeAlterSQL(net.sourceforge.squirrel_sql.fw.sql.TableColumnInfo,
* net.sourceforge.squirrel_sql.fw.sql.TableColumnInfo,
* net.sourceforge.squirrel_sql.fw.dialects.DatabaseObjectQualifier,
* net.sourceforge.squirrel_sql.fw.dialects.SqlGenerationPreferences)
*/
@Override
public List<String> getColumnTypeAlterSQL(TableColumnInfo from, TableColumnInfo to,
DatabaseObjectQualifier qualifier, SqlGenerationPreferences prefs) throws UnsupportedOperationException
{
throw new UnsupportedOperationException(getUnsupportedMessage(this, COLUMN_TYPE_ALTER_TYPE));
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.CommonHibernateDialect#getColumnDefaultAlterSQL(net.sourceforge.squirrel_sql.fw.sql.TableColumnInfo,
* net.sourceforge.squirrel_sql.fw.dialects.DatabaseObjectQualifier,
* net.sourceforge.squirrel_sql.fw.dialects.SqlGenerationPreferences)
*/
@Override
public String getColumnDefaultAlterSQL(TableColumnInfo info, DatabaseObjectQualifier qualifier,
SqlGenerationPreferences prefs)
{
String alterClause = DialectUtils.ALTER_COLUMN_CLAUSE;
boolean specifyType = false;
String defaultClause = DialectUtils.SET_DEFAULT_CLAUSE;
return DialectUtils.getColumnDefaultAlterSQL(this, info, alterClause, specifyType, defaultClause,
qualifier, prefs);
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.CommonHibernateDialect#getColumnNameAlterSQL(net.sourceforge.squirrel_sql.fw.sql.TableColumnInfo, net.sourceforge.squirrel_sql.fw.sql.TableColumnInfo, net.sourceforge.squirrel_sql.fw.dialects.DatabaseObjectQualifier, net.sourceforge.squirrel_sql.fw.dialects.SqlGenerationPreferences)
*/
@Override
public String getColumnNameAlterSQL(TableColumnInfo from, TableColumnInfo to,
DatabaseObjectQualifier qualifier, SqlGenerationPreferences prefs)
{
String alterClause = DialectUtils.RENAME_COLUMN_CLAUSE;
String renameToClause = DialectUtils.TO_CLAUSE;
return DialectUtils.getColumnNameAlterSQL(from, to, alterClause, renameToClause, qualifier, prefs, this);
}
}
|