Ch.20 標準ライブラリ

§ 20.4. SQLライブラリ

_require "sql.smi"すると使える.

§ 20.4.1. SQLストラクチャ

§ ネストしたストラクチャ

structure TimeStamp = 

structure Decimal = 

structure Float = 

§ 型

type backend (= 

boxed)

type 'a server (= 

boxed)

type ('a,'b) value (= 

boxed)

type 'a conn (= 

boxed)

type ('a,'b) db (= 

boxed)

type ('a,'b) table (= 

boxed)

type ('a,'b) row (= 

boxed)

type 'a query (= 

boxed)

type command (= 

boxed)

type 'a rel (= 

boxed)

type decimal (= 

boxed)

type timestamp (= 

boxed)

type float (= 

boxed)

§ 例外

exception Format

exception Exec of 

string

exception Connect of 

string

exception Link of 

string

exception NotOne

§ 定数

val Null : 

['a, 'b. ('a option, 'b) value]

§ 関数

val postgresql : 

string -> backend

val mysql : 

string -> backend

val odbc : 

string -> backend

val connect : 

['a. 'a server -> 'a conn]

val fetch : 

['a. 'a rel -> ('a * 'a rel) option]

val closeConn : 

['a. 'a conn -> unit]

val closeRel : 

['a. 'a rel -> unit]

val subquery : 

['a, 'b, 'c. (('a, 'b) db -> 'c query) -> ('a, 'b) db -> ('c, 'b) table]

val exists : 

['a, 'b. (('a, 'b) db -> 'c query) -> ('a, 'b) db -> (bool option, 'b) value]

val Some : 

['a, 'b. ('a, 'b) value -> ('a option, 'b) value]

val queryString : 

['a, 'b. (('a, 'b) db -> 'c query) -> 'a server -> string]

val commandString : 

['a, 'b. (('a, 'b) db -> command) -> 'a server -> string]

val + : 

['a::{int, IntInf.int, word, real},
'b::{int, IntInf.int, word, real, 'a option},
'c.
('b, 'c) value * ('b, 'c) value -> ('b, 'c) value]

val - : 

['a::{int, IntInf.int, word, real},
'b::{int, IntInf.int, word, real, 'a option},
'c.
('b, 'c) value * ('b, 'c) value -> ('b, 'c) value]

val * : 

['a::{int, IntInf.int, word, real},
'b::{int, IntInf.int, word, real, 'a option},
'c.
('b, 'c) value * ('b, 'c) value -> ('b, 'c) value]

val / : 

['a::{int, IntInf.int, word, real},
'b::{int, IntInf.int, word, real, 'a option},
'c.
('b, 'c) value * ('b, 'c) value -> ('b, 'c) value]

val div : 

['a::{int, IntInf.int, word},
'b::{int, IntInf.int, word, 'a option},
'c.
('b, 'c) value * ('b, 'c) value -> ('b, 'c) value]

val mod : 

['a::{int, IntInf.int, word},
'b::{int, IntInf.int, word, 'a option},
'c.
('b, 'c) value * ('b, 'c) value -> ('b, 'c) value]

val neg : 

['a::{int, IntInf.int, word},
'b::{int, IntInf.int, word, 'a option},
'c.
('b, 'c) value * ('b, 'c) value -> ('b, 'c) value]

val abs : 

['a::{int, IntInf.int, word},
'b::{int, IntInf.int, word, 'a option},
'c.
('b, 'c) value * ('b, 'c) value -> ('b, 'c) value]

val < : 

['a::{int, IntInf.int, word, real, bool, char, string},
'b::{int, IntInf.int, word, real, char, string, 'a option},
'c.
('b, 'c) value * ('b, 'c) value -> (bool option, 'c) value]

val <= : 

['a::{int, IntInf.int, word, real, bool, char, string},
'b::{int, IntInf.int, word, real, char, string, 'a option},
'c.
('b, 'c) value * ('b, 'c) value -> (bool option, 'c) value]

val > : 

['a::{int, IntInf.int, word, real, bool, char, string},
'b::{int, IntInf.int, word, real, char, string, 'a option},
'c.
('b, 'c) value * ('b, 'c) value -> (bool option, 'c) value]

val >= : 

['a::{int, IntInf.int, word, real, bool, char, string},
'b::{int, IntInf.int, word, real, char, string, 'a option},
'c.
('b, 'c) value * ('b, 'c) value -> (bool option, 'c) value]

val == : 

['a::{int, IntInf.int, word, real, bool, char, string},
'b::{int, IntInf.int, word, real, char, string, 'a option},
'c.
('b, 'c) value * ('b, 'c) value -> (bool option, 'c) value]

val <> : 

['a::{int, IntInf.int, word, real, bool, char, string},
'b::{int, IntInf.int, word, real, char, string, 'a option},
'c.
('b, 'c) value * ('b, 'c) value -> (bool option, 'c) value]

val ~̂: 

['a. (string, 'a) value * (string, 'a) value -> (string, 'a) value]

val andAlso : 

['a. (bool option, 'a) value * (bool option, 'a) value -> (bool option, 'a) value]

val orElse : 

['a. (bool option, 'a) value * (bool option, 'a) value -> (bool option, 'a) value]

val not : 

['a. (bool option, 'a) value -> (bool option, 'a) value]

val isNull : 

['a. ('a option, 'a) value -> (bool option, 'a) value]

val isNotNull : 

['a. ('a option, 'a) value -> (bool option, 'a) value]

val like : 

['a::{string, string option}, 'b. ('a, 'b) value * ('a, 'b) value -> (bool option, 'b) value]

val toSQL : 

['a::{int, IntInf.int, word, real, bool, char, string, timestamp},
'b::{int, IntInf.int, word, real, char, string, timestamp, 'a option},
'c.
'b -> ('b, 'c) value]

val fetchAll : 

['a. 'a rel -> 'a list]

val fetchOne : 

['a. 'a rel -> 'a]

§ 20.4.2. SQL.TimeStampストラクチャ

§ 型

type timestamp = 

SQL.timestamp

§ 関数

val now : 

unit -> timestamp

val toString : 

timestamp -> string

val fromString : 

string -> timestamp

val defaultTimestamp : 

timestamp

§ 20.4.3. SQL.Decimalストラクチャ

§ 型

type decimal = 

SQL.decimal

§ 関数

val toString : 

decimal -> string

val fromString : 

string -> decimal

val toReal : 

decimal -> real

val toDecimal : 

decimal -> IEEEReal.decimal_approx

§ 20.4.4. SQL.Floatストラクチャ

§ 型

type float = 

SQL.float

§ 関数

val toString : 

float -> string

val fromString : 

string -> float

val toReal : 

float -> real

val toDecimal : 

float -> IEEEReal.decimal_approx