Skip to main content

wasm_sql/core/bindings/
query_results.rs

1use crate::{
2    core::bindings::{SqlHostState, generated::wasm_sql::core::query_types::QueryResults},
3    sqldb::SqlDatabase,
4};
5
6#[allow(unused)]
7pub struct QueryResultsImpl {
8    pub(crate) results: Vec<<SqlDatabase as sqlx::Database>::Row>,
9}
10
11impl crate::core::bindings::generated::wasm_sql::core::query_types::HostQueryResults
12    for SqlHostState
13{
14    fn row_count(
15        &mut self,
16        self_: wasmtime::component::Resource<QueryResults>,
17    ) -> Result<u64, wasmtime::Error> {
18        let a = self.table.get(&self_)?;
19
20        Ok(a.results.len() as u64)
21    }
22
23    fn drop(&mut self, rep: wasmtime::component::Resource<QueryResults>) -> wasmtime::Result<()> {
24        self.table.delete(rep)?;
25
26        Ok(())
27    }
28}