Menemukan jawaban untuk pertanyaan saya sendiri akhirnya setelah menggali kode sumber hsqldb di sourceforge.
Versi 2.3.3 dari HSQLDB TIDAK mendukung SEKARANG.
Saya telah mengajukan pertanyaan ini di Forum Diskusi mereka dan mengangkat masalah tersebut namun tidak seperti GitHub di mana Anda dapat membuat masalah sehingga tidak ada Masalah/Permintaan formal yang dibuka.
Saya cocok dengan peretasan yang buruk untuk saat ini memodifikasi HSQLDB
kode sendiri org.hsqldb.ParserDQL
kelas untuk mengabaikan SEKARANG di SQL pilih-untuk-perbarui.
Jika ada yang memiliki jawaban yang lebih baik, saya akan menerima jawaban mereka.
PEMBARUAN:(24 Agustus-2015)
Menerima konfirmasi dari forum HSQLDB bahwa SEKARANG akan diabaikan. Sementara itu saya memposting cuplikan kode untuk mengabaikan SEKARANG yang saya terima dari forum sourceforge HSQLDB. Anda mungkin ingin menunggu versi HSQLDB berikutnya daripada menambahkan ini ke basis kode Anda (sebagai peretasan).
if (Tokens.T_NOWAIT.equals(token.tokenString)) {
read();
}
DIPERBARUI untuk menunjukkan konteks lengkap tentang tempat menambahkan cuplikan di atas di 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);
}
}
}