andrey                                   Fri, 14 May 2010 15:11:56 +0000

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

Log:
Allow overloading of mysqlnd_result_meta_init().
Add free space for future hooks.

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

Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_result.c
===================================================================
--- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_result.c   2010-05-14 
13:41:35 UTC (rev 299381)
+++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_result.c   2010-05-14 
15:11:56 UTC (rev 299382)
@@ -322,7 +322,7 @@
                result->meta = NULL;
        }

-       result->meta = mysqlnd_result_meta_init(result->field_count, 
result->persistent TSRMLS_CC);
+       result->meta = result->m.result_meta_init(result->field_count, 
result->persistent TSRMLS_CC);

        /* 1. Read all fields metadata */

@@ -1613,7 +1613,8 @@
        MYSQLND_METHOD(mysqlnd_res, free_buffered_data),
        MYSQLND_METHOD(mysqlnd_res, unbuffered_free_last_data),

-       NULL /* row_decoder */
+       NULL /* row_decoder */,
+       mysqlnd_result_meta_init
 MYSQLND_CLASS_METHODS_END;



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-05-14 
13:41:35 UTC (rev 299381)
+++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h  2010-05-14 
15:11:56 UTC (rev 299382)
@@ -277,6 +277,12 @@
        func_mysqlnd_net__free_contents free_contents;
        func_mysqlnd_net__enable_ssl enable_ssl;
        func_mysqlnd_net__disable_ssl disable_ssl;
+
+       void * unused1;
+       void * unused2;
+       void * unused3;
+       void * unused4;
+       void * unused5;
 };


@@ -318,6 +324,12 @@
        func_mysqlnd_protocol__get_stats_packet get_stats_packet;
        func_mysqlnd_protocol__get_prepare_response_packet 
get_prepare_response_packet;
        func_mysqlnd_protocol__get_change_user_response_packet 
get_change_user_response_packet;
+
+       void * unused1;
+       void * unused2;
+       void * unused3;
+       void * unused4;
+       void * unused5;
 };


@@ -507,6 +519,8 @@
                                                                        
zend_bool as_unicode, zend_bool as_int_or_float,
                                                                        
MYSQLND_STATS * stats TSRMLS_DC);

+typedef MYSQLND_RES_METADATA * (*func_mysqlnd_res__result_meta_init)(unsigned 
int field_count, zend_bool persistent TSRMLS_DC);
+
 struct st_mysqlnd_res_methods
 {
        mysqlnd_fetch_row_func  fetch_row;
@@ -541,6 +555,14 @@

        /* for decoding - binary or text protocol */
        func_mysqlnd_res__row_decoder row_decoder;
+
+       func_mysqlnd_res__result_meta_init result_meta_init;
+
+       void * unused1;
+       void * unused2;
+       void * unused3;
+       void * unused4;
+       void * unused5;
 };



Modified: php/php-src/trunk/ext/mysqlnd/mysqlnd_result.c
===================================================================
--- php/php-src/trunk/ext/mysqlnd/mysqlnd_result.c      2010-05-14 13:41:35 UTC 
(rev 299381)
+++ php/php-src/trunk/ext/mysqlnd/mysqlnd_result.c      2010-05-14 15:11:56 UTC 
(rev 299382)
@@ -322,7 +322,7 @@
                result->meta = NULL;
        }

-       result->meta = mysqlnd_result_meta_init(result->field_count, 
result->persistent TSRMLS_CC);
+       result->meta = result->m.result_meta_init(result->field_count, 
result->persistent TSRMLS_CC);

        /* 1. Read all fields metadata */

@@ -1613,7 +1613,8 @@
        MYSQLND_METHOD(mysqlnd_res, free_buffered_data),
        MYSQLND_METHOD(mysqlnd_res, unbuffered_free_last_data),

-       NULL /* row_decoder */
+       NULL /* row_decoder */,
+       mysqlnd_result_meta_init
 MYSQLND_CLASS_METHODS_END;



Modified: php/php-src/trunk/ext/mysqlnd/mysqlnd_structs.h
===================================================================
--- php/php-src/trunk/ext/mysqlnd/mysqlnd_structs.h     2010-05-14 13:41:35 UTC 
(rev 299381)
+++ php/php-src/trunk/ext/mysqlnd/mysqlnd_structs.h     2010-05-14 15:11:56 UTC 
(rev 299382)
@@ -277,6 +277,12 @@
        func_mysqlnd_net__free_contents free_contents;
        func_mysqlnd_net__enable_ssl enable_ssl;
        func_mysqlnd_net__disable_ssl disable_ssl;
+
+       void * unused1;
+       void * unused2;
+       void * unused3;
+       void * unused4;
+       void * unused5;
 };


@@ -318,6 +324,12 @@
        func_mysqlnd_protocol__get_stats_packet get_stats_packet;
        func_mysqlnd_protocol__get_prepare_response_packet 
get_prepare_response_packet;
        func_mysqlnd_protocol__get_change_user_response_packet 
get_change_user_response_packet;
+
+       void * unused1;
+       void * unused2;
+       void * unused3;
+       void * unused4;
+       void * unused5;
 };


@@ -507,6 +519,8 @@
                                                                        
zend_bool as_unicode, zend_bool as_int_or_float,
                                                                        
MYSQLND_STATS * stats TSRMLS_DC);

+typedef MYSQLND_RES_METADATA * (*func_mysqlnd_res__result_meta_init)(unsigned 
int field_count, zend_bool persistent TSRMLS_DC);
+
 struct st_mysqlnd_res_methods
 {
        mysqlnd_fetch_row_func  fetch_row;
@@ -541,6 +555,14 @@

        /* for decoding - binary or text protocol */
        func_mysqlnd_res__row_decoder row_decoder;
+
+       func_mysqlnd_res__result_meta_init result_meta_init;
+
+       void * unused1;
+       void * unused2;
+       void * unused3;
+       void * unused4;
+       void * unused5;
 };



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

Reply via email to