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">
8 <!-- Symbolic SQL Syntax -->
9 <reference id="ref-syntax">
10 <title>The Symbolic SQL Syntax</title>
13 &clsql; provides a symbolic syntax allowing the construction of
14 SQL expressions as lists delimited by square brackets. The
15 syntax is turned off by default. This section describes
16 utilities for enabling and disabling the square bracket reader
17 syntax and for constructing symbolic SQL expressions.
20 <title>Tip: just want it on</title>
22 <link linkend="file-enable-sql-reader-syntax"><function>file-enable-sql-reader-syntax</function></link> at the top of each file is easiest.
27 <refentry id="enable-sql-reader-syntax">
29 <refentrytitle>ENABLE-SQL-READER-SYNTAX</refentrytitle>
32 <refname>ENABLE-SQL-READER-SYNTAX</refname>
33 <refpurpose>Globally enable square bracket reader syntax.</refpurpose>
34 <refclass>Macro</refclass>
39 <function>enable-sql-reader-syntax</function> => <returnvalue></returnvalue></synopsis>
42 <title>Arguments and Values</title>
46 <title>Description</title>
47 <para>Turns on the SQL reader syntax setting the syntax state
48 such that if the syntax is subsequently disabled, <link
49 linkend="restore-sql-reader-syntax-state">
50 <function>restore-sql-reader-syntax-state</function></link> will
55 <title>Examples</title>
59 <title>Side Effects</title>
61 Sets the internal syntax state to enabled.
64 Modifies the default readtable.
68 &clsql; tries to keep track of whether the syntax has already been enabled. This can be problematic if the syntax is somehow disabled externally to &clsql; as future attempts to enable the syntax will do nothing--the system thinks it is already enabled. This may happen if there is an enable, but no disable, in a file that is processed with load or compile-file as the lisp implementation will restore the readtable on completion. Or, even if there is a disable but a compiler-error is encountered before running the disable. If you encounter this try running <link linkend="disable-sql-reader-syntax"><function>disable-sql-reader-syntax</function></link> a couple times in the REPL.
70 <para>See <link linkend="file-enable-sql-reader-syntax"><function>file-enable-sql-reader-syntax</function></link> for an alternative.</para>
74 <title>Affected by</title>
80 <title>Exceptional Situations</title>
86 <title>See Also</title>
88 <member><link linkend="disable-sql-reader-syntax"><function>disable-sql-reader-syntax</function></link></member>
89 <member><link linkend="locally-enable-sql-reader-syntax"><function>locally-enable-sql-reader-syntax</function></link></member>
90 <member><link linkend="locally-disable-sql-reader-syntax"><function>locally-disable-sql-reader-syntax</function></link></member>
91 <member><link linkend="restore-sql-reader-syntax-state"><function>restore-sql-reader-syntax-state</function></link></member>
92 <member><link linkend="file-enable-sql-reader-syntax"><function>file-enable-sql-reader-syntax</function></link></member>
98 The symbolic SQL syntax is disabled by default.
101 &clsql; differs from &commonsql; in that
102 <function>enable-sql-reader-syntax</function> is defined as a
103 macro rather than a function.
108 <refentry id="disable-sql-reader-syntax">
110 <refentrytitle>DISABLE-SQL-READER-SYNTAX</refentrytitle>
113 <refname>DISABLE-SQL-READER-SYNTAX</refname>
114 <refpurpose>Globally disable square bracket reader syntax.</refpurpose>
115 <refclass>Macro</refclass>
118 <title>Syntax</title>
120 <function>disable-sql-reader-syntax</function> => <returnvalue></returnvalue></synopsis>
123 <title>Arguments and Values</title>
127 <title>Description</title>
128 <para>Turns off the SQL reader syntax setting the syntax state
129 such that if the syntax is subsequently enabled,
130 <link linkend="restore-sql-reader-syntax-state">
131 <function>restore-sql-reader-syntax-state</function></link> will
136 <title>Examples</title>
140 <title>Side Effects</title>
142 Sets the internal syntax state to disabled.
145 Modifies the default readtable.
149 <title>Affected by</title>
155 <title>Exceptional Situations</title>
161 <title>See Also</title>
163 <member><link linkend="enable-sql-reader-syntax"><function>enable-sql-reader-syntax</function></link></member>
164 <member><link linkend="locally-enable-sql-reader-syntax"><function>locally-enable-sql-reader-syntax</function></link></member>
165 <member><link linkend="locally-disable-sql-reader-syntax"><function>locally-disable-sql-reader-syntax</function></link></member>
166 <member><link linkend="restore-sql-reader-syntax-state"><function>restore-sql-reader-syntax-state</function></link></member>
167 <member><link linkend="file-enable-sql-reader-syntax"><function>file-enable-sql-reader-syntax</function></link></member>
173 The symbolic SQL syntax is disabled by default.
176 &clsql; differs from &commonsql; in that
177 <function>disable-sql-reader-syntax</function> is defined as a
178 macro rather than a function.
183 <refentry id="locally-enable-sql-reader-syntax">
185 <refentrytitle>LOCALLY-ENABLE-SQL-READER-SYNTAX</refentrytitle>
188 <refname>LOCALLY-ENABLE-SQL-READER-SYNTAX</refname>
189 <refpurpose>Locally enable square bracket reader syntax.</refpurpose>
190 <refclass>Macro</refclass>
193 <title>Syntax</title>
195 <function>locally-enable-sql-reader-syntax</function> => <returnvalue></returnvalue></synopsis>
198 <title>Arguments and Values</title>
202 <title>Description</title>
203 <para>Turns on the SQL reader syntax without changing the syntax
204 state such that <link linkend="restore-sql-reader-syntax-state">
205 <function>restore-sql-reader-syntax-state</function></link> will
206 re-establish the current syntax state.
210 <title>Examples</title>
211 <para>Intended to be used in a file for code which uses the
212 square bracket syntax without changing the global state.
215 #.(locally-enable-sql-reader-syntax)
217 ... CODE USING SYMBOLIC SQL SYNTAX ...
219 #.(restore-sql-reader-syntax-state)
223 <title>Side Effects</title>
225 Modifies the default readtable.
229 &clsql; tries to keep track of whether the syntax has already been enabled. This can be problematic if the syntax is somehow disabled externally to &clsql; as future attempts to enable the syntax will do nothing--the system thinks it is already enabled. This may happen if there is an enable, but no disable, in a file that is processed with load or compile-file as the lisp implementation will restore the readtable on completion. Or, even if there is a disable but a compiler-error is encountered before running the disable. If you encounter this try running <link linkend="disable-sql-reader-syntax"><function>disable-sql-reader-syntax</function></link> a couple times in the REPL.
231 <para>See <link linkend="file-enable-sql-reader-syntax"><function>file-enable-sql-reader-syntax</function></link> for an alternative.</para>
235 <title>Affected by</title>
239 <title>Exceptional Situations</title>
245 <title>See Also</title>
247 <member><link linkend="enable-sql-reader-syntax"><function>enable-sql-reader-syntax</function></link></member>
248 <member><link linkend="disable-sql-reader-syntax"><function>disable-sql-reader-syntax</function></link></member>
249 <member><link linkend="locally-disable-sql-reader-syntax"><function>locally-disable-sql-reader-syntax</function></link></member>
250 <member><link linkend="restore-sql-reader-syntax-state"><function>restore-sql-reader-syntax-state</function></link></member>
251 <member><link linkend="file-enable-sql-reader-syntax"><function>file-enable-sql-reader-syntax</function></link></member>
257 The symbolic SQL syntax is disabled by default.
260 &clsql; differs from &commonsql; in that
261 <function>locally-enable-sql-reader-syntax</function> is
262 defined as a macro rather than a function.
268 <refentry id="locally-disable-sql-reader-syntax">
270 <refentrytitle>LOCALLY-DISABLE-SQL-READER-SYNTAX</refentrytitle>
273 <refname>LOCALLY-DISABLE-SQL-READER-SYNTAX</refname>
274 <refpurpose>Locally disable square bracket reader syntax.</refpurpose>
275 <refclass>Macro</refclass>
278 <title>Syntax</title>
280 <function>locally-disable-sql-reader-syntax</function> => <returnvalue></returnvalue></synopsis>
283 <title>Arguments and Values</title>
287 <title>Description</title>
288 <para>Turns off the SQL reader syntax without changing the
289 syntax state such that <link
290 linkend="restore-sql-reader-syntax-state">
291 <function>restore-sql-reader-syntax-state</function></link> will
292 re-establish the current syntax state.
296 <title>Examples</title>
297 <para>Intended to be used in a file for code in which the square
298 bracket syntax should be disabled without changing the global
302 #.(locally-disable-sql-reader-syntax)
304 ... CODE NOT USING SYMBOLIC SQL SYNTAX ...
306 #.(restore-sql-reader-syntax-state)
310 <title>Side Effects</title>
312 Modifies the default readtable.
316 <title>Affected by</title>
322 <title>Exceptional Situations</title>
328 <title>See Also</title>
330 <member><link linkend="enable-sql-reader-syntax"><function>enable-sql-reader-syntax</function></link></member>
331 <member><link linkend="disable-sql-reader-syntax"><function>disable-sql-reader-syntax</function></link></member>
332 <member><link linkend="locally-enable-sql-reader-syntax"><function>locally-enable-sql-reader-syntax</function></link></member>
333 <member><link linkend="restore-sql-reader-syntax-state"><function>restore-sql-reader-syntax-state</function></link></member>
334 <member><link linkend="file-enable-sql-reader-syntax"><function>file-enable-sql-reader-syntax</function></link></member>
340 The symbolic SQL syntax is disabled by default.
343 &clsql; differs from &commonsql; in that
344 <function>locally-disable-sql-reader-syntax</function> is
345 defined as a macro rather than a function.
350 <refentry id="restore-sql-reader-syntax-state">
352 <refentrytitle>RESTORE-SQL-READER-SYNTAX-STATE</refentrytitle>
355 <refname>RESTORE-SQL-READER-SYNTAX-STATE</refname>
357 Restore square bracket reader syntax to its previous state.
359 <refclass>Macro</refclass>
362 <title>Syntax</title>
364 <function>restore-sql-reader-syntax-state</function> => <returnvalue></returnvalue></synopsis>
367 <title>Arguments and Values</title>
371 <title>Description</title>
372 <para>Enables the SQL reader syntax if <link
373 linkend="enable-sql-reader-syntax">
374 <function>enable-sql-reader-syntax</function></link> has been
375 called more recently than <link
376 linkend="disable-sql-reader-syntax">
377 <function>disable-sql-reader-syntax</function></link> and
378 otherwise disables the SQL reader syntax. By default, the SQL
379 reader syntax is disabled.
383 <title>Examples</title>
386 linkend="locally-enable-sql-reader-syntax">
387 <function>locally-enable-sql-reader-syntax</function></link> and
389 linkend="locally-disable-sql-reader-syntax">
390 <function>locally-disable-sql-reader-syntax</function></link>.
394 <title>Side Effects</title>
396 Reverts the internal syntax state.
399 Modifies the default readtable.
403 <title>Affected by</title>
404 <para>The current internal syntax state.</para>
407 <title>Exceptional Situations</title>
413 <title>See Also</title>
415 <member><link linkend="enable-sql-reader-syntax"><function>enable-sql-reader-syntax</function></link></member>
416 <member><link linkend="disable-sql-reader-syntax"><function>disable-sql-reader-syntax</function></link></member>
417 <member><link linkend="locally-enable-sql-reader-syntax"><function>locally-enable-sql-reader-syntax</function></link></member>
418 <member><link linkend="locally-disable-sql-reader-syntax"><function>locally-disable-sql-reader-syntax</function></link></member>
419 <member><link linkend="file-enable-sql-reader-syntax"><function>file-enable-sql-reader-syntax</function></link></member>
425 The symbolic SQL syntax is disabled by default.
428 &clsql; differs from &commonsql; in that
429 <function>restore-sql-reader-syntax-state</function> is
430 defined as a macro rather than a function.
435 <refentry id="file-enable-sql-reader-syntax">
437 <refentrytitle>FILE-ENABLE-SQL-READER-SYNTAX</refentrytitle>
440 <refname>FILE-ENABLE-SQL-READER-SYNTAX</refname>
442 Enable the square bracket reader syntax for the duration of the file.
444 <refclass>Macro</refclass>
447 <title>Syntax</title>
449 <function>file-enable-sql-reader-syntax</function> => <returnvalue></returnvalue></synopsis>
452 <title>Arguments and Values</title>
456 <title>Description</title>
457 <para>Uncoditionally enables the SQL reader syntax. Unlike <link
458 linkend="enable-sql-reader-syntax">
459 <function>enable-sql-reader-syntax</function></link> and <link
460 linkend="disable-sql-reader-syntax">
461 <function>disable-sql-reader-syntax</function></link> which try to keep track of whether
462 the syntax has been enabled or disabled and keep track of the old read-table for restoration this function just enables it unconditionally.
464 <para>Once enabled this way there is no corresponding disable function but instead relies on being used in a file context. The spec for <ulink url="http://www.lispworks.com/documentation/lw51/CLHS/Body/f_load.htm">load</ulink> and <ulink url="http://www.lispworks.com/documentation/lw51/CLHS/Body/f_cmp_fi.htm">compile-file</ulink> states that the *readtable* will be restored after processing the file.</para>
467 <title>Examples</title>
468 <para>Intended to be used at the top of a file that contains sql reader syntax.</para>
470 (in-package :my-package)
471 (clsql:file-enable-sql-reader-syntax)
473 ;;functions that use the square bracket syntax.
477 <title>Side Effects</title>
479 Modifies the readtable for #\[ and #\]
483 <title>Affected by</title>
487 <title>Exceptional Situations</title>
493 <title>See Also</title>
495 <member><link linkend="enable-sql-reader-syntax"><function>enable-sql-reader-syntax</function></link></member>
496 <member><link linkend="disable-sql-reader-syntax"><function>disable-sql-reader-syntax</function></link></member>
497 <member><link linkend="locally-enable-sql-reader-syntax"><function>locally-enable-sql-reader-syntax</function></link></member>
498 <member><link linkend="locally-disable-sql-reader-syntax"><function>locally-disable-sql-reader-syntax</function></link></member>
504 Unique to &clsql;, not present in &commonsql;.
511 <refentrytitle>SQL</refentrytitle>
514 <refname>SQL</refname>
515 <refpurpose>Construct an SQL string from supplied expressions.</refpurpose>
516 <refclass>Function</refclass>
519 <title>Syntax</title>
521 <function>sql &rest</function> <replaceable>args</replaceable> => <returnvalue>sql-expression</returnvalue></synopsis>
524 <title>Arguments and Values</title>
527 <term><parameter>args</parameter></term>
529 <para>A set of expressions.</para>
533 <term><returnvalue>sql-expression</returnvalue></term>
535 <para>A string representing an SQL expression.</para>
541 <title>Description</title>
542 <para>Returns an SQL string generated from the expressions
543 <parameter>args</parameter>. The expressions are translated into
544 SQL strings and then concatenated with a single space delimiting
549 <title>Examples</title>
563 (sql '(nil foo "bar" 10))
564 => "(NULL,FOO,'bar',10)"
566 (sql #(nil foo "bar" 10))
567 => "NULL,FOO,'bar',10"
569 (sql [select [foo] [bar] :from [baz]] 'having [= [foo id] [bar id]]
570 'and [foo val] '< 5)
571 => "SELECT FOO,BAR FROM BAZ HAVING (FOO.ID = BAR.ID) AND FOO.VAL < 5"
575 <title>Side Effects</title>
579 <title>Affected by</title>
585 <title>Exceptional Situations</title>
586 <para>An error of type <link
587 linkend="sql-user-error"><function>sql-user-error</function></link>
588 is signalled if any element in <parameter>args</parameter> is
589 not of the supported types (a symbol, string, number or symbolic
590 SQL expression) or a list or vector containing only these
595 <title>See Also</title>
597 <member><link linkend="sql-expression"><function>sql-expression</function></link></member>
598 <member><link linkend="sql-operation"><function>sql-operation</function></link></member>
599 <member><link linkend="sql-operator"><function>sql-operator</function></link></member>
608 <refentry id="sql-expression">
610 <refentrytitle>SQL-EXPRESSION</refentrytitle>
613 <refname>SQL-EXPRESSION</refname>
614 <refpurpose>Constructs an SQL expression from supplied keyword arguments.</refpurpose>
615 <refclass>Function</refclass>
618 <title>Syntax</title>
620 <function>sql-expression &key</function> <parameter>string</parameter> <parameter>table</parameter> <parameter>alias</parameter> <parameter>attribute</parameter> <parameter>type</parameter> => <returnvalue>result</returnvalue></synopsis>
623 <title>Arguments and Values</title>
626 <term><parameter>string</parameter></term>
628 <para>A string.</para>
632 <term><parameter>table</parameter></term>
634 <para>A symbol representing a database table identifier.</para>
638 <term><parameter>alias</parameter></term>
640 <para>A table alias.</para>
644 <term><parameter>attribute</parameter></term>
646 <para>A symbol representing an attribute identifier.</para>
650 <term><parameter>type</parameter></term>
652 <para>A type specifier.</para>
656 <term><returnvalue>result</returnvalue></term>
658 <para>A object of type <type>sql-expression</type>.</para>
664 <title>Description</title>
665 <para>Returns an SQL expression constructed from the supplied
666 arguments which may be combined as follows:</para>
667 <itemizedlist mark='opencircle'>
670 <parameter>attribute</parameter> and
671 <parameter>type</parameter>;
676 <parameter>attribute</parameter>;
681 <parameter>alias</parameter> or <parameter>table</parameter> and
682 <parameter>attribute</parameter> and
683 <parameter>type</parameter>;
688 <parameter>alias</parameter> or
689 <parameter>table</parameter> and
690 <parameter>attribute</parameter>;
695 <parameter>table</parameter>,
696 <parameter>attribute</parameter> and
697 <parameter>type</parameter>;
702 <parameter>table</parameter> and
703 <parameter>attribute</parameter>;
708 <parameter>table</parameter>
709 and <parameter>alias</parameter>;
714 <parameter>table</parameter>;
719 <parameter>string</parameter>.
725 <title>Examples</title>
727 (sql-expression :table 'foo :attribute 'bar)
728 => #<CLSQL-SYS:SQL-IDENT-ATTRIBUTE FOO.BAR>
730 (sql-expression :attribute 'baz)
731 => #<CLSQL-SYS:SQL-IDENT-ATTRIBUTE BAZ>
735 <title>Side Effects</title>
739 <title>Affected by</title>
745 <title>Exceptional Situations</title>
746 <para>An error of type <link
747 linkend="sql-user-error"><function>sql-user-error</function></link>
748 is signalled if an unsupported combination of keyword arguments is
753 <title>See Also</title>
755 <member><link linkend="sql"><function>sql</function></link></member>
756 <member><link linkend="sql-operation"><function>sql-operation</function></link></member>
757 <member><link linkend="sql-operator"><function>sql-operator</function></link></member>
766 <refentry id="sql-operation">
768 <refentrytitle>SQL-OPERATION</refentrytitle>
771 <refname>SQL-OPERATION</refname>
772 <refpurpose>Constructs an SQL expression from a supplied operator and arguments.</refpurpose>
773 <refclass>Function</refclass>
776 <title>Syntax</title>
778 <function>sql-operation</function> <parameter>operator</parameter> <function>&rest</function> <parameter>args</parameter> => <returnvalue>result</returnvalue></synopsis>
780 <function>sql-operation</function> 'function <parameter>func</parameter> <function>&rest</function> <parameter>args</parameter> => <returnvalue>result</returnvalue></synopsis>
783 <title>Arguments and Values</title>
786 <term><parameter>operator</parameter></term>
788 <para>A symbol denoting an SQL operator.</para>
792 <term><parameter>func</parameter></term>
794 <para>A string denoting an SQL function.</para>
798 <term><parameter>args</parameter></term>
800 <para>A set of arguments for the specified SQL operator or function.</para>
804 <term><returnvalue>result</returnvalue></term>
806 <para>A object of type <function>sql-expression</function>.</para>
812 <title>Description</title>
813 <para>Returns an SQL expression constructed from the supplied
814 SQL operator or function <parameter>operator</parameter> and
815 its arguments <parameter>args</parameter>. If
816 <parameter>operator</parameter> is passed the symbol 'function
817 then the first value in <parameter>args</parameter> is taken to
818 be a valid SQL function and the remaining values in
819 <parameter>args</parameter> its arguments.
823 <title>Examples</title>
825 (sql-operation 'select
826 (sql-expression :table 'foo :attribute 'bar)
827 (sql-operation 'sum (sql-expression :table 'foo :attribute 'baz))
829 (sql-expression :table 'foo)
831 (sql-operation '> (sql-expression :attribute 'bar) 12)
832 :order-by (sql-operation 'sum (sql-expression :attribute 'baz)))
833 => #<SQL-QUERY SELECT FOO.BAR,SUM(FOO.BAZ) FROM FOO WHERE (BAR > 12) ORDER BY SUM(BAZ)>
835 (sql-operation 'function "strpos" "CLSQL" "SQL")
836 => #<CLSQL-SYS:SQL-FUNCTION-EXP STRPOS('CLSQL','SQL')>
840 <title>Side Effects</title>
844 <title>Affected by</title>
850 <title>Exceptional Situations</title>
851 <para>An error of type <link
852 linkend="sql-user-error"><function>sql-user-error</function></link>
853 is signalled if <parameter>operator</parameter> is not a symbol
854 representing a supported SQL operator.</para>
857 <title>See Also</title>
859 <member><link linkend="sql"><function>sql</function></link></member>
860 <member><link linkend="sql-expression"><function>sql-expression</function></link></member>
861 <member><link linkend="sql-operator"><function>sql-operator</function></link></member>
870 <refentry id="sql-operator">
872 <refentrytitle>SQL-OPERATOR</refentrytitle>
875 <refname>SQL-OPERATOR</refname>
876 <refpurpose>Returns the symbol for the supplied SQL operator.</refpurpose>
877 <refclass>Function</refclass>
880 <title>Syntax</title>
882 <function>sql-operator</function> <parameter>operator</parameter> => <returnvalue>result</returnvalue></synopsis>
885 <title>Arguments and Values</title>
888 <term><parameter>operator</parameter></term>
890 <para>A symbol denoting an SQL operator.</para>
894 <term><returnvalue>result</returnvalue></term>
896 <para>The Lisp symbol used by &clsql; to represent the
897 specified operator.</para>
903 <title>Description</title>
904 <para>Returns the Lisp symbol corresponding to the SQL operator
905 represented by the symbol <parameter>operator</parameter>. If
906 <parameter>operator</parameter> does not represent a supported
907 SQL operator or is not a symbol, nil is returned.
911 <title>Examples</title>
918 <title>Side Effects</title>
922 <title>Affected by</title>
928 <title>Exceptional Situations</title>
932 <title>See Also</title>
934 <member><link linkend="sql"><function>sql</function></link></member>
935 <member><link linkend="sql-expression"><function>sql-expression</function></link></member>
936 <member><link linkend="sql-operation"><function>sql-operation</function></link></member>
942 &clsql;'s symbolic SQL syntax currently has support for the
943 following &commonsql; compatible SQL operators:
946 <!-- CommonSQL Compatible -->
947 <member><function>any</function></member>
948 <member><function>some</function></member>
949 <member><function>all</function></member>
950 <member><function>not</function></member>
951 <member><function>union</function></member>
952 <member><function>intersect</function></member>
953 <member><function>minus</function></member>
954 <member><function>except
956 <member><function>order-by
958 <member><function>null
968 <member><function>like
970 <member><function>and
976 <member><function>substr
982 <member><function><
988 <member><function><=
990 <member><function><>
992 <member><function>count
994 <member><function>max
996 <member><function>min
998 <member><function>avg
1000 <member><function>sum
1001 </function></member>
1002 <member><function>function
1003 </function></member>
1004 <member><function>between
1005 </function></member>
1006 <member><function>distinct
1007 </function></member>
1008 <member><function>nvl
1009 </function></member>
1010 <member><function>slot-value
1011 </function></member>
1012 <member><function>userenv
1013 </function></member>
1016 as well as the pseudo-operator <function>function</function>.
1018 <para> The following operators are provided as &clsql; extensions to
1019 the &commonsql; API.
1021 <!-- CLSQL Extensions -->
1022 <member><function>concat
1023 </function></member>
1024 <member><function>substring
1025 </function></member>
1026 <member><function>limit
1027 </function></member>
1028 <member><function>group-by
1029 </function></member>
1030 <member><function>having
1031 </function></member>
1032 <member><function>not-null
1033 </function></member>
1034 <member><function>exists
1035 </function></member>
1036 <member><function>uplike
1037 </function></member>
1038 <member><function>is
1039 </function></member>
1040 <member><function>==
1041 </function></member>
1042 <member><function>the
1043 </function></member>
1044 <member><function>coalesce
1045 </function></member>
1046 <member><function>view-class
1047 </function></member>
1051 Note that some of these operators are not supported by all of
1052 the RDBMS supported by &clsql; (see the <link
1053 linkend="appendix">Appendix</link> for details).