helly           Sun Jul 27 12:47:36 2003 EDT

  Modified files:              
    /php-src/ext/pgsql  pgsql.c php_pgsql.h 
  Log:
  Added new function pg_parameter_status()
  
Index: php-src/ext/pgsql/pgsql.c
diff -u php-src/ext/pgsql/pgsql.c:1.285 php-src/ext/pgsql/pgsql.c:1.286
--- php-src/ext/pgsql/pgsql.c:1.285     Sun Jul 27 12:45:10 2003
+++ php-src/ext/pgsql/pgsql.c   Sun Jul 27 12:47:36 2003
@@ -19,7 +19,7 @@
    +----------------------------------------------------------------------+
  */
  
-/* $Id: pgsql.c,v 1.285 2003/07/27 16:45:10 helly Exp $ */
+/* $Id: pgsql.c,v 1.286 2003/07/27 16:47:36 helly Exp $ */
 
 #include <stdlib.h>
 
@@ -90,6 +90,9 @@
        PHP_FE(pg_options,              NULL)
        PHP_FE(pg_version,              NULL)
        PHP_FE(pg_ping,                 NULL)
+#if HAVE_PQPARAMETERSTATUS
+       PHP_FE(pg_parameter_status, NULL)
+#endif
        /* query functions */
        PHP_FE(pg_query,                NULL)
        PHP_FE(pg_send_query,   NULL)
@@ -927,6 +930,41 @@
        php_pgsql_get_link_info(INTERNAL_FUNCTION_PARAM_PASSTHRU,PHP_PG_VERSION);
 }
 /* }}} */
+
+#if HAVE_PQPARAMETERSTATUS
+/* {{{ proto string|false pg_parameter_status([resource connection,] string 
param_name)
+   Returns the value of a server parameter */
+PHP_FUNCTION(pg_parameter_status)
+{
+       zval *pgsql_link;
+       int id;
+       PGconn *pgsql;
+       char *param;
+       int len;
+
+       if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() 
TSRMLS_CC, "rs", &pgsql_link, &param, &len) == SUCCESS) {
+               id = -1;
+       } else if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &param, &len) 
== SUCCESS) {
+               pgsql_link = NULL;
+               id = PGG(default_link);
+       } else {
+               RETURN_FALSE;
+       }
+       if (pgsql_link == NULL && id == -1) {
+               RETURN_FALSE;
+       }       
+
+       ZEND_FETCH_RESOURCE2(pgsql, PGconn *, &pgsql_link, id, "PostgreSQL link", 
le_link, le_plink);
+
+       param = (char*)PQparameterStatus(pgsql, param);
+       if (param) {
+               RETURN_STRING(param, 1);
+       } else {
+               RETURN_FALSE;
+       }
+}
+/* }}} */
+#endif
 
 /* {{{ proto bool pg_ping([resource connection])
    Ping database. If connection is bad, try to reconnect. */
Index: php-src/ext/pgsql/php_pgsql.h
diff -u php-src/ext/pgsql/php_pgsql.h:1.63 php-src/ext/pgsql/php_pgsql.h:1.64
--- php-src/ext/pgsql/php_pgsql.h:1.63  Tue Jul 22 19:05:17 2003
+++ php-src/ext/pgsql/php_pgsql.h       Sun Jul 27 12:47:36 2003
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
  */
  
-/* $Id: php_pgsql.h,v 1.63 2003/07/22 23:05:17 helly Exp $ */
+/* $Id: php_pgsql.h,v 1.64 2003/07/27 16:47:36 helly Exp $ */
 
 #ifndef PHP_PGSQL_H
 #define PHP_PGSQL_H
@@ -73,6 +73,9 @@
 PHP_FUNCTION(pg_options);
 PHP_FUNCTION(pg_version);
 PHP_FUNCTION(pg_ping);
+#if HAVE_PQPARAMETERSTATUS
+PHP_FUNCTION(pg_parameter_status);
+#endif
 /* query functions */
 PHP_FUNCTION(pg_query);
 PHP_FUNCTION(pg_send_query);



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to