Hittade äntligen svar på min egen fråga efter att ha grävt hsqldb-källkoden på sourceforge.
Version 2.3.3 av HSQLDB stöder INTE NOWAIT.
Jag har ställt den här frågan i deras diskussionsforum och tagit upp frågan men det är inte som GitHub där du kan skapa ett ärende så inget formellt ärende/förfrågan öppnades.
Jag kommer överens med ett dåligt hack för att nu ändra HSQLDB
koda mig själv org.hsqldb.ParserDQL
klass för att bara ignorera NOWAIT i SQL-filen för att uppdatera.
Om någon har ett bättre svar accepterar jag deras svar.
UPPDATERING:(24 augusti 2015)
Fick bekräftelse från HSQLDB forum att NOWAIT kommer att ignoreras. Under tiden lägger jag upp kodavsnittet för att ignorera NOWAIT som jag fick från HSQLDB sourceforge-forumet. Du kanske vill vänta på nästa version av HSQLDB än att lägga till denna i din kodbas (som ett hack).
if (Tokens.T_NOWAIT.equals(token.tokenString)) {
read();
}
UPPDATERAD för att visa hela sammanhanget om var du ska lägga till ovanstående kodavsnitt i ParserDQL.java
/**
* Retrieves a SELECT or other query expression Statement from this parse context.
*/
StatementQuery compileCursorSpecification(RangeGroup[] rangeGroups,
int props, boolean isRoutine) {
OrderedHashSet colNames = null;
QueryExpression queryExpression = XreadQueryExpression();
if (token.tokenType == Tokens.FOR) {
read();
if (token.tokenType == Tokens.READ
|| token.tokenType == Tokens.FETCH) {
read();
readThis(Tokens.ONLY);
props = ResultProperties.addUpdatable(props, false);
} else {
readThis(Tokens.UPDATE);
props = ResultProperties.addUpdatable(props, true);
if (token.tokenType == Tokens.OF) {
readThis(Tokens.OF);
colNames = new OrderedHashSet();
readColumnNameList(colNames, null, false);
}
if (Tokens.T_NOWAIT.equalsIgnoreCase(token.tokenString)) {
readIfThis(Tokens.X_IDENTIFIER);
}
}
}