XXIII. DB++ 関数

警告

この拡張モジュールは、 実験的 なものです。この拡張モジュールの動作・ 関数名・その他ドキュメントに書かれている事項は、予告なく、将来的な PHP のリリースにおいて変更される可能性があります。 このモジュールは自己責任で使用してください。

導入

db++ は、ドイツの企業 Concept asa により作成された高性能でかつメモリ使用量とディスク使用量が 小さいことを特徴とするリレーショナルデータベースシステムです。 db++ では、SQL は補助的なインターフェイス原語として提供されており、 元来の SQL データベースであるわけではありませんが、SQL よりも 関係代数にはるかに強く影響された固有の AQL クエリ言語が提供されています。

Concept asa は、常にオープンソース言語のサポートに関心を持って 来ており、db++ は Perl、Tcl コールのインターフェイスを何年も前から有し、 Tcl を内部的なストアドプロシージャ言語として使用しています。

要件

この拡張モジュールは外部クライアントライブラリに依存しており、 この拡張モジュールを使用したいシステム上に db++ クライアントが インストールされている必要があります。

Concept asa が、 Linux および他のいくつかの Unix 版の db++ デモ版 および ドキュメント を 提供しています。また、Windows 版の db++ もありますが、 この拡張モジュールでは(まだ)サポートしていません。

インストール手順

この拡張モジュールをビルドするためには、db++ クライアントライブラリおよび ヘッダファイルがシステムにインストールされていることが必要です (db++ のインストールアーカイブには、これらがデフォルトで含まれています)。 この拡張モジュールをビルドするためには、configure の際にオプション --with-dbplus を設定する必要があります。

configure は、クライアントライブラリおよびヘッダファイルを デフォルトのパス /usr/dbplus/usr/local/dbplus および /opt/dblus から探します。もし db++ を別の場所にインストールしている場合、 以下のようにしてインストール場所を configure オプションに 指定する必要があります。 --with-dbplus=/your/installation/path

実行時設定

設定ディレクティブは定義されていません。

リソース型

dbplus_relation

多くの db++ 関数は、dbplus_relation リソースを 操作または返します。 dbplus_relation は、保存された関係または クエリの結果として生成された関係へのハンドルです。

定義済み定数

以下の定数が定義されています。 この関数の拡張モジュールが PHP 組み込みでコンパイルされているか、 実行時に動的にロードされている場合のみ使用可能です。

db++ エラーコード

表 1. DB++ エラーコード

PHP 定数db++ 定数意味
DBPLUS_ERR_NOERR (integer) ERR_NOERRNull エラー条件
DBPLUS_ERR_DUPLICATE (integer) ERR_DUPLICATE重複するタプルを挿入した
DBPLUS_ERR_EOSCAN (integer) ERR_EOSCANrget()からスキャン終了
DBPLUS_ERR_EMPTY (integer) ERR_EMPTY関係が空(サーバ)
DBPLUS_ERR_CLOSE (integer) ERR_CLOSEサーバをクローズできない
DBPLUS_ERR_WLOCKED (integer) ERR_WLOCKEDレコードは書き込みロックされている
DBPLUS_ERR_LOCKED (integer) ERR_LOCKED関係は既にロックされている
DBPLUS_ERR_NOLOCK (integer) ERR_NOLOCK関係をロックできない
DBPLUS_ERR_READ (integer) ERR_READ関係の読み込みエラー
DBPLUS_ERR_WRITE (integer) ERR_WRITE関係の書き込みエラー
DBPLUS_ERR_CREATE (integer) ERR_CREATEcreate() システムコールが失敗
DBPLUS_ERR_LSEEK (integer) ERR_LSEEKlseek() システムコールが失敗
DBPLUS_ERR_LENGTH (integer) ERR_LENGTH最大長を越えるタプル
DBPLUS_ERR_OPEN (integer) ERR_OPENopen() システムコールが失敗
DBPLUS_ERR_WOPEN (integer) ERR_WOPEN関係は既に書き込みオープンされている
DBPLUS_ERR_MAGIC (integer) ERR_MAGICファイルは関係でない
DBPLUS_ERR_VERSION (integer) ERR_VERSIONファイルは非常に古い関係である
DBPLUS_ERR_PGSIZE (integer) ERR_PGSIZE関係は異なったページサイズを使用している
DBPLUS_ERR_CRC (integer) ERR_CRC不正な CRC がスーパーページにある
DBPLUS_ERR_PIPE (integer) ERR_PIPEパイプ上の関係は lseek() を要求している
DBPLUS_ERR_NIDX (integer) ERR_NIDXセカンダリインデックスが多すぎる
DBPLUS_ERR_MALLOC (integer) ERR_MALLOCmalloc() コールが失敗した
DBPLUS_ERR_NUSERS (integer) ERR_NUSERS最大ユーザ数エラー
DBPLUS_ERR_PREEXIT (integer) ERR_PREEXIT無効な使用法により発生
DBPLUS_ERR_ONTRAP (integer) ERR_ONTRAPシグナルにより発生
DBPLUS_ERR_PREPROC (integer) ERR_PREPROCプリプロセッサにおけるエラー
DBPLUS_ERR_DBPARSE (integer) ERR_DBPARSEパーサ上のエラー
DBPLUS_ERR_DBRUNERR (integer) ERR_DBRUNERRdbにおける実行エラー
DBPLUS_ERR_DBPREEXIT (integer) ERR_DBPREEXITprexit() * プロシージャにより発生した終了条件
DBPLUS_ERR_WAIT (integer) ERR_WAIT少し待つ(simple のみ)
DBPLUS_ERR_CORRUPT_TUPLE (integer) ERR_CORRUPT_TUPLEクライアントが壊れたタプルを送信した
DBPLUS_ERR_WARNING0 (integer) ERR_WARNING0 simple ルーチンが、修正済みの致命的でないエラーを発見した
DBPLUS_ERR_PANIC (integer) ERR_PANIC サーバは実際に実行中断していないが、全てのクライアントに ERR_PANIC が送信された
DBPLUS_ERR_FIFO (integer) ERR_FIFOfifo を作成できない
DBPLUS_ERR_PERM (integer) ERR_PERM不許可
DBPLUS_ERR_TCL (integer) ERR_TCLTCL_error
DBPLUS_ERR_RESTRICTED (integer) ERR_RESTRICTEDユーザ二人のみ
DBPLUS_ERR_USER (integer) ERR_USER アプリケーションプログラマによるライブラリの使用エラー
DBPLUS_ERR_UNKNOWN (integer) ERR_UNKNOWN 

目次
dbplus_add -- リレーションにタプルを追加する
dbplus_aql -- AQL クエリを実行する
dbplus_chdir -- データベース仮想カレントディレクトリを設定/取得する
dbplus_close -- リレーションを閉じる
dbplus_curr -- リレーションからカレントタプルを取得する
dbplus_errcode -- 指定したエラーコードまたは直近のエラーに関するエラー文字列を取得する
dbplus_errno -- 直近の操作に関するエラーコードを取得する
dbplus_find -- リレーションに拘束を設定する
dbplus_first -- リレーションから最初のタプルを取得する
dbplus_flush -- リレーションに行った全ての変更をフラッシュする
dbplus_freealllocks -- このクライアントにより保持された全てのロックを解放する
dbplus_freelock -- タプルの書き込みロックを解放する
dbplus_freerlocks -- 指定したリレーションに関する全てのタプルロックを解放する
dbplus_getlock -- タプルの書き込みロックを取得する
dbplus_getunique -- あるリレーションのユニークな ID 番号を取得する
dbplus_info -- リレーションについての情報を取得する
dbplus_last -- リレーションから直近のタプルを取得する
dbplus_lockrel -- リレーションに書き込みロックを要求する
dbplus_next -- リレーションから次のタプルを取得する
dbplus_open -- リレーションファイルをオープンする
dbplus_prev -- リレーションから前のタプルを取得する
dbplus_rchperm -- リレーションの許可属性を変更する
dbplus_rcreate -- 新しい DB++ リレーションを作成する
dbplus_rcrtexact -- インデックスを含む、リレーションの空のコピーを作成する
dbplus_rcrtlike -- デフォルトのインデックスで、リレーションの空のコピーを作成する
dbplus_resolve -- リレーションのホスト情報を取得する
dbplus_restorepos -- 位置を復元する
dbplus_rkeys -- リレーションの主キーを新規に指定する
dbplus_ropen -- リレーションファイルをローカルにオープンする
dbplus_rquery -- ローカル (raw) AQL クエリを実行する
dbplus_rrename -- リレーションの名前を変更する
dbplus_rsecindex -- リレーションに新規セカンダリインデックスを作成する
dbplus_runlink -- ファイルシステムからリレーションを削除する
dbplus_rzap -- リレーションから全てのタプルを削除する
dbplus_savepos -- 位置を保存する
dbplus_setindex -- インデックスを設定する
dbplus_setindexbynumber -- インデックスを数字で設定する
dbplus_sql -- SQL クエリを実行する
dbplus_tcl -- サーバ側で TCL コードを実行する
dbplus_tremove -- タプルを削除し、新規カレントタプルを返す
dbplus_undo -- 元に戻す
dbplus_undoprepare -- 元に戻す準備をする
dbplus_unlockrel -- リレーションの書き込みロックを中断する
dbplus_unselect -- リレーションから制約を削除する
dbplus_update -- リレーション内の指定したタプルを更新する
dbplus_xlockrel -- リレーションの排他的ロックを要求する
dbplus_xunlockrel -- リレーションの排他的ロックを解放する


東京デリヘル 池袋デリヘル 新宿デリヘル 渋谷デリヘル 品川デリヘル

鶯谷デリヘル 大塚デリヘル 立川デリヘル 町田デリヘル 横浜デリヘル 埼玉デリヘル

千葉デリヘル 大阪デリヘル 神戸デリヘル 京都デリヘル 名古屋デリヘル デリヘル

アダルトレンタルサーバー アダルトレンタルサーバー 表札 断熱塗料 UGUISU

大阪 老人ホーム 京都 老人ホーム 兵庫 老人ホーム 和歌山 老人ホーム 滋賀 老人ホーム

奈良 老人ホーム 東京 老人ホーム 神奈川 老人ホーム 千葉 老人ホーム 埼玉 老人ホーム 老人ホーム