/* represents a connection to a database */
struct _pdo_dbh_t {
    /* driver specific methods */
    struct pdo_dbh_methods *methods;
 */* driver specific data */
    void *driver_data;
 **/* credentials */
    char *username, *password;
 ***/* if true, then data stored and pointed at by this handle must all be
     * persistently allocated */
    unsigned is_persistent:1;
 ****/* if true, driver should act as though a COMMIT were executed between
     * each executed statement; otherwise, COMMIT must be carried out manually
     * */
    unsigned auto_commit:1;
 *****/* if true, the driver requires that memory be allocated explicitly for
     * the columns that are returned */
    unsigned alloc_own_columns:1;
 ******/* if true, commit or rollBack is allowed to be called */
    unsigned in_txn:1;                  
    /* max length a single character can become after correct quoting */
    unsigned max_escaped_char_length:3;
 *******/* data source string used to open this handle */
    const char *data_source;
 ********unsigned long data_source_len;
    /* the global error code. */
    pdo_error_type error_code;
 *********enum pdo_case_conversion native_case
 **********