cvs: php4 /ext/mysql php_mysql.c php_mysql.h

From: Date: Wed, 31 Jan 2001 22:04:30 +0000
Subject: cvs: php4 /ext/mysql php_mysql.c php_mysql.h
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-3836@lists.php.net to get a copy of this message
elixer Wed Jan 31 14:04:30 2001 EDT Modified files: /php4/ext/mysql php_mysql.c php_mysql.h Log: Added the mysql_get_*_info() functions. # If anyone knows of a version of mysql lower then 3.20.32 that implements # all 3 of these functions, please change the conditionals. @- Added mysql_get_client_info(), mysql_get_server_info(), @ mysql_get_proto_info(), and mysql_get_host_info() functions. (Sean) Index: php4/ext/mysql/php_mysql.c diff -u php4/ext/mysql/php_mysql.c:1.66 php4/ext/mysql/php_mysql.c:1.67 --- php4/ext/mysql/php_mysql.c:1.66 Wed Jan 31 13:53:29 2001 +++ php4/ext/mysql/php_mysql.c Wed Jan 31 14:04:30 2001 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_mysql.c,v 1.66 2001/01/31 21:53:29 andi Exp $ */ +/* $Id: php_mysql.c,v 1.67 2001/01/31 22:04:30 elixer Exp $ */ /* TODO: @@ -73,6 +73,10 @@ # endif #endif +#if MYSQL_VERSION_ID >= 32032 +#define HAVE_GETINFO_FUNCS +#endif + #if MYSQL_VERSION_ID > 32133 || defined(FIELD_TYPE_TINY) #define MYSQL_HAS_TINY #endif @@ -132,6 +136,12 @@ PHP_FE(mysql_field_type, NULL) PHP_FE(mysql_field_flags, NULL) PHP_FE(mysql_escape_string, NULL) +#ifdef HAVE_GETINFO_FUNCS + PHP_FE(mysql_get_client_info, NULL) + PHP_FE(mysql_get_host_info, NULL) + PHP_FE(mysql_get_proto_info, NULL) + PHP_FE(mysql_get_server_info, NULL) +#endif /* for downwards compatability */ PHP_FALIAS(mysql, mysql_db_query, NULL) @@ -689,6 +699,115 @@ } /* }}} */ +#ifdef HAVE_GETINFO_FUNCS + +/* {{{ proto string mysql_get_client_info([int link_identifier]) + Returns a string that represents the client library version */ +PHP_FUNCTION(mysql_get_client_info) +{ + if (ZEND_NUM_ARGS() != 0) { + WRONG_PARAM_COUNT; + } + + RETURN_STRING(mysql_get_client_info(),1); +} +/* }}} */ + +/* {{{ proto string mysql_get_host_info([int link_identifier]) + Returns a string describing the type of connection in use, including the + server host name */ +PHP_FUNCTION(mysql_get_host_info) +{ + zval **mysql_link; + int id; + MYSQL *mysql; + MySLS_FETCH(); + + switch(ZEND_NUM_ARGS()) { + case 0: + id = php_mysql_get_default_link(INTERNAL_FUNCTION_PARAM_PASSTHRU MySLS_CC); + CHECK_LINK(id); + break; + case 1: + if (zend_get_parameters_ex(1,&mysql_link)==FAILURE) { + RETURN_FALSE; + } + id = -1; + break; + default: + WRONG_PARAM_COUNT; + break; + } + + ZEND_FETCH_RESOURCE2(mysql, MYSQL *, mysql_link, id, "MySQL-Link", le_link, le_plink); + + RETURN_STRING(mysql_get_host_info(mysql),1); +} +/* }}} */ + +/* {{{ proto int mysql_get_proto_info([int link_identifier]) + Returns the protocol version used by current connection */ +PHP_FUNCTION(mysql_get_proto_info) +{ + zval **mysql_link; + int id; + MYSQL *mysql; + MySLS_FETCH(); + + switch(ZEND_NUM_ARGS()) { + case 0: + id = php_mysql_get_default_link(INTERNAL_FUNCTION_PARAM_PASSTHRU MySLS_CC); + CHECK_LINK(id); + break; + case 1: + if (zend_get_parameters_ex(1,&mysql_link)==FAILURE) { + RETURN_FALSE; + } + id = -1; + break; + default: + WRONG_PARAM_COUNT; + break; + } + + ZEND_FETCH_RESOURCE2(mysql, MYSQL *, mysql_link, id, "MySQL-Link", le_link, le_plink); + + RETURN_LONG(mysql_get_proto_info(mysql)); +} +/* }}} */ + +/* {{{ proto string mysql_get_server_info([int link_identifier]) + Returns a string that represents the server version number */ +PHP_FUNCTION(mysql_get_server_info) +{ + zval **mysql_link; + int id; + MYSQL *mysql; + MySLS_FETCH(); + + switch(ZEND_NUM_ARGS()) { + case 0: + id = php_mysql_get_default_link(INTERNAL_FUNCTION_PARAM_PASSTHRU MySLS_CC); + CHECK_LINK(id); + break; + case 1: + if (zend_get_parameters_ex(1,&mysql_link)==FAILURE) { + RETURN_FALSE; + } + id = -1; + break; + default: + WRONG_PARAM_COUNT; + break; + } + + ZEND_FETCH_RESOURCE2(mysql, MYSQL *, mysql_link, id, "MySQL-Link", le_link, le_plink); + + RETURN_STRING(mysql_get_server_info(mysql),1); +} +/* }}} */ + +#endif /* {{{ proto int mysql_create_db(string database_name [, int link_identifier]) Create a MySQL database */ Index: php4/ext/mysql/php_mysql.h diff -u php4/ext/mysql/php_mysql.h:1.16 php4/ext/mysql/php_mysql.h:1.17 --- php4/ext/mysql/php_mysql.h:1.16 Wed Oct 11 11:27:21 2000 +++ php4/ext/mysql/php_mysql.h Wed Jan 31 14:04:30 2001 @@ -17,7 +17,7 @@ */ -/* $Id: php_mysql.h,v 1.16 2000/10/11 18:27:21 zeev Exp $ */ +/* $Id: php_mysql.h,v 1.17 2001/01/31 22:04:30 elixer Exp $ */ #ifndef PHP_MYSQL_H #define PHP_MYSQL_H @@ -76,6 +76,10 @@ PHP_FUNCTION(mysql_field_type); PHP_FUNCTION(mysql_field_flags); PHP_FUNCTION(mysql_escape_string); +PHP_FUNCTION(mysql_get_client_info); +PHP_FUNCTION(mysql_get_host_info); +PHP_FUNCTION(mysql_get_proto_info); +PHP_FUNCTION(mysql_get_server_info); ZEND_BEGIN_MODULE_GLOBALS(mysql) long default_link;

« previous php.cvs (#3836) next »