@@ -60,7 +60,7 @@ Add to your `mix.exs`:
6060``` elixir
6161def deps do
6262 [
63- {:ecto_libsql , " ~> 0.7 .0" }
63+ {:ecto_libsql , " ~> 0.8 .0" }
6464 ]
6565end
6666```
@@ -1148,7 +1148,7 @@ Add `ecto_libsql` to your dependencies (it already includes `ecto_sql`):
11481148``` elixir
11491149def deps do
11501150 [
1151- {:ecto_libsql , " ~> 0.4 .0" }
1151+ {:ecto_libsql , " ~> 0.8 .0" }
11521152 ]
11531153end
11541154```
@@ -2283,6 +2283,37 @@ Get column name by index from prepared statement.
22832283
22842284** Returns:** ` {:ok, name} ` or ` {:error, reason} `
22852285
2286+ #### ` EctoLibSql.Native.stmt_parameter_name/3 ` (v0.8.3+)
2287+
2288+ Get parameter name by index from prepared statement.
2289+
2290+ ** Parameters:**
2291+ - ` state ` (EctoLibSql.State): Connection state
2292+ - ` stmt_id ` (String.t()): Statement ID
2293+ - ` index ` (integer): Parameter index (1-based)
2294+
2295+ ** Returns:** ` {:ok, name} ` for named parameters (` :name ` , ` @name ` , ` $name ` ), ` {:ok, nil} ` for positional ` ? ` placeholders, or ` {:error, reason} `
2296+
2297+ #### ` EctoLibSql.Native.reset_stmt/2 ` (v0.8.3+)
2298+
2299+ Reset a prepared statement to its initial state for reuse.
2300+
2301+ ** Parameters:**
2302+ - ` state ` (EctoLibSql.State): Connection state
2303+ - ` stmt_id ` (String.t()): Statement ID
2304+
2305+ ** Returns:** ` :ok ` or ` {:error, reason} `
2306+
2307+ #### ` EctoLibSql.Native.get_stmt_columns/2 ` (v0.8.3+)
2308+
2309+ Get column metadata for a prepared statement.
2310+
2311+ ** Parameters:**
2312+ - ` state ` (EctoLibSql.State): Connection state
2313+ - ` stmt_id ` (String.t()): Statement ID
2314+
2315+ ** Returns:** ` {:ok, [{name, origin_name, decl_type}]} ` or ` {:error, reason} `
2316+
22862317### Batch SQL Functions
22872318
22882319#### ` EctoLibSql.Native.execute_batch_sql/2 ` (v0.7.0+)
@@ -2305,6 +2336,33 @@ Execute multiple SQL statements atomically in a transaction.
23052336
23062337** Returns:** ` {:ok, state} ` or ` {:error, reason} `
23072338
2339+ ### Extension Loading Functions (v0.8.3+)
2340+
2341+ #### ` EctoLibSql.Native.enable_extensions/2 `
2342+
2343+ Enable or disable SQLite extension loading for a connection.
2344+
2345+ ** Parameters:**
2346+ - ` state ` (EctoLibSql.State): Connection state
2347+ - ` enabled ` (boolean): ` true ` to enable, ` false ` to disable
2348+
2349+ ** Returns:** ` :ok ` or ` {:error, reason} `
2350+
2351+ ** Security Warning:** Only enable extension loading if you trust the extensions being loaded.
2352+
2353+ #### ` EctoLibSql.Native.load_ext/3 `
2354+
2355+ Load a SQLite extension from a dynamic library file.
2356+
2357+ ** Parameters:**
2358+ - ` state ` (EctoLibSql.State): Connection state
2359+ - ` path ` (String.t()): Path to extension (.so, .dylib, or .dll)
2360+ - ` entry_point ` (String.t() | nil): Optional custom entry point function
2361+
2362+ ** Returns:** ` :ok ` or ` {:error, reason} `
2363+
2364+ ** Note:** Extension loading must be enabled first via ` enable_extensions/2 ` .
2365+
23082366---
23092367
23102368## Real-World Examples
0 commit comments