Go to file
renovate[bot] 3a86f7b3c3
chore(deps): update hashicorp/vault-action action to v2.8.1 (#56)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [hashicorp/vault-action](https://togithub.com/hashicorp/vault-action)
| action | patch | `v2.8.0` -> `v2.8.1` |

---

### Release Notes

<details>
<summary>hashicorp/vault-action (hashicorp/vault-action)</summary>

###
[`v2.8.1`](https://togithub.com/hashicorp/vault-action/releases/tag/v2.8.1)

[Compare
Source](https://togithub.com/hashicorp/vault-action/compare/v2.8.0...v2.8.1)

##### 2.8.1 (February 15, 2024)

Bugs:

- Revert [GH-509](https://togithub.com/hashicorp/vault-action/pull/509)
which made a backwards incompatible bump of the node runtime from node16
to node20 [GH-527](https://togithub.com/hashicorp/vault-action/pull/527)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/fluencelabs/sqlite-wasm-connector).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNzMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjE3My4wIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIn0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-29 21:17:35 +00:00
.cargo chore: Add to e2e (#12) 2023-03-20 08:54:20 +02:00
.github chore(deps): update hashicorp/vault-action action to v2.8.1 (#56) 2024-03-29 21:17:35 +00:00
benches Run rustfmt (nightly) 2017-08-26 07:52:28 +02:00
src fix(deps)!: update rust crate marine-rs-sdk to 0.12.0 (#54) 2024-02-14 15:05:18 +04:00
tests add test, fix minor issues 2023-03-01 14:32:05 +03:00
.gitignore improve tests 2021-09-03 19:45:23 +03:00
build.sh feat(update): wasm sqlite 0.18.2 (#50) 2023-12-25 19:42:18 -03:00
Cargo.toml chore(master): release marine-sqlite-connector 0.11.0 (#60) 2024-02-22 15:57:12 +04:00
CHANGELOG.md chore(master): release marine-sqlite-connector 0.11.0 (#60) 2024-02-22 15:57:12 +04:00
Config.toml feat: update marine sdk's and config (#47) 2023-12-19 17:03:05 +03:00
LICENSE.md Update the license 2019-05-22 11:51:24 +02:00
README.md chore: E2E updates [fixes FLU-297, FLU-298, FLU-267] (#16) 2023-04-04 19:20:55 +03:00
rust-toolchain.toml feat: update marine sdk's and config (#47) 2023-12-19 17:03:05 +03:00
sqlite3.wit chore: Use github actions CI and add release-please (#11) 2023-03-08 13:55:18 +02:00

SQLite Package Documentation

The package provides an interface to SQLite.

Example

Open a connection, create a table, and insert some rows:

let connection = sqlite::open(":memory:").unwrap();

connection
    .execute(
        "
        CREATE TABLE users (name TEXT, age INTEGER);
        INSERT INTO users VALUES ('Alice', 42);
        INSERT INTO users VALUES ('Bob', 69);
        ",
    )
    .unwrap();

Select some rows and process them one by one as plain text:

connection
    .iterate("SELECT * FROM users WHERE age > 50", |pairs| {
        for &(column, value) in pairs.iter() {
            println!("{} = {}", column, value.unwrap());
        }
        true
    })
    .unwrap();

The same query using a prepared statement, which is much more efficient than the previous technique:

use sqlite::State;

let mut statement = connection
    .prepare("SELECT * FROM users WHERE age > ?")
    .unwrap();

statement.bind(1, 50).unwrap();

while let State::Row = statement.next().unwrap() {
    println!("name = {}", statement.read::<String>(0).unwrap());
    println!("age = {}", statement.read::<i64>(1).unwrap());
}

The same query using a cursor, which is a wrapper around a prepared statement providing the concept of row and featuring all-at-once binding:

use sqlite::Value;

let mut cursor = connection
    .prepare("SELECT * FROM users WHERE age > ?")
    .unwrap()
    .cursor();

cursor.bind(&[Value::Integer(50)]).unwrap();

while let Some(row) = cursor.next().unwrap() {
    println!("name = {}", row[0].as_string().unwrap());
    println!("age = {}", row[1].as_integer().unwrap());
}

Contribution

Your contribution is highly appreciated. Do not hesitate to open an issue or a pull request. Note that any contribution submitted for inclusion in the project will be licensed according to the terms given in LICENSE.md.