X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-pq;a=blobdiff_plain;f=src%2Fphp_pq_misc.h;h=2fdb7e1432e76fc5832c90d965fcd4008f916885;hp=9fc086a21c40add13532f0ea881bd869ac32ff8c;hb=c753ebfed3a4b21409cfa46212fd2c55227c809f;hpb=cffcf8e687650733164a8baa53d04dea98ee6ca7 diff --git a/src/php_pq_misc.h b/src/php_pq_misc.h index 9fc086a..2fdb7e1 100644 --- a/src/php_pq_misc.h +++ b/src/php_pq_misc.h @@ -16,23 +16,23 @@ #include -#if PHP_VERSION_ID < 50500 -#undef SUCCESS -#undef FAILURE -typedef enum { - SUCCESS = 0, - FAILURE = -1 -} ZEND_RESULT_CODE; -#endif - #include "php_pqres.h" -/* TSRM morony */ -#if PHP_VERSION_ID >= 50700 -# define z_is_true(z) zend_is_true(z TSRMLS_CC) -#else -# define z_is_true zend_is_true -#endif +#define z_is_true zend_is_true +#define smart_str_s(ss) (ss)->s +#define smart_str_v(ss) (ss)->s->val +#define smart_str_l(ss) (ss)->s->len + +/* clear result object associated with a result handle */ +extern void php_pqres_clear(PGresult *r); +/* clear any asynchronous results */ +extern void php_pqconn_clear(PGconn *conn); +/* safe wrappers to clear any asynchronous wrappers before querying synchronously */ +extern PGresult *php_pq_exec(PGconn *conn, const char *query); +extern PGresult *php_pq_exec_params(PGconn *conn, const char *command, int nParams, const Oid *paramTypes, const char *const * paramValues, const int *paramLengths, const int *paramFormats, int resultFormat); +extern PGresult *php_pq_prepare(PGconn *conn, const char *stmtName, const char *query, int nParams, const Oid *paramTypes); +extern PGresult *php_pq_exec_prepared(PGconn *conn, const char *stmtName, int nParams, const char *const * paramValues, const int *paramLengths, const int *paramFormats, int resultFormat); + /* trim LF from EOL */ extern char *php_pq_rtrim(char *e); @@ -41,18 +41,21 @@ extern char *php_pq_rtrim(char *e); extern const char *php_pq_strmode(long mode); /* compare array index */ -extern int php_pq_compare_index(const void *lptr, const void *rptr TSRMLS_DC); +extern int php_pq_compare_index(const void *lptr, const void *rptr); + +/* free zval ptr values (as hash dtor) */ +extern void php_pq_hash_ptr_dtor(zval *p); #define PHP_PQerrorMessage(c) php_pq_rtrim(PQerrorMessage((c))) #define PHP_PQresultErrorMessage(r) php_pq_rtrim(PQresultErrorMessage((r))) extern zend_class_entry *php_pqdt_class_entry; -extern zval *php_pqdt_from_string(zval *zv, char *input_fmt, char *dt_str, size_t dt_len, char *output_fmt, zval *ztimezone TSRMLS_DC); -extern void php_pqdt_to_string(zval *zdt, const char *format, char **str_buf, size_t *str_len TSRMLS_DC); +extern zval *php_pqdt_from_string(zval *zv, char *input_fmt, char *dt_str, size_t dt_len, char *output_fmt, zval *ztimezone); +extern zend_string *php_pqdt_to_string(zval *zdt, const char *format); extern zend_class_entry *php_pqconv_class_entry; -extern HashTable *php_pq_parse_array(php_pqres_t *res, const char *val_str, size_t val_len, Oid typ TSRMLS_DC); +extern HashTable *php_pq_parse_array(php_pqres_t *res, const char *val_str, size_t val_len, Oid typ); extern PHP_MINIT_FUNCTION(pq_misc);