|
| 1 | +<h1><a name="imports">World imports</a></h1> |
| 2 | +<ul> |
| 3 | +<li>Imports: |
| 4 | +<ul> |
| 5 | +< li>interface < a href= "#wasi:sql_types_0.1.0">< code>wasi:sql/ [email protected]</ code></ a></ li> |
| 6 | +< li>interface < a href= "#wasi:sql_readwrite_0.1.0">< code>wasi:sql/ [email protected]</ code></ a></ li> |
| 7 | +</ul> |
| 8 | +</li> |
| 9 | +</ul> |
| 10 | +< h2>< a name= "wasi:sql_types_0.1.0">Import interface wasi:sql/ [email protected]</ a></ h2> |
| 11 | +<hr /> |
| 12 | +<h3>Types</h3> |
| 13 | +<h4><a name="data_type"><code>variant data-type</code></a></h4> |
| 14 | +<p>common data types</p> |
| 15 | +<h5>Variant Cases</h5> |
| 16 | +<ul> |
| 17 | +<li><a name="data_type.int32"><code>int32</code></a>: <code>s32</code></li> |
| 18 | +<li><a name="data_type.int64"><code>int64</code></a>: <code>s64</code></li> |
| 19 | +<li><a name="data_type.uint32"><code>uint32</code></a>: <code>u32</code></li> |
| 20 | +<li><a name="data_type.uint64"><code>uint64</code></a>: <code>u64</code></li> |
| 21 | +<li><a name="data_type.float"><code>float</code></a>: <code>float64</code></li> |
| 22 | +<li><a name="data_type.double"><code>double</code></a>: <code>float64</code></li> |
| 23 | +<li><a name="data_type.str"><code>str</code></a>: <code>string</code></li> |
| 24 | +<li><a name="data_type.boolean"><code>boolean</code></a>: <code>bool</code></li> |
| 25 | +<li><a name="data_type.date"><code>date</code></a>: <code>string</code></li> |
| 26 | +<li><a name="data_type.time"><code>time</code></a>: <code>string</code></li> |
| 27 | +<li><a name="data_type.timestamp"><code>timestamp</code></a>: <code>string</code></li> |
| 28 | +<li><a name="data_type.binary"><code>binary</code></a>: list<<code>u8</code>></li> |
| 29 | +<li><a name="data_type.null"><code>null</code></a></li> |
| 30 | +</ul> |
| 31 | +<h4><a name="row"><code>record row</code></a></h4> |
| 32 | +<p>one single row item</p> |
| 33 | +<h5>Record Fields</h5> |
| 34 | +<ul> |
| 35 | +<li><a name="row.field_name"><code>field-name</code></a>: <code>string</code></li> |
| 36 | +<li><a name="row.value"><code>value</code></a>: <a href="#data_type"><a href="#data_type"><code>data-type</code></a></a></li> |
| 37 | +</ul> |
| 38 | +<h4><a name="statement"><code>resource statement</code></a></h4> |
| 39 | +<p>allows parameterized queries |
| 40 | +e.g., prepare("SELECT * FROM users WHERE name = ? AND age = ?", vec!["John Doe", "32"])</p> |
| 41 | +<h4><a name="error"><code>resource error</code></a></h4> |
| 42 | +<p>An error resource type. |
| 43 | +Currently, this provides only one function to return a string representation |
| 44 | +of the error. In the future, this will be extended to provide more information.</p> |
| 45 | +<h4><a name="connection"><code>resource connection</code></a></h4> |
| 46 | +<h2>A connection to a sql store.</h2> |
| 47 | +<h3>Functions</h3> |
| 48 | +<h4><a name="static_statement.prepare"><code>[static]statement.prepare: func</code></a></h4> |
| 49 | +<h5>Params</h5> |
| 50 | +<ul> |
| 51 | +<li><a name="static_statement.prepare.query"><a href="#query"><code>query</code></a></a>: <code>string</code></li> |
| 52 | +<li><a name="static_statement.prepare.params"><code>params</code></a>: list<<code>string</code>></li> |
| 53 | +</ul> |
| 54 | +<h5>Return values</h5> |
| 55 | +<ul> |
| 56 | +<li><a name="static_statement.prepare.0"></a> result<own<<a href="#statement"><a href="#statement"><code>statement</code></a></a>>, own<<a href="#error"><a href="#error"><code>error</code></a></a>>></li> |
| 57 | +</ul> |
| 58 | +<h4><a name="method_error.trace"><code>[method]error.trace: func</code></a></h4> |
| 59 | +<h5>Params</h5> |
| 60 | +<ul> |
| 61 | +<li><a name="method_error.trace.self"><code>self</code></a>: borrow<<a href="#error"><a href="#error"><code>error</code></a></a>></li> |
| 62 | +</ul> |
| 63 | +<h5>Return values</h5> |
| 64 | +<ul> |
| 65 | +<li><a name="method_error.trace.0"></a> <code>string</code></li> |
| 66 | +</ul> |
| 67 | +<h4><a name="static_connection.open"><code>[static]connection.open: func</code></a></h4> |
| 68 | +<h5>Params</h5> |
| 69 | +<ul> |
| 70 | +<li><a name="static_connection.open.name"><code>name</code></a>: <code>string</code></li> |
| 71 | +</ul> |
| 72 | +<h5>Return values</h5> |
| 73 | +<ul> |
| 74 | +<li><a name="static_connection.open.0"></a> result<own<<a href="#connection"><a href="#connection"><code>connection</code></a></a>>, own<<a href="#error"><a href="#error"><code>error</code></a></a>>></li> |
| 75 | +</ul> |
| 76 | +< h2>< a name= "wasi:sql_readwrite_0.1.0">Import interface wasi:sql/ [email protected]</ a></ h2> |
| 77 | +<hr /> |
| 78 | +<h3>Types</h3> |
| 79 | +<h4><a name="statement"><code>type statement</code></a></h4> |
| 80 | +<p><a href="#statement"><a href="#statement"><code>statement</code></a></a></p> |
| 81 | +<p> |
| 82 | +#### <a name="row">`type row`</a> |
| 83 | +[`row`](#row) |
| 84 | +<p> |
| 85 | +#### <a name="error">`type error`</a> |
| 86 | +[`error`](#error) |
| 87 | +<p> |
| 88 | +#### <a name="connection">`type connection`</a> |
| 89 | +[`connection`](#connection) |
| 90 | +<p> |
| 91 | +---- |
| 92 | +<h3>Functions</h3> |
| 93 | +<h4><a name="query"><code>query: func</code></a></h4> |
| 94 | +<p>query is optimized for querying data, and |
| 95 | +implementors can make use of that fact to optimize |
| 96 | +the performance of query execution (e.g., using |
| 97 | +indexes).</p> |
| 98 | +<h5>Params</h5> |
| 99 | +<ul> |
| 100 | +<li><a name="query.c"><code>c</code></a>: borrow<<a href="#connection"><a href="#connection"><code>connection</code></a></a>></li> |
| 101 | +<li><a name="query.q"><code>q</code></a>: borrow<<a href="#statement"><a href="#statement"><code>statement</code></a></a>></li> |
| 102 | +</ul> |
| 103 | +<h5>Return values</h5> |
| 104 | +<ul> |
| 105 | +<li><a name="query.0"></a> result<list<<a href="#row"><a href="#row"><code>row</code></a></a>>, own<<a href="#error"><a href="#error"><code>error</code></a></a>>></li> |
| 106 | +</ul> |
| 107 | +<h4><a name="exec"><code>exec: func</code></a></h4> |
| 108 | +<p>exec is for modifying data in the database.</p> |
| 109 | +<h5>Params</h5> |
| 110 | +<ul> |
| 111 | +<li><a name="exec.c"><code>c</code></a>: borrow<<a href="#connection"><a href="#connection"><code>connection</code></a></a>></li> |
| 112 | +<li><a name="exec.q"><code>q</code></a>: borrow<<a href="#statement"><a href="#statement"><code>statement</code></a></a>></li> |
| 113 | +</ul> |
| 114 | +<h5>Return values</h5> |
| 115 | +<ul> |
| 116 | +<li><a name="exec.0"></a> result<<code>u32</code>, own<<a href="#error"><a href="#error"><code>error</code></a></a>>></li> |
| 117 | +</ul> |
0 commit comments