refactor test-connect and test-setup-database to be these two separate things (from...
[clsql.git] / doc / ref-prepared.xml
1 <?xml version='1.0' ?>
2 <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
3 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
4 <!ENTITY % myents SYSTEM "entities.inc">
5 %myents;
6 ]>
7
8 <!-- prepared statements --> 
9
10 <reference id="ref-prepared">
11   <title>Prepared Statements</title>
12   <partintro>
13     <para>
14       <!-- introduction --> 
15     </para> 
16   </partintro>
17
18   <refentry id="prepare-sql">
19     <refmeta>
20       <refentrytitle>PREPARE-SQL</refentrytitle>
21     </refmeta>
22     <refnamediv>
23       <refname>>PREPARE-SQL</refname>
24       <refpurpose>Create a prepared statement.</refpurpose>
25       <refclass>Function</refclass>
26     </refnamediv>
27     <refsect1>
28       <title>Syntax</title>
29       <synopsis>
30       <function>prepare-sql</function> <replaceable>sql-stmt types</replaceable> &amp;key <replaceable>database</replaceable> <replaceable>result-types</replaceable> <replaceable>field-names</replaceable> => <returnvalue>result</returnvalue></synopsis>
31     </refsect1>
32     <refsect1>
33       <title>Arguments and Values</title>
34       <variablelist>
35         <!-- arguments and values --> 
36       </variablelist>
37     </refsect1>
38     <refsect1>
39       <title>Description</title>
40       <para>Prepares a SQL statement <parameter>sql-stmt</parameter>
41       for execution. <parameter>types</parameter> contains a list of
42       types corresponding to the input parameters. Returns a
43       prepared-statement object.
44       
45       A type can be
46       :int
47       :double
48       :null
49       (:string n)
50       
51       </para>
52     </refsect1>
53     <refsect1>
54       <title>Examples</title>
55       <screen>
56         <!-- examples -->
57       </screen>
58     </refsect1>
59     <refsect1>
60       <title>Side Effects</title>
61       <para>
62         <!-- side effects --> 
63       </para>
64     </refsect1>
65     <refsect1>
66       <title>Affected by</title>
67       <para>
68         <simplelist>
69           <!-- affected by --> 
70         </simplelist>
71       </para>
72     </refsect1>
73     <refsect1>
74       <title>Exceptional Situations</title>
75       <para>
76         <!-- execeptional situations -->
77       </para>
78     </refsect1>
79     <refsect1>
80       <title>See Also</title>
81       <para>
82         <simplelist>
83           <!-- see also --> 
84         </simplelist>
85       </para>
86     </refsect1>
87     <refsect1>
88       <title>Notes</title>
89       <para>
90         <!-- notes --> 
91       </para>
92     </refsect1>
93   </refentry>
94
95   <refentry id="run-prepared-sql">
96     <refmeta>
97       <refentrytitle>RUN-PREPARED-SQL</refentrytitle>
98     </refmeta>
99     <refnamediv>
100       <refname>RUN-PREPARED-SQL</refname>
101       <refpurpose>Execute a prepared statement.</refpurpose>
102       <refclass>Function</refclass>
103     </refnamediv>
104     <refsect1>
105       <title>Syntax</title>
106       <synopsis>
107       <function>run-prepared-sql</function> <replaceable>prepared-stmt</replaceable> => <returnvalue><!-- result --></returnvalue></synopsis>
108     </refsect1>
109     <refsect1>
110       <title>Arguments and Values</title>
111       <variablelist>
112         <!-- arguments and values --> 
113       </variablelist>
114     </refsect1>
115     <refsect1>
116       <title>Description</title>
117       <para>Execute the prepared sql statment. All input
118       parameters must be bound.
119       </para>
120     </refsect1>
121     <refsect1>
122       <title>Examples</title>
123       <screen>
124         <!-- examples -->
125       </screen>
126     </refsect1>
127     <refsect1>
128       <title>Side Effects</title>
129       <para>
130         <!-- side effects --> 
131       </para>
132     </refsect1>
133     <refsect1>
134       <title>Affected by</title>
135       <para>
136         <simplelist>
137           <!-- affected by --> 
138         </simplelist>
139       </para>
140     </refsect1>
141     <refsect1>
142       <title>Exceptional Situations</title>
143       <para>
144         <!-- execeptional situations -->
145       </para>
146     </refsect1>
147     <refsect1>
148       <title>See Also</title>
149       <para>
150         <simplelist>
151           <!-- see also --> 
152         </simplelist>
153       </para>
154     </refsect1>
155     <refsect1>
156       <title>Notes</title>
157       <para>
158         <!-- notes --> 
159       </para>
160     </refsect1>
161   </refentry>
162
163   <refentry id="free-prepared-sql">
164     <refmeta>
165       <refentrytitle>FREE-PREPARED-SQL</refentrytitle>
166     </refmeta>
167     <refnamediv>
168       <refname>FREE-PREPARED-SQL</refname>
169       <refpurpose>Delete a prepared statement object.</refpurpose>
170       <refclass>Function</refclass>
171     </refnamediv>
172     <refsect1>
173       <title>Syntax</title>
174       <synopsis>
175       <function>free-prepared-sql</function> <replaceable>prepared-stmt</replaceable> => <returnvalue><!-- result --></returnvalue></synopsis>
176     </refsect1>
177     <refsect1>
178       <title>Arguments and Values</title>
179       <variablelist>
180         <!-- arguments and values --> 
181       </variablelist>
182     </refsect1>
183     <refsect1>
184       <title>Description</title>
185       <para>Delete the objects associated with a prepared
186       statement.
187       </para>
188     </refsect1>
189     <refsect1>
190       <title>Examples</title>
191       <screen>
192         <!-- examples -->
193       </screen>
194     </refsect1>
195     <refsect1>
196       <title>Side Effects</title>
197       <para>
198         <!-- side effects --> 
199       </para>
200     </refsect1>
201     <refsect1>
202       <title>Affected by</title>
203       <para>
204         <simplelist>
205           <!-- affected by --> 
206         </simplelist>
207       </para>
208     </refsect1>
209     <refsect1>
210       <title>Exceptional Situations</title>
211       <para>
212         <!-- execeptional situations -->
213       </para>
214     </refsect1>
215     <refsect1>
216       <title>See Also</title>
217       <para>
218         <simplelist>
219           <!-- see also --> 
220         </simplelist>
221       </para>
222     </refsect1>
223     <refsect1>
224       <title>Notes</title>
225       <para>
226         <!-- notes --> 
227       </para>
228     </refsect1>
229   </refentry>
230
231   <refentry id="bind-parameter">
232     <refmeta>
233       <refentrytitle>BIND-PARAMETER</refentrytitle>
234     </refmeta>
235     <refnamediv>
236       <refname>BIND-PARAMETER</refname>
237       <refpurpose>Bind a parameter in a prepared statement.</refpurpose>
238       <refclass>Function</refclass>
239     </refnamediv>
240     <refsect1>
241       <title>Syntax</title>
242       <synopsis>
243       <function>bind-parameter</function> <replaceable>prepared-stmt</replaceable> <replaceable>position</replaceable> <replaceable>value</replaceable> => <returnvalue><!-- result --></returnvalue></synopsis>
244     </refsect1>
245     <refsect1>
246       <title>Arguments and Values</title>
247       <variablelist>
248         <!-- arguments and values --> 
249       </variablelist>
250     </refsect1>
251     <refsect1>
252       <title>Description</title>
253       <para>Sets the value of a parameter in a prepared statement.
254       </para>
255     </refsect1>
256     <refsect1>
257       <title>Examples</title>
258       <screen>
259         <!-- examples -->
260       </screen>
261     </refsect1>
262     <refsect1>
263       <title>Side Effects</title>
264       <para>
265         <!-- side effects --> 
266       </para>
267     </refsect1>
268     <refsect1>
269       <title>Affected by</title>
270       <para>
271         <simplelist>
272           <!-- affected by --> 
273         </simplelist>
274       </para>
275     </refsect1>
276     <refsect1>
277       <title>Exceptional Situations</title>
278       <para>
279         <!-- execeptional situations -->
280       </para>
281     </refsect1>
282     <refsect1>
283       <title>See Also</title>
284       <para>
285         <simplelist>
286           <!-- see also --> 
287         </simplelist>
288       </para>
289     </refsect1>
290     <refsect1>
291       <title>Notes</title>
292       <para>
293         <!-- notes --> 
294       </para>
295     </refsect1>
296   </refentry>
297
298 </reference>