From: <leg...@at...> - 2003-07-08 20:50:43
|
The following comment has been added to this issue: Author: Christian Bauer Created: Tue, 8 Jul 2003 3:48 PM Body: can't find any attachment button so here's the code: package net.sf.hibernate.dialect; import java.sql.Types; import net.sf.hibernate.cfg.Environment; /** * An SQL dialect for Firebird. * @author Ludovic Orban */ public class FirebirdDialect extends Dialect { public FirebirdDialect() { super(); register( Types.BIT, "SMALLINT" ); register( Types.BIGINT, "NUMERIC(18,0)" ); register( Types.SMALLINT, "SMALLINT" ); register( Types.TINYINT, "SMALLINT" ); register( Types.INTEGER, "INTEGER" ); register( Types.CHAR, "CHAR(1)" ); register( Types.VARCHAR, "VARCHAR($l)" ); register( Types.FLOAT, "FLOAT" ); register( Types.DOUBLE, "DOUBLE PRECISION" ); register( Types.DATE, "DATE" ); register( Types.TIME, "TIME" ); register( Types.TIMESTAMP, "TIMESTAMP" ); register( Types.VARBINARY, "BLOB" ); register( Types.NUMERIC, "NUMERIC(18, $l)" ); register( Types.BLOB, "BLOB" ); register( Types.CLOB, "BLOB SUB_TYPE 1" ); getDefaultProperties().setProperty(Environment.USE_OUTER_JOIN, "true"); getDefaultProperties().setProperty(Environment.STATEMENT_BATCH_SIZE, NO_BATCH); getDefaultProperties().setProperty(Environment.STATEMENT_CACHE_SIZE, "0"); } public String getAddColumnString() { return "add"; } public String getSequenceNextValString(String sequenceName) { return "select gen_id( " + sequenceName + ", 1 ) from RDB$DATABASE"; } public String getCreateSequenceString(String sequenceName) { return "create generator " + sequenceName; } public String getDropSequenceString(String sequenceName) { return "delete from RDB$GENERATORS where RDB$GENERATOR_NAME = '" + sequenceName.toUpperCase() + "'"; } public boolean supportsSequences() { return true; } public boolean supportsLimit() { return true; } public String getLimitString(String sql) { StringBuffer pagingSelect = new StringBuffer(100); pagingSelect.append("select first ? skip ?"); int idx = sql.toLowerCase().indexOf("select"); pagingSelect.append(sql.substring(idx + "select".length())); return pagingSelect.toString(); } } --------------------------------------------------------------------- View the issue: http://opensource.atlassian.com/projects/hibernate/secure/ViewIssue.jspa?key=HB-166 Here is an overview of the issue: --------------------------------------------------------------------- Key: HB-166 Summary: firebird dialect with support for LIMIT Type: Patch Status: Unassigned Priority: Minor Project: Hibernate2 Components: core Versions: 2.0.1 Assignee: Reporter: Christian Bauer Created: Tue, 8 Jul 2003 3:48 PM Updated: Tue, 8 Jul 2003 3:48 PM Description: Ludovic Orban tested with firebird 1.0.2 and JayBird type 4 driver (Patch got lost during JIRA downtime, Christian) --------------------------------------------------------------------- JIRA INFORMATION: This message is automatically generated by JIRA. If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa If you want more information on JIRA, or have a bug to report see: http://www.atlassian.com/software/jira |