Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Class java.sql.DriverManager was not found #841

Open
aghasemi opened this issue Oct 28, 2023 · 5 comments
Open

Class java.sql.DriverManager was not found #841

aghasemi opened this issue Oct 28, 2023 · 5 comments

Comments

@aghasemi
Copy link

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
Copy link
Owner

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

@aghasemi
Copy link
Author

aghasemi commented Oct 28, 2023

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
Copy link
Author

aghasemi commented Oct 28, 2023

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
Copy link
Owner

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
Copy link
Author

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants