Re: cvs: php4 /ext/pgsql pgsql.c php_pgsql.h
| From: | derick@php.net | Date: | Thu, 25 Apr 2002 06:15:58 +0000 |
| Subject: | Re: cvs: php4 /ext/pgsql pgsql.c php_pgsql.h | ||
| References: | 1 | Groups: | php.cvs |
| Request: | Send a blank email to php-cvs+get-11414@lists.php.net to get a copy of this message | ||
Hello,
I have to agree with Markus here....
Derick
On Thu, 25 Apr 2002, Markus Fischer wrote:
> Hi,
>
> I think it reached a common consesus that functions, which
> are not supported in a build, should NOT be in the function
> table. We're having a similar mess with GD and other
> extension. The proper way is to use function_exists() to
> check whether it's support or not. What makes those client
> encoding functions so special? Even the documentation clearly
> states that this function is available since 4.0.3 and
> requires PostgresSQL 7.0 or higher.
>
> - Markus
>
> On Thu, Apr 25, 2002 at 01:42:23AM -0000, Yasuo Ohgaki wrote :
> > yohgaki Wed Apr 24 21:42:23 2002 EDT
> >
> > Modified files:
> > /php4/ext/pgsql pgsql.c php_pgsql.h
> > Log:
> > pg_client_encoding/pg_set_client_encoding should be compiled always.
> > Recent libpq has PQclientEncoding/PQsetClientEncoding regarless of
> > multibyte support enabled or not.
> >
> > Reported by c@cornelia-boenigk.de
> >
> > # This should be merged, but need a little more testing.
> >
> >
> > Index: php4/ext/pgsql/pgsql.c
> > diff -u php4/ext/pgsql/pgsql.c:1.196 php4/ext/pgsql/pgsql.c:1.197
> > --- php4/ext/pgsql/pgsql.c:1.196 Wed Apr 24 19:03:48 2002
> > +++ php4/ext/pgsql/pgsql.c Wed Apr 24 21:42:21 2002
> > @@ -19,7 +19,7 @@
> > +----------------------------------------------------------------------+
> > */
> >
> > -/* $Id: pgsql.c,v 1.196 2002/04/24 23:03:48 yohgaki Exp $ */
> > +/* $Id: pgsql.c,v 1.197 2002/04/25 01:42:21 yohgaki Exp $ */
> >
> > #include <stdlib.h>
> >
> > @@ -137,10 +137,8 @@
> > PHP_FE(pg_escape_string,NULL)
> > PHP_FE(pg_escape_bytea, NULL)
> > #endif
> > -#if HAVE_PQCLIENTENCODING
> > PHP_FE(pg_client_encoding, NULL)
> > PHP_FE(pg_set_client_encoding, NULL)
> > -#endif
> > /* misc function */
> > PHP_FE(pg_metadata, NULL)
> > PHP_FE(pg_convert, NULL)
> > @@ -172,10 +170,8 @@
> > PHP_FALIAS(pg_lowrite, pg_lo_write, NULL)
> > PHP_FALIAS(pg_loimport, pg_lo_import, NULL)
> > PHP_FALIAS(pg_loexport, pg_lo_export, NULL)
> > -#if HAVE_PQCLIENTENCODING
> > PHP_FALIAS(pg_clientencoding, pg_client_encoding, NULL)
> > PHP_FALIAS(pg_setclientencoding, pg_set_client_encoding, NULL)
> > -#endif
> > {NULL, NULL, NULL}
> > };
> > /* }}} */
> > @@ -2133,7 +2129,6 @@
> > }
> > /* }}} */
> >
> > -#ifdef HAVE_PQCLIENTENCODING
> > /* {{{ proto int pg_set_client_encoding([resource connection,] string encoding)
> > Set client encoding */
> > PHP_FUNCTION(pg_set_client_encoding)
> > @@ -2159,13 +2154,18 @@
> > WRONG_PARAM_COUNT;
> > break;
> > }
> > -
> > +
> > +#ifdef HAVE_PQCLIENTENCODING
> > ZEND_FETCH_RESOURCE2(pgsql, PGconn *, pgsql_link, id, "PostgreSQL link",
> > le_link, le_plink);
> >
> > convert_to_string_ex(encoding);
> > Z_LVAL_P(return_value) = PQsetClientEncoding(pgsql, Z_STRVAL_PP(encoding));
> > Z_TYPE_P(return_value) = IS_LONG;
> > -
> > +#else
> > + php_error(E_NOTICE, "%s() PHP is compiled with libpq without multibyte
> > PQsetClientEncoding"
> > + get_active_function_name(TSRMLS_C));
> > + RETURN_LONG(-1);
> > +#endif
> > }
> > /* }}} */
> >
> > @@ -2192,6 +2192,7 @@
> > break;
> > }
> >
> > +#ifdef HAVE_PQCLIENTENCODING
> > ZEND_FETCH_RESOURCE2(pgsql, PGconn *, pgsql_link, id, "PostgreSQL link",
> > le_link, le_plink);
> >
> > /* Just do the same as found in PostgreSQL sources... */
> > @@ -2205,9 +2206,13 @@
> > Z_STRLEN_P(return_value) = strlen(Z_STRVAL_P(return_value));
> > Z_STRVAL_P(return_value) = (char *) estrdup(Z_STRVAL_P(return_value));
> > Z_TYPE_P(return_value) = IS_STRING;
> > +#else
> > + php_error(E_NOTICE, "%s() PHP is compiled with libpq without PQclientEncoding"
> > + get_active_function_name(TSRMLS_C));
> > + RETURN_STRING("SQL_ASCII",1);
> > +#endif
> > }
> > /* }}} */
> > -#endif
> >
> >
> > #define COPYBUFSIZ 8192
> > Index: php4/ext/pgsql/php_pgsql.h
> > diff -u php4/ext/pgsql/php_pgsql.h:1.44 php4/ext/pgsql/php_pgsql.h:1.45
> > --- php4/ext/pgsql/php_pgsql.h:1.44 Mon Apr 22 23:42:26 2002
> > +++ php4/ext/pgsql/php_pgsql.h Wed Apr 24 21:42:23 2002
> > @@ -17,7 +17,7 @@
> > +----------------------------------------------------------------------+
> > */
> >
> > -/* $Id: php_pgsql.h,v 1.44 2002/04/23 03:42:26 yohgaki Exp $ */
> > +/* $Id: php_pgsql.h,v 1.45 2002/04/25 01:42:23 yohgaki Exp $ */
> >
> > #ifndef PHP_PGSQL_H
> > #define PHP_PGSQL_H
> > @@ -114,10 +114,8 @@
> > PHP_FUNCTION(pg_untrace);
> >
> > /* utility functions */
> > -#if HAVE_PQCLIENTENCODING
> > PHP_FUNCTION(pg_client_encoding);
> > PHP_FUNCTION(pg_set_client_encoding);
> > -#endif
> > #if HAVE_PQESCAPE
> > PHP_FUNCTION(pg_escape_string);
> > PHP_FUNCTION(pg_escape_bytea);
> >
> >
> >
> > --
> > PHP CVS Mailing List (http://www.php.net/)
> > To unsubscribe, visit: http://www.php.net/unsub.php
>
> --
> Please always Cc to me when replying to me on the lists.
> GnuPG Key: http://guru.josefine.at/~mfischer/C2272BD0.asc
> "Mind if I MFH ?" "What QA did you do on it?" "the usual?"
> "ah... none :)"
>
> --
> PHP CVS Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
-----------------------------------------------------------------------
Did I help you? Consider a gift:
http://www.amazon.co.uk/exec/obidos/registry/SLCB276UZU8B
-----------------------------------------------------------------------
PHP: Scripting the Web - derick@php.net
All your branches are belong to me!
SRM: Script Running Machine - www.vl-srm.net
-----------------------------------------------------------------------