wasm-sql 0.1.6

Wasmtime host implementation for a SQL component WIT interface. Enables Wasm components to interact with SQL databases via the WebAssembly Component Model.
Documentation
package wasm-sql:core@0.1.0;

/// Query execution interface for running SQL statements.
interface query {
  use query-types.{sql-query, sql-string, query-results};
  use util-types.{error};
  use connection.{connection};
  use transaction.{transaction};

  /// Specifies where to execute a query.
  variant query-executor {
    /// Execute using a connection from the pool (auto-released after query).
    pool,
    /// Execute on a specific connection.
    connection(borrow<connection>),
    /// Execute within a transaction.
    transaction(borrow<transaction>)
  }

  /// Executes a SELECT query and returns all rows.
  /// Use database-specific codecs to extract values from results.
  fetch-all: async func(query: sql-query, executor: query-executor) -> result<query-results, error>;

  /// Executes an INSERT, UPDATE, or DELETE query.
  /// Returns the number of affected rows.
  execute: async func(
    query: sql-query, executor: query-executor
  ) -> result<u64, error>;

  /// Executes a raw SQL string without parameters.
  /// Use for DDL statements or when parameters are not needed.
  execute-raw: async func(query: sql-string, executor: query-executor) -> result<_, error>;
}