Open Source Repository

Home /hibernate/hibernate-3.2.4.ga | Repository Home



org/hibernate/dialect/ProgressDialect.java
//$Id: ProgressDialect.java 4609 2004-09-27 03:17:46Z oneovthafew $
// contributed by Phillip Baird
package org.hibernate.dialect;

import java.sql.Types;

/**
 * An SQL dialect compatible with Progress 9.1C<br>
 *<br>
 * Connection Parameters required:
 *<ul>
 <li>hibernate.dialect org.hibernate.sql.ProgressDialect
 <li>hibernate.driver com.progress.sql.jdbc.JdbcProgressDriver
 <li>hibernate.url jdbc:JdbcProgress:T:host:port:dbname;WorkArounds=536870912
 <li>hibernate.username username
 <li>hibernate.password password
 *</ul>
 * The WorkArounds parameter in the URL is required to avoid an error
 * in the Progress 9.1C JDBC driver related to PreparedStatements.
 @author Phillip Baird
 *
 */
public class ProgressDialect extends Dialect {
  public ProgressDialect() {
    super();
    registerColumnTypeTypes.BIT, "bit" );
    registerColumnTypeTypes.BIGINT, "numeric" );
    registerColumnTypeTypes.SMALLINT, "smallint" );
    registerColumnTypeTypes.TINYINT, "tinyint" );
    registerColumnTypeTypes.INTEGER, "integer" );
    registerColumnTypeTypes.CHAR, "character(1)" );
    registerColumnTypeTypes.VARCHAR, "varchar($l)" );
    registerColumnTypeTypes.FLOAT, "real" );
    registerColumnTypeTypes.DOUBLE, "double precision" );
    registerColumnTypeTypes.DATE, "date" );
    registerColumnTypeTypes.TIME, "time" );
    registerColumnTypeTypes.TIMESTAMP, "timestamp" );
    registerColumnTypeTypes.VARBINARY, "varbinary($l)" );
    registerColumnTypeTypes.NUMERIC, "numeric($p,$s)" );
  }

  public boolean hasAlterTable(){
    return false;
  }

  public String getAddColumnString() {
    return "add column";
  }

  public boolean qualifyIndexName() {
    return false;
  }
}