
net.sourceforge.squirrel_sql.fw.dialects.CommonHibernateDialect Maven / Gradle / Ivy
/*
* Copyright (C) 2008 Rob Manning
* [email protected]
*
* 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 java.sql.SQLException;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import net.sourceforge.squirrel_sql.fw.sql.IDatabaseObjectInfo;
import net.sourceforge.squirrel_sql.fw.sql.ISQLDatabaseMetaData;
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;
/**
* A base class for dialects where the most frequently implemented behavior can located, to avoid code
* duplication and make porting new dialects easier. This class will also be used when connecting to a
* database for which no other dialect supports.
*
* @author manningr
*/
public class CommonHibernateDialect implements HibernateDialect, StringTemplateConstants
{
/** default template for drop column */
protected String DROP_COLUMN_SQL_TEMPLATE = ST_DROP_COLUMN_STYLE_ONE;
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#canPasteTo(net.sourceforge.squirrel_sql.fw.sql.IDatabaseObjectInfo)
*/
public boolean canPasteTo(IDatabaseObjectInfo info)
{
return true;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getAddAutoIncrementSQL(net.sourceforge.squirrel_sql.fw.sql.TableColumnInfo,
* net.sourceforge.squirrel_sql.fw.dialects.DatabaseObjectQualifier,
* net.sourceforge.squirrel_sql.fw.dialects.SqlGenerationPreferences)
*/
public String[] getAddAutoIncrementSQL(TableColumnInfo column, DatabaseObjectQualifier qualifier,
SqlGenerationPreferences prefs)
{
final int featureId = DialectUtils.ADD_AUTO_INCREMENT_TYPE;
final String msg = DialectUtils.getUnsupportedMessage(this, featureId);
throw new UnsupportedOperationException(msg);
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getAddAutoIncrementSQL(net.sourceforge.squirrel_sql.fw.sql.TableColumnInfo,
* java.lang.String, net.sourceforge.squirrel_sql.fw.dialects.DatabaseObjectQualifier,
* net.sourceforge.squirrel_sql.fw.dialects.SqlGenerationPreferences)
*/
public String[] getAddAutoIncrementSQL(TableColumnInfo column, String sequenceName,
DatabaseObjectQualifier qualifier, SqlGenerationPreferences prefs)
{
return getAddAutoIncrementSQL(column, qualifier, prefs);
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getAddColumnSQL(net.sourceforge.squirrel_sql.fw.sql.TableColumnInfo,
* net.sourceforge.squirrel_sql.fw.dialects.DatabaseObjectQualifier,
* net.sourceforge.squirrel_sql.fw.dialects.SqlGenerationPreferences)
*/
public String[] getAddColumnSQL(TableColumnInfo column, DatabaseObjectQualifier qualifier,
SqlGenerationPreferences prefs)
{
final boolean addDefaultClause = true;
final boolean supportsNullQualifier = false;
final boolean addNullClause = true;
final String sql =
DialectUtils.getAddColumSQL(column,
this,
addDefaultClause,
supportsNullQualifier,
addNullClause,
qualifier,
prefs);
return new String[] { sql };
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getAddColumnString()
*/
public String getAddColumnString()
{
return "ADD";
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getAddForeignKeyConstraintSQL(java.lang.String,
* java.lang.String, java.lang.String, java.lang.Boolean, java.lang.Boolean, java.lang.Boolean,
* boolean, java.lang.String, java.util.Collection, java.lang.String, java.lang.String,
* net.sourceforge.squirrel_sql.fw.dialects.DatabaseObjectQualifier,
* net.sourceforge.squirrel_sql.fw.dialects.SqlGenerationPreferences)
*/
public String[] getAddForeignKeyConstraintSQL(String localTableName, String refTableName,
String constraintName, Boolean deferrable, Boolean initiallyDeferred, Boolean matchFull,
boolean autoFKIndex, String fkIndexName, Collection localRefColumns, String onUpdateAction,
String onDeleteAction, DatabaseObjectQualifier qualifier, SqlGenerationPreferences prefs)
{
final int featureId = DialectUtils.ADD_FOREIGN_KEY_TYPE;
final String msg = DialectUtils.getUnsupportedMessage(this, featureId);
throw new UnsupportedOperationException(msg);
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getAddPrimaryKeySQL(java.lang.String,
* net.sourceforge.squirrel_sql.fw.sql.TableColumnInfo[],
* net.sourceforge.squirrel_sql.fw.sql.ITableInfo, DatabaseObjectQualifier, SqlGenerationPreferences)
*/
public String[] getAddPrimaryKeySQL(String pkName, TableColumnInfo[] colInfos, ITableInfo ti,
DatabaseObjectQualifier qualifier, SqlGenerationPreferences prefs)
{
return new String[] { DialectUtils.getAddPrimaryKeySQL(ti,
pkName,
colInfos,
false,
qualifier,
prefs,
this) };
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getAddUniqueConstraintSQL(java.lang.String,
* java.lang.String, net.sourceforge.squirrel_sql.fw.sql.TableColumnInfo[],
* net.sourceforge.squirrel_sql.fw.dialects.DatabaseObjectQualifier,
* net.sourceforge.squirrel_sql.fw.dialects.SqlGenerationPreferences)
*/
public String[] getAddUniqueConstraintSQL(String tableName, String constraintName,
TableColumnInfo[] columns, DatabaseObjectQualifier qualifier, SqlGenerationPreferences prefs)
{
final int featureId = DialectUtils.ADD_UNIQUE_TYPE;
final String msg = DialectUtils.getUnsupportedMessage(this, featureId);
throw new UnsupportedOperationException(msg);
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getAlterSequenceSQL(java.lang.String,
* java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, boolean,
* net.sourceforge.squirrel_sql.fw.dialects.DatabaseObjectQualifier,
* net.sourceforge.squirrel_sql.fw.dialects.SqlGenerationPreferences)
*/
public String[] getAlterSequenceSQL(String sequenceName, String increment, String minimum, String maximum,
String restart, String cache, boolean cycle, DatabaseObjectQualifier qualifier,
SqlGenerationPreferences prefs)
{
final int featureId = DialectUtils.ALTER_SEQUENCE_TYPE;
final String msg = DialectUtils.getUnsupportedMessage(this, featureId);
throw new UnsupportedOperationException(msg);
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getColumnCommentAlterSQL(net.sourceforge.squirrel_sql.fw.sql.TableColumnInfo,
* DatabaseObjectQualifier, SqlGenerationPreferences)
*/
public String getColumnCommentAlterSQL(TableColumnInfo info, DatabaseObjectQualifier qualifier,
SqlGenerationPreferences prefs) throws UnsupportedOperationException
{
final int featureId = DialectUtils.COLUMN_COMMENT_ALTER_TYPE;
final String msg = DialectUtils.getUnsupportedMessage(this, featureId);
throw new UnsupportedOperationException(msg);
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getColumnDefaultAlterSQL(net.sourceforge.squirrel_sql.fw.sql.TableColumnInfo,
* DatabaseObjectQualifier, SqlGenerationPreferences)
*/
public String getColumnDefaultAlterSQL(TableColumnInfo info, DatabaseObjectQualifier qualifier,
SqlGenerationPreferences prefs)
{
final int featureId = DialectUtils.COLUMN_DEFAULT_ALTER_TYPE;
final String msg = DialectUtils.getUnsupportedMessage(this, featureId);
throw new UnsupportedOperationException(msg);
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getColumnDropSQL(java.lang.String,
* java.lang.String, DatabaseObjectQualifier, SqlGenerationPreferences)
*/
public String getColumnDropSQL(String tableName, String columnName, DatabaseObjectQualifier qualifier,
SqlGenerationPreferences prefs) throws UnsupportedOperationException
{
StringTemplate st = new StringTemplate(DROP_COLUMN_SQL_TEMPLATE);
HashMap valuesMap =
DialectUtils.getValuesMap(ST_TABLE_NAME_KEY, tableName, ST_COLUMN_NAME_KEY, columnName);
String dropSql = DialectUtils.bindTemplateAttributes(this, st, valuesMap, qualifier, prefs);
return DialectUtils.stripQuotesFromIdentifier(this, columnName, dropSql);
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getColumnLength(int, int)
*/
public int getColumnLength(int columnSize, int dataType)
{
return columnSize;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getColumnNameAlterSQL(net.sourceforge.squirrel_sql.fw.sql.TableColumnInfo,
* net.sourceforge.squirrel_sql.fw.sql.TableColumnInfo, DatabaseObjectQualifier,
* SqlGenerationPreferences)
*/
public String getColumnNameAlterSQL(TableColumnInfo from, TableColumnInfo to,
DatabaseObjectQualifier qualifier, SqlGenerationPreferences prefs)
{
final int featureId = DialectUtils.COLUMN_NAME_ALTER_TYPE;
final String msg = DialectUtils.getUnsupportedMessage(this, featureId);
throw new UnsupportedOperationException(msg);
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getColumnNullableAlterSQL(net.sourceforge.squirrel_sql.fw.sql.TableColumnInfo,
* net.sourceforge.squirrel_sql.fw.dialects.DatabaseObjectQualifier,
* net.sourceforge.squirrel_sql.fw.dialects.SqlGenerationPreferences)
*/
public String[] getColumnNullableAlterSQL(TableColumnInfo info, DatabaseObjectQualifier qualifier,
SqlGenerationPreferences prefs)
{
final int featureId = DialectUtils.COLUMN_NULL_ALTER_TYPE;
final String msg = DialectUtils.getUnsupportedMessage(this, featureId);
throw new UnsupportedOperationException(msg);
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#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)
*/
public List getColumnTypeAlterSQL(TableColumnInfo from, TableColumnInfo to,
DatabaseObjectQualifier qualifier, SqlGenerationPreferences prefs) throws UnsupportedOperationException
{
final int featureId = DialectUtils.COLUMN_TYPE_ALTER_TYPE;
final String msg = DialectUtils.getUnsupportedMessage(this, featureId);
throw new UnsupportedOperationException(msg);
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#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)
*/
public String getCreateIndexSQL(String indexName, String tableName, String accessMethod, String[] columns,
boolean unique, String tablespace, String constraints, DatabaseObjectQualifier qualifier,
SqlGenerationPreferences prefs)
{
final int featureId = DialectUtils.CREATE_INDEX_TYPE;
final String msg = DialectUtils.getUnsupportedMessage(this, featureId);
throw new UnsupportedOperationException(msg);
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getCreateSequenceSQL(java.lang.String,
* java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, boolean,
* net.sourceforge.squirrel_sql.fw.dialects.DatabaseObjectQualifier,
* net.sourceforge.squirrel_sql.fw.dialects.SqlGenerationPreferences)
*/
public String getCreateSequenceSQL(String sequenceName, String increment, String minimum, String maximum,
String start, String cache, boolean cycle, DatabaseObjectQualifier qualifier,
SqlGenerationPreferences prefs)
{
final int featureId = DialectUtils.CREATE_SEQUENCE_TYPE;
final String msg = DialectUtils.getUnsupportedMessage(this, featureId);
throw new UnsupportedOperationException(msg);
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getCreateTableSQL(java.util.List,
* net.sourceforge.squirrel_sql.fw.sql.ISQLDatabaseMetaData,
* net.sourceforge.squirrel_sql.fw.dialects.CreateScriptPreferences, boolean)
*/
public List getCreateTableSQL(List tables, ISQLDatabaseMetaData md,
CreateScriptPreferences prefs, boolean isJdbcOdbc) throws SQLException
{
return DialectUtils.getCreateTableSQL(tables, md, this, prefs, isJdbcOdbc);
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getCreateTableSQL(java.lang.String,
* java.util.List, java.util.List, net.sourceforge.squirrel_sql.fw.dialects.SqlGenerationPreferences,
* net.sourceforge.squirrel_sql.fw.dialects.DatabaseObjectQualifier)
*/
public String getCreateTableSQL(String tableName, List columns,
List primaryKeys, SqlGenerationPreferences prefs, DatabaseObjectQualifier qualifier)
{
return DialectUtils.getCreateTableSQL(tableName, columns, primaryKeys, prefs, qualifier, this);
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getCreateViewSQL(java.lang.String,
* java.lang.String, java.lang.String,
* net.sourceforge.squirrel_sql.fw.dialects.DatabaseObjectQualifier,
* net.sourceforge.squirrel_sql.fw.dialects.SqlGenerationPreferences)
*/
public String getCreateViewSQL(String viewName, String definition, String checkOption,
DatabaseObjectQualifier qualifier, SqlGenerationPreferences prefs)
{
final int featureId = DialectUtils.CREATE_VIEW_TYPE;
final String msg = DialectUtils.getUnsupportedMessage(this, featureId);
throw new UnsupportedOperationException(msg);
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getDialectType()
*/
public DialectType getDialectType()
{
return DialectType.GENERIC;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getDisplayName()
*/
public String getDisplayName()
{
return "Generic";
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getDropConstraintSQL(java.lang.String,
* java.lang.String, net.sourceforge.squirrel_sql.fw.dialects.DatabaseObjectQualifier,
* net.sourceforge.squirrel_sql.fw.dialects.SqlGenerationPreferences)
*/
public String getDropConstraintSQL(String tableName, String constraintName,
DatabaseObjectQualifier qualifier, SqlGenerationPreferences prefs)
{
final int featureId = DialectUtils.DROP_CONSTRAINT_TYPE;
final String msg = DialectUtils.getUnsupportedMessage(this, featureId);
throw new UnsupportedOperationException(msg);
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getDropForeignKeySQL(java.lang.String,
* java.lang.String, DatabaseObjectQualifier, SqlGenerationPreferences)
*/
public String getDropForeignKeySQL(String fkName, String tableName, DatabaseObjectQualifier qualifier,
SqlGenerationPreferences prefs)
{
return DialectUtils.getDropForeignKeySQL(fkName, tableName, qualifier, prefs, this);
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getDropIndexSQL(java.lang.String,
* java.lang.String, boolean, net.sourceforge.squirrel_sql.fw.dialects.DatabaseObjectQualifier,
* net.sourceforge.squirrel_sql.fw.dialects.SqlGenerationPreferences)
*/
public String getDropIndexSQL(String tableName, String indexName, boolean cascade,
DatabaseObjectQualifier qualifier, SqlGenerationPreferences prefs)
{
// "DROP INDEX $indexName$";
StringTemplate st = new StringTemplate(ST_DROP_INDEX_STYLE_THREE);
HashMap valuesMap = DialectUtils.getValuesMap(ST_INDEX_NAME_KEY, indexName);
return DialectUtils.bindTemplateAttributes(this, st, valuesMap, qualifier, prefs);
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getDropPrimaryKeySQL(java.lang.String,
* java.lang.String, DatabaseObjectQualifier, SqlGenerationPreferences)
*/
public String getDropPrimaryKeySQL(String pkName, String tableName, DatabaseObjectQualifier qualifier,
SqlGenerationPreferences prefs)
{
final int featureId = DialectUtils.DROP_PRIMARY_KEY_TYPE;
final String msg = DialectUtils.getUnsupportedMessage(this, featureId);
throw new UnsupportedOperationException(msg);
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getDropSequenceSQL(java.lang.String,
* boolean, net.sourceforge.squirrel_sql.fw.dialects.DatabaseObjectQualifier,
* net.sourceforge.squirrel_sql.fw.dialects.SqlGenerationPreferences)
*/
public String getDropSequenceSQL(String sequenceName, boolean cascade, DatabaseObjectQualifier qualifier,
SqlGenerationPreferences prefs)
{
final int featureId = DialectUtils.DROP_SEQUENCE_TYPE;
final String msg = DialectUtils.getUnsupportedMessage(this, featureId);
throw new UnsupportedOperationException(msg);
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getDropViewSQL(java.lang.String, boolean,
* net.sourceforge.squirrel_sql.fw.dialects.DatabaseObjectQualifier,
* net.sourceforge.squirrel_sql.fw.dialects.SqlGenerationPreferences)
*/
public String getDropViewSQL(String viewName, boolean cascade, DatabaseObjectQualifier qualifier,
SqlGenerationPreferences prefs)
{
Boolean cascadeNotSupported = null;
return DialectUtils.getDropViewSQL(viewName, cascadeNotSupported, qualifier, prefs, this);
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getIndexAccessMethodsTypes()
*/
public String[] getIndexAccessMethodsTypes()
{
return null;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getIndexStorageOptions()
*/
public String[] getIndexStorageOptions()
{
return null;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getInsertIntoSQL(java.lang.String,
* java.util.List, java.lang.String, net.sourceforge.squirrel_sql.fw.dialects.DatabaseObjectQualifier,
* net.sourceforge.squirrel_sql.fw.dialects.SqlGenerationPreferences)
*/
public String getInsertIntoSQL(String tableName, List columns, String valuesPart,
DatabaseObjectQualifier qualifier, SqlGenerationPreferences prefs)
{
return DialectUtils.getInsertIntoSQL(tableName, columns, valuesPart, qualifier, prefs, this);
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getLengthFunction(int)
*/
public String getLengthFunction(int dataType)
{
return "length";
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getMaxFunction()
*/
public String getMaxFunction()
{
return "max";
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getMaxPrecision(int)
*/
public int getMaxPrecision(int dataType)
{
return Integer.MAX_VALUE;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getMaxScale(int)
*/
public int getMaxScale(int dataType)
{
return getMaxPrecision(dataType);
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getNullColumnString()
*/
public String getNullColumnString()
{
return "";
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getPrecisionDigits(int, int)
*/
public int getPrecisionDigits(int columnSize, int dataType)
{
return columnSize;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getQualifiedIdentifier(java.lang.String,
* net.sourceforge.squirrel_sql.fw.dialects.DatabaseObjectQualifier,
* net.sourceforge.squirrel_sql.fw.dialects.SqlGenerationPreferences)
*/
public String getQualifiedIdentifier(String identifier, DatabaseObjectQualifier qualifier,
SqlGenerationPreferences prefs)
{
return identifier;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getRenameTableSQL(java.lang.String,
* java.lang.String, net.sourceforge.squirrel_sql.fw.dialects.DatabaseObjectQualifier,
* net.sourceforge.squirrel_sql.fw.dialects.SqlGenerationPreferences)
*/
public String getRenameTableSQL(String oldTableName, String newTableName,
DatabaseObjectQualifier qualifier, SqlGenerationPreferences prefs)
{
final int featureId = DialectUtils.RENAME_TABLE_TYPE;
final String msg = DialectUtils.getUnsupportedMessage(this, featureId);
throw new UnsupportedOperationException(msg);
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getRenameViewSQL(java.lang.String,
* java.lang.String, net.sourceforge.squirrel_sql.fw.dialects.DatabaseObjectQualifier,
* net.sourceforge.squirrel_sql.fw.dialects.SqlGenerationPreferences)
*/
public String[] getRenameViewSQL(String oldViewName, String newViewName,
DatabaseObjectQualifier qualifier, SqlGenerationPreferences prefs)
{
final int featureId = DialectUtils.RENAME_VIEW_TYPE;
final String msg = DialectUtils.getUnsupportedMessage(this, featureId);
throw new UnsupportedOperationException(msg);
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getSequenceInformationSQL(java.lang.String,
* net.sourceforge.squirrel_sql.fw.dialects.DatabaseObjectQualifier,
* net.sourceforge.squirrel_sql.fw.dialects.SqlGenerationPreferences)
*/
public String getSequenceInformationSQL(String sequenceName, DatabaseObjectQualifier qualifier,
SqlGenerationPreferences prefs)
{
final int featureId = DialectUtils.SEQUENCE_INFORMATION_TYPE;
final String msg = DialectUtils.getUnsupportedMessage(this, featureId);
throw new UnsupportedOperationException(msg);
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getTableDropSQL(net.sourceforge.squirrel_sql.fw.sql.ITableInfo,
* boolean, boolean, DatabaseObjectQualifier, SqlGenerationPreferences)
*/
public List getTableDropSQL(ITableInfo tableInfo, boolean cascadeConstraints,
boolean isMaterializedView, DatabaseObjectQualifier qualifier, SqlGenerationPreferences prefs)
{
return DialectUtils.getTableDropSQL(tableInfo,
true,
cascadeConstraints,
false,
DialectUtils.CASCADE_CLAUSE,
false,
qualifier,
prefs,
this);
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getTypeName(net.sourceforge.squirrel_sql.fw.sql.TableColumnInfo)
*/
public String getTypeName(TableColumnInfo tcInfo) {
int columnSize = tcInfo.getColumnSize();
int dataType = tcInfo.getDataType();
int precision = getPrecisionDigits(columnSize, dataType);
if (dataType == 1111) {
dataType = getJavaTypeForNativeType(tcInfo.getTypeName());
}
return getTypeName(dataType, columnSize, precision, tcInfo.getDecimalDigits());
}
/**
* This should be overridden by dialects to provide a mapping between native column name and java.sql.Types
* codes. This is particulary helpful for databases with "other" (1111) types.
*
* @param nativeColumnTypeName the native column type.
* @return the java type code
*/
public int getJavaTypeForNativeType(String nativeColumnTypeName) {
throw new IllegalStateException("Dialect (" + getDisplayName()
+ ") doesn't provide a java type for native type = " + nativeColumnTypeName);
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getTypeName(int, int, int, int)
*/
public String getTypeName(int code, int length, int precision, int scale) throws HibernateException
{
// TODO Need to have a generic hibernate dialect extend this to provide the types.
throw new UnsupportedOperationException("Common dialect doesn't register column types");
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getTypeName(int)
*/
public String getTypeName(int code) throws HibernateException
{
throw new UnsupportedOperationException("Common dialect doesn't register column types");
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getUpdateSQL(java.lang.String,
* java.lang.String[], java.lang.String[], java.lang.String[], java.lang.String[], java.lang.String[],
* net.sourceforge.squirrel_sql.fw.dialects.DatabaseObjectQualifier,
* net.sourceforge.squirrel_sql.fw.dialects.SqlGenerationPreferences)
*/
public String[] getUpdateSQL(String tableName, String[] setColumns, String[] setValues,
String[] fromTables, String[] whereColumns, String[] whereValues, DatabaseObjectQualifier qualifier,
SqlGenerationPreferences prefs)
{
String templateStr = "";
if (fromTables != null)
{
templateStr = ST_UPDATE_CORRELATED_QUERY_STYLE_ONE;
} else
{
templateStr = ST_UPDATE_STYLE_ONE;
}
StringTemplate st = new StringTemplate(templateStr);
return DialectUtils.getUpdateSQL(st,
tableName,
setColumns,
setValues,
fromTables,
whereColumns,
whereValues,
qualifier,
prefs,
this);
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getViewDefinitionSQL(java.lang.String,
* net.sourceforge.squirrel_sql.fw.dialects.DatabaseObjectQualifier,
* net.sourceforge.squirrel_sql.fw.dialects.SqlGenerationPreferences)
*/
public String getViewDefinitionSQL(String viewName, DatabaseObjectQualifier qualifier,
SqlGenerationPreferences prefs)
{
final int featureId = DialectUtils.VIEW_DEFINITION_TYPE;
final String msg = DialectUtils.getUnsupportedMessage(this, featureId);
throw new UnsupportedOperationException(msg);
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#supportsAccessMethods()
*/
public boolean supportsAccessMethods()
{
return false;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#supportsAddColumn()
*/
public boolean supportsAddColumn()
{
return true;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#supportsAddForeignKeyConstraint()
*/
public boolean supportsAddForeignKeyConstraint()
{
return false;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#supportsAddUniqueConstraint()
*/
public boolean supportsAddUniqueConstraint()
{
return false;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#supportsAlterColumnDefault()
*/
public boolean supportsAlterColumnDefault()
{
return false;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#supportsAlterColumnNull()
*/
public boolean supportsAlterColumnNull()
{
return false;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#supportsAlterColumnType()
*/
public boolean supportsAlterColumnType()
{
return false;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#supportsAlterSequence()
*/
public boolean supportsAlterSequence()
{
return false;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#supportsAutoIncrement()
*/
public boolean supportsAutoIncrement()
{
return false;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#supportsCheckOptionsForViews()
*/
public boolean supportsCheckOptionsForViews()
{
return false;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#supportsColumnComment()
*/
public boolean supportsColumnComment()
{
return false;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#supportsCorrelatedSubQuery()
*/
public boolean supportsCorrelatedSubQuery()
{
return true;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#supportsCreateIndex()
*/
public boolean supportsCreateIndex()
{
return false;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#supportsCreateSequence()
*/
public boolean supportsCreateSequence()
{
return false;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#supportsCreateTable()
*/
public boolean supportsCreateTable()
{
return true;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#supportsCreateView()
*/
public boolean supportsCreateView()
{
return false;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#supportsDropColumn()
*/
public boolean supportsDropColumn()
{
return true;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#supportsDropConstraint()
*/
public boolean supportsDropConstraint()
{
return false;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#supportsDropIndex()
*/
public boolean supportsDropIndex()
{
return true;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#supportsDropSequence()
*/
public boolean supportsDropSequence()
{
return false;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#supportsDropView()
*/
public boolean supportsDropView()
{
return true;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#supportsEmptyTables()
*/
public boolean supportsEmptyTables()
{
return false;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#supportsIndexes()
*/
public boolean supportsIndexes()
{
return true;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#supportsInsertInto()
*/
public boolean supportsInsertInto()
{
return true;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#supportsMultipleRowInserts()
*/
public boolean supportsMultipleRowInserts()
{
return false;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#supportsProduct(java.lang.String,
* java.lang.String)
*/
public boolean supportsProduct(String databaseProductName, String databaseProductVersion)
{
return false;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#supportsRenameColumn()
*/
public boolean supportsRenameColumn()
{
return false;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#supportsRenameTable()
*/
public boolean supportsRenameTable()
{
return false;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#supportsRenameView()
*/
public boolean supportsRenameView()
{
return false;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#supportsSchemasInTableDefinition()
*/
public boolean supportsSchemasInTableDefinition()
{
return true;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#supportsSequence()
*/
public boolean supportsSequence()
{
return false;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#supportsSequenceInformation()
*/
public boolean supportsSequenceInformation()
{
return false;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#supportsTablespace()
*/
public boolean supportsTablespace()
{
return false;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#supportsUpdate()
*/
public boolean supportsUpdate()
{
return true;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#supportsViewDefinition()
*/
public boolean supportsViewDefinition()
{
return false;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#closeQuote()
*/
public char closeQuote()
{
return '"';
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#openQuote()
*/
public char openQuote()
{
return '"';
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#getSequencePropertyMutability()
*/
public SequencePropertyMutability getSequencePropertyMutability()
{
return new SequencePropertyMutability();
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#supportsSubSecondTimestamps()
*/
public boolean supportsSubSecondTimestamps()
{
return true;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#supportsAddPrimaryKey()
*/
public boolean supportsAddPrimaryKey()
{
return true;
}
/**
* @see net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect#supportsDropPrimaryKey()
*/
public boolean supportsDropPrimaryKey()
{
return true;
}
@Override
public int getTimestampMaximumFractionalDigits()
{
return 3;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy