summaryrefslogtreecommitdiff
path: root/ext/mysqli/mysqli_prop.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/mysqli/mysqli_prop.c')
-rw-r--r--ext/mysqli/mysqli_prop.c334
1 files changed, 0 insertions, 334 deletions
diff --git a/ext/mysqli/mysqli_prop.c b/ext/mysqli/mysqli_prop.c
deleted file mode 100644
index ea0a3c13e6..0000000000
--- a/ext/mysqli/mysqli_prop.c
+++ /dev/null
@@ -1,334 +0,0 @@
-/*
- +----------------------------------------------------------------------+
- | PHP Version 5 |
- +----------------------------------------------------------------------+
- | Copyright (c) 1997-2005 The PHP Group |
- +----------------------------------------------------------------------+
- | This source file is subject to version 3.0 of the PHP license, |
- | that is bundled with this package in the file LICENSE, and is |
- | available through the world-wide-web at the following url: |
- | http://www.php.net/license/3_0.txt. |
- | If you did not receive a copy of the PHP license and are unable to |
- | obtain it through the world-wide-web, please send a note to |
- | license@php.net so we can mail you a copy immediately. |
- +----------------------------------------------------------------------+
- | Author: Georg Richter <georg@php.net> |
- +----------------------------------------------------------------------+
-
- $Id$
-*/
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <signal.h>
-
-#include "php.h"
-#include "php_ini.h"
-#include "ext/standard/info.h"
-#include "php_mysqli.h"
-
-#define CHECK_OBJECT() \
- if (!obj->valid) { \
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "Property access is not allowed yet. Call the default constructor of the object first"); \
- ZVAL_NULL(*retval); \
- return SUCCESS; \
- } \
-
-#define MYSQLI_GET_MYSQL() \
-MYSQL *p; \
-ALLOC_ZVAL(*retval);\
-CHECK_OBJECT();\
-p = (MYSQL *)((MY_MYSQL *)((MYSQLI_RESOURCE *)(obj->ptr))->ptr)->mysql;
-
-#define MYSQLI_GET_RESULT() \
-MYSQL_RES *p; \
-ALLOC_ZVAL(*retval);\
-CHECK_OBJECT();\
-p = (MYSQL_RES *)((MYSQLI_RESOURCE *)(obj->ptr))->ptr
-
-#define MYSQLI_GET_STMT() \
-MYSQL_STMT *p; \
-ALLOC_ZVAL(*retval);\
-CHECK_OBJECT();\
-p = (MYSQL_STMT *)((MY_STMT *)((MYSQLI_RESOURCE *)(obj->ptr))->ptr)->stmt
-
-#define MYSQLI_MAP_PROPERTY_FUNC_LONG( __func, __int_func, __get_type, __ret_type)\
-static int __func(mysqli_object *obj, zval **retval TSRMLS_DC) \
-{\
- __ret_type l;\
- __get_type;\
- if (!p) {\
- ZVAL_NULL(*retval);\
- } else {\
- l = (__ret_type)__int_func(p);\
- if (l < LONG_MAX) {\
- ZVAL_LONG(*retval, l);\
- } else { \
- char ret[40]; \
- sprintf(ret, "%llu", (my_ulonglong)l); \
- ZVAL_STRING(*retval, ret, 1); \
- } \
- }\
- return SUCCESS;\
-}
-
-#define MYSQLI_MAP_PROPERTY_FUNC_STRING(__func, __int_func, __get_type)\
-static int __func(mysqli_object *obj, zval **retval TSRMLS_DC)\
-{\
- char *c;\
- __get_type;\
- if (!p) {\
- ZVAL_NULL(*retval);\
- } else {\
- c = (char *)__int_func(p);\
- if (!c) {\
- ZVAL_NULL(*retval);\
- } else {\
- ZVAL_STRING(*retval, c, 1);\
- }\
- }\
- return SUCCESS;\
-}
-
-/* {{{ property link_client_version_read */
-static int link_client_version_read(mysqli_object *obj, zval **retval TSRMLS_DC)
-{
- ALLOC_ZVAL(*retval);
- ZVAL_LONG(*retval, MYSQL_VERSION_ID);
- return SUCCESS;
-}
-/* }}} */
-
-/* {{{ property link_client_info_read */
-static int link_client_info_read(mysqli_object *obj, zval **retval TSRMLS_DC)
-{
- ALLOC_ZVAL(*retval);
- ZVAL_STRING(*retval, MYSQL_SERVER_VERSION, 1);
- return SUCCESS;
-}
-/* }}} */
-
-/* {{{ property link_connect_errno_read */
-static int link_connect_errno_read(mysqli_object *obj, zval **retval TSRMLS_DC)
-{
- ALLOC_ZVAL(*retval);
- ZVAL_LONG(*retval, (long)MyG(error_no));
- return SUCCESS;
-}
-/* }}} */
-
-/* {{{ property link_connect_error_read */
-static int link_connect_error_read(mysqli_object *obj, zval **retval TSRMLS_DC)
-{
- ALLOC_ZVAL(*retval);
- ZVAL_STRING(*retval, MyG(error_msg), 1);
- return SUCCESS;
-}
-/* }}} */
-
-/* {{{ property link_affected_rows_read */
-static int link_affected_rows_read(mysqli_object *obj, zval **retval TSRMLS_DC)
-{
- MY_MYSQL *mysql;
- my_ulonglong rc;
-
- ALLOC_ZVAL(*retval);
- CHECK_OBJECT();
-
- mysql = (MY_MYSQL *)((MYSQLI_RESOURCE *)(obj->ptr))->ptr;
- rc = mysql_affected_rows(mysql->mysql);
-
- if (rc == (my_ulonglong)-1) {
- ZVAL_LONG(*retval, -1);
- return SUCCESS;
- }
-
- if (rc < LONG_MAX) {
- ZVAL_LONG(*retval, rc);
- } else {
- char ret[40];
- sprintf(ret, "%llu", (my_ulonglong) rc);
- ZVAL_STRING(*retval, ret, 1);
- }
-
- return SUCCESS;
-}
-/* }}} */
-
-/* link properties */
-MYSQLI_MAP_PROPERTY_FUNC_LONG(link_errno_read, mysql_errno, MYSQLI_GET_MYSQL(), ulong);
-MYSQLI_MAP_PROPERTY_FUNC_STRING(link_error_read, mysql_error, MYSQLI_GET_MYSQL());
-MYSQLI_MAP_PROPERTY_FUNC_LONG(link_field_count_read, mysql_field_count, MYSQLI_GET_MYSQL(), ulong);
-MYSQLI_MAP_PROPERTY_FUNC_STRING(link_host_info_read, mysql_get_host_info, MYSQLI_GET_MYSQL());
-MYSQLI_MAP_PROPERTY_FUNC_STRING(link_info_read, mysql_info, MYSQLI_GET_MYSQL());
-MYSQLI_MAP_PROPERTY_FUNC_LONG(link_insert_id_read, mysql_insert_id, MYSQLI_GET_MYSQL(), my_ulonglong);
-MYSQLI_MAP_PROPERTY_FUNC_LONG(link_protocol_version_read, mysql_get_proto_info, MYSQLI_GET_MYSQL(), ulong);
-MYSQLI_MAP_PROPERTY_FUNC_STRING(link_server_info_read, mysql_get_server_info, MYSQLI_GET_MYSQL());
-MYSQLI_MAP_PROPERTY_FUNC_LONG(link_server_version_read, mysql_get_server_version, MYSQLI_GET_MYSQL(), ulong);
-MYSQLI_MAP_PROPERTY_FUNC_STRING(link_sqlstate_read, mysql_sqlstate, MYSQLI_GET_MYSQL());
-MYSQLI_MAP_PROPERTY_FUNC_LONG(link_thread_id_read, mysql_thread_id, MYSQLI_GET_MYSQL(), ulong);
-MYSQLI_MAP_PROPERTY_FUNC_LONG(link_warning_count_read, mysql_warning_count, MYSQLI_GET_MYSQL(), ulong);
-/* result properties */
-
-/* {{{ property result_type_read */
-static int result_type_read(mysqli_object *obj, zval **retval TSRMLS_DC)
-{
- MYSQL_RES *p;
-
- ALLOC_ZVAL(*retval);
- CHECK_OBJECT();
- p = (MYSQL_RES *)((MYSQLI_RESOURCE *)(obj->ptr))->ptr;
-
- if (!p) {
- ZVAL_NULL(*retval);
- } else {
- ZVAL_LONG(*retval, (p->data) ? MYSQLI_STORE_RESULT : MYSQLI_USE_RESULT);
- }
- return SUCCESS;
-}
-/* }}} */
-
-/* {{{ property result_lengths_read */
-static int result_lengths_read(mysqli_object *obj, zval **retval TSRMLS_DC)
-{
- MYSQL_RES *p;
-
- ALLOC_ZVAL(*retval);
- CHECK_OBJECT();
-
- p = (MYSQL_RES *)((MYSQLI_RESOURCE *)(obj->ptr))->ptr;
- if (!p || !p->field_count) {
- ZVAL_NULL(*retval);
- } else {
- ulong i;
- zval *l;
-
- array_init(*retval);
-
- for (i=0; i < p->field_count; i++) {
- MAKE_STD_ZVAL(l);
- ZVAL_LONG(l, p->lengths[i]);
- add_index_zval(*retval, i, l);
- }
- }
- return SUCCESS;
-}
-/* }}} */
-
-
-MYSQLI_MAP_PROPERTY_FUNC_LONG(result_current_field_read, mysql_field_tell, MYSQLI_GET_RESULT(), ulong);
-MYSQLI_MAP_PROPERTY_FUNC_LONG(result_field_count_read, mysql_num_fields, MYSQLI_GET_RESULT(), ulong);
-MYSQLI_MAP_PROPERTY_FUNC_LONG(result_num_rows_read, mysql_num_rows, MYSQLI_GET_RESULT(), my_ulonglong);
-
-/* statement properties */
-
-/* {{{ property stmt_id_read */
-static int stmt_id_read(mysqli_object *obj, zval **retval TSRMLS_DC)
-{
- MY_STMT *p;
-
- ALLOC_ZVAL(*retval);
- CHECK_OBJECT();
-
- p = (MY_STMT*)((MYSQLI_RESOURCE *)(obj->ptr))->ptr;
-
- if (!p) {
- ZVAL_NULL(*retval);
- } else {
- ZVAL_LONG(*retval, p->stmt->stmt_id);
- }
- return SUCCESS;
-}
-/* }}} */
-
-/* {{{ property stmt_affected_rows_read */
-static int stmt_affected_rows_read(mysqli_object *obj, zval **retval TSRMLS_DC)
-{
- MY_STMT *stmt;
- my_ulonglong rc;
-
- ALLOC_ZVAL(*retval);
- CHECK_OBJECT();
-
- stmt = (MY_STMT *)((MYSQLI_RESOURCE *)(obj->ptr))->ptr;
- rc = mysql_stmt_affected_rows(stmt->stmt);
-
- if (rc == (my_ulonglong)-1) {
- ZVAL_LONG(*retval, -1);
- return SUCCESS;
- }
-
- if (rc < LONG_MAX) {
- ZVAL_LONG(*retval, rc);
- } else {
- char ret[40];
- sprintf(ret, "%llu", (my_ulonglong) rc);
- ZVAL_STRING(*retval, ret, 1);
- }
-
- return SUCCESS;
-}
-/* }}} */
-
-MYSQLI_MAP_PROPERTY_FUNC_LONG(stmt_insert_id_read, mysql_stmt_insert_id, MYSQLI_GET_STMT(), my_ulonglong);
-MYSQLI_MAP_PROPERTY_FUNC_LONG(stmt_num_rows_read, mysql_stmt_num_rows, MYSQLI_GET_STMT(), my_ulonglong);
-MYSQLI_MAP_PROPERTY_FUNC_LONG(stmt_param_count_read, mysql_stmt_param_count, MYSQLI_GET_STMT(), ulong);
-MYSQLI_MAP_PROPERTY_FUNC_LONG(stmt_field_count_read, mysql_stmt_field_count, MYSQLI_GET_STMT(), ulong);
-MYSQLI_MAP_PROPERTY_FUNC_LONG(stmt_errno_read, mysql_stmt_errno, MYSQLI_GET_STMT(), ulong);
-MYSQLI_MAP_PROPERTY_FUNC_STRING(stmt_error_read, mysql_stmt_error, MYSQLI_GET_STMT());
-MYSQLI_MAP_PROPERTY_FUNC_STRING(stmt_sqlstate_read, mysql_stmt_sqlstate, MYSQLI_GET_STMT());
-
-/* }}} */
-mysqli_property_entry mysqli_link_property_entries[] = {
- {"affected_rows", link_affected_rows_read, NULL},
- {"client_info", link_client_info_read, NULL},
- {"client_version", link_client_version_read, NULL},
- {"connect_errno", link_connect_errno_read, NULL},
- {"connect_error", link_connect_error_read, NULL},
- {"errno", link_errno_read, NULL},
- {"error", link_error_read, NULL},
- {"field_count", link_field_count_read, NULL},
- {"host_info", link_host_info_read, NULL},
- {"info", link_info_read, NULL},
- {"insert_id", link_insert_id_read, NULL},
- {"server_info", link_server_info_read, NULL},
- {"server_version", link_server_version_read, NULL},
- {"sqlstate", link_sqlstate_read, NULL},
- {"protocol_version", link_protocol_version_read, NULL},
- {"thread_id", link_thread_id_read, NULL},
- {"warning_count", link_warning_count_read, NULL},
- {NULL, NULL, NULL}
-};
-
-mysqli_property_entry mysqli_result_property_entries[] = {
- {"current_field", result_current_field_read, NULL},
- {"field_count", result_field_count_read, NULL},
- {"lengths", result_lengths_read, NULL},
- {"num_rows", result_num_rows_read, NULL},
- {"type", result_type_read, NULL},
- {NULL, NULL, NULL}
-};
-
-mysqli_property_entry mysqli_stmt_property_entries[] = {
- {"affected_rows", stmt_affected_rows_read, NULL},
- {"insert_id", stmt_insert_id_read, NULL},
- {"num_rows", stmt_num_rows_read, NULL},
- {"param_count", stmt_param_count_read, NULL},
- {"field_count", stmt_field_count_read, NULL},
- {"errno", stmt_errno_read, NULL},
- {"error", stmt_error_read, NULL},
- {"sqlstate", stmt_sqlstate_read, NULL},
- {"id", stmt_id_read, NULL},
- {NULL, NULL, NULL}
-};
-
-/*
- * Local variables:
- * tab-width: 4
- * c-basic-offset: 4
- * End:
- * vim600: noet sw=4 ts=4 fdm=marker
- * vim<600: noet sw=4 ts=4
- */