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

Initial pass on libSQL bindings #597

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
Draft

Initial pass on libSQL bindings #597

wants to merge 1 commit into from

Conversation

penberg
Copy link
Collaborator

@penberg penberg commented Jan 3, 2025

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.

@penberg penberg force-pushed the libsql-bindings branch 2 times, most recently from a3969a1 to 12bce01 Compare January 3, 2025 09:56
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.
use crate::{Error, Result};

#[derive(Clone, Debug, PartialEq)]
pub enum Value {
Copy link
Contributor

@PThorpe92 PThorpe92 Jan 6, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this just be one external API crate, both for libsql bindings, as well as extensions? What I mean is this file feels almost identical to one I just wrote.

If this was part of one standard crate that each can link with that exposes these types used in all external interfaces, that way each (sqlite3 extensions, libsql, limbo extensions) can each either use these directly (in the case of limbo extensions), or implement some conversion to it's native types as with the case of sqlite3api.

e.g. for support of sqlite3ext, I would link with that crate, and implement conversion/logic from these types

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

Successfully merging this pull request may close these issues.

2 participants