]> granicus.if.org Git - php/commitdiff
Added pg_get_pid()
authorYasuo Ohgaki <yohgaki@php.net>
Thu, 17 Oct 2002 23:41:34 +0000 (23:41 +0000)
committerYasuo Ohgaki <yohgaki@php.net>
Thu, 17 Oct 2002 23:41:34 +0000 (23:41 +0000)
ext/pgsql/README
ext/pgsql/pgsql.c
ext/pgsql/php_pgsql.h

index 2a1b0f4212581fd6334c10367314086d341468f3..2b4c412338d4b563f47adc59cac050bc6e542251 100644 (file)
@@ -43,14 +43,13 @@ module with specific version. You need to install PostgreSQL
 somewhere in your system to build PHP with PostgreSQL support.
 
 ==== Note For PostgreSQL 7.2 ====
-I've tested upto 7.2.1.
+I've tested upto 7.2.2.
 
 ==== TODO List ===
 Make pg_convert() smater. 
  - Better regex
  - User defiend type support
 Support async connection.
-Support async notification.
 
 ==== Experimental Functions =====
 
@@ -217,6 +216,19 @@ array pg_select(resource db, string table, array ids[, bool convert])
    Select records that has ids (id=>value) 
 
 --------------------------------------------------------------------
+array pg_get_notify([resource db[, notify]])
+   Get notify message on the connection 
+
+--------------------------------------------------------------------
+string pg_unescape_bytea(string bytea_data)
+   Unescape bytea field data 
+
+--------------------------------------------------------------------
+bool pg_ping(resource db)
+   ping database connection and try to reset connection if it's
+   broken 
+
+-------------------------------------------------------------------
 
 Again, experimental functions are subject to be changed without 
 notice.
index e0bd78ae5f155383cabd5a9d6e35d5a6921546c2..43fab8557af28327bc3b5485b27f7016f3dc4ecf 100644 (file)
@@ -116,6 +116,7 @@ function_entry pgsql_functions[] = {
        PHP_FE(pg_field_is_null,NULL)
        /* async message function */
        PHP_FE(pg_get_notify,   NULL)
+       PHP_FE(pg_get_pid,      NULL)
        /* error message functions */
        PHP_FE(pg_result_error, NULL)
        PHP_FE(pg_last_error,   NULL)
@@ -3015,9 +3016,7 @@ PHP_FUNCTION(pg_get_notify)
        zval *pgsql_link;
        int id = -1, result_type = PGSQL_ASSOC;
        PGconn *pgsql;
-       PGresult *pgsql_result;
        PGnotify *pgsql_notify;
-       pgsql_result_handle *pg_result;
 
        if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, "r|l",
                                                                 &pgsql_link) == FAILURE) {
@@ -3044,6 +3043,24 @@ PHP_FUNCTION(pg_get_notify)
 }
 /* }}} */
 
+/* {{{ proto resource pg_get_pid([resource connection)
+   Get backend(server) pid */
+PHP_FUNCTION(pg_get_pid)
+{
+       zval *pgsql_link;
+       int id = -1, pid;
+       PGconn *pgsql;
+
+       if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, "r",
+                                                                &pgsql_link) == FAILURE) {
+               RETURN_FALSE;
+       }
+
+       ZEND_FETCH_RESOURCE2(pgsql, PGconn *, &pgsql_link, id, "PostgreSQL link", le_link, le_plink);
+
+       RETURN_LONG(PQbackendPID(pgsql));
+}
+/* }}} */
 
 /* {{{ php_pgsql_meta_data
  * TODO: Add meta_data cache for better performance
index 5fef4ef7815e6ec3d11ba2f20d4b967d01dbca71..3773904dfd5daf4dd40262e0860667f715d3c452 100644 (file)
@@ -99,6 +99,7 @@ PHP_FUNCTION(pg_field_prtlen);
 PHP_FUNCTION(pg_field_is_null);
 /* async message functions */
 PHP_FUNCTION(pg_get_notify);
+PHP_FUNCTION(pg_get_pid);
 /* error message functions */
 PHP_FUNCTION(pg_result_error);
 PHP_FUNCTION(pg_last_error);