konsoletyper / teavm

Compiles Java bytecode to JavaScript, WebAssembly and C
https://teavm.org
Apache License 2.0
2.55k stars 261 forks source link

`Class java.sql.DriverManager was not found` #841

Open aghasemi opened 8 months ago

aghasemi commented 8 months ago

Hi,

I know it may be too far-fetched, but does anyone have an example of using an embedded, pure Java SQL engine with TeaVM. I tried SqlJet and HSQL: One failed in optimising by TeaVM, and the other becase DriverManager class does not exist. Is there a working example somewhere?

Thanks

konsoletyper commented 8 months ago

Sure, DriverManager is not supported by TeaVM. What do you mean by "failed in optimising by TeaVM"?

aghasemi commented 8 months ago

Here is the complete error trying to run SqlJetDb.open(SqlJetDb.IN_MEMORY, true);


[ERROR] Class java.security.SecureRandom was not found
    at org.tmatesoft.sqljet.core.internal.fs.SqlJetFileSystem.<init>(SqlJetFileSystem.java:81)
    at org.tmatesoft.sqljet.core.internal.fs.SqlJetFileSystemsManager.<init>(SqlJetFileSystemsManager.java:48)
    at org.tmatesoft.sqljet.core.internal.fs.SqlJetFileSystemsManager.<clinit>(SqlJetFileSystemsManager.java:41)
    at org.tmatesoft.sqljet.core.table.engine.SqlJetEngine.<clinit>(SqlJetEngine.java:71)
    at org.tmatesoft.sqljet.core.table.SqlJetDb.<init>(SqlJetDb.java:106)
    at org.tmatesoft.sqljet.core.table.SqlJetDb.open(SqlJetDb.java:140)
    at io.aghasemi.Client.main(Client.java:40)
[ERROR] Class java.security.SecureRandom was not found
    at org.tmatesoft.sqljet.core.internal.fs.SqlJetFileSystem.randomness(SqlJetFileSystem.java:261)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.randomnessInt(SqlJetPager.java:2914)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.writeJournalHdr(SqlJetPager.java:2874)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.pageCallback(SqlJetPager.java:3513)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPageCache.fetch(SqlJetPageCache.java:222)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.lookup(SqlJetPager.java:711)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.playbackOnePage(SqlJetPager.java:2140)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.playback(SqlJetPager.java:1550)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.rollback(SqlJetPager.java:3432)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.unlockAndRollback(SqlJetPager.java:1159)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.close(SqlJetPager.java:977)
    at org.tmatesoft.sqljet.core.internal.btree.SqlJetBtree.open(SqlJetBtree.java:427)
    at org.tmatesoft.sqljet.core.table.engine.SqlJetEngine.open(SqlJetEngine.java:195)
    at org.tmatesoft.sqljet.core.table.SqlJetDb.open(SqlJetDb.java:141)
    at io.aghasemi.Client.main(Client.java:40)
[ERROR] Class java.util.concurrent.locks.ReentrantLock was not found
    at org.tmatesoft.sqljet.core.internal.mutex.SqlJetMutex.<init>(SqlJetMutex.java:45)
    at org.tmatesoft.sqljet.core.internal.db.SqlJetDbHandle.<init>(SqlJetDbHandle.java:68)
    at org.tmatesoft.sqljet.core.internal.db.SqlJetDbHandle.<init>(SqlJetDbHandle.java:73)
    at org.tmatesoft.sqljet.core.table.engine.SqlJetEngine.open(SqlJetEngine.java:186)
    at org.tmatesoft.sqljet.core.table.SqlJetDb.open(SqlJetDb.java:141)
    at io.aghasemi.Client.main(Client.java:40)
[ERROR] Class java.util.concurrent.locks.ReentrantLock was not found
    at org.tmatesoft.sqljet.core.internal.mutex.SqlJetMutex.held(SqlJetMutex.java:65)
    at org.tmatesoft.sqljet.core.internal.btree.SqlJetBtree.pageReinit(SqlJetBtree.java:1280)
    at org.tmatesoft.sqljet.core.internal.btree.SqlJetBtree$2.pageCallback(SqlJetBtree.java:335)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.playbackOnePage(SqlJetPager.java:2186)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.playback(SqlJetPager.java:1550)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.rollback(SqlJetPager.java:3432)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.unlockAndRollback(SqlJetPager.java:1159)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.close(SqlJetPager.java:977)
    at org.tmatesoft.sqljet.core.internal.btree.SqlJetBtree.open(SqlJetBtree.java:427)
    at org.tmatesoft.sqljet.core.table.engine.SqlJetEngine.open(SqlJetEngine.java:195)
    at org.tmatesoft.sqljet.core.table.SqlJetDb.open(SqlJetDb.java:141)
    at io.aghasemi.Client.main(Client.java:40)
[ERROR] Method java.io.RandomAccessFile.getChannel()Ljava/nio/channels/FileChannel; was not found
    at org.tmatesoft.sqljet.core.internal.fs.SqlJetFile.<init>(SqlJetFile.java:181)
    at org.tmatesoft.sqljet.core.internal.fs.SqlJetFileSystem.open(SqlJetFileSystem.java:193)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.open(SqlJetPager.java:395)
    at org.tmatesoft.sqljet.core.internal.btree.SqlJetBtree.open(SqlJetBtree.java:325)
    at org.tmatesoft.sqljet.core.table.engine.SqlJetEngine.open(SqlJetEngine.java:195)
    at org.tmatesoft.sqljet.core.table.SqlJetDb.open(SqlJetDb.java:141)
    at io.aghasemi.Client.main(Client.java:40)
[ERROR] Method java.io.RandomAccessFile.getChannel()Ljava/nio/channels/FileChannel; was not found
    at org.tmatesoft.sqljet.core.internal.fs.SqlJetFile.sync(SqlJetFile.java:335)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.zeroJournalHdr(SqlJetPager.java:1988)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.endTransaction(SqlJetPager.java:1890)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.rollback(SqlJetPager.java:3429)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.unlockAndRollback(SqlJetPager.java:1159)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.close(SqlJetPager.java:977)
    at org.tmatesoft.sqljet.core.internal.btree.SqlJetBtree.open(SqlJetBtree.java:427)
    at org.tmatesoft.sqljet.core.table.engine.SqlJetEngine.open(SqlJetEngine.java:195)
    at org.tmatesoft.sqljet.core.table.SqlJetDb.open(SqlJetDb.java:141)
    at io.aghasemi.Client.main(Client.java:40)
[ERROR] Method java.io.RandomAccessFile.getChannel()Ljava/nio/channels/FileChannel; was not found
    at org.tmatesoft.sqljet.core.internal.fs.SqlJetFile.fileSize(SqlJetFile.java:349)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.doTruncate(SqlJetPager.java:2592)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.playback(SqlJetPager.java:1535)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.rollback(SqlJetPager.java:3432)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.unlockAndRollback(SqlJetPager.java:1159)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.close(SqlJetPager.java:977)
    at org.tmatesoft.sqljet.core.internal.btree.SqlJetBtree.open(SqlJetBtree.java:427)
    at org.tmatesoft.sqljet.core.table.engine.SqlJetEngine.open(SqlJetEngine.java:195)
    at org.tmatesoft.sqljet.core.table.SqlJetDb.open(SqlJetDb.java:141)
    at io.aghasemi.Client.main(Client.java:40)
[ERROR] Class java.nio.channels.FileLock was not found
    at org.tmatesoft.sqljet.core.internal.fs.SqlJetFile.lock(SqlJetFile.java:485)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.sharedLock(SqlJetPager.java:1270)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.acquirePage(SqlJetPager.java:1020)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.playbackOnePage(SqlJetPager.java:2170)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.playback(SqlJetPager.java:1550)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.rollback(SqlJetPager.java:3432)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.unlockAndRollback(SqlJetPager.java:1159)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.close(SqlJetPager.java:977)
    at org.tmatesoft.sqljet.core.internal.btree.SqlJetBtree.open(SqlJetBtree.java:427)
    at org.tmatesoft.sqljet.core.table.engine.SqlJetEngine.open(SqlJetEngine.java:195)
    at org.tmatesoft.sqljet.core.table.SqlJetDb.open(SqlJetDb.java:141)
    at io.aghasemi.Client.main(Client.java:40)
[ERROR] Class java.nio.channels.FileLock was not found
    at org.tmatesoft.sqljet.core.internal.fs.SqlJetFile.lock(SqlJetFile.java:487)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.sharedLock(SqlJetPager.java:1270)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.acquirePage(SqlJetPager.java:1020)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.playbackOnePage(SqlJetPager.java:2170)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.playback(SqlJetPager.java:1550)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.rollback(SqlJetPager.java:3432)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.unlockAndRollback(SqlJetPager.java:1159)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.close(SqlJetPager.java:977)
    at org.tmatesoft.sqljet.core.internal.btree.SqlJetBtree.open(SqlJetBtree.java:427)
    at org.tmatesoft.sqljet.core.table.engine.SqlJetEngine.open(SqlJetEngine.java:195)
    at org.tmatesoft.sqljet.core.table.SqlJetDb.open(SqlJetDb.java:141)
    at io.aghasemi.Client.main(Client.java:40)
[ERROR] Class java.nio.channels.FileLock was not found
    at org.tmatesoft.sqljet.core.internal.fs.SqlJetFile.lock(SqlJetFile.java:504)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.sharedLock(SqlJetPager.java:1270)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.acquirePage(SqlJetPager.java:1020)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.playbackOnePage(SqlJetPager.java:2170)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.playback(SqlJetPager.java:1550)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.rollback(SqlJetPager.java:3432)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.unlockAndRollback(SqlJetPager.java:1159)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.close(SqlJetPager.java:977)
    at org.tmatesoft.sqljet.core.internal.btree.SqlJetBtree.open(SqlJetBtree.java:427)
    at org.tmatesoft.sqljet.core.table.engine.SqlJetEngine.open(SqlJetEngine.java:195)
    at org.tmatesoft.sqljet.core.table.SqlJetDb.open(SqlJetDb.java:141)
    at io.aghasemi.Client.main(Client.java:40)
[ERROR] Class java.nio.channels.FileLock was not found
    at org.tmatesoft.sqljet.core.internal.fs.SqlJetFile.lock(SqlJetFile.java:506)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.sharedLock(SqlJetPager.java:1270)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.acquirePage(SqlJetPager.java:1020)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.playbackOnePage(SqlJetPager.java:2170)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.playback(SqlJetPager.java:1550)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.rollback(SqlJetPager.java:3432)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.unlockAndRollback(SqlJetPager.java:1159)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.close(SqlJetPager.java:977)
    at org.tmatesoft.sqljet.core.internal.btree.SqlJetBtree.open(SqlJetBtree.java:427)
    at org.tmatesoft.sqljet.core.table.engine.SqlJetEngine.open(SqlJetEngine.java:195)
    at org.tmatesoft.sqljet.core.table.SqlJetDb.open(SqlJetDb.java:141)
    at io.aghasemi.Client.main(Client.java:40)
[ERROR] Class java.nio.channels.FileLock was not found
    at org.tmatesoft.sqljet.core.internal.fs.SqlJetFile.unlock(SqlJetFile.java:630)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.unlock(SqlJetPager.java:931)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.unlockAndRollback(SqlJetPager.java:1161)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.close(SqlJetPager.java:977)
    at org.tmatesoft.sqljet.core.internal.btree.SqlJetBtree.open(SqlJetBtree.java:427)
    at org.tmatesoft.sqljet.core.table.engine.SqlJetEngine.open(SqlJetEngine.java:195)
    at org.tmatesoft.sqljet.core.table.SqlJetDb.open(SqlJetDb.java:141)
    at io.aghasemi.Client.main(Client.java:40)
[ERROR] Class java.nio.channels.FileLock was not found
    at org.tmatesoft.sqljet.core.internal.fs.SqlJetFile.unlock(SqlJetFile.java:614)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.unlock(SqlJetPager.java:931)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.unlockAndRollback(SqlJetPager.java:1161)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.close(SqlJetPager.java:977)
    at org.tmatesoft.sqljet.core.internal.btree.SqlJetBtree.open(SqlJetBtree.java:427)
    at org.tmatesoft.sqljet.core.table.engine.SqlJetEngine.open(SqlJetEngine.java:195)
    at org.tmatesoft.sqljet.core.table.SqlJetDb.open(SqlJetDb.java:141)
    at io.aghasemi.Client.main(Client.java:40)
[ERROR] Class java.nio.channels.FileLock was not found
    at org.tmatesoft.sqljet.core.internal.fs.SqlJetFile.unlock(SqlJetFile.java:616)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.unlock(SqlJetPager.java:931)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.unlockAndRollback(SqlJetPager.java:1161)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.close(SqlJetPager.java:977)
    at org.tmatesoft.sqljet.core.internal.btree.SqlJetBtree.open(SqlJetBtree.java:427)
    at org.tmatesoft.sqljet.core.table.engine.SqlJetEngine.open(SqlJetEngine.java:195)
    at org.tmatesoft.sqljet.core.table.SqlJetDb.open(SqlJetDb.java:141)
    at io.aghasemi.Client.main(Client.java:40)
[ERROR] Class java.nio.channels.FileLock was not found
    at org.tmatesoft.sqljet.core.internal.fs.SqlJetFile.unlock(SqlJetFile.java:636)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.unlock(SqlJetPager.java:931)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.unlockAndRollback(SqlJetPager.java:1161)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.close(SqlJetPager.java:977)
    at org.tmatesoft.sqljet.core.internal.btree.SqlJetBtree.open(SqlJetBtree.java:427)
    at org.tmatesoft.sqljet.core.table.engine.SqlJetEngine.open(SqlJetEngine.java:195)
    at org.tmatesoft.sqljet.core.table.SqlJetDb.open(SqlJetDb.java:141)
    at io.aghasemi.Client.main(Client.java:40)
[ERROR] Class java.nio.channels.FileLock was not found
    at org.tmatesoft.sqljet.core.internal.fs.SqlJetFile.unlock(SqlJetFile.java:632)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.unlock(SqlJetPager.java:931)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.unlockAndRollback(SqlJetPager.java:1161)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.close(SqlJetPager.java:977)
    at org.tmatesoft.sqljet.core.internal.btree.SqlJetBtree.open(SqlJetBtree.java:427)
    at org.tmatesoft.sqljet.core.table.engine.SqlJetEngine.open(SqlJetEngine.java:195)
    at org.tmatesoft.sqljet.core.table.SqlJetDb.open(SqlJetDb.java:141)
    at io.aghasemi.Client.main(Client.java:40)
[ERROR] Class java.nio.channels.FileLock was not found
    at org.tmatesoft.sqljet.core.internal.fs.SqlJetFile.unlock(SqlJetFile.java:638)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.unlock(SqlJetPager.java:931)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.unlockAndRollback(SqlJetPager.java:1161)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.close(SqlJetPager.java:977)
    at org.tmatesoft.sqljet.core.internal.btree.SqlJetBtree.open(SqlJetBtree.java:427)
    at org.tmatesoft.sqljet.core.table.engine.SqlJetEngine.open(SqlJetEngine.java:195)
    at org.tmatesoft.sqljet.core.table.SqlJetDb.open(SqlJetDb.java:141)
    at io.aghasemi.Client.main(Client.java:40)
[ERROR] Class java.nio.channels.FileLock was not found
    at org.tmatesoft.sqljet.core.internal.fs.SqlJetFile.unlock(SqlJetFile.java:654)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.unlock(SqlJetPager.java:931)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.unlockAndRollback(SqlJetPager.java:1161)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.close(SqlJetPager.java:977)
    at org.tmatesoft.sqljet.core.internal.btree.SqlJetBtree.open(SqlJetBtree.java:427)
    at org.tmatesoft.sqljet.core.table.engine.SqlJetEngine.open(SqlJetEngine.java:195)
    at org.tmatesoft.sqljet.core.table.SqlJetDb.open(SqlJetDb.java:141)
    at io.aghasemi.Client.main(Client.java:40)
[ERROR] Class java.nio.channels.FileLock was not found
    at org.tmatesoft.sqljet.core.internal.fs.SqlJetFile.checkReservedLock(SqlJetFile.java:721)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.hasHotJournal(SqlJetPager.java:2484)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.sharedLock(SqlJetPager.java:1251)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.acquirePage(SqlJetPager.java:1020)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.playbackOnePage(SqlJetPager.java:2170)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.playback(SqlJetPager.java:1550)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.rollback(SqlJetPager.java:3432)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.unlockAndRollback(SqlJetPager.java:1159)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.close(SqlJetPager.java:977)
    at org.tmatesoft.sqljet.core.internal.btree.SqlJetBtree.open(SqlJetBtree.java:427)
    at org.tmatesoft.sqljet.core.table.engine.SqlJetEngine.open(SqlJetEngine.java:195)
    at org.tmatesoft.sqljet.core.table.SqlJetDb.open(SqlJetDb.java:141)
    at io.aghasemi.Client.main(Client.java:40)
[ERROR] Method java.io.RandomAccessFile.getChannel()Ljava/nio/channels/FileChannel; was not found
    at org.tmatesoft.sqljet.core.internal.memory.SqlJetByteBuffer.readFromFile(SqlJetByteBuffer.java:350)
    at org.tmatesoft.sqljet.core.internal.memory.SqlJetMemoryPointer.readFromFile(SqlJetMemoryPointer.java:339)
    at org.tmatesoft.sqljet.core.internal.fs.SqlJetFile.read(SqlJetFile.java:280)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.readFileHeader(SqlJetPager.java:777)
    at org.tmatesoft.sqljet.core.internal.btree.SqlJetBtree.open(SqlJetBtree.java:326)
    at org.tmatesoft.sqljet.core.table.engine.SqlJetEngine.open(SqlJetEngine.java:195)
    at org.tmatesoft.sqljet.core.table.SqlJetDb.open(SqlJetDb.java:141)
    at io.aghasemi.Client.main(Client.java:40)
[ERROR] Method java.io.RandomAccessFile.getChannel()Ljava/nio/channels/FileChannel; was not found
    at org.tmatesoft.sqljet.core.internal.memory.SqlJetByteBuffer.writeToFile(SqlJetByteBuffer.java:373)
    at org.tmatesoft.sqljet.core.internal.memory.SqlJetMemoryPointer.writeToFile(SqlJetMemoryPointer.java:356)
    at org.tmatesoft.sqljet.core.internal.fs.SqlJetFile.write(SqlJetFile.java:302)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.doTruncate(SqlJetPager.java:2599)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.playback(SqlJetPager.java:1535)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.rollback(SqlJetPager.java:3432)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.unlockAndRollback(SqlJetPager.java:1159)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.close(SqlJetPager.java:977)
    at org.tmatesoft.sqljet.core.internal.btree.SqlJetBtree.open(SqlJetBtree.java:427)
    at org.tmatesoft.sqljet.core.table.engine.SqlJetEngine.open(SqlJetEngine.java:195)
    at org.tmatesoft.sqljet.core.table.SqlJetDb.open(SqlJetDb.java:141)
    at io.aghasemi.Client.main(Client.java:40)
[ERROR] Class java.nio.channels.OverlappingFileLockException was not found
    at org.tmatesoft.sqljet.core.internal.fs.SqlJetFileLockManager.createLock
    at org.tmatesoft.sqljet.core.internal.fs.SqlJetFileLockManager.lock(SqlJetFileLockManager.java:126)
    at org.tmatesoft.sqljet.core.internal.fs.SqlJetFile.unlock(SqlJetFile.java:621)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.unlock(SqlJetPager.java:931)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.unlockAndRollback(SqlJetPager.java:1161)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.close(SqlJetPager.java:977)
    at org.tmatesoft.sqljet.core.internal.btree.SqlJetBtree.open(SqlJetBtree.java:427)
    at org.tmatesoft.sqljet.core.table.engine.SqlJetEngine.open(SqlJetEngine.java:195)
    at org.tmatesoft.sqljet.core.table.SqlJetDb.open(SqlJetDb.java:141)
    at io.aghasemi.Client.main(Client.java:40)
[ERROR] Method org.tmatesoft.sqljet.core.internal.fs.SqlJetFileLock.overlaps(JJ)Z was not found
    at org.tmatesoft.sqljet.core.internal.fs.SqlJetFileLockManager.getLock(SqlJetFileLockManager.java:132)
    at org.tmatesoft.sqljet.core.internal.fs.SqlJetFileLockManager.createLock(SqlJetFileLockManager.java:85)
    at org.tmatesoft.sqljet.core.internal.fs.SqlJetFileLockManager.lock(SqlJetFileLockManager.java:126)
    at org.tmatesoft.sqljet.core.internal.fs.SqlJetFile.unlock(SqlJetFile.java:621)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.unlock(SqlJetPager.java:931)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.unlockAndRollback(SqlJetPager.java:1161)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.close(SqlJetPager.java:977)
    at org.tmatesoft.sqljet.core.internal.btree.SqlJetBtree.open(SqlJetBtree.java:427)
    at org.tmatesoft.sqljet.core.table.engine.SqlJetEngine.open(SqlJetEngine.java:195)
    at org.tmatesoft.sqljet.core.table.SqlJetDb.open(SqlJetDb.java:141)
    at io.aghasemi.Client.main(Client.java:40)
[ERROR] Method java.nio.channels.FileChannel.tryLock(JJZ)Ljava/nio/channels/FileLock; was not found
    at org.tmatesoft.sqljet.core.internal.fs.SqlJetFileLockManager$1.createLock(SqlJetFileLockManager.java:72)
    at org.tmatesoft.sqljet.core.internal.fs.SqlJetFileLockManager.createLock(SqlJetFileLockManager.java:96)
    at org.tmatesoft.sqljet.core.internal.fs.SqlJetFileLockManager.lock(SqlJetFileLockManager.java:126)
    at org.tmatesoft.sqljet.core.internal.fs.SqlJetFile.unlock(SqlJetFile.java:621)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.unlock(SqlJetPager.java:931)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.unlockAndRollback(SqlJetPager.java:1161)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.close(SqlJetPager.java:977)
    at org.tmatesoft.sqljet.core.internal.btree.SqlJetBtree.open(SqlJetBtree.java:427)
    at org.tmatesoft.sqljet.core.table.engine.SqlJetEngine.open(SqlJetEngine.java:195)
    at org.tmatesoft.sqljet.core.table.SqlJetDb.open(SqlJetDb.java:141)
    at io.aghasemi.Client.main(Client.java:40)
[ERROR] Method java.nio.channels.FileChannel.lock(JJZ)Ljava/nio/channels/FileLock; was not found
    at org.tmatesoft.sqljet.core.internal.fs.SqlJetFileLockManager$2.createLock(SqlJetFileLockManager.java:78)
    at org.tmatesoft.sqljet.core.internal.fs.SqlJetFileLockManager.createLock(SqlJetFileLockManager.java:96)
    at org.tmatesoft.sqljet.core.internal.fs.SqlJetFileLockManager.lock(SqlJetFileLockManager.java:126)
    at org.tmatesoft.sqljet.core.internal.fs.SqlJetFile.unlock(SqlJetFile.java:621)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.unlock(SqlJetPager.java:931)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.unlockAndRollback(SqlJetPager.java:1161)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.close(SqlJetPager.java:977)
    at org.tmatesoft.sqljet.core.internal.btree.SqlJetBtree.open(SqlJetBtree.java:427)
    at org.tmatesoft.sqljet.core.table.engine.SqlJetEngine.open(SqlJetEngine.java:195)
    at org.tmatesoft.sqljet.core.table.SqlJetDb.open(SqlJetDb.java:141)
    at io.aghasemi.Client.main(Client.java:40)
[ERROR] Class java.nio.channels.FileLock was not found
    at org.tmatesoft.sqljet.core.internal.fs.SqlJetFileLock.<init>(SqlJetFileLock.java:56)
    at org.tmatesoft.sqljet.core.internal.fs.SqlJetFileLockManager.addLock(SqlJetFileLockManager.java:146)
    at org.tmatesoft.sqljet.core.internal.fs.SqlJetFileLockManager.createLock(SqlJetFileLockManager.java:108)
    at org.tmatesoft.sqljet.core.internal.fs.SqlJetFileLockManager.lock(SqlJetFileLockManager.java:126)
    at org.tmatesoft.sqljet.core.internal.fs.SqlJetFile.unlock(SqlJetFile.java:621)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.unlock(SqlJetPager.java:931)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.unlockAndRollback(SqlJetPager.java:1161)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.close(SqlJetPager.java:977)
    at org.tmatesoft.sqljet.core.internal.btree.SqlJetBtree.open(SqlJetBtree.java:427)
    at org.tmatesoft.sqljet.core.table.engine.SqlJetEngine.open(SqlJetEngine.java:195)
    at org.tmatesoft.sqljet.core.table.SqlJetDb.open(SqlJetDb.java:141)
    at io.aghasemi.Client.main(Client.java:40)
[ERROR] Class java.nio.channels.FileLock was not found
    at org.tmatesoft.sqljet.core.internal.fs.SqlJetFileLock.release(SqlJetFileLock.java:81)
    at org.tmatesoft.sqljet.core.internal.fs.SqlJetFile.unlock(SqlJetFile.java:632)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.unlock(SqlJetPager.java:931)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.unlockAndRollback(SqlJetPager.java:1161)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.close(SqlJetPager.java:977)
    at org.tmatesoft.sqljet.core.internal.btree.SqlJetBtree.open(SqlJetBtree.java:427)
    at org.tmatesoft.sqljet.core.table.engine.SqlJetEngine.open(SqlJetEngine.java:195)
    at org.tmatesoft.sqljet.core.table.SqlJetDb.open(SqlJetDb.java:141)
    at io.aghasemi.Client.main(Client.java:40)
[ERROR] Class java.nio.channels.FileLock was not found
    at org.tmatesoft.sqljet.core.internal.fs.SqlJetFileLock.release(SqlJetFileLock.java:82)
    at org.tmatesoft.sqljet.core.internal.fs.SqlJetFile.unlock(SqlJetFile.java:632)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.unlock(SqlJetPager.java:931)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.unlockAndRollback(SqlJetPager.java:1161)
    at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.close(SqlJetPager.java:977)
    at org.tmatesoft.sqljet.core.internal.btree.SqlJetBtree.open(SqlJetBtree.java:427)
    at org.tmatesoft.sqljet.core.table.engine.SqlJetEngine.open(SqlJetEngine.java:195)
    at org.tmatesoft.sqljet.core.table.SqlJetDb.open(SqlJetDb.java:141)
    at io.aghasemi.Client.main(Client.java:40)
aghasemi commented 8 months ago

trying to run a more complete example,

var db = SqlJetDb.open(SqlJetDb.IN_MEMORY, true);
        db.getOptions().setAutovacuum(true);
        db.beginTransaction(SqlJetTransactionMode.WRITE);
        try {
            db.getOptions().setUserVersion(1);
        } finally {
            db.commit();
        }

yields:

Error optimizing program for method org.tmatesoft.sqljet.core.internal.vdbe.SqlJetVdbeMem.fromBtree(Lorg/tmatesoft/sqljet/core/internal/ISqlJetBtreeCursor;IIZ)V:
var @this as this // 0
var @pCur as pCur // 1
var @offset as offset // 2
var @amt as amt // 3
var @key as key // 4
var @available as available // 9
var @zData as zData // 12
var @zData_1 as zData // 13
var @e as e // 45
$0
    goto $1
$1
  at 'org/tmatesoft/sqljet/core/internal/vdbe/SqlJetVdbeMem.java' 635
    nop
    @5 := field org.tmatesoft.sqljet.core.internal.vdbe.SqlJetVdbeMem.$assertionsDisabled as Z
    if @5 != 0 then goto $2 else goto $3
$2
  at 'org/tmatesoft/sqljet/core/internal/vdbe/SqlJetVdbeMem.java' 642
    nop
    @8 := 1
    @available := newArray I[@8]
    @10 := data @available as int
    @6 := 0
    @7 := 0
    @10[@6] := @7 as int
  at 'org/tmatesoft/sqljet/core/internal/vdbe/SqlJetVdbeMem.java' 644
    nop
    if @key == 0 then goto $5 else goto $6
$3
  at 'org/tmatesoft/sqljet/core/internal/vdbe/SqlJetVdbeMem.java' 635
    @51 := invoke `org.tmatesoft.sqljet.core.internal.btree.SqlJetBtreeCursor.getCursorDb()Lorg/tmatesoft/sqljet/core/internal/ISqlJetDbHandle;` @pCur
  at 'org/tmatesoft/sqljet/core/internal/db/SqlJetDbHandle.java' 137 at `org.tmatesoft.sqljet.core.internal.db.SqlJetDbHandle.getMutex()Lorg/tmatesoft/sqljet/core/ISqlJetMutex;` 'org/tmatesoft/sqljet/core/internal/vdbe/SqlJetVdbeMem.java' 635
    nop
    @55 := field org.tmatesoft.sqljet.core.internal.db.SqlJetDbHandle.mutex @51 as `Lorg/tmatesoft/sqljet/core/ISqlJetMutex;`
  at unknown location
    @52 := @55
  at 'org/tmatesoft/sqljet/core/internal/vdbe/SqlJetVdbeMem.java' 635
    @53 := invokeStatic `org.tmatesoft.sqljet.core.internal.SqlJetUtility.mutex_held(Lorg/tmatesoft/sqljet/core/ISqlJetMutex;)Z` @52
    if @53 != 0 then goto $2 else goto $4
$4
  at 'org/tmatesoft/sqljet/core/internal/vdbe/SqlJetVdbeMem.java' 635
    @54 := new java.lang.AssertionError
  at 'org/teavm/classlib/java/lang/TAssertionError.java' 22 at `java.lang.AssertionError.<init>()V` 'org/tmatesoft/sqljet/core/internal/vdbe/SqlJetVdbeMem.java' 635
    nop
  at 'org/teavm/classlib/java/lang/TError.java' 21 at `java.lang.Error.<init>()V` 'org/teavm/classlib/java/lang/TAssertionError.java' 22 at `java.lang.AssertionError.<init>()V` 'org/tmatesoft/sqljet/core/internal/vdbe/SqlJetVdbeMem.java' 635
    nop
    invoke `java.lang.Throwable.<init>()V` @54
  at 'org/tmatesoft/sqljet/core/internal/vdbe/SqlJetVdbeMem.java' 635
    throw @54
$5
  at 'org/tmatesoft/sqljet/core/internal/vdbe/SqlJetVdbeMem.java' 647
    @11 := invoke `org.tmatesoft.sqljet.core.internal.btree.SqlJetBtreeCursor.dataFetch([I)Lorg/tmatesoft/sqljet/core/internal/ISqlJetMemoryPointer;` @pCur, @available
  at unknown location
    goto $7
$6
  at 'org/tmatesoft/sqljet/core/internal/vdbe/SqlJetVdbeMem.java' 645
    @zData := invoke `org.tmatesoft.sqljet.core.internal.btree.SqlJetBtreeCursor.keyFetch([I)Lorg/tmatesoft/sqljet/core/internal/ISqlJetMemoryPointer;` @pCur, @available
    nop
    goto $7
$7
    @zData_1 := phi @11 from $5, @zData from $6
  at 'org/tmatesoft/sqljet/core/internal/vdbe/SqlJetVdbeMem.java' 649
    nop
    @14 := field org.tmatesoft.sqljet.core.internal.vdbe.SqlJetVdbeMem.$assertionsDisabled as Z
    if @14 != 0 then goto $8 else goto $9
$8
  at 'org/tmatesoft/sqljet/core/internal/vdbe/SqlJetVdbeMem.java' 651
    @15 := @offset + @amt as int
    @16 := 0
    @17 := @10[@16] as int
    @18 := @15 compareTo @17 as int
    if @18 > 0 then goto $11 else goto $12
$9
  at 'org/tmatesoft/sqljet/core/internal/vdbe/SqlJetVdbeMem.java' 649
    if @zData_1 !== null then goto $8 else goto $10
$10
  at 'org/tmatesoft/sqljet/core/internal/vdbe/SqlJetVdbeMem.java' 649
    @50 := new java.lang.AssertionError
  at 'org/teavm/classlib/java/lang/TAssertionError.java' 22 at `java.lang.AssertionError.<init>()V` 'org/tmatesoft/sqljet/core/internal/vdbe/SqlJetVdbeMem.java' 649
    nop
  at 'org/teavm/classlib/java/lang/TError.java' 21 at `java.lang.Error.<init>()V` 'org/teavm/classlib/java/lang/TAssertionError.java' 22 at `java.lang.AssertionError.<init>()V` 'org/tmatesoft/sqljet/core/internal/vdbe/SqlJetVdbeMem.java' 649
    nop
    invoke `java.lang.Throwable.<init>()V` @50
  at 'org/tmatesoft/sqljet/core/internal/vdbe/SqlJetVdbeMem.java' 649
    throw @50
$11
  at 'org/tmatesoft/sqljet/core/internal/vdbe/SqlJetVdbeMem.java' 656
    @19 := 2
    @20 := @amt + @19 as int
    @21 := 0
    invoke `org.tmatesoft.sqljet.core.internal.vdbe.SqlJetVdbeMem.grow(IZ)V` @this, @20, @21
  at 'org/tmatesoft/sqljet/core/internal/vdbe/SqlJetVdbeMem.java' 657
    initClass org.tmatesoft.sqljet.core.internal.vdbe.SqlJetVdbeMemFlags
    @22 := field org.tmatesoft.sqljet.core.internal.vdbe.SqlJetVdbeMemFlags.Blob as `Lorg/tmatesoft/sqljet/core/internal/vdbe/SqlJetVdbeMemFlags;`
    @23 := field org.tmatesoft.sqljet.core.internal.vdbe.SqlJetVdbeMemFlags.Dyn as `Lorg/tmatesoft/sqljet/core/internal/vdbe/SqlJetVdbeMemFlags;`
    @24 := field org.tmatesoft.sqljet.core.internal.vdbe.SqlJetVdbeMemFlags.Term as `Lorg/tmatesoft/sqljet/core/internal/vdbe/SqlJetVdbeMemFlags;`
    @25 := invokeStatic `org.tmatesoft.sqljet.core.internal.SqlJetUtility.of(Ljava/lang/Enum;Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;` @22, @23, @24
    field org.tmatesoft.sqljet.core.internal.vdbe.SqlJetVdbeMem.flags @this := @25 as `Ljava/util/EnumSet;`
  at 'org/tmatesoft/sqljet/core/internal/vdbe/SqlJetVdbeMem.java' 658
    @26 := null
    field org.tmatesoft.sqljet.core.internal.vdbe.SqlJetVdbeMem.enc @this := @26 as `Lorg/tmatesoft/sqljet/core/SqlJetEncoding;`
  at 'org/tmatesoft/sqljet/core/internal/vdbe/SqlJetVdbeMem.java' 659
    initClass org.tmatesoft.sqljet.core.SqlJetValueType
    @27 := field org.tmatesoft.sqljet.core.SqlJetValueType.BLOB as `Lorg/tmatesoft/sqljet/core/SqlJetValueType;`
    field org.tmatesoft.sqljet.core.internal.vdbe.SqlJetVdbeMem.type @this := @27 as `Lorg/tmatesoft/sqljet/core/SqlJetValueType;`
  at unknown location
    goto $25
$12
  at 'org/tmatesoft/sqljet/core/internal/vdbe/SqlJetVdbeMem.java' 652
    invoke `org.tmatesoft.sqljet.core.internal.vdbe.SqlJetVdbeMem.reset()V` @this
  at 'org/tmatesoft/sqljet/core/internal/vdbe/SqlJetVdbeMem.java' 653
    @46 := invokeStatic `org.tmatesoft.sqljet.core.internal.SqlJetUtility.pointer(Lorg/tmatesoft/sqljet/core/internal/ISqlJetMemoryPointer;I)Lorg/tmatesoft/sqljet/core/internal/ISqlJetMemoryPointer;` @zData_1, @offset
    field org.tmatesoft.sqljet.core.internal.vdbe.SqlJetVdbeMem.z @this := @46 as `Lorg/tmatesoft/sqljet/core/internal/ISqlJetMemoryPointer;`
  at 'org/tmatesoft/sqljet/core/internal/vdbe/SqlJetVdbeMem.java' 654
    initClass org.tmatesoft.sqljet.core.internal.vdbe.SqlJetVdbeMemFlags
    @47 := field org.tmatesoft.sqljet.core.internal.vdbe.SqlJetVdbeMemFlags.Blob as `Lorg/tmatesoft/sqljet/core/internal/vdbe/SqlJetVdbeMemFlags;`
    @48 := field org.tmatesoft.sqljet.core.internal.vdbe.SqlJetVdbeMemFlags.Ephem as `Lorg/tmatesoft/sqljet/core/internal/vdbe/SqlJetVdbeMemFlags;`
    @49 := invokeStatic `org.tmatesoft.sqljet.core.internal.SqlJetUtility.of(Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;` @47, @48
    field org.tmatesoft.sqljet.core.internal.vdbe.SqlJetVdbeMem.flags @this := @49 as `Ljava/util/EnumSet;`
    goto $13
$13
  at 'org/tmatesoft/sqljet/core/internal/vdbe/SqlJetVdbeMem.java' 676
    field org.tmatesoft.sqljet.core.internal.vdbe.SqlJetVdbeMem.n @this := @amt as I
  at 'org/tmatesoft/sqljet/core/internal/vdbe/SqlJetVdbeMem.java' 677
    return
$14
  at 'org/tmatesoft/sqljet/core/internal/vdbe/SqlJetVdbeMem.java' 664
    @28 := field org.tmatesoft.sqljet.core.internal.vdbe.SqlJetVdbeMem.z @this as `Lorg/tmatesoft/sqljet/core/internal/ISqlJetMemoryPointer;`
    invoke `org.tmatesoft.sqljet.core.internal.btree.SqlJetBtreeCursor.data(IILorg/tmatesoft/sqljet/core/internal/ISqlJetMemoryPointer;)V` @pCur, @offset, @amt, @28
  at unknown location
    goto $16
    catch org.tmatesoft.sqljet.core.SqlJetException goto $26
    catch  goto $24
$15
  at 'org/tmatesoft/sqljet/core/internal/vdbe/SqlJetVdbeMem.java' 662
    @29 := field org.tmatesoft.sqljet.core.internal.vdbe.SqlJetVdbeMem.z @this as `Lorg/tmatesoft/sqljet/core/internal/ISqlJetMemoryPointer;`
    invoke `org.tmatesoft.sqljet.core.internal.btree.SqlJetBtreeCursor.key(IILorg/tmatesoft/sqljet/core/internal/ISqlJetMemoryPointer;)V` @pCur, @offset, @amt, @29
    goto $16
    catch org.tmatesoft.sqljet.core.SqlJetException goto $26
    catch  goto $24
$16
  at 'org/tmatesoft/sqljet/core/internal/vdbe/SqlJetVdbeMem.java' 666
    goto $17
    catch  goto $24
$17
  at 'org/tmatesoft/sqljet/core/internal/vdbe/SqlJetVdbeMem.java' 677
    nop
  at 'org/tmatesoft/sqljet/core/internal/vdbe/SqlJetVdbeMem.java' 670
    @30 := field org.tmatesoft.sqljet.core.internal.vdbe.SqlJetVdbeMem.z @this as `Lorg/tmatesoft/sqljet/core/internal/ISqlJetMemoryPointer;`
    if @30 === null then goto $18 else goto $19
$18
  at 'org/tmatesoft/sqljet/core/internal/vdbe/SqlJetVdbeMem.java' 672
    goto $20
$19
  at 'org/tmatesoft/sqljet/core/internal/vdbe/SqlJetVdbeMem.java' 671
    @31 := field org.tmatesoft.sqljet.core.internal.vdbe.SqlJetVdbeMem.z @this as `Lorg/tmatesoft/sqljet/core/internal/ISqlJetMemoryPointer;`
    @32 := 0
    invokeStatic `org.tmatesoft.sqljet.core.internal.SqlJetUtility.putUnsignedByte(Lorg/tmatesoft/sqljet/core/internal/ISqlJetMemoryPointer;II)Lorg/tmatesoft/sqljet/core/internal/ISqlJetMemoryPointer;` @31, @amt, @32
  at 'org/tmatesoft/sqljet/core/internal/vdbe/SqlJetVdbeMem.java' 672
    @33 := field org.tmatesoft.sqljet.core.internal.vdbe.SqlJetVdbeMem.z @this as `Lorg/tmatesoft/sqljet/core/internal/ISqlJetMemoryPointer;`
    @34 := 1
    @35 := @amt + @34 as int
    @36 := 0
    invokeStatic `org.tmatesoft.sqljet.core.internal.SqlJetUtility.putUnsignedByte(Lorg/tmatesoft/sqljet/core/internal/ISqlJetMemoryPointer;II)Lorg/tmatesoft/sqljet/core/internal/ISqlJetMemoryPointer;` @33, @35, @36
  at unknown location
    goto $18
$20
    goto $27
    catch  goto $24
$21
  at 'org/tmatesoft/sqljet/core/internal/vdbe/SqlJetVdbeMem.java' 672
    goto $23
$22
  at 'org/tmatesoft/sqljet/core/internal/vdbe/SqlJetVdbeMem.java' 671
    @39 := field org.tmatesoft.sqljet.core.internal.vdbe.SqlJetVdbeMem.z @this as `Lorg/tmatesoft/sqljet/core/internal/ISqlJetMemoryPointer;`
    @40 := 0
    invokeStatic `org.tmatesoft.sqljet.core.internal.SqlJetUtility.putUnsignedByte(Lorg/tmatesoft/sqljet/core/internal/ISqlJetMemoryPointer;II)Lorg/tmatesoft/sqljet/core/internal/ISqlJetMemoryPointer;` @39, @amt, @40
  at 'org/tmatesoft/sqljet/core/internal/vdbe/SqlJetVdbeMem.java' 672
    @41 := field org.tmatesoft.sqljet.core.internal.vdbe.SqlJetVdbeMem.z @this as `Lorg/tmatesoft/sqljet/core/internal/ISqlJetMemoryPointer;`
    @42 := 1
    @44 := 0
    invokeStatic `org.tmatesoft.sqljet.core.internal.SqlJetUtility.putUnsignedByte(Lorg/tmatesoft/sqljet/core/internal/ISqlJetMemoryPointer;II)Lorg/tmatesoft/sqljet/core/internal/ISqlJetMemoryPointer;` @41, @43, @44
  at unknown location
    goto $21
$23
    goto $28
    catch  goto $24
$24
    @37 := exception
  at 'org/tmatesoft/sqljet/core/internal/vdbe/SqlJetVdbeMem.java' 672
    nop
  at 'org/tmatesoft/sqljet/core/internal/vdbe/SqlJetVdbeMem.java' 670
    @38 := field org.tmatesoft.sqljet.core.internal.vdbe.SqlJetVdbeMem.z @this as `Lorg/tmatesoft/sqljet/core/internal/ISqlJetMemoryPointer;`
    if @38 === null then goto $21 else goto $22
$25
  at 'org/tmatesoft/sqljet/core/internal/vdbe/SqlJetVdbeMem.java' 661
    if @key == 0 then goto $14 else goto $15
    catch org.tmatesoft.sqljet.core.SqlJetException goto $26
    catch  goto $24
$26
    @e := exception
  at 'org/tmatesoft/sqljet/core/internal/vdbe/SqlJetVdbeMem.java' 667
    nop
    invoke `org.tmatesoft.sqljet.core.internal.vdbe.SqlJetVdbeMem.reset()V` @this
  at 'org/tmatesoft/sqljet/core/internal/vdbe/SqlJetVdbeMem.java' 668
    throw @e
    catch  goto $24
$27
  at 'org/tmatesoft/sqljet/core/internal/vdbe/SqlJetVdbeMem.java' 674
    goto $13
$28
  at 'org/tmatesoft/sqljet/core/internal/vdbe/SqlJetVdbeMem.java' 674
    throw @37
$29
  at 'org/tmatesoft/sqljet/core/internal/vdbe/SqlJetVdbeMem.java' 674
    @56 := 1
  at 'org/tmatesoft/sqljet/core/internal/vdbe/SqlJetVdbeMem.java' 672
    @43 := @amt + @56 as int
  at unknown location
    goto $24
konsoletyper commented 8 months ago

The first error is expeted - as I already explained, TeaVM does not cover entire Java class library, and the library you are trying to compile uses these methods. The second one is a bug that causes TeaVM to crash.

Anyway, you don't have any quick solutions. Here are your options:

  1. You somehow convince me to prioritize implementation of missing classes/methods (donations are also ok, but here it would be really big one)
  2. You get any available JS library which implements SQL and write bindings to it - I think it's a better option, becase it will rely on IndexedDB, which already implement some significant part of a DB engine.
aghasemi commented 8 months ago

Certainly getting something like DuckDB-WASM to work is a better option. Thanks!