X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-pq;a=blobdiff_plain;f=src%2Fphp_pqres.h;h=cc20ddbbc764e15524f71e0f494b40ac21c84611;hp=f5f80bfa576ee07317753c4fc8b21b0f684bbb41;hb=1e1d31873ad4283bd9acc3349107585f88161ea2;hpb=cffcf8e687650733164a8baa53d04dea98ee6ca7 diff --git a/src/php_pqres.h b/src/php_pqres.h index f5f80bf..cc20ddb 100644 --- a/src/php_pqres.h +++ b/src/php_pqres.h @@ -33,7 +33,7 @@ typedef enum php_pqres_fetch { typedef struct php_pqres_iterator { zend_object_iterator zi; - zval *current_val; + zval current_val; unsigned index; php_pqres_fetch_t fetch_type; } php_pqres_iterator_t; @@ -48,31 +48,20 @@ typedef struct php_pqres { } php_pqres_t; typedef struct php_pqres_object { - zend_object zo; - zend_object_value zv; - HashTable *prophandler; - php_pqres_t *intern; + PHP_PQ_OBJ_DECL(php_pqres_t *) } php_pqres_object_t; -extern ZEND_RESULT_CODE php_pqres_success(PGresult *res TSRMLS_DC); -extern void php_pqres_init_instance_data(PGresult *res, php_pqconn_object_t *obj, php_pqres_object_t **ptr TSRMLS_DC); -extern zval *php_pqres_row_to_zval(PGresult *res, unsigned row, php_pqres_fetch_t fetch_type, zval **data_ptr TSRMLS_DC); -extern zval *php_pqres_typed_zval(php_pqres_t *res, char *val, size_t len, Oid typ TSRMLS_DC); +extern ZEND_RESULT_CODE php_pqres_success(PGresult *res); +extern php_pqres_object_t *php_pqres_init_instance_data(PGresult *res, php_pqconn_object_t *obj); +extern zval *php_pqres_row_to_zval(PGresult *res, unsigned row, php_pqres_fetch_t fetch_type, zval *data); +extern zval *php_pqres_typed_zval(php_pqres_t *res, Oid typ, zval *zv); extern php_pqres_fetch_t php_pqres_fetch_type(php_pqres_t *res); #include "php_pq_object.h" #include "php_pqconn_event.h" -#define PHP_PQclear(_r) do { \ - php_pqres_object_t *_o = PQresultInstanceData((_r), php_pqconn_event); \ - if (_o) { \ - php_pq_object_delref(_o TSRMLS_CC); \ - } else { \ - PQclear(_r); \ - } \ -} while(0) extern zend_class_entry *php_pqres_class_entry; -extern zend_object_value php_pqres_create_object_ex(zend_class_entry *ce, php_pqres_t *intern, php_pqres_object_t **ptr TSRMLS_DC); +extern php_pqres_object_t *php_pqres_create_object_ex(zend_class_entry *ce, php_pqres_t *intern); extern PHP_MINIT_FUNCTION(pqres); extern PHP_MSHUTDOWN_FUNCTION(pqres);