Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package com.j256.ormlite.db;
  
  import java.util.List;
  
HyberSQL database type information used to create the tables, etc..

Author(s):
graywatson
 
 public class HsqldbDatabaseType extends BaseDatabaseType implements DatabaseType {
 
 	private final static String DATABASE_URL_PORTION = "hsqldb";
 	private final static String DRIVER_CLASS_NAME = "org.hsqldb.jdbcDriver";
 	private final static String DATABASE_NAME = "HSQLdb";
 
 	public boolean isDatabaseUrlThisType(String urlString dbTypePart) {
 		return .equals(dbTypePart);
 	}
 
 	protected String getDriverClassName() {
 	}
 
 	public String getDatabaseName() {
 		return ;
 	}
 
 	protected void appendLongStringType(StringBuilder sbint fieldWidth) {
 		sb.append("LONGVARCHAR");
 	}
 
 	protected void appendBooleanType(StringBuilder sbint fieldWidth) {
 		sb.append("BIT");
 	}
 
 	protected void appendByteArrayType(StringBuilder sbint fieldWidth) {
 		sb.append("BINARY");
 	}
 
 	protected void appendSerializableType(StringBuilder sbint fieldWidth) {
 		sb.append("BINARY");
 	}
 
 	protected void configureGeneratedIdSequence(StringBuilder sbFieldType fieldTypeList<StringstatementsBefore,
 			List<StringadditionalArgsList<StringqueriesAfter) {
 		// needs to match dropColumnArg()
 		StringBuilder seqSb = new StringBuilder(128);
 		seqSb.append("CREATE SEQUENCE ");
 		if (fieldType.getSqlType() == .) {
 			seqSb.append(" AS BIGINT");
 		} else {
 			// integer is the default
 		}
 		// with hsqldb (as opposed to all else) the sequences start at 0, grumble
 		seqSb.append(" START WITH 1");
 		statementsBefore.add(seqSb.toString());
 		sb.append("GENERATED BY DEFAULT AS IDENTITY ");
 		configureId(sbfieldTypestatementsBeforeadditionalArgsqueriesAfter);
 	}
 
 	public void appendEscapedEntityName(StringBuilder sbString word) {
 		sb.append('\"').append(word).append('\"');
 	}
 
 	public void dropColumnArg(FieldType fieldTypeList<StringstatementsBeforeList<StringstatementsAfter) {
 		if (fieldType.isGeneratedIdSequence()) {
 			StringBuilder sb = new StringBuilder(64);
 			sb.append("DROP SEQUENCE ");
 			statementsAfter.add(sb.toString());
 		}
 	}
 
 	public boolean isIdSequenceNeeded() {
 		return true;
 	}
 
 	public boolean isSelectSequenceBeforeInsert() {
 		return true;
 	}
 
 	public boolean isVarcharFieldWidthSupported() {
In version 2.X, VARCHAR(width) is required. In 1.8.X or before, it is not supported. Wonderful.
		if ( != null && .getMajorVersion() >= 2) {
			return true;
else {
			return false;
		}
	}
	public boolean isLimitAfterSelect() {
		return true;
	}
	public void appendLimitValue(StringBuilder sbint limitInteger offset) {
		// the 0 is the offset, could also use TOP X
		sb.append("LIMIT ");
		if (offset == null) {
			sb.append("0 ");
else {
			sb.append(offset).append(' ');
		}
		sb.append(limit).append(' ');
	}
	public boolean isOffsetLimitArgument() {
		return true;
	}
	public void appendOffsetValue(StringBuilder sbint offset) {
		throw new IllegalStateException("Offset is part of the LIMIT in database type " + getClass());
	}
	public void appendSelectNextValFromSequence(StringBuilder sbString sequenceName) {
		sb.append("CALL NEXT VALUE FOR ");
		appendEscapedEntityName(sbsequenceName);
	}
	public boolean isEntityNamesMustBeUpCase() {
		return true;
	}
		return "SELECT COUNT(*) FROM INFORMATION_SCHEMA.SYSTEM_TABLES";
	}
New to GrepCode? Check out our FAQ X