]> granicus.if.org Git - php/commitdiff
removed experimental status
authorGeorg Richter <georg@php.net>
Wed, 28 Jan 2004 22:51:54 +0000 (22:51 +0000)
committerGeorg Richter <georg@php.net>
Wed, 28 Jan 2004 22:51:54 +0000 (22:51 +0000)
fixed bug in mysqli_data_seek (thx to Andrey "Effendi" Hristov)
various prototype fixes
moved some methods to properties which are part of mysql struct
added function mysqli_get_server_version

ext/mysqli/EXPERIMENTAL [deleted file]
ext/mysqli/mysqli.c
ext/mysqli/mysqli_api.c
ext/mysqli/mysqli_fe.c
ext/mysqli/mysqli_nonapi.c
ext/mysqli/mysqli_prop.c
ext/mysqli/mysqli_report.c
ext/mysqli/php_mysqli.h

diff --git a/ext/mysqli/EXPERIMENTAL b/ext/mysqli/EXPERIMENTAL
deleted file mode 100644 (file)
index e69de29..0000000
index c2ca07263f7e02441db683cebbf77cbbbf42ed11..a55d2bb2297a0b63c3e1fbd14fa70a1237c59c56 100644 (file)
@@ -386,8 +386,6 @@ PHP_MINIT_FUNCTION(mysqli)
        REGISTER_LONG_CONSTANT("MYSQLI_CLIENT_INTERACTIVE", CLIENT_INTERACTIVE, CONST_CS | CONST_PERSISTENT);
        REGISTER_LONG_CONSTANT("MYSQLI_CLIENT_IGNORE_SPACE", CLIENT_IGNORE_SPACE, CONST_CS | CONST_PERSISTENT);
        REGISTER_LONG_CONSTANT("MYSQLI_CLIENT_NO_SCHEMA", CLIENT_NO_SCHEMA, CONST_CS | CONST_PERSISTENT);
-       REGISTER_LONG_CONSTANT("MYSQLI_CLIENT_MULTI_QUERIES", CLIENT_MULTI_QUERIES, CONST_CS | CONST_PERSISTENT);
-       
 
        /* for mysqli_query */
        REGISTER_LONG_CONSTANT("MYSQLI_STORE_RESULT", 0, CONST_CS | CONST_PERSISTENT);
@@ -418,7 +416,7 @@ PHP_MINIT_FUNCTION(mysqli)
        REGISTER_LONG_CONSTANT("MYSQLI_TYPE_TINY", FIELD_TYPE_TINY, CONST_CS | CONST_PERSISTENT);
        REGISTER_LONG_CONSTANT("MYSQLI_TYPE_SHORT", FIELD_TYPE_SHORT, CONST_CS | CONST_PERSISTENT);
        REGISTER_LONG_CONSTANT("MYSQLI_TYPE_LONG", FIELD_TYPE_LONG, CONST_CS | CONST_PERSISTENT);
-       REGISTER_LONG_CONSTANT("MYSQLI_TYPE_FLOAD", FIELD_TYPE_FLOAT, CONST_CS | CONST_PERSISTENT);
+       REGISTER_LONG_CONSTANT("MYSQLI_TYPE_FLOAT", FIELD_TYPE_FLOAT, CONST_CS | CONST_PERSISTENT);
        REGISTER_LONG_CONSTANT("MYSQLI_TYPE_DOUBLE", FIELD_TYPE_DOUBLE, CONST_CS | CONST_PERSISTENT);
        REGISTER_LONG_CONSTANT("MYSQLI_TYPE_NULL", FIELD_TYPE_NULL, CONST_CS | CONST_PERSISTENT);
        REGISTER_LONG_CONSTANT("MYSQLI_TYPE_TIMESTAMP", FIELD_TYPE_TIMESTAMP, CONST_CS | CONST_PERSISTENT);
@@ -458,8 +456,8 @@ PHP_MINIT_FUNCTION(mysqli)
        /* reporting */
        REGISTER_LONG_CONSTANT("MYSQLI_REPORT_INDEX", MYSQLI_REPORT_INDEX, CONST_CS | CONST_PERSISTENT);
        REGISTER_LONG_CONSTANT("MYSQLI_REPORT_ERROR", MYSQLI_REPORT_ERROR, CONST_CS | CONST_PERSISTENT);
-       REGISTER_LONG_CONSTANT("MYSQLI_REPORT_CLOSE", MYSQLI_REPORT_CLOSE, CONST_CS | CONST_PERSISTENT);
        REGISTER_LONG_CONSTANT("MYSQLI_REPORT_ALL", MYSQLI_REPORT_ALL, CONST_CS | CONST_PERSISTENT);
+       REGISTER_LONG_CONSTANT("MYSQLI_REPORT_OFF", 0, CONST_CS | CONST_PERSISTENT);
 
        return SUCCESS;
 }
index 8282361bf239431fe9dbc7b919f75e8766e11bae..ac23dde85001b15ab861f508cb8e57546f9f8773 100644 (file)
@@ -439,7 +439,7 @@ PHP_FUNCTION(mysqli_data_seek)
                RETURN_FALSE;
        }
 
-       if (!offset || offset >= result->row_count) {
+       if (offset < 0 || offset >= result->row_count) {
           RETURN_FALSE;
        }
 
@@ -914,7 +914,7 @@ PHP_FUNCTION(mysqli_field_tell)
 }
 /* }}} */
 
-/* {{{ proto int mysqli_free_result(object result)
+/* {{{ proto void mysqli_free_result(object result)
    Free query result memory for the given result handle */
 PHP_FUNCTION(mysqli_free_result) 
 {
@@ -929,7 +929,7 @@ PHP_FUNCTION(mysqli_free_result)
        mysql_free_result(result);
        MYSQLI_CLEAR_RESOURCE(&mysql_result);   
 
-       RETURN_TRUE;
+       return;
 }
 /* }}} */
 
@@ -941,6 +941,14 @@ PHP_FUNCTION(mysqli_get_client_info)
 }
 /* }}} */
 
+/* {{{ proto int mysqli_get_client_version(void) 
+   Get MySQL client info */
+PHP_FUNCTION(mysqli_get_client_version)
+{
+       RETURN_LONG((long)mysql_get_client_version());
+}
+/* }}} */
+
 /* {{{ proto string mysqli_get_host_info (object link) 
    Get MySQL host info */
 PHP_FUNCTION(mysqli_get_host_info)
index 2a599e808f18985e2bf639823e838683cf91c52e..e2061ce94eb2f496d6a5d442ea639bd8f16898aa 100644 (file)
@@ -86,6 +86,7 @@ function_entry mysqli_functions[] = {
        PHP_FE(mysqli_field_tell,                                                       NULL)
        PHP_FE(mysqli_free_result,                                                      NULL)
        PHP_FE(mysqli_get_client_info,                                          NULL)
+       PHP_FE(mysqli_get_client_version,                                       NULL)
        PHP_FE(mysqli_get_host_info,                                            NULL)
        PHP_FE(mysqli_get_metadata,                                                     NULL)
        PHP_FE(mysqli_get_proto_info,                                           NULL)
@@ -167,10 +168,8 @@ function_entry mysqli_link_methods[] = {
        PHP_FALIAS(enable_reads_from_master,mysqli_enable_reads_from_master,NULL)
        PHP_FALIAS(enable_rpl_parse,mysqli_enable_rpl_parse,NULL)
        PHP_FALIAS(get_client_info,mysqli_get_client_info,NULL)
-       PHP_FALIAS(get_host_info,mysqli_get_host_info,NULL)
        PHP_FALIAS(get_server_info,mysqli_get_server_info,NULL)
        PHP_FALIAS(init,mysqli_init,NULL)
-       PHP_FALIAS(info,mysqli_info,NULL)
        PHP_FALIAS(kill,mysqli_kill,NULL)
        PHP_FALIAS(master_query,mysqli_master_query,NULL)
        PHP_FALIAS(mysqli, mysqli_connect, NULL)
index 65c71589d2d6d70adf86d289b3a09673b2d24dab..d34cf1717d0a2b9a2ebd24b76820c5a9ff13cbb3 100644 (file)
@@ -210,7 +210,7 @@ PHP_FUNCTION(mysqli_multi_query)
 }
 /* }}} */
 
-/* {{{ proto resource mysqli_query(object link, string query [,int resultmode]) */
+/* {{{ proto mixed mysqli_query(object link, string query [,int resultmode]) */
 PHP_FUNCTION(mysqli_query)
 {
        MYSQL                           *mysql;
index 256213af458f84574e5b71a3741e7b131a3f7a01..79c6c63c01440a0138fdfb6033c2431b673ef7bc 100644 (file)
@@ -94,6 +94,15 @@ int link_connect_errno_read(mysqli_object *obj, zval **retval TSRMLS_DC) {
 }
 /* }}} */
 
+/* {{{ property link_server_version_read */
+int link_server_version_read(mysqli_object *obj, zval **retval TSRMLS_DC) {
+    MYSQL *mysql = (MYSQL *)((MYSQLI_RESOURCE *)(obj->ptr))->ptr;
+       ALLOC_ZVAL(*retval);
+       ZVAL_LONG(*retval, mysql_get_server_version(mysql));
+       return SUCCESS;
+}
+/* }}} */
+
 /* {{{ property link_connect_error_read */
 int link_connect_error_read(mysqli_object *obj, zval **retval TSRMLS_DC) {
        ALLOC_ZVAL(*retval);
@@ -117,7 +126,7 @@ MYSQLI_MAP_PROPERTY_LONG(link_protocol_version_read, MYSQL, protocol_version);
 MYSQLI_MAP_PROPERTY_LONG(link_server_capabilities_read, MYSQL, server_capabilities);
 MYSQLI_MAP_PROPERTY_LONG(link_server_language_read, MYSQL, server_language);
 MYSQLI_MAP_PROPERTY_LONG(link_server_status_read, MYSQL, server_status);
-MYSQLI_MAP_PROPERTY_STRING(link_server_version_read, MYSQL, server_version);
+MYSQLI_MAP_PROPERTY_STRING(link_server_info_read, MYSQL, server_version);
 MYSQLI_MAP_PROPERTY_STRING(link_sqlstate_read, MYSQL, net.sqlstate);
 MYSQLI_MAP_PROPERTY_LONG(link_thread_id_read, MYSQL, thread_id);
 MYSQLI_MAP_PROPERTY_STRING(link_user_read, MYSQL, user);
@@ -191,7 +200,8 @@ mysqli_property_entry mysqli_link_property_entries[] = {
        {"insert_id", link_insert_id_read, NULL},
        {"server_capabilities", link_server_capabilities_read, NULL},
        {"server_status", link_server_status_read, NULL},
-       {"server_version", link_server_version_read, NULL},
+       {"server_info", link_server_info_read, NULL},
+    {"server_version", link_server_version_read, NULL},
        {"sqlstate", link_sqlstate_read, NULL},
        {"port", link_port_read, NULL},
        {"protocol_version", link_protocol_version_read, NULL},
index 88bc573512053d038b3868ebd826db9b881bd5bc..fd3d66d424d672f76c5b9e9ad546a1f22d7bd6a2 100644 (file)
@@ -33,18 +33,11 @@ PHP_FUNCTION(mysqli_report)
 {
        int             flags;
 
-       if (MyG(report_mode)) {
-               php_error_docref(NULL TSRMLS_CC, E_WARNING, "Report level already set.");
-               RETURN_FALSE;
-       }
        
        if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &flags) == FAILURE) {
                return;
        }
 
-       if (!flags) {
-               RETURN_FALSE;
-       }
        MyG(report_mode) = flags;
 
        RETURN_TRUE;
index 0bb94cf98973f4737fc2edf98cb251d6858ccced..f5e5dd116db6060b24ffa8e0e706c70cac84fbce 100644 (file)
@@ -229,6 +229,7 @@ PHP_MYSQLI_EXPORT(zend_object_value) mysqli_objects_new(zend_class_entry * TSRML
 #define FETCH_RESULT           2
 
 /*** REPORT MODES ***/
+#define MYSQLI_REPORT_OFF           0
 #define MYSQLI_REPORT_INDEX                    1
 #define MYSQLI_REPORT_ERROR                    2
 #define MYSQLI_REPORT_CLOSE                    4
@@ -294,6 +295,7 @@ PHP_FUNCTION(mysqli_field_seek);
 PHP_FUNCTION(mysqli_field_tell);
 PHP_FUNCTION(mysqli_free_result);
 PHP_FUNCTION(mysqli_get_client_info);
+PHP_FUNCTION(mysqli_get_client_version);
 PHP_FUNCTION(mysqli_get_host_info);
 PHP_FUNCTION(mysqli_get_proto_info);
 PHP_FUNCTION(mysqli_get_server_info);