/* 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
**********, desired_case;
};