List:Commits« Previous MessageNext Message »
From:ahristov Date:June 18 2007 8:49am
Subject:PHP mysqlnd svn commit: r379 - trunk/mysqlnd
View as plain text  
Author: ahristov
Date: 2007-06-18 10:49:30 +0200 (Mon, 18 Jun 2007)
New Revision: 379

Modified:
   trunk/mysqlnd/mysqlnd.h
   trunk/mysqlnd/mysqlnd_ps.c
Log:
Bring PS in sync


Modified: trunk/mysqlnd/mysqlnd.h
===================================================================
--- trunk/mysqlnd/mysqlnd.h	2007-06-17 15:15:40 UTC (rev 378)
+++ trunk/mysqlnd/mysqlnd.h	2007-06-18 08:49:30 UTC (rev 379)
@@ -398,6 +398,7 @@
 struct st_mysqlnd_stmt_methods {
 	enum_func_status	(*prepare)(MYSQLND_STMT * const stmt, const char * const query,
unsigned int query_len TSRMLS_DC);
 	enum_func_status	(*execute)(MYSQLND_STMT * const stmt TSRMLS_DC);
+	MYSQLND_RES *		(*use_result)(MYSQLND_STMT * const stmt TSRMLS_DC);
 	MYSQLND_RES *		(*store_result)(MYSQLND_STMT * const stmt TSRMLS_DC);
 	enum_func_status	(*free_result)(MYSQLND_STMT * const stmt TSRMLS_DC);
 	enum_func_status	(*seek_data)(const MYSQLND_STMT * const stmt, mynd_ulonglong row);
@@ -405,6 +406,7 @@
 	enum_func_status	(*close)(MYSQLND_STMT * const stmt, zend_bool implicit TSRMLS_DC); /*
private */
 	enum_func_status	(*dtor)(MYSQLND_STMT * const stmt, zend_bool implicit TSRMLS_DC); /*
use this for mysqlnd_stmt_close */
 
+	enum_func_status	(*fetch)(MYSQLND_STMT * const stmt, zend_bool * const fetched_anything
TSRMLS_DC);
 	void 				(*fetch_into)(MYSQLND_STMT *stmt, unsigned int flags, zval *return_value
TSRMLS_DC ZEND_FILE_LINE_DC);
 
 	enum_func_status	(*bind_param)(MYSQLND_STMT * const stmt, MYSQLND_PARAM_BIND * const
param_bind);
@@ -821,13 +823,9 @@
 
 #define mysqlnd_stmt_fetch_into(s, f, ret)	(s)->m->fetch_into((s), (f), (ret)
TSRMLS_CC ZEND_FILE_LINE_CC)
 
+#define mysqlnd_stmt_fetch(stmt, fetched)	(stmt)->m->fetch((stmt), (fetched)
TSRMLS_CC)
 
-PHPAPI enum_func_status		mysqlnd_stmt_fetch(MYSQLND_STMT * const stmt,
-											   zend_bool * const fetched_anything
-											   TSRMLS_DC);
 
-
-
 /* Performance statistics */
 PHPAPI void			_mysqlnd_get_client_stats(zval *return_value TSRMLS_DC ZEND_FILE_LINE_DC);
 

Modified: trunk/mysqlnd/mysqlnd_ps.c
===================================================================
--- trunk/mysqlnd/mysqlnd_ps.c	2007-06-17 15:15:40 UTC (rev 378)
+++ trunk/mysqlnd/mysqlnd_ps.c	2007-06-18 08:49:30 UTC (rev 379)
@@ -58,9 +58,9 @@
 void mysqlnd_stmt_separate_result_bind(MYSQLND_STMT * const stmt);
 
 
-/* {{{ _mysqlnd_stmt_store_result */
-static
-MYSQLND_RES * _mysqlnd_stmt_store_result(MYSQLND_STMT * const stmt TSRMLS_DC)
+/* {{{ mysqlnd_stmt::store_result */
+static MYSQLND_RES *
+MYSQLND_METHOD(mysqlnd_stmt, store_result)(MYSQLND_STMT * const stmt TSRMLS_DC)
 {
 	enum_func_status ret;
 	MYSQLND *conn = stmt->conn;
@@ -75,7 +75,7 @@
 
 	if (stmt->cursor_exists) {
 		/* Silently convert buffered to unbuffered, for now */
-		return _mysqlnd_stmt_use_result(stmt TSRMLS_CC);
+		return stmt->m->use_result(stmt TSRMLS_CC);
 	}
 
 
@@ -88,7 +88,7 @@
 		return NULL;
 	}
 
-	stmt->default_rset_handler = _mysqlnd_stmt_store_result;
+	stmt->default_rset_handler = stmt->m->store_result;
 
 	SET_EMPTY_ERROR(stmt->error_info);
 	SET_EMPTY_ERROR(stmt->conn->error_info);
@@ -207,9 +207,10 @@
 /* }}} */
 
 
-/* {{{ _mysqlnd_stmt_prepare */
+/* {{{ mysqlnd_stmt::prepare */
 static enum_func_status
-_mysqlnd_stmt_prepare(MYSQLND_STMT * const stmt, const char * const query, unsigned int
query_len TSRMLS_DC)
+MYSQLND_METHOD(mysqlnd_stmt, prepare)(MYSQLND_STMT * const stmt, const char * const
query,
+									  unsigned int query_len TSRMLS_DC)
 {
 	MYSQLND_STMT *stmt_to_prepare = stmt;
 
@@ -223,7 +224,7 @@
 		/* See if we have to clean the wire */
 		if (stmt->state == MYSQLND_STMT_WAITING_USE_OR_STORE) {
 			/* Do implicit use_result and then flush the result */
-			stmt->default_rset_handler = _mysqlnd_stmt_use_result;
+			stmt->default_rset_handler = stmt->m->use_result;
 			stmt->default_rset_handler(stmt TSRMLS_CC);
 		}
 		/* No 'else' here please :) */
@@ -294,9 +295,9 @@
 /* }}} */
 
 
-/* {{{ _mysqlnd_stmt_execute */
+/* {{{ mysqlnd_stmt::execute */
 static enum_func_status
-_mysqlnd_stmt_execute(MYSQLND_STMT * const stmt TSRMLS_DC)
+MYSQLND_METHOD(mysqlnd_stmt, execute)(MYSQLND_STMT * const stmt TSRMLS_DC)
 {
 	enum_func_status ret;
 	MYSQLND		*conn = stmt->conn;
@@ -413,7 +414,7 @@
 				stmt->cursor_exists = TRUE;
 				conn->state = CONN_READY;
 				/* Only cursor read */
-				stmt->default_rset_handler = _mysqlnd_stmt_use_result;
+				stmt->default_rset_handler = stmt->m->use_result;
 			} else if (stmt->flags & CURSOR_TYPE_READ_ONLY) {
 				/*
 				  We have asked for CURSOR but got no cursor, because the condition
@@ -426,10 +427,10 @@
 				  precached on client and server's resources are freed.
 				*/
 				/* preferred is buffered read */
-				stmt->default_rset_handler = _mysqlnd_stmt_store_result;
+				stmt->default_rset_handler = stmt->m->store_result;
 			} else {
 				/* preferred is unbuffered read */
-				stmt->default_rset_handler = _mysqlnd_stmt_use_result;
+				stmt->default_rset_handler = stmt->m->use_result;
 			}
 		}
 	}
@@ -591,8 +592,9 @@
 /* }}} */
 
 
-/* {{{ mysqlnd_stmt_use_result */
-MYSQLND_RES * _mysqlnd_stmt_use_result(MYSQLND_STMT *stmt TSRMLS_DC)
+/* {{{ mysqlnd_stmt::use_result */
+MYSQLND_RES *
+MYSQLND_METHOD(mysqlnd_stmt, use_result)(MYSQLND_STMT *stmt TSRMLS_DC)
 {
 	MYSQLND_RES *result;
 	MYSQLND *conn = stmt->conn;
@@ -747,7 +749,8 @@
 
 /* {{{ mysqlnd_stmt_fetch */
 PHPAPI enum_func_status
-mysqlnd_stmt_fetch(MYSQLND_STMT * const stmt, zend_bool * const fetched_anything
TSRMLS_DC)
+MYSQLND_METHOD(mysqlnd_stmt, fetch)(MYSQLND_STMT * const stmt,
+									zend_bool * const fetched_anything TSRMLS_DC)
 {
 	if (!stmt->result ||
 		stmt->state < MYSQLND_STMT_WAITING_USE_OR_STORE) {
@@ -796,9 +799,9 @@
 /* }}} */
 
 
-/* {{{ _mysqlnd_stmt_reset */
+/* {{{ mysqlnd_stmt::reset */
 static enum_func_status
-_mysqlnd_stmt_reset(MYSQLND_STMT * const stmt TSRMLS_DC)
+MYSQLND_METHOD(mysqlnd_stmt, reset)(MYSQLND_STMT * const stmt TSRMLS_DC)
 {
 	enum_func_status ret = PASS;
 	MYSQLND * conn = stmt->conn;
@@ -849,10 +852,10 @@
 /* }}} */
 
 
-/* {{{ _mysqlnd_stmt_send_long_data */
+/* {{{ mysqlnd_stmt::send_long_data */
 static enum_func_status
-_mysqlnd_stmt_send_long_data(MYSQLND_STMT * const stmt, unsigned int param_no,
-							 const char * const data, unsigned long length TSRMLS_DC)
+MYSQLND_METHOD(mysqlnd_stmt, send_long_data)(MYSQLND_STMT * const stmt, unsigned int
param_no,
+							 				 const char * const data, unsigned long length TSRMLS_DC)
 {
 	enum_func_status ret = FAIL;
 	MYSQLND * conn = stmt->conn;
@@ -938,7 +941,8 @@
 
 /* {{{ _mysqlnd_stmt_bind_param */
 static enum_func_status
-_mysqlnd_stmt_bind_param(MYSQLND_STMT * const stmt, MYSQLND_PARAM_BIND * const
param_bind)
+MYSQLND_METHOD(mysqlnd_stmt, bind_param)(MYSQLND_STMT * const stmt,
+										 MYSQLND_PARAM_BIND * const param_bind)
 {
 	unsigned int i = 0;
 
@@ -993,11 +997,12 @@
 /* }}} */
 
 
-/* {{{ _mysqlnd_stmt_bind_result */
+/* {{{ mysqlnd_stmt::bind_result */
 static enum_func_status
-_mysqlnd_stmt_bind_result(MYSQLND_STMT * const stmt, MYSQLND_RESULT_BIND * const
result_bind)
+MYSQLND_METHOD(mysqlnd_stmt, bind_result)(MYSQLND_STMT * const stmt,
+										  MYSQLND_RESULT_BIND * const result_bind)
 {
-	int i = 0;
+	uint i = 0;
 
 	SET_EMPTY_ERROR(stmt->error_info);
 	SET_EMPTY_ERROR(stmt->conn->error_info);
@@ -1045,99 +1050,99 @@
 /* }}} */
 
 
-/* {{{ _mysqlnd_stmt_insert_id */
-static
-mynd_ulonglong _mysqlnd_stmt_insert_id(const MYSQLND_STMT * const stmt)
+/* {{{ mysqlnd_stmt::insert_id */
+static mynd_ulonglong
+MYSQLND_METHOD(mysqlnd_stmt, insert_id)(const MYSQLND_STMT * const stmt)
 {
 	return stmt->upsert_status.last_insert_id;
 }
 /* }}} */
 
 
-/* {{{ _mysqlnd_stmt_affected_rows */
-static
-mynd_ulonglong _mysqlnd_stmt_affected_rows(const MYSQLND_STMT * const stmt)
+/* {{{ mysqlnd_stmt::affected_rows */
+static mynd_ulonglong
+MYSQLND_METHOD(mysqlnd_stmt, affected_rows)(const MYSQLND_STMT * const stmt)
 {
 	return stmt->upsert_status.affected_rows;
 }
 /* }}} */
 
 
-/* {{{ _mysqlnd_stmt_num_rows */
-static
-mynd_ulonglong _mysqlnd_stmt_num_rows(const MYSQLND_STMT * const stmt)
+/* {{{ mysqlnd_stmt::num_rows */
+static mynd_ulonglong
+MYSQLND_METHOD(mysqlnd_stmt, num_rows)(const MYSQLND_STMT * const stmt)
 {
 	return stmt->result? mysqlnd_num_rows(stmt->result):0;
 }
 /* }}} */
 
 
-/* {{{ _mysqlnd_stmt_warning_count */
-static
-unsigned int _mysqlnd_stmt_warning_count(const MYSQLND_STMT * const stmt)
+/* {{{ mysqlnd_stmt::warning_count */
+static unsigned int
+MYSQLND_METHOD(mysqlnd_stmt, warning_count)(const MYSQLND_STMT * const stmt)
 {
 	return stmt->upsert_status.warning_count;
 }
 /* }}} */
 
 
-/* {{{ _mysqlnd_stmt_field_count */
-static
-unsigned int _mysqlnd_stmt_field_count(const MYSQLND_STMT * const stmt)
+/* {{{ mysqlnd_stmt::field_count */
+static unsigned int
+MYSQLND_METHOD(mysqlnd_stmt, field_count)(const MYSQLND_STMT * const stmt)
 {
 	return stmt->field_count;
 }
 /* }}} */
 
 
-/* {{{ _mysqlnd_stmt_param_count */
-static
-unsigned int _mysqlnd_stmt_param_count(const MYSQLND_STMT * const stmt)
+/* {{{ mysqlnd_stmt::param_count */
+static unsigned int
+MYSQLND_METHOD(mysqlnd_stmt, param_count)(const MYSQLND_STMT * const stmt)
 {
 	return stmt->param_count;
 }
 /* }}} */
 
 
-/* {{{ _mysqlnd_stmt_errno */
-static
-unsigned int _mysqlnd_stmt_errno(const MYSQLND_STMT * const stmt)
+/* {{{ mysqlnd_stmt::errno */
+static unsigned int
+MYSQLND_METHOD(mysqlnd_stmt, errno)(const MYSQLND_STMT * const stmt)
 {
 	return stmt->error_info.error_no;
 }
 /* }}} */
 
 
-/* {{{ _mysqlnd_stmt_error */
-static
-const char * _mysqlnd_stmt_error(const MYSQLND_STMT * const stmt)
+/* {{{ mysqlnd_stmt::error */
+static const char *
+MYSQLND_METHOD(mysqlnd_stmt, error)(const MYSQLND_STMT * const stmt)
 {
 	return stmt->error_info.error;
 }
 /* }}} */
 
 
-/* {{{ _mysqlnd_stmt_sqlstate */
-static
-const char * _mysqlnd_stmt_sqlstate(const MYSQLND_STMT * const stmt)
+/* {{{ mysqlnd_stmt::sqlstate */
+static const char *
+MYSQLND_METHOD(mysqlnd_stmt, sqlstate)(const MYSQLND_STMT * const stmt)
 {
 	return stmt->error_info.sqlstate[0] ?
stmt->error_info.sqlstate:MYSQLND_SQLSTATE_NULL;
 }
 /* }}} */
 
 
-/* {{{ _mysqlnd_stmt_data_seek */
+/* {{{ mysqlnd_stmt::data_seek */
 static enum_func_status
-_mysqlnd_stmt_data_seek(const MYSQLND_STMT * const stmt, mynd_ulonglong row)
+MYSQLND_METHOD(mysqlnd_stmt, data_seek)(const MYSQLND_STMT * const stmt, mynd_ulonglong
row)
 {
 	return stmt->result? stmt->result->m.seek_data(stmt->result, row) : FAIL;
 }
 /* }}} */
 
 
-/* {{{ _mysqlnd_stmt_param_metadata */
-static
-MYSQLND_RES * _mysqlnd_stmt_param_metadata(MYSQLND_STMT * const stmt)
+/* {{{ mysqlnd_stmt::param_metadata */
+static MYSQLND_RES *
+MYSQLND_METHOD(mysqlnd_stmt, param_metadata)(MYSQLND_STMT * const stmt)
 {
 	if (!stmt->param_count) {
 		return NULL;
@@ -1148,9 +1153,9 @@
 /* }}} */
 
 
-/* {{{ _mysqlnd_stmt_param_metadata */
-static
-MYSQLND_RES * _mysqlnd_stmt_result_metadata(MYSQLND_STMT * const stmt)
+/* {{{ mysqlnd_stmt::param_metadata */
+static MYSQLND_RES *
+MYSQLND_METHOD(mysqlnd_stmt, result_metadata)(MYSQLND_STMT * const stmt)
 {
 	MYSQLND_RES *result;
 
@@ -1179,9 +1184,11 @@
 /* }}} */
 
 
-/* {{{ _mysqlnd_stmt_attr_set */
+/* {{{ mysqlnd_stmt::attr_set */
 static enum_func_status
-_mysqlnd_stmt_attr_set(MYSQLND_STMT * const stmt, enum mysqlnd_stmt_attr attr_type, const
void * const value)
+MYSQLND_METHOD(mysqlnd_stmt, attr_set)(MYSQLND_STMT * const stmt,
+									   enum mysqlnd_stmt_attr attr_type,
+									   const void * const value)
 {
 	unsigned long val = *(unsigned long *) value;
 	switch (attr_type) {
@@ -1221,7 +1228,9 @@
 
 /* {{{ _mysqlnd_stmt_attr_get */
 static enum_func_status
-_mysqlnd_stmt_attr_get(MYSQLND_STMT * const stmt, enum mysqlnd_stmt_attr attr_type, void
* const value)
+MYSQLND_METHOD(mysqlnd_stmt, attr_get)(MYSQLND_STMT * const stmt,
+									   enum mysqlnd_stmt_attr attr_type,
+									   void * const value)
 {
 	switch (attr_type) {
 		case STMT_ATTR_UPDATE_MAX_LENGTH:
@@ -1241,9 +1250,9 @@
 /* }}} */
 
 
-/* {{{ _mysqlnd_stmt_free_result */
+/* {{{ mysqlnd_stmt::free_result */
 static enum_func_status
-_mysqlnd_stmt_free_result(MYSQLND_STMT * const stmt TSRMLS_DC)
+MYSQLND_METHOD(mysqlnd_stmt, free_result)(MYSQLND_STMT * const stmt TSRMLS_DC)
 {
 	if (!stmt->result) {
 		return PASS;
@@ -1251,7 +1260,7 @@
 
 	if (stmt->state == MYSQLND_STMT_WAITING_USE_OR_STORE) {
 		/* Do implicit use_result and then flush the result */
-		stmt->default_rset_handler = _mysqlnd_stmt_use_result;
+		stmt->default_rset_handler = stmt->m->use_result;
 		stmt->default_rset_handler(stmt TSRMLS_CC);
 	}
 
@@ -1366,9 +1375,9 @@
 /* }}} */
 
 
-/* {{{ _mysqlnd_stmt_close */
+/* {{{ mysqlnd_stmt::close */
 static enum_func_status
-_mysqlnd_stmt_close(MYSQLND_STMT * const stmt, zend_bool implicit TSRMLS_DC)
+MYSQLND_METHOD(mysqlnd_stmt, close)(MYSQLND_STMT * const stmt, zend_bool implicit
TSRMLS_DC)
 {
 	MYSQLND * conn = stmt->conn;
 	zend_uchar cmd_buf[STMT_ID_LENGTH /* statement id */];
@@ -1415,9 +1424,9 @@
 /* }}} */
 
 
-/* {{{ _mysqlnd_stmt_close */
+/* {{{ mysqlnd_stmt::dtor */
 static enum_func_status
-_mysqlnd_stmt_dtor(MYSQLND_STMT * const stmt, zend_bool implicit TSRMLS_DC)
+MYSQLND_METHOD_PRIVATE(mysqlnd_stmt, dtor)(MYSQLND_STMT * const stmt, zend_bool implicit
TSRMLS_DC)
 {
 	enum_func_status ret;
 
@@ -1432,15 +1441,17 @@
 }
 /* }}} */
 
-/* {{{ _mysqlnd_stmt_fetch_into */
-static
-void _mysqlnd_stmt_fetch_into(MYSQLND_STMT *stmt, unsigned int flags, zval *return_value
TSRMLS_DC ZEND_FILE_LINE_DC)
+
+/* {{{ mysqlnd_stmt::fetch_into */
+static void
+MYSQLND_METHOD(mysqlnd_stmt, fetch_into)(MYSQLND_STMT *stmt, unsigned int flags,
+										 zval *return_value TSRMLS_DC ZEND_FILE_LINE_DC)
 {
 	zend_bool fetched_anything;
 
 	if (!stmt->result || stmt->state < MYSQLND_STMT_WAITING_USE_OR_STORE) {
 		RETURN_NULL();
-	} else if (stmt->default_rset_handler == _mysqlnd_stmt_use_result) {
+	} else if (stmt->default_rset_handler == stmt->m->use_result) {
 		SET_STMT_ERROR(stmt, CR_NOT_IMPLEMENTED, UNKNOWN_SQLSTATE,
 					   "Unbuffered old style fetching is not supported");
 		RETURN_NULL();		
@@ -1492,37 +1503,39 @@
 
 static
 struct st_mysqlnd_stmt_methods mysqlnd_stmt_methods = {
-	_mysqlnd_stmt_prepare,
-	_mysqlnd_stmt_execute,
-	_mysqlnd_stmt_store_result,
-	_mysqlnd_stmt_free_result,
-	_mysqlnd_stmt_data_seek,
-	_mysqlnd_stmt_reset,
-	_mysqlnd_stmt_close,
-	_mysqlnd_stmt_dtor,
+	MYSQLND_METHOD(mysqlnd_stmt, prepare),
+	MYSQLND_METHOD(mysqlnd_stmt, execute),
+	MYSQLND_METHOD(mysqlnd_stmt, use_result),
+	MYSQLND_METHOD(mysqlnd_stmt, store_result),
+	MYSQLND_METHOD(mysqlnd_stmt, free_result),
+	MYSQLND_METHOD(mysqlnd_stmt, data_seek),
+	MYSQLND_METHOD(mysqlnd_stmt, reset),
+	MYSQLND_METHOD(mysqlnd_stmt, close),
+	MYSQLND_METHOD_PRIVATE(mysqlnd_stmt, dtor),
 
-	_mysqlnd_stmt_fetch_into,
+	MYSQLND_METHOD(mysqlnd_stmt, fetch),
+	MYSQLND_METHOD(mysqlnd_stmt, fetch_into),
 
-	_mysqlnd_stmt_bind_param,
-	_mysqlnd_stmt_bind_result,
-	_mysqlnd_stmt_send_long_data,
-	_mysqlnd_stmt_param_metadata,
-	_mysqlnd_stmt_result_metadata,
+	MYSQLND_METHOD(mysqlnd_stmt, bind_param),
+	MYSQLND_METHOD(mysqlnd_stmt, bind_result),
+	MYSQLND_METHOD(mysqlnd_stmt, send_long_data),
+	MYSQLND_METHOD(mysqlnd_stmt, param_metadata),
+	MYSQLND_METHOD(mysqlnd_stmt, result_metadata),
 
-	_mysqlnd_stmt_insert_id,
-	_mysqlnd_stmt_affected_rows,
-	_mysqlnd_stmt_num_rows,
+	MYSQLND_METHOD(mysqlnd_stmt, insert_id),
+	MYSQLND_METHOD(mysqlnd_stmt, affected_rows),
+	MYSQLND_METHOD(mysqlnd_stmt, num_rows),
 
-	_mysqlnd_stmt_param_count,
-	_mysqlnd_stmt_field_count,
-	_mysqlnd_stmt_warning_count,
+	MYSQLND_METHOD(mysqlnd_stmt, param_count),
+	MYSQLND_METHOD(mysqlnd_stmt, field_count),
+	MYSQLND_METHOD(mysqlnd_stmt, warning_count),
 
-	_mysqlnd_stmt_errno,
-	_mysqlnd_stmt_error,
-	_mysqlnd_stmt_sqlstate,
+	MYSQLND_METHOD(mysqlnd_stmt, errno),
+	MYSQLND_METHOD(mysqlnd_stmt, error),
+	MYSQLND_METHOD(mysqlnd_stmt, sqlstate),
 
-	_mysqlnd_stmt_attr_get,
-	_mysqlnd_stmt_attr_set,	
+	MYSQLND_METHOD(mysqlnd_stmt, attr_get),
+	MYSQLND_METHOD(mysqlnd_stmt, attr_set),	
 };
 
 

Thread
PHP mysqlnd svn commit: r379 - trunk/mysqlndahristov18 Jun