Comments (7)
Oh we are exploring that as well! https://github.com/libsql/sqld/blob/main/sqld/src/libsql/mwal/mod.rs , right now it works on top of a fork of mvSQLite which implements a frontend with virtual WAL instead of VFS: https://github.com/psarna/mvsqlite/tree/mwal
from libsql.
And we're interested in the other way round, i.e. making libSQL better suited to run mvSQLite as well, e.g. #11, #12, #20
from libsql.
Did you document the steps needed to convert libsql to mvsqlite?
from libsql.
Also I am investigating how to have a limit of 15 seconds or less configuration option for timeouts in wasmtime
from libsql.
Did you document the steps needed to convert libsql to mvsqlite?
What do you mean by convert? One of the ways mvSQLite is used is to just LD_PRELOAD an application that uses SQLite with a mvSQLite library - you can do exactly the same with an application that uses libSQL, and it will work (https://su3.io/posts/mvsqlite#drop-in-addition), because libSQL is compatible with SQLite ABI.
from libsql.
My goal is to make a static library and merge it with my variation of the Godot Engine.
Problems
- static library linking is broken in the official release of libsql for wasm
- libsql as sqlite3.h / sqlite3.cpp for mvsqlite requires changes to rename "sqlite3_step" to "real_sqlite3_step" and "sqlite3_open_v2" to "real_sqlite3_open_v2"
from libsql.
static library linking is broken in the official release of libsql for wasm
@fire can you post the steps to reproduce your issue with static linking? It works forlibsql
/sqlite3
shell just fine on my x86-64, maybe it's an arch issue?
It's also worth noting that Wasm UDF support, being written in Rust, is not part of the single amalgamation sqlite3.c
file, and is instead produced as a static library, libwblibsql.a
, which you can find precompiled in .libs
directory of libsql-0.1.0-wasm-udf.tar.gz
file from our official release.
Alternatively, if you compile from source, the static library can also be found in ./libwblibsql.a
.
And if you're integrating Wasm support with a Rust application, it's best to skip linking with the static library and instead integrate directly with the Rust crate: https://crates.io/crates/libsql-wasmtime-bindings.
It's now definitely clear to me that the process is not documented, which makes it hard for users to consume, and we should fix that. But please also let me know if any of the paragraphs above helped!
from libsql.
Related Issues (20)
- Import fails when there are multiline statements in the dump HOT 1
- Bug with schema migration when tasks status do not reflect the job status
- Group tokens with attach permissions lose broader read/write permissions
- Switch to using `gosu` in `docker-entrypoint.sh`? HOT 1
- Schema migrations fail when run on a client connected to a replica HOT 3
- Sqlean version out-of-date in Turso HOT 5
- ERROR libsql::replication: replicator sync | database disk image is malformed HOT 11
- Creating namespaces in sqld following the docs does not work. HOT 2
- Switch to locking_mode EXCLUSIVE in libSQL server? HOT 2
- Feature request: support for `begin concurrent`
- How to enable the `attach` permission for databases HOT 1
- Improve database connection builder API? HOT 1
- Go API: Compile/Link error on Linux with Embedded Replication library
- CHECK failure not propagated on failing INSERT/UPDATE HOT 2
- libsql-ffi build failed on Windows HOT 4
- Issue: pyo3_runtime.PanicException: not yet implemented
- The stream expired due to inactivity with SQLC and turso
- missing `libsql-server-v0.24.19/source.tar.gz` HOT 5
- Sync hangs for a very long time when using archived database HOT 2
- failed to build 0.24.20 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from libsql.