}
ZEND_BEGIN_ARG_INFO_EX(ai_pqcopy_construct, 0, 0, 3)
- ZEND_ARG_OBJ_INFO(0, "connection", pq\\Connection, 0)
+ ZEND_ARG_OBJ_INFO(0, connection, pq\\Connection, 0)
ZEND_ARG_INFO(0, expression)
ZEND_ARG_INFO(0, direction)
ZEND_ARG_INFO(0, options)
char *expr_str, *opt_str = "";
int expr_len, opt_len = 0;
long direction;
- STATUS rv;
+ ZEND_RESULT_CODE rv;
zend_replace_error_handling(EH_THROW, exce(EX_INVALID_ARGUMENT), &zeh TSRMLS_CC);
rv = zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "Osl|s", &zconn, php_pqconn_class_entry, &expr_str, &expr_len, &direction, &opt_str, &opt_len);
zend_error_handling zeh;
char *data_str;
int data_len;
- STATUS rv;
+ ZEND_RESULT_CODE rv;
zend_replace_error_handling(EH_THROW, exce(EX_INVALID_ARGUMENT), &zeh TSRMLS_CC);
rv = zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &data_str, &data_len);
if (!obj->intern) {
throw_exce(EX_UNINITIALIZED TSRMLS_CC, "pq\\COPY not initialized");
} else if (obj->intern->direction != PHP_PQCOPY_FROM_STDIN) {
- throw_exce(EX_RUNTIME TSRMLS_CC, "pq\\COPY was not initialized with FROM_STDIN");
+ throw_exce(EX_BAD_METHODCALL TSRMLS_CC, "pq\\COPY was not initialized with FROM_STDIN");
} else {
if (1 != PQputCopyData(obj->intern->conn->intern->conn, data_str, data_len)) {
throw_exce(EX_RUNTIME TSRMLS_CC, "Failed to put COPY data (%s)", PHP_PQerrorMessage(obj->intern->conn->intern->conn));
zend_error_handling zeh;
char *error_str = NULL;
int error_len = 0;
- STATUS rv;
+ ZEND_RESULT_CODE rv;
zend_replace_error_handling(EH_THROW, exce(EX_INVALID_ARGUMENT), &zeh TSRMLS_CC);
rv = zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s!", &error_str, &error_len);
php_pqcopy_object_t *obj = zend_object_store_get_object(getThis() TSRMLS_CC);
if (!obj->intern) {
- throw_exce(EX_RUNTIME TSRMLS_CC, "pq\\COPY not intitialized");
+ throw_exce(EX_UNINITIALIZED TSRMLS_CC, "pq\\COPY not intitialized");
} else if (obj->intern->direction != PHP_PQCOPY_FROM_STDIN) {
- throw_exce(EX_RUNTIME TSRMLS_CC, "pq\\COPY was not intitialized with FROM_STDIN");
+ throw_exce(EX_BAD_METHODCALL TSRMLS_CC, "pq\\COPY was not intitialized with FROM_STDIN");
} else {
if (1 != PQputCopyEnd(obj->intern->conn->intern->conn, error_str)) {
throw_exce(EX_RUNTIME TSRMLS_CC, "Failed to end COPY (%s)", PHP_PQerrorMessage(obj->intern->conn->intern->conn));
static PHP_METHOD(pqcopy, get) {
zend_error_handling zeh;
zval *zdata;
- STATUS rv;
+ ZEND_RESULT_CODE rv;
zend_replace_error_handling(EH_THROW, exce(EX_INVALID_ARGUMENT), &zeh TSRMLS_CC);
rv = zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &zdata);
{0}
};
+PHP_MSHUTDOWN_FUNCTION(pqcopy)
+{
+ zend_hash_destroy(&php_pqcopy_object_prophandlers);
+ return SUCCESS;
+}
+
PHP_MINIT_FUNCTION(pqcopy)
{
zend_class_entry ce = {0};
php_pqcopy_object_handlers.write_property = php_pq_object_write_prop;
php_pqcopy_object_handlers.clone_obj = NULL;
php_pqcopy_object_handlers.get_property_ptr_ptr = NULL;
+ php_pqcopy_object_handlers.get_gc = NULL;
+ php_pqcopy_object_handlers.get_properties = php_pq_object_properties;
php_pqcopy_object_handlers.get_debug_info = php_pq_object_debug_info;
zend_hash_init(&php_pqcopy_object_prophandlers, 4, NULL, NULL, 1);