X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-pq;a=blobdiff_plain;f=src%2Fphp_pq_misc.h;h=bffa9d42d181dce3b8bb089be6134000f779bbfe;hp=b25f871fdfcc38e49e91da186685080017a914cf;hb=d6c8226407001736e86b4e0328a224e2b6fd1aa3;hpb=9e4e6b948aa03c04e66e808efa6a3522b92449d8 diff --git a/src/php_pq_misc.h b/src/php_pq_misc.h index b25f871..bffa9d4 100644 --- a/src/php_pq_misc.h +++ b/src/php_pq_misc.h @@ -16,21 +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" #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 +#define smart_str_v(ss) (smart_str_s(ss)?(ss)->s->val:NULL) +#define smart_str_l(ss) (smart_str_s(ss)?(ss)->s->len:0) + +/* 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);