SQLインターフェース
第0.43版 2016年10月23日
第0.19版 2000年12月17日
リレーショナルDBにアクセスするためのSQLインタフェース ADBC
(Altair DataBase Connection)の説明をします。
Windows版では、ODBCを使用しています。
Linux版はPostgresQLはlibpqを使用し、MySQLはmysqlclientを使用しています。
データベース接続を行いそのコネクションを返します。
返却値がどこからも参照されなくなると接続は自動的にクローズされます。
エラーが発生した場合は、文字列を返します。
PostgreSQL/MySQLの場合
-
connectInfoの形式は、(host, port, db_name, user, password)です。
Windows版のODBCでは、データソース名db_name、ユーザ名user、パスワードpasswdで接続します。
Linux版のPostgresQL/MySQLでは、ホスト名host、ポート番号port、データベース名db_name、
ユーザ名user、パスワードpasswdで接続します。port番号がnullだとデフォルトのポート番号が使われます。
Windows版ではdbTypeは無視されます。
Linux版では、dbTypeは、PostgreSQLを使うときには "postgresql"、MySQLを使うときは"mysql" です。
ステートメントを作成しそれを返します。
返却値がどこからも参照されなくなるとステートメントは自動的にクローズされます。
エラーが発生した場合は、文字列を返します。
SQL文を準備をします。
変数statはステートメントでなければなりません。
変数sqlが準備されるSQL文になります。
成功するとnullが、失敗すると文字列が返ります。
ステートメントstatで SQL文を実行します。
sqlが非nullの場合は、SQL文sqlを直接実行します。
sqlが非nullの場合は、valuesは無視されます。
sqlがnullの場合は、prepareで準備したSQL文を実行します。
sqlがnullでvaluesが非nullの場合は、
SQL文中の文字"?"の部分をvaluesに含まれる値で置き換えます。
valuesの形式は以下です。
values = ()-/-/=>value
value = <integer> | <real> | <string> | <date> | <binary>
date = (year, month, day, hour, minute, second)
"execute"で実行したSQL文の実行結果を取り出します。
結果をフェッチし、結果をtypesに従って返します。
countが非負整数以外のときは結果の全件を返します。
countが非負整数のときは結果をcount件単位で返し、繰り返し実行すれば残りが検索されます。
typesの形式および戻り値の形式は以下です。
types = ()-/-/=>type
type = "integer" | "real" | "string" | "date" | "binary"
ret_val = ()-/-/=>()-/n/=>val (n = 1, 2, ...)
コミットを行います。
変数connはデータベースコネクションでなければなりません。
成功するとnullが、失敗すると文字列が返ります。
ロールバックを行います。
変数connはデータベースコネクションでなければなりません。
成功するとnullが、失敗すると文字列が返ります。
DBのクライアント環境の最終処理を行います。
DBテーブルのカラム名を取得します。
executeでSELECT文を実行した後そのSELECT文で選択されているカラム名が
以下の形式で返ります。
()-/n/=>column_name (n = 1, 2, ...)
通常 "SELECT * FROM ..."のSQL文を発行した後でテーブルの全カラム名を取得するのに使います。
失敗すると文字列が返ります。
DBテーブルのカラムの型/桁数/NOT-NULLを取得します。
executeでSELECT文を実行した後そのSELECT文で選択されているカラムの型/桁数/NOT-NULLが
以下の形式で返ります。
()-/n/=>()-/"type"/->type
-/"size"/->size
-/"decimal"/->decimal
(-/"nullable"/->1)
type = "integer" | "decimal" | "real" | "varchar" | "char" | "date" | "binary"
size: typeが "integer"の時は桁数
typeが "decimal"の時は整数部分の桁数
typeが "varchar"の時は最大文字数
typeが "char"の時は文字数
decimal: typeが "decimal"の時は少数部分の桁数
nullable: NULL値を許すなら1、許さないならnull
失敗すると文字列が返ります。