Commit Graph

1065 Commits

Author SHA1 Message Date
김선우
a6f389125c Implement minimal JDBC4Statement#exec(String sql) 2025-01-18 09:09:36 +09:00
김선우
8a1ffbbb65 Add JDBC4ResultSet 2025-01-18 09:09:36 +09:00
Elijah Morgan
6a7b269aa7 fixup dropped meta data 2025-01-16 21:30:36 -05:00
Elijah Morgan
c6d4484e63 bump versions 2025-01-16 21:29:19 -05:00
Elijah Morgan
f20a2d1334 Reorg to single package
Handle commonjs and esm module entry points

tests works
2025-01-16 21:29:19 -05:00
Elijah Morgan
f7be8b834b got vitest working
run via npm run test -w web
2025-01-16 21:29:19 -05:00
Elijah Morgan
02e4104932 reorg package structure
src moved under web/ to make it cleaner
build does less moving of files, mostly just moves the wasm-pack
into dist for node and web
2025-01-16 21:29:19 -05:00
Elijah Morgan
f75a1f89c4 WIP restructure
going to try out something different
2025-01-16 21:29:19 -05:00
Elijah Morgan
f81dfed922 Node and Web basic npm package test work 2025-01-16 21:29:16 -05:00
Elijah Morgan
8fa3a760c7 Web test of npm package works
Node one broke
2025-01-16 21:28:33 -05:00
Elijah Morgan
6bd40430bf Begin adding nodejs/web to a single npm package
Update build script to build both
Update package.json

Add basic test of node variant of npm package.
2025-01-16 21:28:29 -05:00
김선우
d151824f66 Update JDBC4Statement to include resultSetType, resultSetConcurrency, resultSetHoldability 2025-01-15 09:46:42 +09:00
김선우
7104a290e4 Basic support for close method 2025-01-15 09:20:44 +09:00
김선우
e5bf3c2644 Add Codes.java 2025-01-15 09:11:51 +09:00
김선우
eed610d457 Add JDBC4Statement.java 2025-01-15 09:08:45 +09:00
Pekka Enberg
bfbaa80bdc Merge 'Change bindings/java to support java 8' from Kim Seon Woo
## Purpose of this PR
Change java bindings support from jdk version 17 to 8.
## Changes
- Mostly related to dependency version updates
- Replace java 8 non supported methods
## Reference
https://github.com/tursodatabase/limbo/issues/615

Closes #678
2025-01-14 14:17:39 +02:00
김선우
b3883d03d6 Apply necessary changes for java 8 2025-01-14 20:14:32 +09:00
김선우
eacd7b7945 Change bindings/java to support java 8 2025-01-14 20:08:13 +09:00
김선우
66c9832bec Create top level licenses directory 2025-01-14 19:33:29 +09:00
Pekka Enberg
b6ae8990e3 Limbo 0.0.12 2025-01-14 11:39:17 +02:00
김선우
a48cb8bbfc Merge branch 'main' into java-nullability 2025-01-14 17:49:36 +09:00
김선우
04cd655574 Change VALID_URL_PREFIX to use sqlite instead 2025-01-14 17:19:33 +09:00
김선우
f03b6bffde Update license path 2025-01-14 17:12:03 +09:00
김선우
5c9990f41a Merge branch 'main' into java-nullability 2025-01-14 17:09:45 +09:00
Pekka Enberg
af020c27d6 Initial take on Rust bindings
This implements libSQL compatible Rust API on top of Limbo's core. The
purpose of this is to allow libraries and apps that build on libSQL to
use Limbo.
2025-01-14 09:16:46 +02:00
김선우
23d17dba25 Merge branch 'main' into java-limbo-connection 2025-01-14 07:35:09 +09:00
Pekka Enberg
fa6a9ed214 Merge 'bindings/java: Fix naming rules' from Kim Seon Woo
## Purpose of this PR
- Set rules for java naming, maybe we can add tests to  automatically
test rules in the future
- For java methods, don't use underbar(IMO using camelcase for java
methods seems to be the common convention)
- If method names collide, append 0 at the back
## Reference
https://github.com/tursodatabase/limbo/issues/615

Closes #645
2025-01-13 18:39:24 +02:00
김선우
a8bf61f237 Change to SkipNullableCheck 2025-01-11 13:44:22 +09:00
김선우
82ca627d75 Reposition NativeInvocation, VisibleForTesting annotations under annotation package 2025-01-11 10:16:19 +09:00
김선우
aa6f2b3827 Add @SkipNullableCheck and @Nullable annotations 2025-01-11 10:15:58 +09:00
김선우
3b4e2bc81f Add dependencies and related licenses 2025-01-11 10:01:03 +09:00
김선우
59180599fd Add java.sql.Driver to automatically detect JDBC 2025-01-10 20:41:49 +09:00
김선우
71c2bdf37b Add TODO comments 2025-01-10 20:26:41 +09:00
김선우
da787edd99 Implement JDBC so that DriverManager can detect limbo connection 2025-01-10 20:22:58 +09:00
김선우
b360f0559f Add LimboDataSource.java 2025-01-10 20:10:49 +09:00
김선우
bc9e9714f1 Add LimboConfig.java 2025-01-10 20:10:38 +09:00
김선우
e8e09cc745 Add JDBC.java 2025-01-10 20:03:32 +09:00
김선우
d88204252f Add JDBC4Connection.java 2025-01-10 19:57:48 +09:00
김선우
12bcfc399b Add LimboConnection.java 2025-01-10 19:55:54 +09:00
김선우
b796a972dc Fix LimboDB.load to be static method 2025-01-10 19:50:50 +09:00
김선우
84c987d42b Fix naming rules
- No underscore for java
- When method names are the same, append 0 at the back
2025-01-10 19:23:38 +09:00
김선우
071d9513ab Add CI for java testing 2025-01-10 19:13:52 +09:00
김선우
90258a44b4 Add throwJavaException 2025-01-10 17:47:27 +09:00
김선우
3e26e7ebc5 Remove newSQLException and add throwLimboException in the LimboDB.java 2025-01-10 14:58:35 +09:00
Pekka Enberg
5c38cc88a9 Merge 'Implement open function in Java bindings' from Kim Seon Woo
## Purpose of this PR
- Implement open function
- Add basic structure for the following
  - exception handling
  - testing using gradle
## Changes
- Java
  - Remove unnecessary example code(Connection.java, Cursor.java,
Limbo.java)
  - Implement `open`
  - Add exception handling logic
  - Add junit test
- Rust
  - Add limbo_db.rs which implements native functions defined in
`Limbo.java`
  - Remove unnecessary example code in lib.rs
## TODOS
- Implement core features for AbstractDB.java and LimboDB.java (I'm
currently referencing sqlite-java, but there are some minor differences
as we use rust instead of C)
## Reference
- https://github.com/tursodatabase/limbo/issues/615

Closes #632
2025-01-09 18:05:42 +02:00
김선우
b3762b3e92 Fix clippy 2025-01-08 23:01:24 +09:00
김선우
9e0e3dc81a Update rust side logic to open database 2025-01-08 22:51:33 +09:00
김선우
29e434754b Enhance LimboDB.java open logic 2025-01-08 22:50:48 +09:00
김선우
281ba8d552 Remove unused java files 2025-01-08 19:41:31 +09:00
Pekka Enberg
a369329988 Merge 'Add OPFS support to Wasm bindings' from Elijah Morgan
Lots of cleanup still left to do. Draft PR for adding support for OPFS
for WASM build (add support for limbo in browser).
Overall explanation of the architecture: this follows the sqlite wasm
architecture for OPFS.
main <> (limbo-worker.js) limbo (VFS - opfs.js) <> opfs-sync-proxy
The main thread loads limbo-worker.js which bootstraps the opfs.js and
opfs-sync-proxy.js and then launches the limbo-wasm.js.
At that point it can be used with worker.postmessage and
worker.onmessage interactions from the main thread.
The VFS provided by opfs.js provides a sync API by offloading async
operations to opfs-sync-proxy.js. This is done through SharedArrayBuffer
and Atomic.wait() to make the actual async operations appear synchronous
for limbo.
resolves #531

Closes #594
2025-01-07 10:36:18 +02:00