quarkusio / quarkus

Quarkus: Supersonic Subatomic Java.
https://quarkus.io
Apache License 2.0
13.76k stars 2.68k forks source link

JDBC Sqlite driver #25556

Closed alexeysharandin closed 2 years ago

alexeysharandin commented 2 years ago

Description

Quarkus support H2 embedded database but w/o native mode. People asked to support native because it's somethimes required but it's not done yet by some reason.

In this case I propose to use java sqlite implementation. Links to java implementation and quarkus extention for sqlite available below.

Configuration suggestion

No response

Additional context

Java implementation of Sqlite available here - https://github.com/xerial/sqlite-jdbc/

Basic driver for Quarkus with Agoral and native mode support implemented by me here - https://github.com/alexeysharandin/quarkiverse-jdbc-sqlite and can be copied to quarkus repo.

If this driver will be interesting for Quarkus platform I'll work with Julien Viet/Thomas Segismont from Vert.x to implement reactive driver.

quarkus-bot[bot] commented 2 years ago

/cc @DavideD, @Sanne, @aloubyansky, @gastaldi, @gavinking, @gsmet, @maxandersen, @mswatosh, @yrodiere

maxandersen commented 2 years ago

Definitely interesting and worth introducing in quarkiverse.

Not sure sqlite is sql Compliant enough to standin for h2 but SQLite databases are everywhere especially on smaller devices so good fit for quarkus.

alexeysharandin commented 2 years ago

Yes, and native-image support provided by library out of the box - https://github.com/xerial/sqlite-jdbc/tree/master/src/main/resources/META-INF/native-image/org.xerial/sqlite-jdbc From the Quarkus perspective - need only create quarkus JDBC extention(copy from my repo) and support one.

It's will be interesting for small devices or for some local/configuration storages in microservices apps.

gastaldi commented 2 years ago

I wonder if https://github.com/xerial/sqlite-jdbc/ is still actively maintained given that the last commit happened on Oct 2021 and there are plenty of opened PRs there 😬

alexeysharandin commented 2 years ago

Hi George, you are absolutely right, but please look to this in other angle:

But I can notify authors what have a plans to include this library to Quarkus framework and check their plans for support if needed

gastaldi commented 2 years ago

Regardless, I also think it's a good addition to the Quarkiverse. I'll create a repository in the Quarkiverse org and add you as the lead maintainer. Sounds good?

gastaldi commented 2 years ago

@alexeysharandin there you go: https://github.com/quarkiverse/quarkus-jdbc-sqlite

I have prepared a checklist you can follow after the repository is created: https://github.com/quarkiverse/quarkiverse/wiki/Checklist#after-the-repository-is-created

Have fun!