List:Commits« Previous MessageNext Message »
From:ahristov Date:September 5 2007 9:00pm
Subject:PHP mysqlnd svn commit: r989 - trunk/mysqlnd
View as plain text  
Author: ahristov
Date: 2007-09-05 21:00:31 +0200 (Wed, 05 Sep 2007)
New Revision: 989

Modified:
   trunk/mysqlnd/mysqlnd.c
   trunk/mysqlnd/mysqlnd_enum_n_def.h
   trunk/mysqlnd/mysqlnd_ps.c
   trunk/mysqlnd/mysqlnd_result.c
   trunk/mysqlnd/mysqlnd_statistics.c
   trunk/mysqlnd/mysqlnd_wireprotocol.c
Log:
More stats that speak for themselves


Modified: trunk/mysqlnd/mysqlnd.c
===================================================================
--- trunk/mysqlnd/mysqlnd.c	2007-09-05 13:37:29 UTC (rev 988)
+++ trunk/mysqlnd/mysqlnd.c	2007-09-05 19:00:31 UTC (rev 989)
@@ -485,11 +485,15 @@
 				host?host:"", user?user:"", db?db:"", port, mysql_flags,
 				conn? conn->persistent:0, conn? conn->state:-1);
 
-	if (conn && conn->state > CONN_ALLOCED) {
-		MYSQLND_INC_CONN_STATISTIC(&conn->stats, STAT_CLOSE_IMPLICIT);
-		reconnect = TRUE;
+	DBG_INF_FMT("state=%d", conn->state);
+	if (conn && conn->state > CONN_ALLOCED && conn->state ) {
+		DBG_INF("Connecting on a connected handle.");
 
-		mysqlnd_send_close(conn TSRMLS_CC);
+		if (conn->state < CONN_QUIT_SENT) {
+			MYSQLND_INC_CONN_STATISTIC(&conn->stats, STAT_CLOSE_IMPLICIT);
+			reconnect = TRUE;
+			mysqlnd_send_close(conn TSRMLS_CC);
+		}
 
 		conn->m->free_contents(conn TSRMLS_CC);
 		MYSQLND_DEC_CONN_STATISTIC(&conn->stats, STAT_OPENED_CONNECTIONS);
@@ -528,6 +532,7 @@
 	{
 		transport_len = spprintf(&transport, 0, "tcp://%s:%d", host, port);
 	}
+	DBG_INF_FMT("transport=%p", transport);
 
 	if (conn->persistent) {
 		struct timeval tv;

Modified: trunk/mysqlnd/mysqlnd_enum_n_def.h
===================================================================
--- trunk/mysqlnd/mysqlnd_enum_n_def.h	2007-09-05 13:37:29 UTC (rev 988)
+++ trunk/mysqlnd/mysqlnd_enum_n_def.h	2007-09-05 19:00:31 UTC (rev 989)
@@ -302,9 +302,15 @@
 	STAT_PS_UNBUFFERED_SETS,
 	STAT_FLUSHED_NORMAL_SETS,
 	STAT_FLUSHED_PS_SETS,
-	STAT_ROWS_FETCHED_FROM_SERVER,
-	STAT_ROWS_FETCHED_FROM_CLIENT,
-	STAT_ROWS_SKIPPED,
+	STAT_ROWS_FETCHED_FROM_SERVER_NORMAL,
+	STAT_ROWS_FETCHED_FROM_SERVER_PS,
+	STAT_ROWS_FETCHED_FROM_CLIENT_NORMAL_BUF,
+	STAT_ROWS_FETCHED_FROM_CLIENT_NORMAL_UNBUF,
+	STAT_ROWS_FETCHED_FROM_CLIENT_PS_BUF,
+	STAT_ROWS_FETCHED_FROM_CLIENT_PS_UNBUF,
+	STAT_ROWS_FETCHED_FROM_CLIENT_PS_CURSOR,
+	STAT_ROWS_SKIPPED_NORMAL,
+	STAT_ROWS_SKIPPED_PS,
 	STAT_COPY_ON_WRITE_SAVED,
 	STAT_COPY_ON_WRITE_PERFORMED,
 	STAT_CMD_BUFFER_TOO_SMALL,

Modified: trunk/mysqlnd/mysqlnd_ps.c
===================================================================
--- trunk/mysqlnd/mysqlnd_ps.c	2007-09-05 13:37:29 UTC (rev 988)
+++ trunk/mysqlnd/mysqlnd_ps.c	2007-09-05 19:00:31 UTC (rev 989)
@@ -754,6 +754,8 @@
 	result->row_packet->bit_fields_total_len =
result->meta->bit_fields_total_len;
 	result->lengths = NULL;
 
+	MYSQLND_INC_CONN_STATISTIC(&stmt->conn->stats,
STAT_ROWS_FETCHED_FROM_CLIENT_PS_CURSOR);
+
 	stmt->state = MYSQLND_STMT_USE_OR_STORE_CALLED;
 
 	/* No multithreading issues as we don't share the connection :) */
@@ -925,7 +927,7 @@
 		stmt->result_zvals_separated_once = TRUE;
 	}
 
-	MYSQLND_INC_CONN_STATISTIC(&stmt->conn->stats, STAT_ROWS_FETCHED_FROM_CLIENT);
+	MYSQLND_INC_CONN_STATISTIC(&stmt->conn->stats,
STAT_ROWS_FETCHED_FROM_CLIENT_PS_UNBUF);
 
 	ret = stmt->result->m.fetch_row(stmt->result, (void*)stmt, 0, fetched_anything
TSRMLS_CC);
 	DBG_RETURN(ret);

Modified: trunk/mysqlnd/mysqlnd_result.c
===================================================================
--- trunk/mysqlnd/mysqlnd_result.c	2007-09-05 13:37:29 UTC (rev 988)
+++ trunk/mysqlnd/mysqlnd_result.c	2007-09-05 19:00:31 UTC (rev 989)
@@ -519,7 +519,7 @@
 		row_packet->fields = NULL;
 		row_packet->row_buffer = NULL;
 
-		MYSQLND_INC_CONN_STATISTIC(&result->conn->stats,
STAT_ROWS_FETCHED_FROM_CLIENT);
+		MYSQLND_INC_CONN_STATISTIC(&result->conn->stats,
STAT_ROWS_FETCHED_FROM_CLIENT_NORMAL_UNBUF);
 
 		if (!row_packet->skip_extraction) {
 			HashTable *row_ht = Z_ARRVAL_P(row);
@@ -798,7 +798,9 @@
 		  transfered above. 
 		*/
 	}
-	MYSQLND_INC_CONN_STATISTIC_W_VALUE(&conn->stats, STAT_ROWS_FETCHED_FROM_CLIENT,
+	MYSQLND_INC_CONN_STATISTIC_W_VALUE(&conn->stats,
+									   binary_protocol? STAT_ROWS_FETCHED_FROM_CLIENT_PS_BUF:
+														STAT_ROWS_FETCHED_FROM_CLIENT_NORMAL_BUF,
 									   set->row_count);
 
 	/* Finally clean */

Modified: trunk/mysqlnd/mysqlnd_statistics.c
===================================================================
--- trunk/mysqlnd/mysqlnd_statistics.c	2007-09-05 13:37:29 UTC (rev 988)
+++ trunk/mysqlnd/mysqlnd_statistics.c	2007-09-05 19:00:31 UTC (rev 989)
@@ -56,9 +56,15 @@
 	{ STR_W_LEN("ps_unbuffered_sets") },
 	{ STR_W_LEN("flushed_normal_sets") },
 	{ STR_W_LEN("flushed_ps_sets") },
-	{ STR_W_LEN("rows_fetched_from_server") },
-	{ STR_W_LEN("rows_fetched_from_client") },
-	{ STR_W_LEN("rows_skipped") },
+	{ STR_W_LEN("rows_fetched_from_server_normal") },
+	{ STR_W_LEN("rows_fetched_from_server_ps") },
+	{ STR_W_LEN("rows_fetched_from_client_normal_buffered") },
+	{ STR_W_LEN("rows_fetched_from_client_normal_unbuffered") },
+	{ STR_W_LEN("rows_fetched_from_client_ps_buffered") },
+	{ STR_W_LEN("rows_fetched_from_client_ps_unbuffered") },
+	{ STR_W_LEN("rows_fetched_from_client_ps_cursor") },
+	{ STR_W_LEN("rows_skipped_normal") },
+	{ STR_W_LEN("rows_skipped_ps") },
 	{ STR_W_LEN("copy_on_write_saved") },
 	{ STR_W_LEN("copy_on_write_performed") },
 	{ STR_W_LEN("command_buffer_too_small") },

Modified: trunk/mysqlnd/mysqlnd_wireprotocol.c
===================================================================
--- trunk/mysqlnd/mysqlnd_wireprotocol.c	2007-09-05 13:37:29 UTC (rev 988)
+++ trunk/mysqlnd/mysqlnd_wireprotocol.c	2007-09-05 19:00:31 UTC (rev 989)
@@ -1643,7 +1643,9 @@
 			/* Seems we have 3 bytes reserved for future use */
 		}
 	} else {
-		MYSQLND_INC_CONN_STATISTIC(&conn->stats, STAT_ROWS_FETCHED_FROM_SERVER);
+		MYSQLND_INC_CONN_STATISTIC(&conn->stats,
+									packet->binary_protocol? STAT_ROWS_FETCHED_FROM_SERVER_PS:
+															 STAT_ROWS_FETCHED_FROM_SERVER_NORMAL);
 
 		packet->eof = FALSE;
 		/* packet->field_count is set by the user of the packet */
@@ -1671,7 +1673,9 @@
 				php_mysqlnd_rowp_read_text_protocol(packet, conn, p, data_size TSRMLS_CC);
 			}
 		} else {
-			MYSQLND_INC_CONN_STATISTIC(&conn->stats, STAT_ROWS_SKIPPED);
+			MYSQLND_INC_CONN_STATISTIC(&conn->stats,
+										packet->binary_protocol? STAT_ROWS_SKIPPED_NORMAL:
+																 STAT_ROWS_SKIPPED_PS);
 		}
 	}
 

Thread
PHP mysqlnd svn commit: r989 - trunk/mysqlndahristov5 Sep