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

Add support for Java bindings #615

Open
3 tasks
seonWKim opened this issue Jan 4, 2025 · 1 comment
Open
3 tasks

Add support for Java bindings #615

seonWKim opened this issue Jan 4, 2025 · 1 comment

Comments

@seonWKim
Copy link
Contributor

seonWKim commented Jan 4, 2025

What the issue is about

This issue will be the mother issue to track java binding support for limbo like sqlite-jdbc. Maybe we can call it limbo-jdbc someday in the future.

TODOs

  • Add basic support for java bindings
  • Refer to sqlite-jdbc and decide on which native functions to support
  • Add CI to publish java bindings as library

Related Works

  • I personally use notion to clean up my thoughts and track history. If anyone interested in the direction I want to implement java bindings for limbo, you may refer to following docs
penberg added a commit that referenced this issue Jan 5, 2025
Purpose of this PR

- Add support for Java (as Java has an extensive community)
- Enable Limbo to be provided as a Java library in the future.

Changes

- Added `bindings/java` directory.
- Created `src` package for Java (Gradle) and `rs_src` for Rust JNI
code.
- Implemented basic functionality to gather feedback and proceed with
further development.
  - Some features just printout the result for testing purposes.

Future Work

- Integrate CI to publish the library.
- Enhance error handling mechanisms.
- Implement additional features and functionality.
- Add test code after we decide on which features to provide

Issue

#615

Closes #613
penberg added a commit that referenced this issue Jan 5, 2025
… ' from Kim Seon Woo

## Purpose of the PR
- Add minimal template code that provides Limbo features.
## Changes
- Added `DB` which is an interface to DB.
- Added 'LimboDB` which is a thin wrapper around native methods provided
using jni.
## TODO
- Incrementally update the code to support jdbc. Refer to [sqlite-
jdbc](https://github.com/xerial/sqlite-jdbc).
## Reference
- #615

Closes #619
@seonWKim
Copy link
Contributor Author

seonWKim commented Jan 9, 2025

JNI best practices

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

1 participant