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

rusqlite #457

Closed
wants to merge 2,323 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
2323 commits
Select commit Hold shift + click to select a range
c3ac5ea
Merge pull request #1238 from gwenn/debug_row
gwenn Nov 11, 2022
6294190
Intoduce one_column for tests
gwenn Nov 11, 2022
84f3aaa
Cosmetic changes in tests
gwenn Nov 11, 2022
48b6d4a
Merge pull request #1251 from gwenn/one_column
gwenn Nov 11, 2022
729e38d
Fix FromSql/ToSql for serde_json::Value
gwenn Nov 11, 2022
e5e07fd
iotrace: flush on each entry
psarna Nov 16, 2022
65a4b26
Merge branch 'master' of github.com:sqlite/sqlite into HEAD
psarna Nov 16, 2022
869c73a
Merge "Merge sqlite/sqlite: Nov 16th 2022" from Piotr Sarna
penberg Nov 16, 2022
1dac5c0
Drop .fossil-settings (#34)
penberg Nov 16, 2022
e49fe4e
shell: shameless rebranding of the default prompt
psarna Nov 16, 2022
4ccba52
docs: Add quickstart section to README (#72)
Abdur-rahmaanJ Nov 17, 2022
728e78a
ext/wasm: make shrinking optional
psarna Nov 18, 2022
d07054a
configure.ac: add opt-in WebAssembly dependency
psarna Oct 13, 2022
2168c32
configure: regenerate with autoconf
psarna Oct 13, 2022
d2670a1
func: add run_wasm function
psarna Oct 13, 2022
d3505dd
callback: add a dynamic lookup table for Wasm functions
psarna Oct 13, 2022
feb334c
build: add routines for creating and dropping wasm functions
psarna Oct 19, 2022
cb18cf1
callback: extract try_instantiate_wasm_function
psarna Oct 19, 2022
6a0efcc
func: add libsql_initialize_wasm_func_table
psarna Oct 19, 2022
3182117
main: make functionDestroy helper public
psarna Oct 19, 2022
a91f692
main: initialize libsql_wasm_func_table on startup
psarna Oct 19, 2022
5d503f5
parse: add CREATE FUNCTION/DROP FUNCTION pair
psarna Oct 18, 2022
ffc35c2
test: add a test case for wasm user-defined functions
psarna Oct 19, 2022
d30e39f
Makefile: add rusttestwasm
psarna Oct 19, 2022
99143b8
func, callback: instantiate Wasm functions on boot
psarna Oct 20, 2022
9c98518
test,rust_suite: initialize Wasm table in Rust tests
psarna Oct 20, 2022
d2f6798
test: add more cases for Wasm functions
psarna Oct 25, 2022
19253ba
doc: add initial docs for libSQL extensions
psarna Oct 26, 2022
ffa590b
func: fix handling sources with single quotes
psarna Nov 2, 2022
7e77f52
shell: open the database before first .init_wasm_func_table call
psarna Nov 2, 2022
68305a0
build,func: accept compiled blob wasm too
psarna Nov 2, 2022
bd9dcac
build,vdbe: add opcodes for creating and dropping functions
psarna Nov 3, 2022
2926226
test: add tests for EXPLAIN and udfs
psarna Nov 3, 2022
a104686
func: return int from initializing wasm func table
psarna Nov 4, 2022
fb65bb8
func: mark wasm func table with WITHOUT ROWID
psarna Nov 4, 2022
a65ff00
shell: add help to .init_wasm_func_table command
psarna Nov 5, 2022
ee9d82b
treewide: move wasm bindings to a separate source file
psarna Nov 7, 2022
b711718
udf: move Wasmtime runtime implementation to Rust
psarna Nov 8, 2022
78f1bfb
rust: add building static wasmtime bindings too
psarna Nov 15, 2022
c8d805f
configure: switch to static linking by default
psarna Nov 15, 2022
abb3625
Add a Dockerfile for playing with Wasm user-defined functions
psarna Nov 16, 2022
a6253ec
Upgrade bindgen
gwenn Nov 19, 2022
143c44e
Merge pull request #1256 from gwenn/bindgen
gwenn Nov 19, 2022
df597d3
Fix clippy warnings
gwenn Nov 19, 2022
2241fbc
Merge pull request #1257 from gwenn/clippy
gwenn Nov 19, 2022
a52a3fa
Upgrade SQLite bundled version to 3.40.0
gwenn Nov 20, 2022
85439d5
Merge pull request #1258 from gwenn/3.40.0
gwenn Nov 20, 2022
0284c6d
Add libSQL version 0.1.0
psarna Nov 21, 2022
31c8ac8
Rebrand shell to libsql
psarna Nov 21, 2022
362857c
Merge 'Cosmetics for libSQL version 0.1.0' from Piotr Sarna (#73)
penberg Nov 21, 2022
ddee2d7
Merge 'Allow registering and executing WebAssembly functions' from Pi…
penberg Nov 21, 2022
d0fd944
Add scripts for creating release artifacts
psarna Nov 22, 2022
a760986
docker: add LIBSQL_VERSION to docker image
psarna Nov 23, 2022
7e94e40
tool: fix pre-release.sh parameter check
psarna Nov 23, 2022
a5bd2ac
wasmtime-bindings: freeze rust-toolchain to 1.65.0
psarna Nov 23, 2022
b3c90ed
Merge 'Pre-release amendments' from Piotr Sarna (#78)
penberg Nov 23, 2022
ae42a07
Upgrade bingen
gwenn Nov 25, 2022
e93e018
Merge pull request #1260 from rusqlite/bindgen
gwenn Nov 25, 2022
7db3252
Use ?NNN format instead of ?
gwenn Nov 27, 2022
f22feaa
Merge pull request #1262 from gwenn/parameters
gwenn Nov 27, 2022
b7ec7e4
Introduce Connection::from_handle_owned
psarna Nov 29, 2022
0e0d8d3
Update README.md
psarna Dec 1, 2022
18e8205
Update README.md (#82)
Dec 1, 2022
a742e48
Merge remote-tracking branch 'sqlite/master' into HEAD
psarna Dec 2, 2022
8c88d46
Merge "SQLite master branch - Dec 2nd 2022" from Piotr Sarna
penberg Dec 5, 2022
2b915a6
doc: expand "how to implement user-defined functions" paragraph
psarna Nov 28, 2022
2493d97
Merge pull request #1248 from gwenn/db_path
gwenn Dec 11, 2022
fc562e7
Merge pull request #1252 from gwenn/serde_json
gwenn Dec 11, 2022
8bfa1b3
Merge remote-tracking branch 'origin/master' into deprecated
gwenn Dec 11, 2022
f10776c
Add Statement::clear_bindings
gwenn Dec 11, 2022
601da00
Merge pull request #1268 from gwenn/clear_bindings
gwenn Dec 11, 2022
2b60bf5
Merge pull request #1263 from psarna/from_handle_owned
gwenn Dec 11, 2022
151dc9c
a small helper script to check and prepare libsql dev environment (#86)
tjyang Dec 11, 2022
ba22a26
New sqlite3_module method: xPrepareSql()
lucasvr Dec 12, 2022
bc25f50
pager, wal: virtualize WAL methods
psarna Oct 20, 2022
94a338e
wal: add bUsesShm flag to declare relying on shared memory
psarna Oct 30, 2022
cd124ed
wal: Virtualize pathname handling
psarna Nov 14, 2022
20c19a3
ext: add a stub for custom WAL methods
psarna Oct 25, 2022
3b44791
test: add a Rust test for virtual WAL
psarna Nov 14, 2022
91a2f7e
shell: add .walmethodslist
psarna Nov 15, 2022
451197e
wal: add autoinitialization to libsql_wal_methods* methods
psarna Nov 29, 2022
3c8b8a0
ext: allow registering WAL methods via extension API
psarna Dec 8, 2022
5fe364e
Expose wal_methods_unregister in the extension API as well
psarna Dec 13, 2022
9d39c47
Add a pre-open-main-db-file hook
psarna Dec 13, 2022
66e7e04
vwal: introduce iVersion for being future-proof
psarna Dec 13, 2022
3aad9c5
test: update the virtual WAL Rust test
psarna Dec 13, 2022
d94a45e
Fix build error
gwenn Dec 13, 2022
973540d
Merge pull request #1269 from gwenn/build_error
gwenn Dec 13, 2022
f13c2e7
wal remove ifdefs from libsql_wal_methods
psarna Dec 14, 2022
d89df3c
wal: add optional pointer to private methods data in struct Wal
psarna Dec 14, 2022
de44ec9
Merge remote-tracking branch 'sqlite/master' into HEAD
psarna Dec 15, 2022
fa8c140
Merge "SQLite master branch - Dec 15th 2022" from Piotr Sarna
penberg Dec 16, 2022
5091366
vdbeExec: remove redundant goto on error path.
lucasvr Dec 19, 2022
1226147
xPrepareSql: require iVersion >= 700
lucasvr Dec 19, 2022
61bb437
Rename method from PrepareSql to PreparedSql
lucasvr Dec 19, 2022
bab8064
attach: add missing header
psarna Dec 20, 2022
595b6b8
doc: add a paragraph on virtual WAL
psarna Dec 20, 2022
fa7335c
Merge "Virtualize WAL methods" from Piotr Sarna (#53)
penberg Dec 21, 2022
12309ce
Merge "Expose SQL string to virtual tables" from Lucas C. Villa Real …
penberg Dec 21, 2022
6c9eeed
Update README.md
psarna Dec 22, 2022
93e29af
Update build.rs
ssrlive Dec 22, 2022
60e68ba
Update build.rs
ssrlive Dec 23, 2022
3bde5d2
Document xPreparedSql virtual table callback (#93)
lucasvr Dec 23, 2022
ae3f53b
add arg names to preMainDbOpen (#95)
MarinPostma Jan 2, 2023
7387e3b
Update vendored SQLite to 3.40.1
thomcc Jan 5, 2023
823393e
Update vendored SQLcipher to 4.5.3 (compatible with SQLite 3.39.4)
thomcc Jan 5, 2023
bb5c4d9
Use `grcov` for code coverage
thomcc Jan 5, 2023
4565a76
Merge remote-tracking branch 'sqlite/master' into HEAD
psarna Jan 5, 2023
069d568
Merge pull request #96 from psarna/merge_origin_jan_5_2023
penberg Jan 5, 2023
ffe4539
Fix warning about '/*' within block comment (#97)
CodingDoug Jan 5, 2023
ed1d21f
add workspace to rust crate
MarinPostma Jan 6, 2023
5ffef1a
replace *const i8 with *const c_char where necessary
MarinPostma Jan 6, 2023
a190e4f
Merge pull request #98 from MarinPostma/wasm-rust-workspace
penberg Jan 6, 2023
cde107d
Merge pull request #99 from MarinPostma/portable-rust-crate
penberg Jan 6, 2023
8db20b7
Fix clippy warnings
gwenn Jan 7, 2023
acb5abe
Merge pull request #1275 from gwenn/clippy_ascii
gwenn Jan 7, 2023
cf218c4
wal: include relevant virtual WAL headers in sqlite3.h
psarna Jan 8, 2023
230185f
page_header: make pageHash unconditional
psarna Jan 11, 2023
c0908a0
wal: rename Wal to libsql_wal
psarna Jan 11, 2023
4fa9f44
Merge pull request #103 from psarna/wal_followup
penberg Jan 11, 2023
1a46277
pager: move xPreMainDbOpen call to its proper place
psarna Jan 12, 2023
b283967
pager: default to WAL mode if custom WAL methods are present
psarna Jan 12, 2023
7363404
tests: add journal_mode check to virtual WAL test
psarna Jan 12, 2023
7dabf6b
tests: apply clippy suggestions
psarna Jan 12, 2023
9c6afd9
Merge pull request #105 from psarna/vwal_default
penberg Jan 12, 2023
30773ce
build: register page_header.h as a new header
psarna Jan 13, 2023
7ef8db3
Merge remote-tracking branch 'sqlite/master' into HEAD
psarna Jan 17, 2023
a356ac6
Merge pull request #108 from psarna/merge_origin_jan_17_2023
penberg Jan 18, 2023
626c7f1
ext: split libSQL extension API to a separate struct
psarna Jan 17, 2023
4caa6b7
pager: do not open an empty WAL
psarna Jan 18, 2023
2d6ece1
clarify README
Jan 18, 2023
7cf1d5e
Merge pull request #109 from psarna/libsql_api_routines
penberg Jan 19, 2023
aed5939
Merge pull request #111 from libsql/fallback_for_default_wal
penberg Jan 19, 2023
856a2d5
Merge pull request #112 from glommer/readme
penberg Jan 19, 2023
0f4847d
rust: rename wasmtime bindings crate to libsql-wasmtime-bindings
psarna Jan 21, 2023
b9659e4
Cargo: add rlib library type
psarna Jan 21, 2023
c59e41c
Cargo: rlib -> lib
psarna Jan 21, 2023
772e13f
Cargo: fill in missing fields
psarna Jan 21, 2023
15de108
Revert "Merge pull request #111 from libsql/fallback_for_default_wal"
psarna Jan 23, 2023
03034ef
Revert "Merge pull request #105 from psarna/vwal_default"
psarna Jan 23, 2023
171edea
Merge pull request #113 from psarna/revert_autowal
penberg Jan 23, 2023
1181a0e
src,tool: fix including ext/udf/wasm_bindings.h in the amalgamation
psarna Jan 24, 2023
90f801f
Merge pull request #114 from psarna/amalg_wasm
penberg Jan 24, 2023
7446ad8
pager: move xPreMainDbOpen call to its proper place
psarna Jan 12, 2023
394b8e9
main: switch to WAL mode if custom WAL methods were used
psarna Jan 24, 2023
8bc54b6
tests: add journal_mode check to virtual WAL test
psarna Jan 12, 2023
a938d3f
tests: apply clippy suggestions
psarna Jan 12, 2023
e1844f7
Merge pull request #115 from psarna/default_wal2
penberg Jan 25, 2023
c1720ec
sqlite3.h: unconditionally declare wasm initialization
psarna Jan 25, 2023
16da702
build: initialize Wasm func table before CREATE FUNCTION
psarna Jan 30, 2023
b02335f
rust tests: update to test auto Wasm initialization
psarna Jan 30, 2023
6c270b1
Fix typo in README.md. (#118)
belzecue Feb 2, 2023
07880b3
Merge pull request #124 from psarna/autowasm
penberg Feb 2, 2023
4177de2
Specify a MSRV for clippy
gwenn Feb 3, 2023
a9e78b5
Fix clippy warning
gwenn Feb 3, 2023
db9a1d7
Merge remote-tracking branch 'sqlite/master' into HEAD
psarna Feb 6, 2023
7f0f783
Build liblibsql.{so,a} and install wasm bindings
honzasp Feb 6, 2023
d07a0f8
Revert 3db12cd7c48acc5acfdbe29cf22ff47e46a935a9
psarna Feb 6, 2023
c98b87b
Merge pull request #1285 from gwenn/clippy_msrv
gwenn Feb 9, 2023
2c47d94
Upgrade bindgen
gwenn Feb 9, 2023
8ffdb9b
Merge pull request #1288 from gwenn/bindgen
gwenn Feb 9, 2023
d4faf79
wal: remove trailing semicolon from wal.h
psarna Feb 10, 2023
bea8b1e
Merge pull request #1271 from ssrlive/patch-1
gwenn Feb 14, 2023
c663cc2
Try to fix Github test workflow
honzasp Feb 7, 2023
7160ef5
Merge pull request #130 from psarna/merge_origin_feb_6_2023
psarna Feb 16, 2023
0f1fcb0
Update github actions script
gwenn Feb 20, 2023
8519027
Fix the generate-artifacts script
honzasp Feb 22, 2023
b3fbf9c
Use dtolnay/rust-toolchain instead of rustup in CI
honzasp Feb 22, 2023
9c4b7f0
No longer panic if we fail to close the connection when dropping it.
mhammond Feb 24, 2023
2e2bb8e
Merge pull request #1293 from mhammond/no-panic-on-drop
gwenn Feb 24, 2023
c8a3316
Upgrade bundled SQLite3 sources to version 3.41.0
gwenn Feb 24, 2023
3a061c6
Merge pull request #1294 from gwenn/3.41.0
gwenn Feb 24, 2023
39f9bf3
workflows: do not build liblibsql as superuser
psarna Feb 25, 2023
835f28f
Merge pull request #129 from honzasp/liblibsql
psarna Feb 25, 2023
95db4ec
build: bring back enable-wasm-runtime-dynamic
psarna Feb 25, 2023
c617df5
Merge pull request #132 from psarna/bring_back_dyn
psarna Feb 25, 2023
e29d116
wasmtime-bindings: fix off-by-one error
psarna Feb 17, 2023
8ebf20b
udf: add WasmEdge bindings
psarna Nov 10, 2022
0090f00
udf tests: migrate to using wat2wasm
psarna Feb 24, 2023
f4041fd
rust test suite: apply clippy warnings
psarna Feb 24, 2023
706d147
.gitignore: ignore tests' Cargo.lock file
psarna Feb 24, 2023
1b83d92
workflows: switch to /usr/lib from lib64
psarna Feb 24, 2023
7862246
wasmedge: add a better message when WAT source is passed
psarna Feb 25, 2023
80e888e
workflows: use dynamic linking in maketestwasm
psarna Feb 25, 2023
38403c5
Merge pull request #131 from psarna/wasmedge_poc
penberg Feb 26, 2023
9a9ff59
docs: mention WasmEdge backend (#134)
psarna Feb 26, 2023
bd25e04
Bump version to 0.2.0
psarna Feb 28, 2023
0c66aeb
Merge pull request #135 from psarna/020
penberg Feb 28, 2023
81c5963
wasmedge: init wasi and load plugin (#136)
L-jasmine Mar 3, 2023
558c538
Remove lazy_static optional dependency
gwenn Mar 11, 2023
221f3c6
Merge pull request #1298 from gwenn/rm_lazy_static
gwenn Mar 11, 2023
a39f1c1
Merge pull request #1291 from gwenn/ci-script
gwenn Mar 12, 2023
5d35e19
Merge pull request #1250 from gwenn/deprecated
gwenn Mar 12, 2023
8e4a65a
Create dependabot.yml
gwenn Mar 13, 2023
1b462a4
Upgrade bundled SQLite version to 3.41.1
gwenn Mar 13, 2023
1e4e1f4
Merge pull request #1299 from rusqlite/dependabot
gwenn Mar 13, 2023
9221eef
Update bitflags requirement from 1.2 to 2.0
dependabot[bot] Mar 13, 2023
27ad76d
Merge pull request #1300 from gwenn/3.41.1
gwenn Mar 13, 2023
e1a802a
Add minimum permissions to rust.yml workflow
gwenn Mar 13, 2023
71dd340
Merge pull request #1302 from gwenn/perms
gwenn Mar 13, 2023
b1ebbc5
Fix code related to bitflags
gwenn Mar 14, 2023
bde6b28
Merge pull request #1301 from rusqlite/dependabot/cargo/bitflags-2.0
gwenn Mar 14, 2023
f3b4f6e
Add Statement.readonly() accessor
jgraettinger Mar 22, 2023
1de3747
Bump bundled SQLite3 to version 3.41.2
gwenn Mar 23, 2023
1e7efc9
Merge pull request #1304 from jgraettinger/johnny/stmt-read-only
gwenn Mar 23, 2023
fc5e139
Merge pull request #1306 from gwenn/3.41.2
gwenn Mar 23, 2023
17cab01
Use ParseCallbacks::item_name to fix sqlite3_index_info_* types
gwenn Mar 25, 2023
183d06a
Fix clippy warnings
gwenn Mar 25, 2023
994ddfe
Merge pull request #1309 from gwenn/item_name
gwenn Mar 25, 2023
23955fa
Fix sqlite3_auto_extension xEntryPoint signature
gwenn Mar 25, 2023
d1237c7
Fix sqlite3_auto_extension xEntryPoint signature
gwenn Mar 25, 2023
e62f497
Fix sqlite3_cancel_auto_extension
gwenn Mar 25, 2023
0524947
Rustfmt
gwenn Mar 25, 2023
fdaf2e1
Prepare next release
gwenn Mar 26, 2023
5134b62
Merge pull request #1311 from gwenn/0.29.0
gwenn Mar 26, 2023
96408f6
Merge pull request #1310 from gwenn/sqlite3_auto_extension
gwenn Mar 27, 2023
60ed5c0
Bump bindgen version
gwenn Apr 14, 2023
e6c59a9
Fix clippy warning
gwenn Apr 14, 2023
0847ea2
Merge pull request #1316 from gwenn/bindgen
gwenn Apr 14, 2023
71088e9
Use track_caller for panicking methods
kornelski Apr 13, 2023
318f60b
Force linking against system sqlite libs
icp1994 Apr 16, 2023
3b07c3e
Merge pull request #1314 from kornelski/track_caller
gwenn Apr 17, 2023
adbf7aa
Merge pull request #1317 from icp1994/force-link-sys-sqlite
gwenn Apr 22, 2023
712aa88
Fix clippy warnings
gwenn Apr 22, 2023
71ed924
Rustfmt
gwenn Apr 22, 2023
fea0142
Merge pull request #1318 from gwenn/clippy_
gwenn Apr 22, 2023
22fa619
fix compilation for target wasm32-wasi
sgaflv May 2, 2023
64b93a0
Merge pull request #1321 from wasm-forge/master
gwenn May 7, 2023
7d3313a
add SQLITE_MAX_COLUMN compile option
May 9, 2023
bd191a9
Merge pull request #1324 from nopjia/master
gwenn May 10, 2023
e36f34f
libsqlite3-sys: add libsql backend
psarna Jan 13, 2023
680d89a
libsql: add initializing WebAssembly functions table
psarna Jan 22, 2023
36cf989
libsql: allow opening connections with custom WAL methods
psarna Jan 22, 2023
d039391
enable libsql feature if libsql-wasm is enabled
psarna Mar 1, 2023
0c23946
connection: add open_with_flags_vfs_and_wal
psarna Mar 2, 2023
1118f9b
libsqlite3-sys: add opt dependency on libsql-wasmtime-bindings
psarna Mar 6, 2023
d92f420
add -experimental to all libsql feature flags
psarna Mar 20, 2023
3e0276c
Rerun bindgen generation with SYS_SQLITE3_BUNDLING flag
psarna Mar 20, 2023
2c4accd
libsql: regenerate with libsql 0.2.1
psarna Mar 28, 2023
005af81
wrong
psarna Mar 29, 2023
919f2be
libsql: add additional StatementStatus metrics
psarna Mar 30, 2023
9c6046b
update to libsql with Wasm UDF leak fixed
psarna May 19, 2023
5f44365
libsql: update upgrade_libsql.sh
psarna May 25, 2023
eb6b979
libsql: update to properly bump read rows on virtual table reads
psarna May 30, 2023
246705a
fix ROWS_WRITTEN metrics
psarna Jul 5, 2023
c0fd311
bump ROWS_READ in OP_Last
psarna Jul 24, 2023
126e809
bump rows written only on non-ephemeral databases
psarna Sep 13, 2023
ee75caf
expose TransactionState
MarinPostma Sep 22, 2023
bb2c25e
Merge pull request #1 from tursodatabase/re-export-transaction-state
MarinPostma Sep 22, 2023
4d8231f
Merge remote-tracking branch 'rusqlite/master' into rusqlite
MarinPostma Oct 16, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .fossil-settings/empty-dirs

This file was deleted.

1 change: 0 additions & 1 deletion .fossil-settings/ignore-glob

This file was deleted.

27 changes: 27 additions & 0 deletions .github/workflows/maketest.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Makefile CI

on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]

jobs:
build:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3

- name: get TCL
run: sudo apt-get install -y tcl8.6-dev

- name: configure
run: ./configure

- name: Run tests
run: make test

- name: Run Rust tests
run: make rusttest
46 changes: 46 additions & 0 deletions .github/workflows/maketestwasm.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: Makefile CI with Wasm enabled

on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]

jobs:
build:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- uses: dtolnay/[email protected]

- name: get TCL
run: sudo apt-get install -y tcl8.6-dev

- name: get WasmEdge
run: >
wget -O- https://github.com/WasmEdge/WasmEdge/releases/download/0.11.2/WasmEdge-slim-runtime-0.11.2-manylinux2014_x86_64.tar.gz | tar zxv
&& sudo cp -r WasmEdge-0.11.2-Linux/include/* /usr/include/
&& sudo cp -r WasmEdge-0.11.2-Linux/lib64/* /usr/lib/

- name: configure with Wasm
run: ./configure --enable-wasm-runtime-dynamic

- name: make the library generally available
run: mkdir tmp_lib && DESTDIR=$(pwd)/tmp_lib make liblibsql_install && sudo cp -r tmp_lib/usr/local/lib/* /usr/lib/

- name: Run tests
run: make test

- name: Run Rust tests with Wasm
run: make rusttestwasm

- name: reconfigure with Wasm in WasmEdge mode
run: make clean && ./configure --enable-wasm-runtime-wasmedge

- name: Run tests
run: make test

- name: Run tests with Wasm
run: make rusttestwasm
60 changes: 60 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
.libs/
.target_source
.vscode/
Makefile
autom4te.cache/
config.h
config.log
config.status
fts5.c
fts5.h
fts5parse.c
fts5parse.h
fts5parse.out
fts5parse.sql
fts5parse.y
keywordhash.h
lemon
lempar.c
libsqlite3.la
liblibsql.la
libtclsqlite3.la
libtool
mkkeywordhash
mksourceid
opcodes.c
opcodes.h
parse.c
parse.h
parse.out
parse.sql
parse.y
shell.c
sqlite3
sqlite3.c
sqlite3.h
sqlite3.lo
sqlite3.o
sqlite3.pc
libsql.pc
sqlite3ext.h
sqlite3session.h
tclsqlite.lo
tclsqlite.o
testdir/
tsrc/
dbhash
fuzzcheck
sessionfuzz
sqldiff
sqlite3_analyzer
sqlite3_analyzer.c
sqlite_cfg.h
sqltclsh
sqltclsh.c
srcck1
test-out.txt
test/rust_suite/target
test/rust_suite/Cargo.lock
testfixture
libsql
134 changes: 134 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@

# Contributor Covenant Code of Conduct

## Our Pledge

We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, caste, color, religion, or sexual
identity and orientation.

We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.

## Our Standards

Examples of behavior that contributes to a positive environment for our
community include:

* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
* Focusing on what is best not just for us as individuals, but for the overall
community

Examples of unacceptable behavior include:

* The use of sexualized language or imagery, and sexual attention or advances of
any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email address,
without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting

## Enforcement Responsibilities

Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.

Community leaders have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct, and will communicate reasons for moderation
decisions when appropriate.

## Scope

This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official e-mail address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
<a href="mailto:[email protected]">[email protected]</a>.
All complaints will be reviewed and investigated promptly and fairly.

All community leaders are obligated to respect the privacy and security of the
reporter of any incident.

## Enforcement Guidelines

Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:

### 1. Correction

**Community Impact**: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.

**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.

### 2. Warning

**Community Impact**: A violation through a single incident or series of
actions.

**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or permanent
ban.

### 3. Temporary Ban

**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.

**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.

### 4. Permanent Ban

**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.

**Consequence**: A permanent ban from any sort of public interaction within the
community.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.1, available at
[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1].

Community Impact Guidelines were inspired by
[Mozilla's code of conduct enforcement ladder][Mozilla CoC].

For answers to common questions about this code of conduct, see the FAQ at
[https://www.contributor-covenant.org/faq][FAQ]. Translations are available at
[https://www.contributor-covenant.org/translations][translations].

[homepage]: https://www.contributor-covenant.org
[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
[Mozilla CoC]: https://github.com/mozilla/diversity
[FAQ]: https://www.contributor-covenant.org/faq
[translations]: https://www.contributor-covenant.org/translations

29 changes: 29 additions & 0 deletions Dockerfile-wasm-udf
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# This Dockerfile can be used to test the WebAssembly udf build
# of libSQL.
# Build with `docker build -t libsql-wasm-udf -f Dockerfile-wasm-udf`
# Run e.g. with `docker run -it libsql-wasm-udf`
# or with `docker run -it -v.:/home/libsql/playground libsql-wasm-udf ./sqlite3 playground/db.sql`
# for an interactive session with the database being preserved on host in the db.sql file.

FROM rust:slim-buster

WORKDIR /home/libsql
ADD src src
ADD ext ext
ADD tool tool
ADD VERSION LIBSQL_VERSION

RUN apt-get update
RUN apt-get install -y tcl8.6-dev build-essential autoconf

# To make the build system happy
RUN ln -s /bin/grep /usr/bin/grep
RUN ln -s /bin/sed /usr/bin/sed
RUN ln -sf /bin/bash /bin/sh

COPY manifest manifest.uuid VERSION configure.ac Makefile.in \
libtool sqlite3.pc.in sqlite_cfg.h.in install-sh config.guess config.sub ltmain.sh .

RUN autoconf
RUN ./configure --enable-wasm-runtime --enable-releasemode --enable-all
RUN make
1 change: 1 addition & 0 deletions LIBSQL_VERSION
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
0.2.0
24 changes: 19 additions & 5 deletions LICENSE.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,20 @@
The author disclaims copyright to this source code. In place of
a legal notice, here is a blessing:
MIT License

* May you do good and not evil.
* May you find forgiveness for yourself and forgive others.
* May you share freely, never taking more than you give.
Copyright 2022 the libSQL authors

Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Loading