Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > by-pkgid > 2fc07611b08d4a735fd34d5eb60d8e16 > files > 2102

ciao-1.10p8-3mdv2010.0.i586.rpm

<HTML>
<HEAD>
<!-- Created by texi2html 1.56k + clip patches and <A href="http://www.clip.dia.fi.upm.es/Software">lpdoc</A> from ciao.texi on 28 January 2007 -->

<LINK rel="stylesheet" href="ciao.css" type="text/css">
<TITLE>The Ciao Prolog System               - sqltypes (library)</TITLE>
</HEAD>
<BODY> 
Go to the <A HREF="ciao_1.html">first</A>, <A HREF="ciao_154.html">previous</A>, <A HREF="ciao_156.html">next</A>, <A HREF="ciao_241.html">last</A> section, <A HREF="ciao_toc.html">table of contents</A>.
<P><HR><P>


<H1><A NAME="SEC652" HREF="ciao_toc.html#TOC652">sqltypes (library)</A></H1>
<P>
<A NAME="IDX7347"></A>


<P>
<STRONG>Version:</STRONG> 1.10#7 (2006/4/26, 19:22:13 CEST)


<P>
<STRONG>Version of last change:</STRONG> 1.7#127 (2001/10/26, 14:52:5 CEST)



<UL>
<LI><A HREF="ciao_155.html#SEC653">Usage and interface (sqltypes)</A>
<LI><A HREF="ciao_155.html#SEC654">Documentation on exports (sqltypes)</A>
</UL>



<H2><A NAME="SEC653" HREF="ciao_toc.html#TOC653">Usage and interface (<CODE>sqltypes</CODE>)</A></H2>

<div class="cartouche">

<UL>

<LI><STRONG>Library usage:</STRONG>

<CODE>:- use_module(library(sqltypes)).</CODE>

<LI><STRONG>Exports:</STRONG>


<UL>

<LI><EM>Predicates:</EM>

<A NAME="IDX7348"></A>
<CODE>accepted_type/2</CODE>, 
<A NAME="IDX7349"></A>
<CODE>get_type/2</CODE>, 
<A NAME="IDX7350"></A>
<CODE>type_compatible/2</CODE>, 
<A NAME="IDX7351"></A>
<CODE>type_union/3</CODE>, 
<A NAME="IDX7352"></A>
<CODE>sybase2sqltypes_list/2</CODE>, 
<A NAME="IDX7353"></A>
<CODE>sybase2sqltype/2</CODE>, 
<A NAME="IDX7354"></A>
<CODE>postgres2sqltypes_list/2</CODE>, 
<A NAME="IDX7355"></A>
<CODE>postgres2sqltype/2</CODE>.

<LI><EM>Regular Types:</EM>

<A NAME="IDX7356"></A>
<CODE>sqltype/1</CODE>, 
<A NAME="IDX7357"></A>
<CODE>sybasetype/1</CODE>, 
<A NAME="IDX7358"></A>
<CODE>postgrestype/1</CODE>.

</UL>

</UL>

</div class="cartouche">



<H2><A NAME="SEC654" HREF="ciao_toc.html#TOC654">Documentation on exports (<CODE>sqltypes</CODE>)</A></H2>
<P>
<A NAME="IDX7359"></A>
<A NAME="IDX7360"></A>
<DL>
<DT><span class="define">REGTYPE:</span> <B>sqltype/1:</B>
<DD><A NAME="IDX7361"></A>



<PRE>
sqltype(int).
sqltype(flt).
sqltype(num).
sqltype(string).
sqltype(date).
sqltype(time).
sqltype(datetime).
</PRE>

<P>
These types have the same meaning as the corresponding standard types in the 
<A NAME="IDX7362"></A>
<CODE>basictypes</CODE> library.


<P>
<STRONG>Usage:</STRONG> <CODE>sqltype(Type)</CODE>

<UL>
<LI><EM>Description:</EM> <CODE>Type</CODE> is an SQL data type supported by the translator.

</UL>

</DL>

<P>
<A NAME="IDX7363"></A>
<A NAME="IDX7364"></A>
<DL>
<DT><span class="define">PREDICATE:</span> <B>accepted_type/2:</B>
<DD><A NAME="IDX7365"></A>


<P>
<STRONG>Usage:</STRONG> <CODE>accepted_type(SystemType, NativeType)</CODE>

<UL>
<LI><EM>Description:</EM> For the moment, tests wether the <CODE>SystemType</CODE> received is a sybase or a postgres type (in the future other systems should be supported) and obtains its equivalent <CODE>NativeType</CODE> sqltype.

<LI><EM>Call and exit should be <EM>compatible</EM> with:</EM>

<CODE>SystemType</CODE> is an SQL data type supported by Sybase.
 (<CODE>sqltypes:sybasetype/1</CODE>)

<CODE>NativeType</CODE> is an SQL data type supported by the translator.
 (<CODE>sqltypes:sqltype/1</CODE>)
</UL>

</DL>

<P>
<A NAME="IDX7366"></A>
<A NAME="IDX7367"></A>
<DL>
<DT><span class="define">PREDICATE:</span> <B>get_type/2:</B>
<DD><A NAME="IDX7368"></A>


<P>
<STRONG>Usage:</STRONG> <CODE>get_type(+Constant, Type)</CODE>

<UL>
<LI><EM>Description:</EM> Prolog implementation-specific definition of type retrievals. CIAO Prolog version given here (ISO).

<LI><EM>Call and exit should be <EM>compatible</EM> with:</EM>

<CODE>+Constant</CODE> is any term.
 (<CODE>basic_props:term/1</CODE>)

<CODE>Type</CODE> is an SQL data type supported by the translator.
 (<CODE>sqltypes:sqltype/1</CODE>)
</UL>

</DL>

<P>
<A NAME="IDX7369"></A>
<A NAME="IDX7370"></A>
<DL>
<DT><span class="define">PREDICATE:</span> <B>type_compatible/2:</B>
<DD><A NAME="IDX7371"></A>


<P>
<STRONG>Usage:</STRONG> <CODE>type_compatible(TypeA, TypeB)</CODE>

<UL>
<LI><EM>Description:</EM> Checks if <CODE>TypeA</CODE> and <CODE>TypeB</CODE> are compatible types, i.e., they are the same or one is a subtype of the other.

<LI><EM>Call and exit should be <EM>compatible</EM> with:</EM>

<CODE>TypeA</CODE> is an SQL data type supported by the translator.
 (<CODE>sqltypes:sqltype/1</CODE>)

<CODE>TypeB</CODE> is an SQL data type supported by the translator.
 (<CODE>sqltypes:sqltype/1</CODE>)
</UL>

</DL>

<P>
<A NAME="IDX7372"></A>
<A NAME="IDX7373"></A>
<DL>
<DT><span class="define">PREDICATE:</span> <B>type_union/3:</B>
<DD><A NAME="IDX7374"></A>


<P>
<STRONG>Usage:</STRONG> <CODE>type_union(TypeA, TypeB, Union)</CODE>

<UL>
<LI><EM>Description:</EM> <CODE>Union</CODE> is the union type of <CODE>TypeA</CODE> and <CODE>TypeB</CODE>.

<LI><EM>Call and exit should be <EM>compatible</EM> with:</EM>

<CODE>TypeA</CODE> is an SQL data type supported by the translator.
 (<CODE>sqltypes:sqltype/1</CODE>)

<CODE>TypeB</CODE> is an SQL data type supported by the translator.
 (<CODE>sqltypes:sqltype/1</CODE>)

<CODE>Union</CODE> is an SQL data type supported by the translator.
 (<CODE>sqltypes:sqltype/1</CODE>)
</UL>

</DL>

<P>
<A NAME="IDX7375"></A>
<A NAME="IDX7376"></A>
<DL>
<DT><span class="define">REGTYPE:</span> <B>sybasetype/1:</B>
<DD><A NAME="IDX7377"></A>


<P>
SQL datatypes supported by Sybase for which a translation is defined: 



<PRE>
sybasetype(integer).
sybasetype(numeric).
sybasetype(float).
sybasetype(double).
sybasetype(date).
sybasetype(char).
sybasetype(varchar).
sybasetype('long varchar').
sybasetype(binary).
sybasetype('long binary').
sybasetype(timestamp).
sybasetype(time).
sybasetype(tinyint).
</PRE>

<P>
<STRONG>Usage:</STRONG> <CODE>sybasetype(Type)</CODE>

<UL>
<LI><EM>Description:</EM> <CODE>Type</CODE> is an SQL data type supported by Sybase.

</UL>

</DL>

<P>
<A NAME="IDX7378"></A>
<A NAME="IDX7379"></A>
<DL>
<DT><span class="define">PREDICATE:</span> <B>sybase2sqltypes_list/2:</B>
<DD><A NAME="IDX7380"></A>


<P>
<STRONG>Usage:</STRONG> <CODE>sybase2sqltypes_list(SybaseTypesList, SQLTypesList)</CODE>

<UL>
<LI><EM>Description:</EM>  <CODE>SybaseTypesList</CODE> is a list of Sybase SQL types. <CODE>PrologTypesList</CODE> contains their equivalent SQL-type names in CIAO.

<LI><EM>The following properties should hold upon exit:</EM>

<CODE>SybaseTypesList</CODE> is a list.
 (<CODE>basic_props:list/1</CODE>)

<CODE>SQLTypesList</CODE> is a list.
 (<CODE>basic_props:list/1</CODE>)
</UL>

</DL>

<P>
<A NAME="IDX7381"></A>
<A NAME="IDX7382"></A>
<DL>
<DT><span class="define">PREDICATE:</span> <B>sybase2sqltype/2:</B>
<DD><A NAME="IDX7383"></A>


<P>
<STRONG>Usage:</STRONG> <CODE>sybase2sqltype(SybaseType, SQLType)</CODE>

<UL>
<LI><EM>Description:</EM>  <CODE>SybaseType</CODE> is a Sybase SQL type name, and <CODE>SQLType</CODE> is its equivalent SQL-type name in CIAO.

<LI><EM>The following properties should hold upon exit:</EM>

<CODE>SybaseType</CODE> is an SQL data type supported by Sybase.
 (<CODE>sqltypes:sybasetype/1</CODE>)

<CODE>SQLType</CODE> is an SQL data type supported by the translator.
 (<CODE>sqltypes:sqltype/1</CODE>)
</UL>

</DL>

<P>
<A NAME="IDX7384"></A>
<A NAME="IDX7385"></A>
<DL>
<DT><span class="define">REGTYPE:</span> <B>postgrestype/1:</B>
<DD><A NAME="IDX7386"></A>


<P>
SQL datatypes supported by postgreSQL for which a translation is defined: 



<PRE>
postgrestype(int2).
postgrestype(int4).
postgrestype(int8).
postgrestype(float4).
postgrestype(float8).
postgrestype(date).
postgrestype(timestamp).
postgrestype(time).
postgrestype(char).
postgrestype(varchar).
postgrestype(text).
postgrestype(bool).
</PRE>

<P>
<STRONG>Usage:</STRONG> <CODE>postgrestype(Type)</CODE>

<UL>
<LI><EM>Description:</EM> <CODE>Type</CODE> is an SQL data type supported by postgres.

</UL>

</DL>

<P>
<A NAME="IDX7387"></A>
<A NAME="IDX7388"></A>
<DL>
<DT><span class="define">PREDICATE:</span> <B>postgres2sqltypes_list/2:</B>
<DD><A NAME="IDX7389"></A>


<P>
<STRONG>Usage:</STRONG> <CODE>postgres2sqltypes_list(PostgresTypesList, SQLTypesList)</CODE>

<UL>
<LI><EM>Description:</EM>  <CODE>PostgresTypesList</CODE> is a list of postgres SQL types. <CODE>PrologTypesList</CODE> contains their equivalent SQL-type names in CIAO.

<LI><EM>The following properties should hold upon exit:</EM>

<CODE>PostgresTypesList</CODE> is a list.
 (<CODE>basic_props:list/1</CODE>)

<CODE>SQLTypesList</CODE> is a list.
 (<CODE>basic_props:list/1</CODE>)
</UL>

</DL>

<P>
<A NAME="IDX7390"></A>
<A NAME="IDX7391"></A>
<DL>
<DT><span class="define">PREDICATE:</span> <B>postgres2sqltype/2:</B>
<DD><A NAME="IDX7392"></A>


<P>
<STRONG>Usage:</STRONG> <CODE>postgres2sqltype(PostgresType, SQLType)</CODE>

<UL>
<LI><EM>Description:</EM>  <CODE>PostgresType</CODE> is a postgres SQL type name, and <CODE>SQLType</CODE> is its equivalent SQL-type name in CIAO.

<LI><EM>The following properties should hold upon exit:</EM>

<CODE>PostgresType</CODE> is an SQL data type supported by postgres.
 (<CODE>sqltypes:postgrestype/1</CODE>)

<CODE>SQLType</CODE> is an SQL data type supported by the translator.
 (<CODE>sqltypes:sqltype/1</CODE>)
</UL>

</DL>

<P><HR><P>
Go to the <A HREF="ciao_1.html">first</A>, <A HREF="ciao_154.html">previous</A>, <A HREF="ciao_156.html">next</A>, <A HREF="ciao_241.html">last</A> section, <A HREF="ciao_toc.html">table of contents</A>.
</BODY>
</HTML>