(クラス)
public final SQLiteInterface
SQLite C API への Curl 言語のインターフェースです。
説明
これはマニフェストの "libsqlite" を参照する外部ライブラリからアクセスされます。ライブラリは http から始まる URL の場合ローカルディスクにコピーされます。
現在、このインターフェースを使用するためには特権が必要となります。
導入:
バージョン 7.0
default: | SQLiteInterface オブジェクトを作成します。 |
public | {SQLiteInterface.set-library-url u:Url}:void |
bind-double: | プリペアド SQL ステートメントのパラメータに double を割り当て(バインドし)ます。 |
bind-int: | プリペアド SQL ステートメントのパラメータに int を割り当て(バインドし)ます。 |
bind-int64: | プリペアド SQL ステートメントのパラメータに int64 を割り当て(バインドし)ます。 |
bind-null: | プリペアド SQL ステートメントのパラメータに null を割り当て(バインドし)ます。 |
public | {SQLiteInterface.bind-parameter-count}:int |
public | {SQLiteInterface.bind-parameter-index}:int |
public | {SQLiteInterface.bind-parameter-name}:#String |
changes: | 最も新しい UPDATE、INSERT、DELETE ステートメントによって完了した更新、挿入、削除されたデータベースの行数を返します。 |
public | {SQLiteInterface.column-blob}:#ByteArray |
public | {SQLiteInterface.column-bytes}:int |
public | {SQLiteInterface.column-decltype}:#String |
public | {SQLiteInterface.column-double}:double |
public | {SQLiteInterface.column-int}:int |
public | {SQLiteInterface.column-int64}:int64 |
public | {SQLiteInterface.column-name}:String |
public | {SQLiteInterface.column-text}:#String |
public | {SQLiteInterface.exec}:(SQLiteStatus, errmsg:String) |
public | {SQLiteInterface.last-insert-rowid}:int64 |
public | {SQLiteInterface.libversion}:String |
public | {SQLiteInterface.libversion-number}:int |
protected | {SQLiteInterface.reclaim-resources}:void |
(ファクトリ)
SQLiteInterface オブジェクトを作成します。
説明
これはシングルトンオブジェクトです。よって、{SQLiteInterface} を呼ぶことは Curl プロセスのなかで同じ SQLiteInterface オブジェクトが返されます。
(クラスプロシージャ)
public | {SQLiteInterface.set-library-url u:Url}:void |
""
(メソッド)
プリペアド SQL ステートメントのパラメータに ByteArray を割り当て(バインドし)ます。
index:
セットされるパラメータのインデックス。
全てのパラメータはインデックスか番号で識別されます。例えば、位置引数は連続した整数値を使用して番号付けをし、その最初のパラメータは 1 から始まります。
val: index で指定されたインデックスのパラメータにバインドされる値。
注意事項
(メソッド)
プリペアド SQL ステートメントのパラメータに double を割り当て(バインドし)ます。
index:
セットされるパラメータのインデックス。
全てのパラメータはインデックスか番号で識別されます。例えば、位置引数は連続した整数値を使用して番号付けをし、その最初のパラメータは 1 から始まります。
val: index で指定されたインデックスのパラメータにバインドされる値。
注意事項
(メソッド)
プリペアド SQL ステートメントのパラメータに int を割り当て(バインドし)ます。
index:
セットされるパラメータのインデックス。
全てのパラメータはインデックスか番号で識別されます。例えば、位置引数は連続した整数値を使用して番号付けをし、その最初のパラメータは 1 から始まります。
val: index で指定されたインデックスのパラメータにバインドされる値。
注意事項
(メソッド)
プリペアド SQL ステートメントのパラメータに int64 を割り当て(バインドし)ます。
index:
セットされるパラメータのインデックス。
全てのパラメータはインデックスか番号で識別されます。例えば、位置引数は連続した整数値を使用して番号付けをし、その最初のパラメータは 1 から始まります。
val: index で指定されたインデックスのパラメータにバインドされる値。
注意事項
(メソッド)
プリペアド SQL ステートメントのパラメータに null を割り当て(バインドし)ます。
index:
セットされるパラメータのインデックス。
全てのパラメータはインデックスか番号で識別されます。例えば、位置引数は連続した整数値を使用して番号付けをし、その最初のパラメータは 1 から始まります。
注意事項
(メソッド)
public | {SQLiteInterface.bind-parameter-count}:int |
プリコンパイルされたステートメントのパラメータの数。
戻り値
stmt のパラメータ数。
(メソッド)
public | {SQLiteInterface.bind-parameter-index}:int |
プリコンパイルステートメントのパラメータのインデックス。
name: インデックスが要求されたパラメータの名前。
戻り値
指定された名前のパラメータのインデックス。
名前は正確に一致しなければなりません。指定された名前のパラメータが存在しない場合、このメソッドは 0 を返します。
(メソッド)
public | {SQLiteInterface.bind-parameter-name}:#String |
プリコンパイルステートメントのパラメータの名前。
index:
名前がリトリーブされるパラメータのインデックス。
全てのパラメータはインデックスか番号によって識別されます。例えば、位置引数は連続した整数値を使用して番号付けをし、その最初のパラメータは 1 から始まります。
戻り値
stmt の index のパラメータの名前。
(メソッド)
プリペアド SQL ステートメントのパラメータに String を割り当て(バインドし)ます。
index:
セットされるパラメータのインデックス。
全てのパラメータはインデックスか番号で識別されます。例えば、位置引数は連続した整数値を使用して番号付けをし、その最初のパラメータは 1 から始まります。
val: index で指定されたインデックスのパラメータにバインドされる値。
注意事項
(メソッド)
最も新しい UPDATE、INSERT、DELETE ステートメントによって完了した更新、挿入、削除されたデータベースの行数を返します。
sqlite3: SQLite データベースハンドル。
注意事項
UPDATE、INSERT、DELETE ステートメントによって直接明示された変更だけはカウントされます。トリガーによって引き起こされる補助的な変更はカウントされません。
トリガー内で呼ばれた場合、トリガー内の 最も最近実行された UPDATE、INSERT、DELETE ステートメントで変更された行の数をリポートします。
SQLite は where句を使わずに、一度テーブルをドロップし再構築する形でDELETE FROM table コマンドを実装しています。 この最適化によって、DELETE FROM table の変更カウントは、元々テーブル内にあったレコードの数に関わりなく、ゼロになります。本当に削除された行数を取得する為には、代わりにDELETE FROM table WHERE 1を使用します。これは最適化を無効にします。
(メソッド)
プリペアドステートメントのバインドされたパラメータをクリアします。
(メソッド)
public | {SQLiteInterface.column-blob}:#ByteArray |
結果セットの現在行の列の値を ByteArray として返します。
column-index: 取得するカラム値の順序。カラムインデックスはゼロベースです。
戻り値
注意事項
ステートメント処理が現在の有効な行を指していないか、カラムのインデックスが範囲外の場合、結果は定義されません。
(メソッド)
public | {SQLiteInterface.column-bytes}:int |
現在行のカラムの値のバイト数を返します。
column-index: 取得するカラム値の順序。カラムインデックスはゼロベースです。
戻り値
現在行の列の値のバイト数。
注意事項
ステートメント処理が現在の有効な行を指していないか、カラムのインデックスが範囲外の場合、結果は定義されません。
(メソッド)
結果セットのカラム数を返します。
戻り値
結果セットのカラム数を返します。stmt が返り値の無い SQL ステートメントの場合それは 0 となります。
(メソッド)
public | {SQLiteInterface.column-decltype}:#String |
カラムの定義された型を返します。
column-index: 取得するカラムのために定義されたタイプの順序。カラムインデックスはゼロベースです。
戻り値
データベースの CREATE TABLE ステートメントで定義されたカラムの型を返します。
カラムが実際のテーブルのカラムと合致しない場合は、null が返されます。
(メソッド)
public | {SQLiteInterface.column-double}:double |
結果セットの現在行の列の値を double として返します。
column-index: 取得するカラム値の順序。カラムインデックスはゼロベースです。
戻り値
カラムの double としての値。
注意事項
ステートメント処理が現在の有効な行を指していないか、カラムのインデックスが範囲外の場合、結果は定義されません。
(メソッド)
public | {SQLiteInterface.column-int}:int |
結果セットの現在行の列の値を int として返します。
column-index: 取得するカラム値の順序。カラムインデックスはゼロベースです。
戻り値
カラムの int としての値。
注意事項
ステートメント処理が現在の有効な行を指していないか、カラムのインデックスが範囲外の場合、結果は定義されません。
(メソッド)
public | {SQLiteInterface.column-int64}:int64 |
結果セットの現在行の列の値を int64 として返します。
column-index: 取得するカラム値の順序。カラムインデックスはゼロベースです。
戻り値
カラムの int64 としての値。
注意事項
ステートメント処理が現在の有効な行を指していないか、カラムのインデックスが範囲外の場合、結果は定義されません。
(メソッド)
public | {SQLiteInterface.column-name}:String |
プリペアド SQL ステートメントでの列名。
column-index: 取得するカラム名の順序。カラムインデックスはゼロベースです。
戻り値
カラム名。
(メソッド)
public | {SQLiteInterface.column-text}:#String |
結果セットの現在行の列の値を String として返します。
column-index: 取得するカラム値の順序。カラムインデックスはゼロベースです。
戻り値
注意事項
ステートメント処理が現在の有効な行を指していないか、カラムのインデックスが範囲外の場合、結果は定義されません。
(メソッド)
カラムのデータ型を返します。
column-index: 取得するカラムタイプの順序。カラムインデックスはゼロベースです。
戻り値
stmt の結果セットの中で、順番を示す column-index で指定されたカラムのストレージクラスを返します。
(メソッド)
結果セットの現在の行の値の数を返します。
戻り値
SQLiteStatementHandle.step の呼び出し前や
SQLiteStatementHandle.step の呼び出し後に
SQLiteStatus.ROW でない値が返る場合、返される値はゼロです。そうでない場合は、現在の結果セットの行数となります。
(メソッド)
SQLiteInterface API を呼び出して失敗した一番新しいエラーコードを返します。
sqlite3: SQLite データベースハンドル。
戻り値
sqlite3 データベースハンドルに関連する API が失敗した一番新しいエラーコード。
注意事項
先の API 呼び出しが失敗しますが、最新の API 呼び出しが成功する場合、この関数の返り値は未定義です。
(メソッド)
SQLiteInterface API を呼び出して失敗した一番新しいエラーメッセージを String で返します。
sqlite3: SQLite データベースハンドル。
戻り値
API 呼び出し時の English の一番新しいエラーメッセージ。
注意事項
一番最後に呼び出された API が成功している時、not an error のメッセージが返されます。
(メソッド)
public | {SQLiteInterface.exec}:(SQLiteStatus, errmsg:String) |
""
(メソッド)
実行中の操作を中断します。
sqlite3: SQLite データベースハンドル。
注意事項
通常、ソートのコールバックから呼ばれます。
(メソッド)
public | {SQLiteInterface.last-insert-rowid}:int64 |
最後に成功した INSERT ステートメントから生成され、自動的に増加するプライマリキーを返します。
sqlite3: SQLite データベースハンドル。
戻り値
プライマリキーの値。
注意事項
SQLite テーブルの各エントリーは一意の int キーを持っています。そのキーは、INTEGER PRIMARY KEY カラムがある場合、そのカラムの値となります。ない場合は、ランダムな値が生成されます。一意になるキーは常に ROWID、OID、_ROWID_ として利用可能です。
(メソッド)
public | {SQLiteInterface.libversion}:String |
SQLite ライブラリのバージョンを String として返します。
(メソッド)
public | {SQLiteInterface.libversion-number}:int |
SQLite の数値としてのバージョン。
説明
バージョン番号が X.Y.Z であるなら、この番号は X*1000000 + Y*1000 + Z となります。
(メソッド)
protected | {SQLiteInterface.reclaim-resources}:void |
""
(メソッド)
""
(メソッド)
(メソッド)
テーブル内のカラムの情報を指定します。
sqlite3: SQLite データベースハンドル。
database-name: テーブル内を検索するためのデータベース名。null の場合、テーブルにアタッチされたデータベース全てを検索します。
table-name: カラム内を検索するためのテーブル名。
column-name: メタデータを取得するためのカラム名。
戻り値
最初の戻り値が SQLiteStatus.OK でない場合、未定義の戻り値が返されます。
注意事項
これはカラムの false の auto-increment? が返されます。そのカラムの別名は ROWID ですが、ROWID は基本的に auto-increment となります。
(メソッド)
データベース接続が作成されてから、編集、挿入、削除が行なわれたトータルの行数を返します。
sqlite3: SQLite データベースハンドル。
注意事項
全ての変更はカウントされ、トリガーによる変更と一時的で予備なデータベースの変更も含まれます。CREATE TABLE 構文のよう内部テーブルに対する変更はカウントされません。テーブル全体が DROP TABLE を使用して削除されるときの変更もまたカウントされません。
SQLite は where句を使わずに、一度テーブルをドロップし再構築する形でDELETE FROM table コマンドを実装しています。 この最適化によって、DELETE FROM table の変更カウントは、元々テーブル内にあったレコードの数に関わりなく、ゼロになります。本当に削除された行数を取得する為には、代わりにDELETE FROM table WHERE 1を使用します。これは最適化を無効にします。
データベース接続がオープンされていない場合、このメソッドは 0 を返します。