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

Support Queries (prepared, execute all, etc.) #9

Open
5 tasks
asg017 opened this issue May 1, 2023 · 0 comments
Open
5 tasks

Support Queries (prepared, execute all, etc.) #9

asg017 opened this issue May 1, 2023 · 0 comments

Comments

@asg017
Copy link
Owner

asg017 commented May 1, 2023

In order to properly support shadow tables or more advanced SQLite extensions, sqlite-loadable will need to expose some SQLite C APIs like sqlite3_prepare_v2() + sqlite3_step() + sqlite3_column_*(). That way, extensions can call CREATE TABLE xyz_foo() or INSERT INTO xyz_foo or SELECT * FROM xyz_foo for shadow tables or other more advanced usecases.

This will unblock a few features/extensions:

Planned API features:

  • Statement struct that prepares a sqlite3_stmt
    • create (sqlite3_prepare_v2)
    • bind parameters (sqlite3_bind_*())
    • iterate through results (sqlite3_step) (sqlite3_column_*())
    • Wrap sqlite3_mprintf() in rust for easier/safer string escaping, for shadow table creations
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