andrey                                   Thu, 24 Jun 2010 19:52:13 +0000

Revision: http://svn.php.net/viewvc?view=revision&revision=300735

Log:
Two functions, which should be methods so one can catch
their output, for example

Changed paths:
    U   php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_ps.c
    U   php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_ps_codec.c
    U   php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h
    U   php/php-src/trunk/ext/mysqlnd/mysqlnd_ps.c
    U   php/php-src/trunk/ext/mysqlnd/mysqlnd_ps_codec.c
    U   php/php-src/trunk/ext/mysqlnd/mysqlnd_structs.h

Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_ps.c
===================================================================
--- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_ps.c	2010-06-24 17:36:24 UTC (rev 300734)
+++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_ps.c	2010-06-24 19:52:13 UTC (rev 300735)
@@ -39,11 +39,8 @@
 static struct st_mysqlnd_stmt_methods *mysqlnd_stmt_methods;

 /* Exported by mysqlnd_ps_codec.c */
-enum_func_status mysqlnd_stmt_execute_generate_request(MYSQLND_STMT * s, zend_uchar ** request, size_t *request_len, zend_bool * free_buffer TSRMLS_DC);
+enum_func_status mysqlnd_stmt_execute_generate_request(MYSQLND_STMT * const s, zend_uchar ** request, size_t *request_len, zend_bool * free_buffer TSRMLS_DC);

-
-MYSQLND_RES * _mysqlnd_stmt_use_result(MYSQLND_STMT *stmt TSRMLS_DC);
-
 enum_func_status mysqlnd_fetch_stmt_row_buffered(MYSQLND_RES *result, void *param,
 												unsigned int flags,
 												zend_bool *fetched_anything TSRMLS_DC);
@@ -56,7 +53,6 @@
 static void mysqlnd_stmt_separate_one_result_bind(MYSQLND_STMT * const stmt, unsigned int param_no TSRMLS_DC);

 static void mysqlnd_internal_free_stmt_content(MYSQLND_STMT * const stmt TSRMLS_DC);
-static enum_func_status mysqlnd_stmt_execute_parse_response(MYSQLND_STMT * const stmt TSRMLS_DC);

 /* {{{ mysqlnd_stmt::store_result */
 static MYSQLND_RES *
@@ -234,7 +230,7 @@
 	/* Free space for next result */
 	mysqlnd_internal_free_stmt_content(s TSRMLS_CC);

-	DBG_RETURN(mysqlnd_stmt_execute_parse_response(s TSRMLS_CC));
+	DBG_RETURN(s->m->parse_execute_response(s TSRMLS_CC));
 }
 /* }}} */

@@ -671,7 +667,7 @@
 			DBG_RETURN(FAIL);
 		}
 	}
-	ret = mysqlnd_stmt_execute_generate_request(s, &request, &request_len, &free_request TSRMLS_CC);
+	ret = s->m->generate_execute_request(s, &request, &request_len, &free_request TSRMLS_CC);
 	if (ret == PASS) {
 		/* support for buffer types should be added here ! */
 		ret = stmt->conn->m->simple_command(stmt->conn, COM_STMT_EXECUTE, (char *)request, request_len,
@@ -692,7 +688,7 @@
 	}
 	stmt->execute_count++;

-	ret = mysqlnd_stmt_execute_parse_response(s TSRMLS_CC);
+	ret = s->m->parse_execute_response(s TSRMLS_CC);

 	if (ret == PASS && conn->last_query_type == QUERY_UPSERT && stmt->upsert_status.affected_rows) {
 		MYSQLND_INC_CONN_STATISTIC_W_VALUE(conn->stats, STAT_ROWS_AFFECTED_PS, stmt->upsert_status.affected_rows);
@@ -2320,7 +2316,9 @@
 	MYSQLND_METHOD(mysqlnd_stmt, alloc_result_bind),
 	MYSQLND_METHOD(mysqlnd_stmt, free_parameter_bind),
 	MYSQLND_METHOD(mysqlnd_stmt, free_result_bind),
-	MYSQLND_METHOD(mysqlnd_stmt, server_status)
+	MYSQLND_METHOD(mysqlnd_stmt, server_status),
+	mysqlnd_stmt_execute_generate_request,
+	mysqlnd_stmt_execute_parse_response
 MYSQLND_CLASS_METHODS_END;



Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_ps_codec.c
===================================================================
--- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_ps_codec.c	2010-06-24 17:36:24 UTC (rev 300734)
+++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_ps_codec.c	2010-06-24 19:52:13 UTC (rev 300735)
@@ -825,7 +825,7 @@

 /* {{{ mysqlnd_stmt_execute_generate_request */
 enum_func_status
-mysqlnd_stmt_execute_generate_request(MYSQLND_STMT * s, zend_uchar ** request, size_t *request_len, zend_bool * free_buffer TSRMLS_DC)
+mysqlnd_stmt_execute_generate_request(MYSQLND_STMT * const s, zend_uchar ** request, size_t *request_len, zend_bool * free_buffer TSRMLS_DC)
 {
 	MYSQLND_STMT_DATA * stmt = s->data;
 	zend_uchar	*p = stmt->execute_cmd_buffer.buffer,

Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h
===================================================================
--- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h	2010-06-24 17:36:24 UTC (rev 300734)
+++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h	2010-06-24 19:52:13 UTC (rev 300735)
@@ -623,6 +623,8 @@
 typedef	void 				(*func_mysqlnd_stmt__free_parameter_bind)(MYSQLND_STMT * const stmt, MYSQLND_PARAM_BIND * TSRMLS_DC);
 typedef	void 				(*func_mysqlnd_stmt__free_result_bind)(MYSQLND_STMT * const stmt, MYSQLND_RESULT_BIND * TSRMLS_DC);
 typedef unsigned int		(*func_mysqlnd_stmt__server_status)(const MYSQLND_STMT * const stmt TSRMLS_DC);
+typedef enum_func_status 	(*func_mysqlnd_stmt__generate_execute_request)(MYSQLND_STMT * const s, zend_uchar ** request, size_t *request_len, zend_bool * free_buffer TSRMLS_DC);
+typedef enum_func_status	(*func_mysqlnd_stmt__parse_execute_response)(MYSQLND_STMT * const s TSRMLS_DC);

 struct st_mysqlnd_stmt_methods
 {
@@ -671,6 +673,9 @@
 	func_mysqlnd_stmt__free_result_bind free_result_bind;

 	func_mysqlnd_stmt__server_status get_server_status;
+
+	func_mysqlnd_stmt__generate_execute_request generate_execute_request;
+	func_mysqlnd_stmt__parse_execute_response parse_execute_response;
 };



Modified: php/php-src/trunk/ext/mysqlnd/mysqlnd_ps.c
===================================================================
--- php/php-src/trunk/ext/mysqlnd/mysqlnd_ps.c	2010-06-24 17:36:24 UTC (rev 300734)
+++ php/php-src/trunk/ext/mysqlnd/mysqlnd_ps.c	2010-06-24 19:52:13 UTC (rev 300735)
@@ -39,11 +39,8 @@
 static struct st_mysqlnd_stmt_methods *mysqlnd_stmt_methods;

 /* Exported by mysqlnd_ps_codec.c */
-enum_func_status mysqlnd_stmt_execute_generate_request(MYSQLND_STMT * s, zend_uchar ** request, size_t *request_len, zend_bool * free_buffer TSRMLS_DC);
+enum_func_status mysqlnd_stmt_execute_generate_request(MYSQLND_STMT * const s, zend_uchar ** request, size_t *request_len, zend_bool * free_buffer TSRMLS_DC);

-
-MYSQLND_RES * _mysqlnd_stmt_use_result(MYSQLND_STMT *stmt TSRMLS_DC);
-
 enum_func_status mysqlnd_fetch_stmt_row_buffered(MYSQLND_RES *result, void *param,
 												unsigned int flags,
 												zend_bool *fetched_anything TSRMLS_DC);
@@ -56,7 +53,6 @@
 static void mysqlnd_stmt_separate_one_result_bind(MYSQLND_STMT * const stmt, unsigned int param_no TSRMLS_DC);

 static void mysqlnd_internal_free_stmt_content(MYSQLND_STMT * const stmt TSRMLS_DC);
-static enum_func_status mysqlnd_stmt_execute_parse_response(MYSQLND_STMT * const stmt TSRMLS_DC);

 /* {{{ mysqlnd_stmt::store_result */
 static MYSQLND_RES *
@@ -234,7 +230,7 @@
 	/* Free space for next result */
 	mysqlnd_internal_free_stmt_content(s TSRMLS_CC);

-	DBG_RETURN(mysqlnd_stmt_execute_parse_response(s TSRMLS_CC));
+	DBG_RETURN(s->m->parse_execute_response(s TSRMLS_CC));
 }
 /* }}} */

@@ -671,7 +667,7 @@
 			DBG_RETURN(FAIL);
 		}
 	}
-	ret = mysqlnd_stmt_execute_generate_request(s, &request, &request_len, &free_request TSRMLS_CC);
+	ret = s->m->generate_execute_request(s, &request, &request_len, &free_request TSRMLS_CC);
 	if (ret == PASS) {
 		/* support for buffer types should be added here ! */
 		ret = stmt->conn->m->simple_command(stmt->conn, COM_STMT_EXECUTE, (char *)request, request_len,
@@ -692,7 +688,7 @@
 	}
 	stmt->execute_count++;

-	ret = mysqlnd_stmt_execute_parse_response(s TSRMLS_CC);
+	ret = s->m->parse_execute_response(s TSRMLS_CC);

 	if (ret == PASS && conn->last_query_type == QUERY_UPSERT && stmt->upsert_status.affected_rows) {
 		MYSQLND_INC_CONN_STATISTIC_W_VALUE(conn->stats, STAT_ROWS_AFFECTED_PS, stmt->upsert_status.affected_rows);
@@ -2320,7 +2316,9 @@
 	MYSQLND_METHOD(mysqlnd_stmt, alloc_result_bind),
 	MYSQLND_METHOD(mysqlnd_stmt, free_parameter_bind),
 	MYSQLND_METHOD(mysqlnd_stmt, free_result_bind),
-	MYSQLND_METHOD(mysqlnd_stmt, server_status)
+	MYSQLND_METHOD(mysqlnd_stmt, server_status),
+	mysqlnd_stmt_execute_generate_request,
+	mysqlnd_stmt_execute_parse_response
 MYSQLND_CLASS_METHODS_END;



Modified: php/php-src/trunk/ext/mysqlnd/mysqlnd_ps_codec.c
===================================================================
--- php/php-src/trunk/ext/mysqlnd/mysqlnd_ps_codec.c	2010-06-24 17:36:24 UTC (rev 300734)
+++ php/php-src/trunk/ext/mysqlnd/mysqlnd_ps_codec.c	2010-06-24 19:52:13 UTC (rev 300735)
@@ -825,7 +825,7 @@

 /* {{{ mysqlnd_stmt_execute_generate_request */
 enum_func_status
-mysqlnd_stmt_execute_generate_request(MYSQLND_STMT * s, zend_uchar ** request, size_t *request_len, zend_bool * free_buffer TSRMLS_DC)
+mysqlnd_stmt_execute_generate_request(MYSQLND_STMT * const s, zend_uchar ** request, size_t *request_len, zend_bool * free_buffer TSRMLS_DC)
 {
 	MYSQLND_STMT_DATA * stmt = s->data;
 	zend_uchar	*p = stmt->execute_cmd_buffer.buffer,

Modified: php/php-src/trunk/ext/mysqlnd/mysqlnd_structs.h
===================================================================
--- php/php-src/trunk/ext/mysqlnd/mysqlnd_structs.h	2010-06-24 17:36:24 UTC (rev 300734)
+++ php/php-src/trunk/ext/mysqlnd/mysqlnd_structs.h	2010-06-24 19:52:13 UTC (rev 300735)
@@ -623,6 +623,8 @@
 typedef	void 				(*func_mysqlnd_stmt__free_parameter_bind)(MYSQLND_STMT * const stmt, MYSQLND_PARAM_BIND * TSRMLS_DC);
 typedef	void 				(*func_mysqlnd_stmt__free_result_bind)(MYSQLND_STMT * const stmt, MYSQLND_RESULT_BIND * TSRMLS_DC);
 typedef unsigned int		(*func_mysqlnd_stmt__server_status)(const MYSQLND_STMT * const stmt TSRMLS_DC);
+typedef enum_func_status 	(*func_mysqlnd_stmt__generate_execute_request)(MYSQLND_STMT * const s, zend_uchar ** request, size_t *request_len, zend_bool * free_buffer TSRMLS_DC);
+typedef enum_func_status	(*func_mysqlnd_stmt__parse_execute_response)(MYSQLND_STMT * const s TSRMLS_DC);

 struct st_mysqlnd_stmt_methods
 {
@@ -671,6 +673,9 @@
 	func_mysqlnd_stmt__free_result_bind free_result_bind;

 	func_mysqlnd_stmt__server_status get_server_status;
+
+	func_mysqlnd_stmt__generate_execute_request generate_execute_request;
+	func_mysqlnd_stmt__parse_execute_response parse_execute_response;
 };


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

Reply via email to