|
From: <leg...@at...> - 2003-06-29 17:37:49
|
The following comment has been added to this issue:
Author: Ludovic Orban
Created: Sun, 29 Jun 2003 12:37 PM
Body:
I 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: Ludovic Orban
Created: Sun, 29 Jun 2003 12:27 PM
Updated: Sun, 29 Jun 2003 12:27 PM
Description:
tested with firebird 1.0.2 and JayBird type 4 driver
---------------------------------------------------------------------
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
|