511a168c50c52436f5651818c2308b042fcebbec
[clsql.git] / doc / ref-syntax.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 <!-- Symbolic SQL Syntax --> 
9 <reference id="ref-syntax"> 
10   <title>The Symbolic SQL Syntax</title> 
11   <partintro>
12     <para> 
13       <!-- introduction --> 
14     </para>
15   </partintro>  
16
17     <refentry id="disable-sql-reader-syntax">
18     <refnamediv>
19       <refname>DISABLE-SQL-READER-SYNTAX</refname>
20       <refpurpose><!-- purpose --></refpurpose>
21       <refclass>Function</refclass>
22     </refnamediv>
23     <refsect1>
24       <title>Syntax</title>
25       <synopsis>
26       <function> (DISABLE-SQL-READER-SYNTAX) [macro]</function> => <returnvalue><!-- result --></returnvalue></synopsis>
27     </refsect1>
28     <refsect1>
29       <title>Arguments and Values</title>
30       <variablelist>
31         <!-- arguments and values --> 
32       </variablelist>
33     </refsect1>
34     <refsect1>
35       <title>Description</title>
36       <para>Turns off the SQL reader syntax setting the
37       syntax state such that if the syntax is subsequently
38       enabled, RESTORE-SQL-READER-SYNTAX-STATE will disable
39       it again.
40       </para>
41     </refsect1>
42     <refsect1>
43       <title>Examples</title>
44       <screen>
45         <!-- examples -->
46       </screen>
47     </refsect1>
48     <refsect1>
49       <title>Side Effects</title>
50       <para>
51         <!-- side effects --> 
52       </para>
53     </refsect1>
54     <refsect1>
55       <title>Affected by</title>
56       <para>
57         <simplelist>
58           <!-- affected by --> 
59         </simplelist>
60       </para>
61     </refsect1>
62     <refsect1>
63       <title>Exceptional Situations</title>
64       <para>
65         <!-- execeptional situations -->
66       </para>
67     </refsect1>
68     <refsect1>
69       <title>See Also</title>
70       <para>
71         <simplelist>
72           <!-- see also --> 
73         </simplelist>
74       </para>
75     </refsect1>
76     <refsect1>
77       <title>Notes</title>
78       <para>
79         <!-- notes --> 
80       </para>
81     </refsect1>
82   </refentry>
83
84   <refentry id="enable-sql-reader-syntax">
85     <refnamediv>
86       <refname>ENABLE-SQL-READER-SYNTAX</refname>
87       <refpurpose><!-- purpose --></refpurpose>
88       <refclass>Function</refclass>
89     </refnamediv>
90     <refsect1>
91       <title>Syntax</title>
92       <synopsis>
93       <function> (ENABLE-SQL-READER-SYNTAX) [macro]</function> => <returnvalue><!-- result --></returnvalue></synopsis>
94     </refsect1>
95     <refsect1>
96       <title>Arguments and Values</title>
97       <variablelist>
98         <!-- arguments and values --> 
99       </variablelist>
100     </refsect1>
101     <refsect1>
102       <title>Description</title>
103       <para>Turns on the SQL reader syntax setting the
104       syntax state such that if the syntax is subsequently
105       disabled, RESTORE-SQL-READER-SYNTAX-STATE will enable
106       it again.
107       </para>
108     </refsect1>
109     <refsect1>
110       <title>Examples</title>
111       <screen>
112         <!-- examples -->
113       </screen>
114     </refsect1>
115     <refsect1>
116       <title>Side Effects</title>
117       <para>
118         <!-- side effects --> 
119       </para>
120     </refsect1>
121     <refsect1>
122       <title>Affected by</title>
123       <para>
124         <simplelist>
125           <!-- affected by --> 
126         </simplelist>
127       </para>
128     </refsect1>
129     <refsect1>
130       <title>Exceptional Situations</title>
131       <para>
132         <!-- execeptional situations -->
133       </para>
134     </refsect1>
135     <refsect1>
136       <title>See Also</title>
137       <para>
138         <simplelist>
139           <!-- see also --> 
140         </simplelist>
141       </para>
142     </refsect1>
143     <refsect1>
144       <title>Notes</title>
145       <para>
146         <!-- notes --> 
147       </para>
148     </refsect1>
149   </refentry>
150
151   <refentry id="locally-disable-sql-reader-syntax">
152     <refnamediv>
153       <refname>LOCALLY-DISABLE-SQL-READER-SYNTAX</refname>
154       <refpurpose><!-- purpose --></refpurpose>
155       <refclass>Function</refclass>
156     </refnamediv>
157     <refsect1>
158       <title>Syntax</title>
159       <synopsis>
160       <function> (LOCALLY-DISABLE-SQL-READER-SYNTAX) [macro]</function> => <returnvalue><!-- result --></returnvalue></synopsis>
161     </refsect1>
162     <refsect1>
163       <title>Arguments and Values</title>
164       <variablelist>
165         <!-- arguments and values --> 
166       </variablelist>
167     </refsect1>
168     <refsect1>
169       <title>Description</title>
170       <para>Turns off the SQL reader syntax without
171       changing the syntax state such that
172       RESTORE-SQL-READER-SYNTAX-STATE will re-establish the
173       current syntax state.
174       </para>
175     </refsect1>
176     <refsect1>
177       <title>Examples</title>
178       <screen>
179         <!-- examples -->
180       </screen>
181     </refsect1>
182     <refsect1>
183       <title>Side Effects</title>
184       <para>
185         <!-- side effects --> 
186       </para>
187     </refsect1>
188     <refsect1>
189       <title>Affected by</title>
190       <para>
191         <simplelist>
192           <!-- affected by --> 
193         </simplelist>
194       </para>
195     </refsect1>
196     <refsect1>
197       <title>Exceptional Situations</title>
198       <para>
199         <!-- execeptional situations -->
200       </para>
201     </refsect1>
202     <refsect1>
203       <title>See Also</title>
204       <para>
205         <simplelist>
206           <!-- see also --> 
207         </simplelist>
208       </para>
209     </refsect1>
210     <refsect1>
211       <title>Notes</title>
212       <para>
213         <!-- notes --> 
214       </para>
215     </refsect1>
216   </refentry>
217
218   <refentry id="locally-enable-sql-reader-syntax">
219     <refnamediv>
220       <refname>LOCALLY-ENABLE-SQL-READER-SYNTAX</refname>
221       <refpurpose><!-- purpose --></refpurpose>
222       <refclass>Function</refclass>
223     </refnamediv>
224     <refsect1>
225       <title>Syntax</title>
226       <synopsis>
227       <function> (LOCALLY-ENABLE-SQL-READER-SYNTAX) [macro]</function> => <returnvalue><!-- result --></returnvalue></synopsis>
228     </refsect1>
229     <refsect1>
230       <title>Arguments and Values</title>
231       <variablelist>
232         <!-- arguments and values --> 
233       </variablelist>
234     </refsect1>
235     <refsect1>
236       <title>Description</title>
237       <para>Turns on the SQL reader syntax without
238       changing the syntax state such that
239       RESTORE-SQL-READER-SYNTAX-STATE will re-establish the
240       current syntax state.
241       </para>
242     </refsect1>
243     <refsect1>
244       <title>Examples</title>
245       <screen>
246         <!-- examples -->
247       </screen>
248     </refsect1>
249     <refsect1>
250       <title>Side Effects</title>
251       <para>
252         <!-- side effects --> 
253       </para>
254     </refsect1>
255     <refsect1>
256       <title>Affected by</title>
257       <para>
258         <simplelist>
259           <!-- affected by --> 
260         </simplelist>
261       </para>
262     </refsect1>
263     <refsect1>
264       <title>Exceptional Situations</title>
265       <para>
266         <!-- execeptional situations -->
267       </para>
268     </refsect1>
269     <refsect1>
270       <title>See Also</title>
271       <para>
272         <simplelist>
273           <!-- see also --> 
274         </simplelist>
275       </para>
276     </refsect1>
277     <refsect1>
278       <title>Notes</title>
279       <para>
280         <!-- notes --> 
281       </para>
282     </refsect1>
283   </refentry>
284
285   <refentry id="restore-sql-reader-syntax-state">
286     <refnamediv>
287       <refname>RESTORE-SQL-READER-SYNTAX-STATE</refname>
288       <refpurpose><!-- purpose --></refpurpose>
289       <refclass>Function</refclass>
290     </refnamediv>
291     <refsect1>
292       <title>Syntax</title>
293       <synopsis>
294       <function> (RESTORE-SQL-READER-SYNTAX-STATE) [macro]</function> => <returnvalue><!-- result --></returnvalue></synopsis>
295     </refsect1>
296     <refsect1>
297       <title>Arguments and Values</title>
298       <variablelist>
299         <!-- arguments and values --> 
300       </variablelist>
301     </refsect1>
302     <refsect1>
303       <title>Description</title>
304       <para>Enables the SQL reader syntax if
305       ENABLE-SQL-READER-SYNTAX has been called more recently
306       than DISABLE-SQL-READER-SYNTAX and otherwise disables
307       the SQL reader syntax. By default, the SQL reader
308       syntax is disabled.
309       </para>
310     </refsect1>
311     <refsect1>
312       <title>Examples</title>
313       <screen>
314         <!-- examples -->
315       </screen>
316     </refsect1>
317     <refsect1>
318       <title>Side Effects</title>
319       <para>
320         <!-- side effects --> 
321       </para>
322     </refsect1>
323     <refsect1>
324       <title>Affected by</title>
325       <para>
326         <simplelist>
327           <!-- affected by --> 
328         </simplelist>
329       </para>
330     </refsect1>
331     <refsect1>
332       <title>Exceptional Situations</title>
333       <para>
334         <!-- execeptional situations -->
335       </para>
336     </refsect1>
337     <refsect1>
338       <title>See Also</title>
339       <para>
340         <simplelist>
341           <!-- see also --> 
342         </simplelist>
343       </para>
344     </refsect1>
345     <refsect1>
346       <title>Notes</title>
347       <para>
348         <!-- notes --> 
349       </para>
350     </refsect1>
351   </refentry>
352
353   <refentry id="sql">
354     <refnamediv>
355       <refname>SQL</refname>
356       <refpurpose><!-- purpose --></refpurpose>
357       <refclass>Function</refclass>
358     </refnamediv>
359     <refsect1>
360       <title>Syntax</title>
361       <synopsis>
362       <function> (SQL &amp;REST ARGS) [function]</function> => <returnvalue><!-- result --></returnvalue></synopsis>
363     </refsect1>
364     <refsect1>
365       <title>Arguments and Values</title>
366       <variablelist>
367         <!-- arguments and values --> 
368       </variablelist>
369     </refsect1>
370     <refsect1>
371       <title>Description</title>
372       <para>Returns an SQL string generated from the SQL expressions
373       ARGS. The expressions are translated into SQL strings and then
374       concatenated with a single space delimiting each expression.
375       </para>
376     </refsect1>
377     <refsect1>
378       <title>Examples</title>
379       <screen>
380         <!-- examples -->
381       </screen>
382     </refsect1>
383     <refsect1>
384       <title>Side Effects</title>
385       <para>
386         <!-- side effects --> 
387       </para>
388     </refsect1>
389     <refsect1>
390       <title>Affected by</title>
391       <para>
392         <simplelist>
393           <!-- affected by --> 
394         </simplelist>
395       </para>
396     </refsect1>
397     <refsect1>
398       <title>Exceptional Situations</title>
399       <para>
400         <!-- execeptional situations -->
401       </para>
402     </refsect1>
403     <refsect1>
404       <title>See Also</title>
405       <para>
406         <simplelist>
407           <!-- see also --> 
408         </simplelist>
409       </para>
410     </refsect1>
411     <refsect1>
412       <title>Notes</title>
413       <para>
414         <!-- notes --> 
415       </para>
416     </refsect1>
417   </refentry>
418
419
420   <refentry id="sql-expression">
421     <refnamediv>
422       <refname>SQL-EXPRESSION</refname>
423       <refpurpose><!-- purpose --></refpurpose>
424       <refclass>Function</refclass>
425     </refnamediv>
426     <refsect1>
427       <title>Syntax</title>
428       <synopsis>
429       <function> (SQL-EXPRESSION &amp;KEY STRING TABLE ALIAS ATTRIBUTE TYPE) [function]</function> => <returnvalue><!-- result --></returnvalue></synopsis>
430     </refsect1>
431     <refsect1>
432       <title>Arguments and Values</title>
433       <variablelist>
434         <!-- arguments and values --> 
435       </variablelist>
436     </refsect1>
437     <refsect1>
438       <title>Description</title>
439       <para>Returns an SQL expression constructed from
440       the supplied arguments which may be combined as
441       follows: ATTRIBUTE and TYPE; ATTRIBUTE; ALIAS or TABLE
442       and ATTRIBUTE and TYPE; ALIAS or TABLE and ATTRIBUTE;
443       TABLE, ATTRIBUTE and TYPE; TABLE and ATTRIBUTE; TABLE
444       and ALIAS; TABLE; and STRING.
445       </para>
446     </refsect1>
447     <refsect1>
448       <title>Examples</title>
449       <screen>
450         <!-- examples -->
451       </screen>
452     </refsect1>
453     <refsect1>
454       <title>Side Effects</title>
455       <para>
456         <!-- side effects --> 
457       </para>
458     </refsect1>
459     <refsect1>
460       <title>Affected by</title>
461       <para>
462         <simplelist>
463           <!-- affected by --> 
464         </simplelist>
465       </para>
466     </refsect1>
467     <refsect1>
468       <title>Exceptional Situations</title>
469       <para>
470         <!-- execeptional situations -->
471       </para>
472     </refsect1>
473     <refsect1>
474       <title>See Also</title>
475       <para>
476         <simplelist>
477           <!-- see also --> 
478         </simplelist>
479       </para>
480     </refsect1>
481     <refsect1>
482       <title>Notes</title>
483       <para>
484         <!-- notes --> 
485       </para>
486     </refsect1>
487   </refentry>
488
489   <refentry id="sql-operation">
490     <refnamediv>
491       <refname>SQL-OPERATION</refname>
492       <refpurpose><!-- purpose --></refpurpose>
493       <refclass>Function</refclass>
494     </refnamediv>
495     <refsect1>
496       <title>Syntax</title>
497       <synopsis>
498       <function> (SQL-OPERATION OPERATION &amp;REST REST) [function]</function> => <returnvalue><!-- result --></returnvalue></synopsis>
499     </refsect1>
500     <refsect1>
501       <title>Arguments and Values</title>
502       <variablelist>
503         <!-- arguments and values --> 
504       </variablelist>
505     </refsect1>
506     <refsect1>
507       <title>Description</title>
508       <para>Returns an SQL expression constructed from
509       the supplied SQL operator or function OPERATION and
510       its arguments REST. If OPERATION is passed the symbol
511       FUNCTION then the first value in REST is taken to be a
512       valid SQL function and the remaining values in REST
513       its arguments.
514       </para>
515     </refsect1>
516     <refsect1>
517       <title>Examples</title>
518       <screen>
519         <!-- examples -->
520       </screen>
521     </refsect1>
522     <refsect1>
523       <title>Side Effects</title>
524       <para>
525         <!-- side effects --> 
526       </para>
527     </refsect1>
528     <refsect1>
529       <title>Affected by</title>
530       <para>
531         <simplelist>
532           <!-- affected by --> 
533         </simplelist>
534       </para>
535     </refsect1>
536     <refsect1>
537       <title>Exceptional Situations</title>
538       <para>
539         <!-- execeptional situations -->
540       </para>
541     </refsect1>
542     <refsect1>
543       <title>See Also</title>
544       <para>
545         <simplelist>
546           <!-- see also --> 
547         </simplelist>
548       </para>
549     </refsect1>
550     <refsect1>
551       <title>Notes</title>
552       <para>
553         <!-- notes --> 
554       </para>
555     </refsect1>
556   </refentry>
557
558   <refentry id="sql-operator">
559     <refnamediv>
560       <refname>SQL-OPERATOR</refname>
561       <refpurpose><!-- purpose --></refpurpose>
562       <refclass>Function</refclass>
563     </refnamediv>
564     <refsect1>
565       <title>Syntax</title>
566       <synopsis>
567       <function> (SQL-OPERATOR OPERATION) [function]</function> => <returnvalue><!-- result --></returnvalue></synopsis>
568     </refsect1>
569     <refsect1>
570       <title>Arguments and Values</title>
571       <variablelist>
572         <!-- arguments and values --> 
573       </variablelist>
574     </refsect1>
575     <refsect1>
576       <title>Description</title>
577       <para>Returns the Lisp symbol corresponding to the
578       SQL operation represented by the symbol
579       OPERATION.
580       </para>
581     </refsect1>
582     <refsect1>
583       <title>Examples</title>
584       <screen>
585         <!-- examples -->
586       </screen>
587     </refsect1>
588     <refsect1>
589       <title>Side Effects</title>
590       <para>
591         <!-- side effects --> 
592       </para>
593     </refsect1>
594     <refsect1>
595       <title>Affected by</title>
596       <para>
597         <simplelist>
598           <!-- affected by --> 
599         </simplelist>
600       </para>
601     </refsect1>
602     <refsect1>
603       <title>Exceptional Situations</title>
604       <para>
605         <!-- execeptional situations -->
606       </para>
607     </refsect1>
608     <refsect1>
609       <title>See Also</title>
610       <para>
611         <simplelist>
612           <!-- see also --> 
613         </simplelist>
614       </para>
615     </refsect1>
616     <refsect1>
617       <title>Notes</title>
618       <para>
619         <!-- notes --> 
620       </para>
621     </refsect1>
622   </refentry>
623
624 </reference>