From: Georg Richter Date: Wed, 28 Jan 2004 22:51:54 +0000 (+0000) Subject: removed experimental status X-Git-Tag: php-5.0.0b4RC1~247 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7782a4b42523b315d175a35587ae9a44334382fc;p=php removed experimental status 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 --- diff --git a/ext/mysqli/EXPERIMENTAL b/ext/mysqli/EXPERIMENTAL deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/ext/mysqli/mysqli.c b/ext/mysqli/mysqli.c index c2ca07263f..a55d2bb229 100644 --- a/ext/mysqli/mysqli.c +++ b/ext/mysqli/mysqli.c @@ -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; } diff --git a/ext/mysqli/mysqli_api.c b/ext/mysqli/mysqli_api.c index 8282361bf2..ac23dde850 100644 --- a/ext/mysqli/mysqli_api.c +++ b/ext/mysqli/mysqli_api.c @@ -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) diff --git a/ext/mysqli/mysqli_fe.c b/ext/mysqli/mysqli_fe.c index 2a599e808f..e2061ce94e 100644 --- a/ext/mysqli/mysqli_fe.c +++ b/ext/mysqli/mysqli_fe.c @@ -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) diff --git a/ext/mysqli/mysqli_nonapi.c b/ext/mysqli/mysqli_nonapi.c index 65c71589d2..d34cf1717d 100644 --- a/ext/mysqli/mysqli_nonapi.c +++ b/ext/mysqli/mysqli_nonapi.c @@ -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; diff --git a/ext/mysqli/mysqli_prop.c b/ext/mysqli/mysqli_prop.c index 256213af45..79c6c63c01 100644 --- a/ext/mysqli/mysqli_prop.c +++ b/ext/mysqli/mysqli_prop.c @@ -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}, diff --git a/ext/mysqli/mysqli_report.c b/ext/mysqli/mysqli_report.c index 88bc573512..fd3d66d424 100644 --- a/ext/mysqli/mysqli_report.c +++ b/ext/mysqli/mysqli_report.c @@ -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; diff --git a/ext/mysqli/php_mysqli.h b/ext/mysqli/php_mysqli.h index 0bb94cf989..f5e5dd116d 100644 --- a/ext/mysqli/php_mysqli.h +++ b/ext/mysqli/php_mysqli.h @@ -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);