Google

NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.7">

XXIIDB++ 関数

警告

このモジュールは、実験的なものです。これは、これらの関数の動作、関数名は、このドキュメントに書かれて事項と同様に告知なく将来的なPHPのリリースで変更される可能性があります。注意を喚起するとともに、このモジュールは使用者のリスクで使用して下さい。

DB++データベース関数

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

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

必要なもの

db++インストール用アーカイブに含まれている開発ライブラリとヘッダ ファイルが必要です。その他にConcept asaが、ドキュメントとLinux及び 他のいくつかのUNIX版とWindows95/NT用にdb++のデモ版を提供しています。

インストール

この拡張モジュールの作成およびインストールには、db++のクライアント ライブラリとヘッダファイルが上記のようにシステムにインストール されていることが必要です。この拡張モジュールを構築するには、 configureにオプション --with-dbplusを付けてコンパイルする必要があります。

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

db++ error codes

表 1DB++エラーコード

PHP定数db++定数意味
DBPLUS_ERR_NOERRERR_NOERRNullエラー条件
DBPLUS_ERR_DUPLICATEERR_DUPLICATE冗長なタプルを挿入した
DBPLUS_ERR_EOSCANERR_EOSCANrget()からスキャン終了
DBPLUS_ERR_EMPTYERR_EMPTY関係が空(サーバ)
DBPLUS_ERR_CLOSEERR_CLOSEサーバをクローズできない
DBPLUS_ERR_WLOCKEDERR_WLOCKEDレコードは書き込みロックされている
DBPLUS_ERR_LOCKEDERR_LOCKED関係は既にロックされている
DBPLUS_ERR_NOLOCKERR_NOLOCK関係をロックできない
DBPLUS_ERR_READERR_READ関係の読み込みエラー
DBPLUS_ERR_WRITEERR_WRITE関係の書き込みエラー
DBPLUS_ERR_CREATEERR_CREATEcreate()システムコールが失敗
DBPLUS_ERR_LSEEKERR_LSEEKlseek()システムコールが失敗
DBPLUS_ERR_LENGTHERR_LENGTH最大長を越えるタプル
DBPLUS_ERR_OPENERR_OPENopen()システムコールが失敗
DBPLUS_ERR_WOPENERR_WOPEN関係は既に書き込みオープンされている
DBPLUS_ERR_MAGICERR_MAGICファイルは関係でない
DBPLUS_ERR_VERSIONERR_VERSIONファイルは非常に古い関係である
DBPLUS_ERR_PGSIZEERR_PGSIZE関係は異なったページサイズを使用している
DBPLUS_ERR_CRCERR_CRC不正なCRCがスーパーページにある
DBPLUS_ERR_PIPEERR_PIPEパイプ上の関係はlseek()を要求している
DBPLUS_ERR_NIDXERR_NIDXセカンダリインデックスが多すぎる
DBPLUS_ERR_MALLOCERR_MALLOCmalloc()コールが失敗した
DBPLUS_ERR_NUSERSERR_NUSERS最大ユーザ数エラー
DBPLUS_ERR_PREEXITERR_PREEXIT無効な使用法により発生
DBPLUS_ERR_ONTRAPERR_ONTRAPシグナルにより発生
DBPLUS_ERR_PREPROCERR_PREPROCプリプロセッサにおけるエラー
DBPLUS_ERR_DBPARSEERR_DBPARSEパーサ上のエラー
DBPLUS_ERR_DBRUNERRERR_DBRUNERRdbにおける実行エラー
DBPLUS_ERR_DBPREEXITERR_DBPREEXITprexit()*プロシージャにより発生した終了条件
DBPLUS_ERR_WAITERR_WAIT少し待つ(simpleのみ)
DBPLUS_ERR_CORRUPT_TUPLEERR_CORRUPT_TUPLEクライアントが壊れたタプルを送信した
DBPLUS_ERR_WARNING0ERR_WARNING0 simpleルーチンが、修正済みの致命的でないエラーを発見した
DBPLUS_ERR_PANICERR_PANIC サーバは実際に実行中断していないが、全てのクライアントに ERR_PANICを送信が送信された
DBPLUS_ERR_FIFOERR_FIFOfifoを作成できない
DBPLUS_ERR_PERMERR_PERM不許可
DBPLUS_ERR_TCLERR_TCLTCL_error
DBPLUS_ERR_RESTRICTEDERR_RESTRICTEDユーザ二人のみ
DBPLUS_ERR_USERERR_USER アプリケーションプログラマによるライブラリの使用エラー
DBPLUS_ERR_UNKNOWNERR_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 -- 関係を新規に作成する
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 -- 関係の排他的ロックを解放する