Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

hsqldb Oracle mode pilih untuk pembaruan SEKARANG

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);
            }
        }
    }



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. apa perbedaan antara kata kunci gabung dan kata kunci gabung dalam di Oracle sql?

  2. Menggunakan beberapa kueri bersarang di Oracle DBMS

  3. JPA + StoredProcedureCall + parameter tipe objek IN

  4. Mengambil dan menampilkan data dari database oracle

  5. Permintaan Oracle dengan setiap menit setiap hari