db-ddlutils-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Thomas Dudziak <tom...@gmail.com>
Subject Re: Problem Using HsqlDb Platform
Date Wed, 16 Nov 2005 14:54:43 GMT
On 11/16/05, Robert Einsle <robert@einsle.de> wrote:

> i looked at the Code, and i found, PlatformInfo is inserting
>
>     private String _delimiterToken = "\"";
>
> in Create-Statements in Hsql-Databases. I think, on HsqlDb you should
> not use the Delimiter here.

This is called delimited identifier mode and is required by the, I
think, SQL99 standard. In short, when using delimited identifiers, the
names of database entities (tables, columns, etc.) can contain any
unicode character (including whitespaces) and be equal to reserved
words. Without them, the identifiers can contain only ascii
characters, and the database will always convert them to uppercase.
For details on how Hsqldb handles that, see the name section here:

http://hsqldb.sourceforge.net/doc/guide/ch09.html#expression-section

However, you should then always use delimited identifier mode, e.g. a
SELECT without the double quotation marks is likely to fail.

You can turn off the identifier mode that DdlUtils uses, using the
usedelimitedidentifiers attribute in the Ant tasks, and vie the
Platform.getPlatformInfo().setUseDelimitedIdentifiers method.

Tom

Mime
View raw message