/* データベースへの接続を表す */
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;
}; |