summaryrefslogtreecommitdiff
path: root/ext/mysqli/php_mysqli.h
diff options
context:
space:
mode:
Diffstat (limited to 'ext/mysqli/php_mysqli.h')
-rw-r--r--ext/mysqli/php_mysqli.h131
1 files changed, 9 insertions, 122 deletions
diff --git a/ext/mysqli/php_mysqli.h b/ext/mysqli/php_mysqli.h
index 5387e6c889..c823e64527 100644
--- a/ext/mysqli/php_mysqli.h
+++ b/ext/mysqli/php_mysqli.h
@@ -25,13 +25,8 @@
#undef LIST
#endif
-#ifdef PHP_WIN32
-#include "win32/time.h"
-#else
-#include "sys/time.h"
-#endif
-
#include <mysql.h>
+#include "mysqli_profiler.h"
#ifndef PHP_MYSQLI_H
#define PHP_MYSQLI_H
@@ -57,92 +52,19 @@ typedef struct {
void *ptr; /* resource: (mysql, result, stmt) */
} MYSQLI_RESOURCE;
-/* common profiler header struct */
-
-typedef struct {
- unsigned int type;
- void *child;
- void *next;
- char *filename;
- unsigned int lineno;
- char *functionname;
- struct timeval starttime;
- struct timeval elapsedtime;
- struct timeval lifetime;
- char *errormsg;
- ulong error;
-} PR_HEADER;
-
-/* explain output */
-typedef struct {
- char *query;
- unsigned int exp_cnt;
- char **exp_table;
- char **exp_type;
- char **exp_key;
- ulong *exp_rows;
-} PR_EXPLAIN;
-
-/* common */
-typedef struct {
- PR_HEADER header;
-} PR_COMMON;
-
-/* connection */
-typedef struct {
- PR_HEADER header;
- unsigned int thread_id;
- char *hostname;
- char *username;
- unsigned int closed;
-} PR_MYSQL;
-
-/* resultset */
-typedef struct {
- PR_HEADER header;
- unsigned int columns;
- ulong rows;
- ulong fields;
- ulong fetched_rows;
- unsigned int closed;
-} PR_RESULT;
-
-/* command */
-/* TODO: return values */
-typedef struct {
- PR_HEADER header;
- ulong returntype;
- void *returnvalue;
-} PR_COMMAND;
-
-/* query */
-typedef struct {
- PR_HEADER header;
- PR_EXPLAIN explain;
- ulong affectedrows;
- ulong insertid;
-} PR_QUERY;
-
-/* statement */
-typedef struct {
- PR_HEADER header;
- PR_EXPLAIN explain;
- unsigned int param_cnt;
- unsigned int field_cnt;
-} PR_STMT;
-
typedef struct _mysqli_object {
zend_object zo;
void *ptr;
} mysqli_object; /* extends zend_object */
-#define MYSQLI_PR_MYSQL 0
-#define MYSQLI_PR_QUERY 1
-#define MYSQLI_PR_QUERY_RESULT 2
-#define MYSQLI_PR_STMT 3
-#define MYSQLI_PR_STMT_RESULT 4
-#define MYSQLI_PR_RESULT 5
-#define MYSQLI_PR_COMMAND 6
+#define MYSQLI_PR_MAIN 0
+#define MYSQLI_PR_MYSQL 1
+#define MYSQLI_PR_QUERY 2
+#define MYSQLI_PR_QUERY_RESULT 3
+#define MYSQLI_PR_STMT 4
+#define MYSQLI_PR_STMT_RESULT 5
+#define MYSQLI_PR_RESULT 6
+#define MYSQLI_PR_COMMAND 7
#define phpext_mysqli_ptr &mysqli_module_entry
@@ -167,13 +89,6 @@ extern function_entry mysqli_result_methods[];
extern void php_mysqli_fetch_into_hash(INTERNAL_FUNCTION_PARAMETERS, int flag);
extern void php_clear_stmt_bind(STMT *stmt);
-/* Profiler functions */
-extern void php_mysqli_profiler_report(PR_COMMON *, int);
-extern PR_COMMON *php_mysqli_profiler_new_object(PR_COMMON *parent, unsigned int type, unsigned int settime);
-extern void php_mysqli_profiler_result_info(MYSQL_RES *res);
-extern int php_mysqli_profiler_explain(PR_EXPLAIN *explain, PR_HEADER *header, MYSQL *mysql, char *query);
-extern void php_mysqli_profiler_timediff(struct timeval start, struct timeval *elapsed);
-
zend_class_entry *mysqli_link_class_entry;
zend_class_entry *mysqli_stmt_class_entry;
zend_class_entry *mysqli_result_class_entry;
@@ -375,34 +290,6 @@ ZEND_END_MODULE_GLOBALS(mysqli)
#define my_estrdup(x) (x) ? estrdup(x) : NULL
#define my_efree(x) if (x) efree(x)
-/****** PROFILER MACROS *******/
-#define MYSQLI_PROFILER_STARTTIME(ptr) gettimeofday(&ptr##->header.starttime, NULL)
-#define MYSQLI_PROFILER_ELAPSEDTIME(ptr) php_mysqli_profiler_timediff(ptr##->header.starttime, &ptr##->header.elapsedtime)
-#define MYSQLI_PROFILER_LIFETIME(ptr) php_mysqli_profiler_timediff((ptr)->starttime, &(ptr)->lifetime)
-
-#define MYSQLI_PROFILER_NEW(parent, type, time) php_mysqli_profiler_new_object((PR_COMMON *)parent, type, time)
-#define MYSQLI_PROFILER_COMMAND_START(cmd,parent)\
-if (MyG(profiler))\
-{\
- cmd = (PR_COMMAND *)php_mysqli_profiler_new_object((PR_COMMON *)parent, MYSQLI_PR_COMMAND,1);\
-}
-#define MYSQLI_PROFILER_COMMAND_RETURNLONG(cmd, value)\
-if (MyG(profiler))\
-{\
- char tmp[30];\
- sprintf ((char *)&tmp, "%ld", value);\
- MYSQLI_PROFILER_ELAPSEDTIME(cmd);\
- cmd##->returnvalue = my_estrdup(tmp);\
-}
-#define MYSQLI_PROFILER_COMMAND_RETURNSTRING(cmd, value)\
-if (MyG(profiler))\
-{\
- MYSQLI_PROFILER_ELAPSEDTIME(cmd);\
- cmd##->returnvalue = my_estrdup(value);\
-}
-#define MYSQLI_PROFILER_EXPLAIN(explain,header,mysql,query) php_mysqli_profiler_explain(explain,header, mysql, query)
-
-
ZEND_EXTERN_MODULE_GLOBALS(mysqli);
#endif /* PHP_MYSQLI.H */