public class Hsqldb extends AnsiStandard
| Modifier and Type | Field and Description |
|---|---|
static int |
hsqldbTextHack
HSQLDB does not have a pleasant
TEXT
datatype, so we use an arbitrary value in a
VARCHAR. |
static int |
hsqldbTextSize1 |
static int |
hsqldbTextSize2 |
| Constructor and Description |
|---|
Hsqldb()
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
String |
alterColumnAddCommentSQL(Column<?> column,
String comment)
Our current version does not honour COMMENT.
|
<S,O> PoemType<O> |
canRepresent(PoemType<S> storage,
PoemType<O> type)
Accommodate our String size hack.
|
String |
caseInsensitiveRegExpSQL(String term1,
String term2)
Note that this is NOT case insensitive.
|
String |
createTableTypeQualifierSql(Table<?> table)
The default is to keep everything in memory,
this allows for the db to be written to the disk.
|
String |
getBinarySqlDefinition(int size)
Accommodate different treatment of different sized binary data.
|
String |
getForeignKeyDefinition(String tableName,
String fieldName,
String targetTableName,
String targetTableFieldName,
String fixName)
If Foreign key definitions are part of field definitions,
otherwise blank (silently unsupported).
|
String |
getJdbcMetadataName(String name)
Bad smell.
|
String |
getLongSqlDefinition()
Accommodate Long / Bigint deviants.
|
String |
getStringSqlDefinition(int size)
Accommodate String / Text distinction.
|
String |
melatiName(String name)
Reverse the mapping in unreservedName.
|
void |
shutdown(Connection connection)
Shut the db down nicely.
|
String |
unreservedName(String name)
A pair of functions for getting around keywords which make your
JDBC driver barf, as 'group' does for MySQL.
|
alterColumnNotNullableSQL, alterTableAddCommentSQL, booleanTrueExpression, canBeIndexed, canDropColumns, canStoreBlobs, createTableOptionsSql, createTableSql, defaultPoemTypeOfColumnMetaData, exceptionForUpdate, exceptionForUpdate, getConnection, getFixedPtSqlDefinition, getIndexLength, getPrimaryKeyDefinition, getQuotedName, getQuotedValue, getSchema, getSqlDefaultValue, getSqlDefinition, givesCapabilitySQL, preparedStatementPlaceholder, selectLimit, sqlBooleanValueOfRaw, tableInitialisationSql, toString, unloadDriverpublic static int hsqldbTextHack
TEXT
datatype, so we use an arbitrary value in a
VARCHAR.public static int hsqldbTextSize1
public static int hsqldbTextSize2
public void shutdown(Connection connection) throws SQLException
shutdown in interface Dbmsshutdown in class AnsiStandardSQLExceptionpublic String createTableTypeQualifierSql(Table<?> table)
createTableTypeQualifierSql in interface DbmscreateTableTypeQualifierSql in class AnsiStandardpublic String getStringSqlDefinition(int size)
DbmsgetStringSqlDefinition in interface DbmsgetStringSqlDefinition in class AnsiStandardsize - the string length (-1 means no limit)AnsiStandard.getStringSqlDefinition(int)public String getLongSqlDefinition()
getLongSqlDefinition in interface DbmsgetLongSqlDefinition in class AnsiStandardAnsiStandard.getLongSqlDefinition()public String getBinarySqlDefinition(int size) throws SQLException
getBinarySqlDefinition in interface DbmsgetBinarySqlDefinition in class AnsiStandardsize - how big the field isSQLExceptionAnsiStandard.getBinarySqlDefinition(int)public <S,O> PoemType<O> canRepresent(PoemType<S> storage, PoemType<O> type)
canRepresent in interface DbmscanRepresent in class AnsiStandardstorage - the containertype - the type to storeAnsiStandard.canRepresent(org.melati.poem.PoemType<S>, org.melati.poem.PoemType<O>)public String unreservedName(String name)
unreservedName in interface DbmsunreservedName in class AnsiStandardname - the field or table nameAnsiStandard.unreservedName(java.lang.String)public String melatiName(String name)
melatiName in interface DbmsmelatiName in class AnsiStandardname - an SQL nameAnsiStandard.melatiName(java.lang.String)public String caseInsensitiveRegExpSQL(String term1, String term2)
caseInsensitiveRegExpSQL in interface DbmscaseInsensitiveRegExpSQL in class AnsiStandardterm1 - the term to find interm2 - the quoted term to findDbms.caseInsensitiveRegExpSQL(java.lang.String, java.lang.String)public String getForeignKeyDefinition(String tableName, String fieldName, String targetTableName, String targetTableFieldName, String fixName)
getForeignKeyDefinition in interface DbmsgetForeignKeyDefinition in class AnsiStandardtableName - the table that this column is in, unquotedfieldName - often the name of the foreign table, unquotedtargetTableName - the table that this is a foreign key into, unquotedtargetTableFieldName - name of the primary key field of the foreign
table, often id, unquotedfixName - name of the IntegrityFixAnsiStandard.getForeignKeyDefinition(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String)public String getJdbcMetadataName(String name)
getJdbcMetadataName in interface DbmsgetJdbcMetadataName in class AnsiStandardname - entity name such as tableinfoAnsiStandard.getJdbcMetadataName(java.lang.String)public String alterColumnAddCommentSQL(Column<?> column, String comment)
alterColumnAddCommentSQL in interface DbmsalterColumnAddCommentSQL in class AnsiStandardcolumn - the target to add a remark tocomment - the remark to addCopyright © 2000–2021 PanEris. All rights reserved.