/* データベースへの接続を表す */
struct _pdo_dbh_t {
/* ドライバ固有のメソッド */
struct pdo_dbh_methods *methods;
/* ドライバ固有のデータ */
void *driver_data;
/* 認証データ */
char *username, *password;
/* true の場合は、このハンドルが指すデータはすべて
* 持続的に割り当てられる */
unsigned is_persistent:1;
/* true の場合は、ステートメントを実行するたびに COMMIT を行うかのように
* 動作する。それ以外の場合は COMMIT を手動で実行しなければならない
* */
unsigned auto_commit:1;
/* true の場合は、返されるカラムのためのメモリを明示的に確保することが
* 必要となる */
unsigned alloc_own_columns:1;
/* true の場合は、commit あるいは rollBack をコールすることができる */
unsigned in_txn:1;
/* しかるべきクォート処理をした後での 1 文字の長さの最大値 */
unsigned max_escaped_char_length:3;
/* このハンドルをオープンする際に使用されるデータソース文字列 */
const char *data_source;
unsigned long data_source_len;
/* グローバルエラーコード */
pdo_error_type error_code;
enum pdo_case_conversion native_case, desired_case;
}; |