Merge branch 'develop' into MAX-324
Conflicts: query_classifier/query_classifier.cc
This commit is contained in:
		| @ -31,7 +31,7 @@ | ||||
| #include <buffer.h> | ||||
| #include <string.h> | ||||
| #include <mysql_client_server_protocol.h> | ||||
|  | ||||
| #include <modutil.h> | ||||
| /** | ||||
|  * Check if a GWBUF structure is a MySQL COM_QUERY packet | ||||
|  * | ||||
| @ -493,3 +493,39 @@ GWBUF* modutil_get_next_MySQL_packet( | ||||
| return_packetbuf: | ||||
| 	return packetbuf; | ||||
| } | ||||
|  | ||||
|  | ||||
| /** | ||||
|  * Count the number of EOF, OK or ERR packets in the buffer. | ||||
|  * @param reply Buffer to use | ||||
|  * @param use_ok Whether the DEPRECATE_EOF flag is set | ||||
|  * @param n_found If there were previous packets found  | ||||
|  * @return Number of EOF packets | ||||
|  */ | ||||
| int | ||||
| modutil_count_signal_packets(GWBUF *reply,int use_ok, int n_found) | ||||
| { | ||||
|     unsigned char* ptr = (unsigned char*) reply->start; | ||||
|     unsigned char* end = (unsigned char*) reply->end; | ||||
|     int pktlen,pkt = 0; | ||||
|  | ||||
|     while(ptr < end) | ||||
|     { | ||||
|         pktlen = gw_mysql_get_byte3(ptr) + 4; | ||||
|          | ||||
|         if(PTR_IS_ERR(ptr) || (PTR_IS_EOF(ptr) && !use_ok) || (use_ok && PTR_IS_OK(ptr))) | ||||
|         { | ||||
|             if(n_found) | ||||
|             { | ||||
|                 if(ptr + pktlen >= end) | ||||
|                     pkt++; | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 pkt++; | ||||
|             } | ||||
|         } | ||||
|         ptr += pktlen; | ||||
|     } | ||||
|     return pkt; | ||||
| } | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 Markus Makela
					Markus Makela