Re: [PHP-CVS] cvs: php4 /ext/mysql php_mysql.c php_mysql.h

2001-03-14 Thread Derick Rethans

On Tue, 13 Mar 2001, Zeev Suraski wrote:

 zeev  Tue Mar 13 14:52:53 2001 EDT

   Modified files:
 /php4/ext/mysql   php_mysql.c php_mysql.h
   Log:
   Implement mysql_unbuffered_query() - uses mysql_use_result() instead of
   mysql_store_result()

Don't you think this belongs in the NEWS file too?

Derick Rethans

-
PHP: Scripting the Web - www.php.net - [EMAIL PROTECTED]
 SRM: Site Resource Manager - www.vl-srm.net
-
JDI Media Solutions - www.jdimedia.nl - [EMAIL PROTECTED]
 Boulevard Heuvelink 102 - 6828 KT Arnhem - The Netherlands
-


-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




[PHP-CVS] cvs: php4 /ext/mysql php_mysql.c

2001-03-13 Thread Zeev Suraski

zeevTue Mar 13 13:13:19 2001 EDT

  Modified files:  
/php4/ext/mysql php_mysql.c 
  Log:
  Use a container struct instead of MYSQL directly
  
  

Index: php4/ext/mysql/php_mysql.c
diff -u php4/ext/mysql/php_mysql.c:1.73 php4/ext/mysql/php_mysql.c:1.74
--- php4/ext/mysql/php_mysql.c:1.73 Mon Mar 12 07:14:38 2001
+++ php4/ext/mysql/php_mysql.c  Tue Mar 13 13:13:19 2001
@@ -16,7 +16,7 @@
+--+
 */
  
-/* $Id: php_mysql.c,v 1.73 2001/03/12 15:14:38 elixer Exp $ */
+/* $Id: php_mysql.c,v 1.74 2001/03/13 21:13:19 zeev Exp $ */
 
 
 /* TODO:
@@ -100,6 +100,11 @@
(mysql_field_count(mysql)0)
 #endif
 
+typedef struct _php_mysql_conn {
+   MYSQL conn;
+} php_mysql_conn;
+
+
 function_entry mysql_functions[] = {
PHP_FE(mysql_connect,  
 NULL)
PHP_FE(mysql_pconnect, 
 NULL)
@@ -206,12 +211,12 @@
 
 static void _close_mysql_link(zend_rsrc_list_entry *rsrc)
 {
-   MYSQL *link = (MYSQL *)rsrc-ptr;
+   php_mysql_conn *link = (php_mysql_conn *)rsrc-ptr;
void (*handler) (int);   
MySLS_FETCH();
 
handler = signal(SIGPIPE, SIG_IGN);
-   mysql_close(link);
+   mysql_close(link-conn);
signal(SIGPIPE, handler);
efree(link);
MySG(num_links)--;
@@ -219,12 +224,12 @@
 
 static void _close_mysql_plink(zend_rsrc_list_entry *rsrc)
 {
-   MYSQL *link = (MYSQL *)rsrc-ptr;
+   php_mysql_conn *link = (php_mysql_conn *)rsrc-ptr;
void (*handler) (int);
MySLS_FETCH();
 
handler = signal(SIGPIPE, SIG_IGN);
-   mysql_close(link);
+   mysql_close(link-conn);
signal(SIGPIPE, handler);
 
free(link);
@@ -356,7 +361,7 @@
char *user=NULL, *passwd=NULL, *host_and_port=NULL, *socket=NULL, *tmp=NULL, 
*host=NULL;
char *hashed_details=NULL;
int hashed_details_length, port = MYSQL_PORT;
-   MYSQL *mysql=NULL;
+   php_mysql_conn *mysql=NULL;
void (*handler) (int);
zval **z_host=NULL, **z_user=NULL, **z_passwd=NULL;
zend_bool free_host=0;
@@ -475,14 +480,14 @@
MYSQL_DO_CONNECT_RETURN_FALSE();
}
/* create the link */
-   mysql = (MYSQL *) malloc(sizeof(MYSQL));
+   mysql = (php_mysql_conn *) malloc(sizeof(php_mysql_conn));
 #if MYSQL_VERSION_ID  32199 /* this lets us set the port number */
-   mysql_init(mysql);
-   if (mysql_real_connect(mysql, host, user, passwd, NULL, port, socket, 
0)==NULL) {
+   mysql_init(mysql-conn);
+   if (mysql_real_connect(mysql-conn, host, user, passwd, NULL, port, 
+socket, 0)==NULL) {
 #else
-   if (mysql_connect(mysql, host, user, passwd)==NULL) {
+   if (mysql_connect(mysql-conn, host, user, passwd)==NULL) {
 #endif
-   php_error(E_WARNING, "%s", mysql_error(mysql));
+   php_error(E_WARNING, "%s", mysql_error(mysql-conn));
free(mysql);
efree(hashed_details);
MYSQL_DO_CONNECT_RETURN_FALSE();
@@ -506,7 +511,7 @@
handler=signal(SIGPIPE, SIG_IGN);
 #if defined(HAVE_MYSQL_ERRNO)  defined(CR_SERVER_GONE_ERROR)
mysql_stat(le-ptr);
-   if (mysql_errno((MYSQL *)le-ptr) == CR_SERVER_GONE_ERROR) {
+   if (mysql_errno(((php_mysql_conn *) le-ptr)-conn) == 
+CR_SERVER_GONE_ERROR) {
 #else
if (!strcasecmp(mysql_stat(le-ptr), "mysql server has gone 
away")) { /* the link died */
 #endif
@@ -523,7 +528,7 @@
}
}
signal(SIGPIPE, handler);
-   mysql = (MYSQL *) le-ptr;
+   mysql = (php_mysql_conn *) le-ptr;
}
ZEND_REGISTER_RESOURCE(return_value, mysql, le_plink);
} else { /* non persistent */
@@ -561,14 +566,14 @@
MYSQL_DO_CONNECT_RETURN_FALSE();
}
 
-   mysql = (MYSQL *) emalloc(sizeof(MYSQL));
+   mysql = (php_mysql_conn *) emalloc(sizeof(php_mysql_conn));
 #if MYSQL_VERSION_ID  32199 /* this lets us set the port number */
-   mysql_init(mysql);
-   if (mysql_real_connect(mysql, host, user, passwd, NULL, port, socket, 
0)==NULL) {
+   mysql_init(mysql-conn);
+   if (mysql_real_connect(mysql-conn, host, user, passwd, NULL, port, 
+socket, 0)==NULL) {
 #else
-   if (mysql_connect(mysql, host, user, passwd)==NULL) {
+   if (mysql_connect(mysql-conn, host, user, passwd)==NULL) {
 #endif
- 

[PHP-CVS] cvs: php4 /ext/mysql php_mysql.c

2001-03-13 Thread Zeev Suraski

zeevTue Mar 13 13:42:43 2001 EDT

  Modified files:  
/php4/ext/mysql php_mysql.c 
  Log:
  Centralize query code
  
  
Index: php4/ext/mysql/php_mysql.c
diff -u php4/ext/mysql/php_mysql.c:1.74 php4/ext/mysql/php_mysql.c:1.75
--- php4/ext/mysql/php_mysql.c:1.74 Tue Mar 13 13:13:19 2001
+++ php4/ext/mysql/php_mysql.c  Tue Mar 13 13:42:43 2001
@@ -16,7 +16,7 @@
+--+
 */
  
-/* $Id: php_mysql.c,v 1.74 2001/03/13 21:13:19 zeev Exp $ */
+/* $Id: php_mysql.c,v 1.75 2001/03/13 21:42:43 zeev Exp $ */
 
 
 /* TODO:
@@ -102,6 +102,7 @@
 
 typedef struct _php_mysql_conn {
MYSQL conn;
+   MYSQL_RES *active_result;
 } php_mysql_conn;
 
 
@@ -898,17 +899,61 @@
 /* }}} */
 
 
+
+
+static void php_mysql_do_query(zval **query, zval **mysql_link, int link_id, zval 
+**db, int use_store, zval *return_value)
+{
+   php_mysql_conn *mysql;
+   MYSQL_RES *mysql_result;
+   MySLS_FETCH();
+   
+   ZEND_FETCH_RESOURCE2(mysql, php_mysql_conn *, mysql_link, link_id, 
+"MySQL-Link", le_link, le_plink);
+   
+   if (db) {
+   convert_to_string_ex(db);
+   if (mysql_select_db(mysql-conn, (*db)-value.str.val)!=0) {
+   RETURN_FALSE;
+   }
+   }
+   
+   convert_to_string_ex(query);
+   /* mysql_query is binary unsafe, use mysql_real_query */
+#if MYSQL_VERSION_ID  32199 
+   if (mysql_real_query(mysql-conn, (*query)-value.str.val, 
+(*query)-value.str.len)!=0) {
+   RETURN_FALSE;
+   }
+#else
+   if (mysql_query(mysql-conn, (*query)-value.str.val)!=0) {
+   RETURN_FALSE;
+   }
+#endif
+   if(use_store == MYSQL_USE_RESULT) {
+   mysql_result=mysql_use_result(mysql-conn);
+   } else {
+   mysql_result=mysql_store_result(mysql-conn);
+   }
+   if (!mysql_result) {
+   if (PHP_MYSQL_VALID_RESULT(mysql-conn)) { /* query should have 
+returned rows */
+   php_error(E_WARNING, "MySQL:  Unable to save result set");
+   RETURN_FALSE;
+   } else {
+   RETURN_TRUE;
+   }
+   }
+   ZEND_REGISTER_RESOURCE(return_value, mysql_result, le_result);
+}
+
+
+
+
+
 /* {{{ proto int mysql_query(string query [, int link_identifier] [, int result_mode])
Send an SQL query to MySQL */
 PHP_FUNCTION(mysql_query)
 {
zval **query, **mysql_link;
-#if 0
zval **store_result;
-#endif
int id, use_store=MYSQL_STORE_RESULT;
-   php_mysql_conn *mysql;
-   MYSQL_RES *mysql_result;
MySLS_FETCH();

switch(ZEND_NUM_ARGS()) {
@@ -925,7 +970,6 @@
}
id = -1;
break;
-#if 0 /* need to work more on the mysql_store_result() approach */
case 3:
if(zend_get_parameters_ex(3, query, mysql_link, 
store_result)==FAILURE) {
RETURN_FALSE;
@@ -936,39 +980,11 @@
}
id = -1;
break;
-#endif
default:
WRONG_PARAM_COUNT;
break;
-   }
-   
-   ZEND_FETCH_RESOURCE2(mysql, php_mysql_conn *, mysql_link, id, "MySQL-Link", 
le_link, le_plink);
-   
-   convert_to_string_ex(query);
-   /* mysql_query binary unsafe, use mysql_real_query */
-#if MYSQL_VERSION_ID  32199 
-   if (mysql_real_query(mysql-conn, (*query)-value.str.val, 
(*query)-value.str.len)!=0) {
-   RETURN_FALSE;
}
-#else
-   if (mysql_query(mysql-conn, (*query)-value.str.val)!=0) {
-   RETURN_FALSE;
-   }
-#endif
-   if(use_store == MYSQL_USE_RESULT) {
-   mysql_result=mysql_use_result(mysql-conn);
-   } else {
-   mysql_result=mysql_store_result(mysql-conn);
-   }
-   if (!mysql_result) {
-   if (PHP_MYSQL_VALID_RESULT(mysql-conn)) { /* query should have 
returned rows */
-   php_error(E_WARNING, "MySQL:  Unable to save result set");
-   RETURN_FALSE;
-   } else {
-   RETURN_TRUE;
-   }
-   }
-   ZEND_REGISTER_RESOURCE(return_value, mysql_result, le_result);
+   php_mysql_do_query(query, mysql_link, id, NULL, use_store, return_value);
 }
 /* }}} */
 
@@ -978,12 +994,8 @@
 PHP_FUNCTION(mysql_db_query)
 {
zval **db, **query, **mysql_link;
-#if 0
zval **store_result;
-#endif
int id, use_store=MYSQL_STORE_RESULT;
-   php_mysql_conn *mysql;
-   MYSQL_RES *mysql_result;
MySLS_FETCH();

switch(ZEND_NUM_ARGS()) {
@@ -1000,7 +1012,6 @@
}
id = -1;
break;
-#if 0
case 4:
 

[PHP-CVS] cvs: php4 /ext/mysql php_mysql.c php_mysql.h

2001-03-13 Thread Zeev Suraski

zeevTue Mar 13 14:52:53 2001 EDT

  Modified files:  
/php4/ext/mysql php_mysql.c php_mysql.h 
  Log:
  Implement mysql_unbuffered_query() - uses mysql_use_result() instead of
  mysql_store_result()
  
  
Index: php4/ext/mysql/php_mysql.c
diff -u php4/ext/mysql/php_mysql.c:1.75 php4/ext/mysql/php_mysql.c:1.76
--- php4/ext/mysql/php_mysql.c:1.75 Tue Mar 13 13:42:43 2001
+++ php4/ext/mysql/php_mysql.c  Tue Mar 13 14:52:53 2001
@@ -16,7 +16,7 @@
+--+
 */
  
-/* $Id: php_mysql.c,v 1.75 2001/03/13 21:42:43 zeev Exp $ */
+/* $Id: php_mysql.c,v 1.76 2001/03/13 22:52:53 zeev Exp $ */
 
 
 /* TODO:
@@ -102,7 +102,7 @@
 
 typedef struct _php_mysql_conn {
MYSQL conn;
-   MYSQL_RES *active_result;
+   int active_result_id;
 } php_mysql_conn;
 
 
@@ -114,6 +114,7 @@
PHP_FE(mysql_create_db,
 NULL)
PHP_FE(mysql_drop_db,  
 NULL)
PHP_FE(mysql_query,
 NULL)
+   PHP_FE(mysql_unbuffered_query,  NULL)
PHP_FE(mysql_db_query, 
 NULL)
PHP_FE(mysql_list_dbs, 
 NULL)
PHP_FE(mysql_list_tables,  
 NULL)
@@ -194,6 +195,7 @@
 static void _free_mysql_result(zend_rsrc_list_entry *rsrc)
 {
MYSQL_RES *mysql_result = (MYSQL_RES *)rsrc-ptr;
+
mysql_free_result(mysql_result);
 }
 
@@ -301,8 +303,6 @@
REGISTER_LONG_CONSTANT("MYSQL_NUM", MYSQL_NUM, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("MYSQL_BOTH", MYSQL_BOTH, CONST_CS | CONST_PERSISTENT);
 
-   REGISTER_LONG_CONSTANT("MYSQL_USE_RESULT", MYSQL_USE_RESULT, CONST_CS | 
CONST_PERSISTENT);
-   REGISTER_LONG_CONSTANT("MYSQL_STORE_RESULT", MYSQL_STORE_RESULT, CONST_CS | 
CONST_PERSISTENT);
return SUCCESS;
 }
 
@@ -482,6 +482,7 @@
}
/* create the link */
mysql = (php_mysql_conn *) malloc(sizeof(php_mysql_conn));
+   mysql-active_result_id = 0;
 #if MYSQL_VERSION_ID  32199 /* this lets us set the port number */
mysql_init(mysql-conn);
if (mysql_real_connect(mysql-conn, host, user, passwd, NULL, port, 
socket, 0)==NULL) {
@@ -568,6 +569,7 @@
}
 
mysql = (php_mysql_conn *) emalloc(sizeof(php_mysql_conn));
+   mysql-active_result_id = 0;
 #if MYSQL_VERSION_ID  32199 /* this lets us set the port number */
mysql_init(mysql-conn);
if (mysql_real_connect(mysql-conn, host, user, passwd, NULL, port, 
socket, 0)==NULL) {
@@ -898,10 +900,8 @@
 }
 /* }}} */
 
-
-
 
-static void php_mysql_do_query(zval **query, zval **mysql_link, int link_id, zval 
**db, int use_store, zval *return_value)
+static void php_mysql_do_query_general(zval **query, zval **mysql_link, int link_id, 
+zval **db, int use_store, zval *return_value)
 {
php_mysql_conn *mysql;
MYSQL_RES *mysql_result;
@@ -916,6 +916,21 @@
}
}

+
+   if (mysql-active_result_id) do {
+   int type;
+   MYSQL_RES *mysql_result;
+
+   mysql_result = (MYSQL_RES *) zend_list_find(mysql-active_result_id, 
+type);
+   if (mysql_result  type==le_result  !mysql_eof(mysql_result)) {
+   php_error(E_NOTICE, "Called %s() without first fetching all 
+rows from a previous unbuffered query",
+   get_active_function_name());
+   while (mysql_fetch_row(mysql_result));
+   zend_list_delete(mysql-active_result_id);
+   mysql-active_result_id = 0;
+   }
+   } while(0);
+
convert_to_string_ex(query);
/* mysql_query is binary unsafe, use mysql_real_query */
 #if MYSQL_VERSION_ID  32199 
@@ -941,19 +956,16 @@
}
}
ZEND_REGISTER_RESOURCE(return_value, mysql_result, le_result);
+   if (use_store == MYSQL_USE_RESULT) {
+   mysql-active_result_id = Z_LVAL_P(return_value);
+   }
 }
 
-
-
-
 
-/* {{{ proto int mysql_query(string query [, int link_identifier] [, int result_mode])
-   Send an SQL query to MySQL */
-PHP_FUNCTION(mysql_query)
+static void php_mysql_do_query(INTERNAL_FUNCTION_PARAMETERS, int use_store)
 {
zval **query, **mysql_link;
-   zval **store_result;
-   int id, use_store=MYSQL_STORE_RESULT;
+   int id;
MySLS_FETCH();

switch(ZEND_NUM_ARGS()) {
@@ -970,31 +982,37 @@
}
id = -1;

[PHP-CVS] cvs: php4 /ext/mysql php_mysql.c

2001-03-12 Thread Sean Bright

elixer  Mon Mar 12 07:14:38 2001 EDT

  Modified files:  
/php4/ext/mysql php_mysql.c 
  Log:
  Fixed prototype.
  
  
Index: php4/ext/mysql/php_mysql.c
diff -u php4/ext/mysql/php_mysql.c:1.72 php4/ext/mysql/php_mysql.c:1.73
--- php4/ext/mysql/php_mysql.c:1.72 Sun Feb 25 22:07:04 2001
+++ php4/ext/mysql/php_mysql.c  Mon Mar 12 07:14:38 2001
@@ -16,7 +16,7 @@
+--+
 */
  
-/* $Id: php_mysql.c,v 1.72 2001/02/26 06:07:04 andi Exp $ */
+/* $Id: php_mysql.c,v 1.73 2001/03/12 15:14:38 elixer Exp $ */
 
 
 /* TODO:
@@ -705,7 +705,7 @@
 
 #ifdef HAVE_GETINFO_FUNCS
 
-/* {{{ proto string mysql_get_client_info([int link_identifier])
+/* {{{ proto string mysql_get_client_info(void)
Returns a string that represents the client library version */
 PHP_FUNCTION(mysql_get_client_info)
 {



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




[PHP-CVS] cvs: php4 /ext/mysql php_mysql.c

2001-02-21 Thread Shane Caraveo

shane   Wed Feb 21 15:57:29 2001 EDT

  Modified files:  
/php4/ext/mysql php_mysql.c 
  Log:
  Initalize some of the global vars.  Crashed under ms debugger without having them 
initialized.
  
  
  
Index: php4/ext/mysql/php_mysql.c
diff -u php4/ext/mysql/php_mysql.c:1.70 php4/ext/mysql/php_mysql.c:1.71
--- php4/ext/mysql/php_mysql.c:1.70 Sun Feb 18 08:59:18 2001
+++ php4/ext/mysql/php_mysql.c  Wed Feb 21 15:57:28 2001
@@ -16,7 +16,7 @@
+--+
 */
  
-/* $Id: php_mysql.c,v 1.70 2001/02/18 16:59:18 eschmid Exp $ */
+/* $Id: php_mysql.c,v 1.71 2001/02/21 23:57:28 shane Exp $ */
 
 
 /* TODO:
@@ -274,6 +274,10 @@
 static void php_mysql_init_globals(zend_mysql_globals *mysql_globals)
 {
mysql_globals-num_persistent = 0;
+   mysql_globals-default_socket = NULL;
+   mysql_globals-default_host = NULL;
+   mysql_globals-default_user = NULL;
+   mysql_globals-default_password = NULL;
 }
 
 
@@ -349,10 +353,10 @@
 
 static void php_mysql_do_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent)
 {
-   char *user, *passwd, *host_and_port, *socket, *tmp, *host=NULL;
-   char *hashed_details;
+   char *user=NULL, *passwd=NULL, *host_and_port=NULL, *socket=NULL, *tmp=NULL, 
+*host=NULL;
+   char *hashed_details=NULL;
int hashed_details_length, port = MYSQL_PORT;
-   MYSQL *mysql;
+   MYSQL *mysql=NULL;
void (*handler) (int);
zval **z_host=NULL, **z_user=NULL, **z_passwd=NULL;
zend_bool free_host=0;



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




Re: [PHP-CVS] cvs: php4 /ext/mysql php_mysql.c

2001-02-01 Thread eschmid+sic

On Thu, Feb 01, 2001 at 09:36:52AM -, Stig Bakken wrote:
 ssb   Thu Feb  1 01:36:52 2001 EDT
 
   Modified files:  
 /php4/ext/mysql   php_mysql.c 
   Log:
   did someone poop in the code? :-)
   
   
 Index: php4/ext/mysql/php_mysql.c
 diff -u php4/ext/mysql/php_mysql.c:1.68 php4/ext/mysql/php_mysql.c:1.69
 --- php4/ext/mysql/php_mysql.c:1.68   Wed Jan 31 15:35:37 2001
 +++ php4/ext/mysql/php_mysql.cThu Feb  1 01:36:52 2001
 @@ -1,4 +1,4 @@
 -3/*
 +/*
 +--+
 | PHP version 4.0  |
 +--+
 @@ -16,7 +16,7 @@
 +--+
  */
   
 -/* $Id: php_mysql.c,v 1.68 2001/01/31 23:35:37 eschmid Exp $ */
 +/* $Id: php_mysql.c,v 1.69 2001/02/01 09:36:52 ssb Exp $ */

I only pooped in protos.

-Egon

-- 
http://www.linuxtag.de/
http://php.net/books.php 
http://www.concert-band.de/
http://www.php-buch.de/

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




[PHP-CVS] cvs: php4 /ext/mysql php_mysql.c

2001-01-31 Thread Egon Schmid

eschmid Wed Jan 31 15:35:37 2001 EDT

  Modified files:  
/php4/ext/mysql php_mysql.c 
  Log:
  Only two lines are allowed here.
  
Index: php4/ext/mysql/php_mysql.c
diff -u php4/ext/mysql/php_mysql.c:1.67 php4/ext/mysql/php_mysql.c:1.68
--- php4/ext/mysql/php_mysql.c:1.67 Wed Jan 31 14:04:30 2001
+++ php4/ext/mysql/php_mysql.c  Wed Jan 31 15:35:37 2001
@@ -1,4 +1,4 @@
-/*
+3/*
+--+
| PHP version 4.0  |
+--+
@@ -16,7 +16,7 @@
+--+
 */
  
-/* $Id: php_mysql.c,v 1.67 2001/01/31 22:04:30 elixer Exp $ */
+/* $Id: php_mysql.c,v 1.68 2001/01/31 23:35:37 eschmid Exp $ */
 
 
 /* TODO:
@@ -714,8 +714,7 @@
 /* }}} */
 
 /* {{{ proto string mysql_get_host_info([int link_identifier])
-   Returns a string describing the type of connection in use, including the
-   server host name */
+   Returns a string describing the type of connection in use, including the server 
+host name */
 PHP_FUNCTION(mysql_get_host_info)
 {
zval **mysql_link;



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




[PHP-CVS] cvs: php4 /ext/mysql php_mysql.c php_mysql.h

2001-01-31 Thread Sean Bright

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 

[PHP-CVS] cvs: php4 /ext/mysql php_mysql.c

2001-01-30 Thread Sean Bright

elixer  Tue Jan 30 16:55:29 2001 EDT

  Modified files:  
/php4/ext/mysql php_mysql.c 
  Log:
  Fix for bug #8991.  mysql_field_type() now returns "year" for columns of
  type YEAR.
  
  
Index: php4/ext/mysql/php_mysql.c
diff -u php4/ext/mysql/php_mysql.c:1.63 php4/ext/mysql/php_mysql.c:1.64
--- php4/ext/mysql/php_mysql.c:1.63 Sun Jan 14 01:30:17 2001
+++ php4/ext/mysql/php_mysql.c  Tue Jan 30 16:55:28 2001
@@ -16,7 +16,7 @@
+--+
 */
  
-/* $Id: php_mysql.c,v 1.63 2001/01/14 09:30:17 zeev Exp $ */
+/* $Id: php_mysql.c,v 1.64 2001/01/31 00:55:28 elixer Exp $ */
 
 
 /* TODO:
@@ -77,6 +77,10 @@
 #define MYSQL_HAS_TINY
 #endif
 
+#if MYSQL_VERSION_ID  32200
+#define MYSQL_HAS_YEAR
+#endif
+
 #define MYSQL_ASSOC10
 #define MYSQL_NUM  11
 #define MYSQL_BOTH (MYSQL_ASSOC|MYSQL_NUM)
@@ -1549,6 +1553,11 @@
case FIELD_TYPE_TIMESTAMP:
return "timestamp";
break;
+#ifdef MYSQL_HAS_YEAR
+   case FIELD_TYPE_YEAR:
+   return "year";
+   break;
+#endif
case FIELD_TYPE_DATE:
return "date";
break;



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




[PHP-CVS] cvs: php4 /ext/mysql php_mysql.c

2001-01-30 Thread Sean Bright

elixer  Tue Jan 30 17:14:55 2001 EDT

  Modified files:  
/php4/ext/mysql php_mysql.c 
  Log:
  Fixed conditional.
  # Woops!
  
  
Index: php4/ext/mysql/php_mysql.c
diff -u php4/ext/mysql/php_mysql.c:1.64 php4/ext/mysql/php_mysql.c:1.65
--- php4/ext/mysql/php_mysql.c:1.64 Tue Jan 30 16:55:28 2001
+++ php4/ext/mysql/php_mysql.c  Tue Jan 30 17:14:54 2001
@@ -16,7 +16,7 @@
+--+
 */
  
-/* $Id: php_mysql.c,v 1.64 2001/01/31 00:55:28 elixer Exp $ */
+/* $Id: php_mysql.c,v 1.65 2001/01/31 01:14:54 elixer Exp $ */
 
 
 /* TODO:
@@ -77,7 +77,7 @@
 #define MYSQL_HAS_TINY
 #endif
 
-#if MYSQL_VERSION_ID  32200
+#if MYSQL_VERSION_ID = 32200
 #define MYSQL_HAS_YEAR
 #endif
 



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




[PHP-CVS] cvs: php4 /ext/mysql php_mysql.c

2001-01-14 Thread Zeev Suraski

zeevSun Jan 14 01:30:17 2001 EDT

  Modified files:  
/php4/ext/mysql php_mysql.c 
  Log:
  Don't fetch numeric indices in mysql_fetch_object()
  
  
Index: php4/ext/mysql/php_mysql.c
diff -u php4/ext/mysql/php_mysql.c:1.62 php4/ext/mysql/php_mysql.c:1.63
--- php4/ext/mysql/php_mysql.c:1.62 Fri Jan 12 00:03:24 2001
+++ php4/ext/mysql/php_mysql.c  Sun Jan 14 01:30:17 2001
@@ -16,7 +16,7 @@
+--+
 */
  
-/* $Id: php_mysql.c,v 1.62 2001/01/12 08:03:24 rasmus Exp $ */
+/* $Id: php_mysql.c,v 1.63 2001/01/14 09:30:17 zeev Exp $ */
 
 
 /* TODO:
@@ -1442,7 +1442,7 @@
Fetch a result row as an object */
 PHP_FUNCTION(mysql_fetch_object)
 {
-   php_mysql_fetch_hash(INTERNAL_FUNCTION_PARAM_PASSTHRU, 0);
+   php_mysql_fetch_hash(INTERNAL_FUNCTION_PARAM_PASSTHRU, MYSQL_ASSOC);
if (return_value-type==IS_ARRAY) {
return_value-type=IS_OBJECT;
return_value-value.obj.properties = return_value-value.ht;



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]