Lines Matching refs:dbh

37 static bool pgsql_handle_in_transaction(pdo_dbh_t *dbh);
67 int _pdo_pgsql_error(pdo_dbh_t *dbh, pdo_stmt_t *stmt, int errcode, const char *sqlstate, const cha… in _pdo_pgsql_error() argument
69 pdo_pgsql_db_handle *H = (pdo_pgsql_db_handle *)dbh->driver_data; in _pdo_pgsql_error()
70 pdo_error_type *pdo_err = stmt ? &stmt->error_code : &dbh->error_code; in _pdo_pgsql_error()
79 pefree(einfo->errmsg, dbh->is_persistent); in _pdo_pgsql_error()
91 einfo->errmsg = pestrdup(msg, dbh->is_persistent); in _pdo_pgsql_error()
94 einfo->errmsg = _pdo_pgsql_trim_message(errmsg, dbh->is_persistent); in _pdo_pgsql_error()
97 if (!dbh->methods) { in _pdo_pgsql_error()
105 static void _pdo_pgsql_notice(pdo_dbh_t *dbh, const char *message) /* {{{ */ in _pdo_pgsql_notice() argument
111 static void pdo_pgsql_fetch_error_func(pdo_dbh_t *dbh, pdo_stmt_t *stmt, zval *info) /* {{{ */ in pdo_pgsql_fetch_error_func() argument
113 pdo_pgsql_db_handle *H = (pdo_pgsql_db_handle *)dbh->driver_data; in pdo_pgsql_fetch_error_func()
144 pdo_pgsql_db_handle *H = (pdo_pgsql_db_handle *)(Z_PDO_DBH_P(&self->dbh))->driver_data; in pgsql_lob_close()
150 zval_ptr_dtor(&self->dbh); in pgsql_lob_close()
185 php_stream *pdo_pgsql_create_lob_stream(zval *dbh, int lfd, Oid oid) in pdo_pgsql_create_lob_stream() argument
189 pdo_pgsql_db_handle *H = (pdo_pgsql_db_handle *)(Z_PDO_DBH_P(dbh))->driver_data; in pdo_pgsql_create_lob_stream()
191 ZVAL_COPY_VALUE(&self->dbh, dbh); in pdo_pgsql_create_lob_stream()
199 Z_ADDREF_P(dbh); in pdo_pgsql_create_lob_stream()
209 void pdo_pgsql_close_lob_streams(pdo_dbh_t *dbh) in pdo_pgsql_close_lob_streams() argument
212 pdo_pgsql_db_handle *H = (pdo_pgsql_db_handle *)dbh->driver_data; in pdo_pgsql_close_lob_streams()
222 static void pgsql_handle_closer(pdo_dbh_t *dbh) /* {{{ */ in pgsql_handle_closer() argument
224 pdo_pgsql_db_handle *H = (pdo_pgsql_db_handle *)dbh->driver_data; in pgsql_handle_closer()
227 pdo_pgsql_close_lob_streams(dbh); in pgsql_handle_closer()
229 pefree(H->lob_streams, dbh->is_persistent); in pgsql_handle_closer()
237 pefree(H->einfo.errmsg, dbh->is_persistent); in pgsql_handle_closer()
240 pefree(H, dbh->is_persistent); in pgsql_handle_closer()
241 dbh->driver_data = NULL; in pgsql_handle_closer()
246 static bool pgsql_handle_preparer(pdo_dbh_t *dbh, zend_string *sql, pdo_stmt_t *stmt, zval *driver_… in pgsql_handle_preparer() argument
248 pdo_pgsql_db_handle *H = (pdo_pgsql_db_handle *)dbh->driver_data; in pgsql_handle_preparer()
296 strcpy(dbh->error_code, stmt->error_code); in pgsql_handle_preparer()
314 static zend_long pgsql_handle_doer(pdo_dbh_t *dbh, const zend_string *sql) in pgsql_handle_doer() argument
316 pdo_pgsql_db_handle *H = (pdo_pgsql_db_handle *)dbh->driver_data; in pgsql_handle_doer()
321 bool in_trans = pgsql_handle_in_transaction(dbh); in pgsql_handle_doer()
325 pdo_pgsql_error(dbh, PGRES_FATAL_ERROR, NULL); in pgsql_handle_doer()
330 pdo_pgsql_error(dbh, qs, pdo_pgsql_sqlstate(res)); in pgsql_handle_doer()
341 if (in_trans && !pgsql_handle_in_transaction(dbh)) { in pgsql_handle_doer()
342 pdo_pgsql_close_lob_streams(dbh); in pgsql_handle_doer()
348 static zend_string* pgsql_handle_quoter(pdo_dbh_t *dbh, const zend_string *unquoted, enum pdo_param… in pgsql_handle_quoter() argument
354 pdo_pgsql_db_handle *H = (pdo_pgsql_db_handle *)dbh->driver_data; in pgsql_handle_quoter()
383 static zend_string *pdo_pgsql_last_insert_id(pdo_dbh_t *dbh, const zend_string *name) in pdo_pgsql_last_insert_id() argument
385 pdo_pgsql_db_handle *H = (pdo_pgsql_db_handle *)dbh->driver_data; in pdo_pgsql_last_insert_id()
403 pdo_pgsql_error(dbh, status, pdo_pgsql_sqlstate(res)); in pdo_pgsql_last_insert_id()
427 static int pdo_pgsql_get_attribute(pdo_dbh_t *dbh, zend_long attr, zval *return_value) in pdo_pgsql_get_attribute() argument
429 pdo_pgsql_db_handle *H = (pdo_pgsql_db_handle *)dbh->driver_data; in pdo_pgsql_get_attribute()
542 static zend_result pdo_pgsql_check_liveness(pdo_dbh_t *dbh) in pdo_pgsql_check_liveness() argument
544 pdo_pgsql_db_handle *H = (pdo_pgsql_db_handle *)dbh->driver_data; in pdo_pgsql_check_liveness()
552 static bool pgsql_handle_in_transaction(pdo_dbh_t *dbh) in pgsql_handle_in_transaction() argument
554 pdo_pgsql_db_handle *H = (pdo_pgsql_db_handle *)dbh->driver_data; in pgsql_handle_in_transaction()
559 static bool pdo_pgsql_transaction_cmd(const char *cmd, pdo_dbh_t *dbh) in pdo_pgsql_transaction_cmd() argument
561 pdo_pgsql_db_handle *H = (pdo_pgsql_db_handle *)dbh->driver_data; in pdo_pgsql_transaction_cmd()
568 pdo_pgsql_error(dbh, PQresultStatus(res), pdo_pgsql_sqlstate(res)); in pdo_pgsql_transaction_cmd()
576 static bool pgsql_handle_begin(pdo_dbh_t *dbh) in pgsql_handle_begin() argument
578 return pdo_pgsql_transaction_cmd("BEGIN", dbh); in pgsql_handle_begin()
581 static bool pgsql_handle_commit(pdo_dbh_t *dbh) in pgsql_handle_commit() argument
583 bool ret = pdo_pgsql_transaction_cmd("COMMIT", dbh); in pgsql_handle_commit()
588 pdo_pgsql_close_lob_streams(dbh); in pgsql_handle_commit()
590 dbh->in_txn = pgsql_handle_in_transaction(dbh); in pgsql_handle_commit()
596 static bool pgsql_handle_rollback(pdo_dbh_t *dbh) in pgsql_handle_rollback() argument
598 int ret = pdo_pgsql_transaction_cmd("ROLLBACK", dbh); in pgsql_handle_rollback()
601 pdo_pgsql_close_lob_streams(dbh); in pgsql_handle_rollback()
610 pdo_dbh_t *dbh; in PHP_METHOD() local
633 dbh = Z_PDO_DBH_P(ZEND_THIS); in PHP_METHOD()
645 H = (pdo_pgsql_db_handle *)dbh->driver_data; in PHP_METHOD()
686 pdo_pgsql_error(dbh, PGRES_FATAL_ERROR, NULL); in PHP_METHOD()
696 pdo_pgsql_error(dbh, PGRES_FATAL_ERROR, NULL); in PHP_METHOD()
703 pdo_pgsql_error(dbh, PGRES_FATAL_ERROR, pdo_pgsql_sqlstate(pgsql_result)); in PHP_METHOD()
712 pdo_pgsql_error(dbh, PGRES_FATAL_ERROR, pdo_pgsql_sqlstate(pgsql_result)); in PHP_METHOD()
723 pdo_dbh_t *dbh; in PHP_METHOD() local
740 dbh = Z_PDO_DBH_P(ZEND_THIS); in PHP_METHOD()
746 pdo_pgsql_error_msg(dbh, PGRES_FATAL_ERROR, "Unable to open the file"); in PHP_METHOD()
758 H = (pdo_pgsql_db_handle *)dbh->driver_data; in PHP_METHOD()
782 pdo_pgsql_error(dbh, PGRES_FATAL_ERROR, NULL); in PHP_METHOD()
792 pdo_pgsql_error(dbh, PGRES_FATAL_ERROR, NULL); in PHP_METHOD()
799 pdo_pgsql_error(dbh, PGRES_FATAL_ERROR, pdo_pgsql_sqlstate(pgsql_result)); in PHP_METHOD()
809 pdo_pgsql_error(dbh, PGRES_FATAL_ERROR, pdo_pgsql_sqlstate(pgsql_result)); in PHP_METHOD()
821 pdo_dbh_t *dbh; in PHP_METHOD() local
839 dbh = Z_PDO_DBH_P(ZEND_THIS); in PHP_METHOD()
843 H = (pdo_pgsql_db_handle *)dbh->driver_data; in PHP_METHOD()
847 pdo_pgsql_error_msg(dbh, PGRES_FATAL_ERROR, "Unable to open the file for writing"); in PHP_METHOD()
881 pdo_pgsql_error_msg(dbh, PGRES_FATAL_ERROR, "Unable to write to file"); in PHP_METHOD()
890 pdo_pgsql_error(dbh, PGRES_FATAL_ERROR, NULL); in PHP_METHOD()
904 pdo_pgsql_error(dbh, PGRES_FATAL_ERROR, pdo_pgsql_sqlstate(pgsql_result)); in PHP_METHOD()
915 pdo_dbh_t *dbh; in PHP_METHOD() local
931 dbh = Z_PDO_DBH_P(ZEND_THIS); in PHP_METHOD()
935 H = (pdo_pgsql_db_handle *)dbh->driver_data; in PHP_METHOD()
969 pdo_pgsql_error(dbh, PGRES_FATAL_ERROR, NULL); in PHP_METHOD()
979 pdo_pgsql_error(dbh, PGRES_FATAL_ERROR, pdo_pgsql_sqlstate(pgsql_result)); in PHP_METHOD()
991 pdo_dbh_t *dbh; in PHP_METHOD() local
997 dbh = Z_PDO_DBH_P(ZEND_THIS); in PHP_METHOD()
1001 H = (pdo_pgsql_db_handle *)dbh->driver_data; in PHP_METHOD()
1010 pdo_pgsql_error(dbh, PGRES_FATAL_ERROR, NULL); in PHP_METHOD()
1019 pdo_dbh_t *dbh; in PHP_METHOD() local
1044 dbh = Z_PDO_DBH_P(ZEND_THIS); in PHP_METHOD()
1048 H = (pdo_pgsql_db_handle *)dbh->driver_data; in PHP_METHOD()
1059 pdo_pgsql_error(dbh, PGRES_FATAL_ERROR, NULL); in PHP_METHOD()
1070 pdo_dbh_t *dbh; in PHP_METHOD() local
1086 dbh = Z_PDO_DBH_P(ZEND_THIS); in PHP_METHOD()
1090 H = (pdo_pgsql_db_handle *)dbh->driver_data; in PHP_METHOD()
1096 pdo_pgsql_error(dbh, PGRES_FATAL_ERROR, NULL); in PHP_METHOD()
1105 pdo_dbh_t *dbh; in PHP_METHOD() local
1116 dbh = Z_PDO_DBH_P(ZEND_THIS); in PHP_METHOD()
1120 result_type = dbh->default_fetch_type; in PHP_METHOD()
1138 H = (pdo_pgsql_db_handle *)dbh->driver_data; in PHP_METHOD()
1141 pdo_pgsql_error(dbh, PGRES_FATAL_ERROR, NULL); in PHP_METHOD()
1151 pdo_pgsql_error(dbh, PGRES_FATAL_ERROR, NULL); in PHP_METHOD()
1185 pdo_dbh_t *dbh; in PHP_METHOD() local
1190 dbh = Z_PDO_DBH_P(ZEND_THIS); in PHP_METHOD()
1193 H = (pdo_pgsql_db_handle *)dbh->driver_data; in PHP_METHOD()
1199 static const zend_function_entry *pdo_pgsql_get_driver_methods(pdo_dbh_t *dbh, int kind) in pdo_pgsql_get_driver_methods() argument
1209 static bool pdo_pgsql_set_attr(pdo_dbh_t *dbh, zend_long attr, zval *val) in pdo_pgsql_set_attr() argument
1212 pdo_pgsql_db_handle *H = (pdo_pgsql_db_handle *)dbh->driver_data; in pdo_pgsql_set_attr()
1251 static int pdo_pgsql_handle_factory(pdo_dbh_t *dbh, zval *driver_options) /* {{{ */ in pdo_pgsql_handle_factory() argument
1259 H = pecalloc(1, sizeof(pdo_pgsql_db_handle), dbh->is_persistent); in pdo_pgsql_handle_factory()
1260 dbh->driver_data = H; in pdo_pgsql_handle_factory()
1262 dbh->skip_param_evt = in pdo_pgsql_handle_factory()
1273 e = (char *) dbh->data_source + strlen(dbh->data_source); in pdo_pgsql_handle_factory()
1274 p = (char *) dbh->data_source; in pdo_pgsql_handle_factory()
1284 tmp_user = _pdo_pgsql_escape_credentials(dbh->username); in pdo_pgsql_handle_factory()
1285 tmp_pass = _pdo_pgsql_escape_credentials(dbh->password); in pdo_pgsql_handle_factory()
1289 …spprintf(&conn_str, 0, "%s user='%s' password='%s' connect_timeout=" ZEND_LONG_FMT, (char *) dbh->… in pdo_pgsql_handle_factory()
1291 …spprintf(&conn_str, 0, "%s user='%s' connect_timeout=" ZEND_LONG_FMT, (char *) dbh->data_source, Z… in pdo_pgsql_handle_factory()
1293 …spprintf(&conn_str, 0, "%s password='%s' connect_timeout=" ZEND_LONG_FMT, (char *) dbh->data_sourc… in pdo_pgsql_handle_factory()
1295 …spprintf(&conn_str, 0, "%s connect_timeout=" ZEND_LONG_FMT, (char *) dbh->data_source, connect_tim… in pdo_pgsql_handle_factory()
1299 H->lob_streams = (HashTable *) pemalloc(sizeof(HashTable), dbh->is_persistent); in pdo_pgsql_handle_factory()
1312 pdo_pgsql_error(dbh, PGRES_FATAL_ERROR, PHP_PDO_PGSQL_CONNECTION_FAILURE_SQLSTATE); in pdo_pgsql_handle_factory()
1316 PQsetNoticeProcessor(H->server, (void(*)(void*,const char*))_pdo_pgsql_notice, (void *)&dbh); in pdo_pgsql_handle_factory()
1321 dbh->methods = &pgsql_methods; in pdo_pgsql_handle_factory()
1322 dbh->alloc_own_columns = 1; in pdo_pgsql_handle_factory()
1323 dbh->max_escaped_char_length = 2; in pdo_pgsql_handle_factory()
1328 dbh->methods = &pgsql_methods; in pdo_pgsql_handle_factory()
1330 pgsql_handle_closer(dbh); in pdo_pgsql_handle_factory()