Skip to content

Commit a7e0e05

Browse files
committed
move query text in header (defined only once)
1 parent 7d48740 commit a7e0e05

File tree

3 files changed

+49
-90
lines changed

3 files changed

+49
-90
lines changed

driver_mysql.c

Lines changed: 4 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -61,52 +61,9 @@ MYSQL * mysql_get_instance(TSRMLS_D) {
6161

6262
mysql_set_character_set(APM_G(mysql_event_db), "utf8");
6363

64-
mysql_query(
65-
APM_G(mysql_event_db),
66-
"\
67-
CREATE TABLE IF NOT EXISTS request (\
68-
id INTEGER UNSIGNED PRIMARY KEY auto_increment,\
69-
application VARCHAR(255) NOT NULL,\
70-
ts TIMESTAMP NOT NULL,\
71-
script TEXT NOT NULL,\
72-
uri TEXT NOT NULL,\
73-
host TEXT NOT NULL,\
74-
ip INTEGER UNSIGNED NOT NULL,\
75-
cookies TEXT NOT NULL,\
76-
post_vars TEXT NOT NULL,\
77-
referer TEXT NOT NULL,\
78-
method TEXT NOT NULL\
79-
)"
80-
);
81-
mysql_query(
82-
APM_G(mysql_event_db),
83-
"\
84-
CREATE TABLE IF NOT EXISTS event (\
85-
id INTEGER UNSIGNED PRIMARY KEY auto_increment,\
86-
request_id INTEGER UNSIGNED,\
87-
ts TIMESTAMP NOT NULL,\
88-
type SMALLINT UNSIGNED NOT NULL,\
89-
file TEXT NOT NULL,\
90-
line MEDIUMINT UNSIGNED NOT NULL,\
91-
message TEXT NOT NULL,\
92-
backtrace BLOB NOT NULL,\
93-
KEY request (request_id)\
94-
)"
95-
);
96-
97-
mysql_query(
98-
APM_G(mysql_event_db),
99-
"\
100-
CREATE TABLE IF NOT EXISTS stats (\
101-
id INTEGER UNSIGNED PRIMARY KEY auto_increment,\
102-
request_id INTEGER UNSIGNED,\
103-
duration FLOAT UNSIGNED NOT NULL,\
104-
user_cpu FLOAT UNSIGNED NOT NULL,\
105-
sys_cpu FLOAT UNSIGNED NOT NULL,\
106-
mem_peak_usage INTEGER UNSIGNED NOT NULL,\
107-
KEY request (request_id)\
108-
)"
109-
);
64+
mysql_query(APM_G(mysql_event_db), TABLE_REQUEST);
65+
mysql_query(APM_G(mysql_event_db), TABLE_EVENT);
66+
mysql_query(APM_G(mysql_event_db), TABLE_STATS);
11067
}
11168

11269
return APM_G(mysql_event_db);
@@ -185,7 +142,7 @@ static void apm_driver_mysql_insert_request(TSRMLS_D)
185142
if (mysql_query(connection, sql) != 0)
186143
APM_DEBUG("[MySQL driver] Error: %s\n", mysql_error(APM_G(mysql_event_db)));
187144

188-
mysql_query(connection, "SET @request_id = LAST_INSERT_ID()");
145+
mysql_query(connection, QUERY_REQUEST_ID);
189146

190147
efree(sql);
191148
if (application_esc)

driver_mysql.h

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,4 +36,45 @@ apm_driver_entry * apm_driver_mysql_create();
3636

3737
PHP_INI_MH(OnUpdateAPMmysqlErrorReporting);
3838

39+
#define TABLE_REQUEST "\
40+
CREATE TABLE IF NOT EXISTS request (\
41+
id INTEGER UNSIGNED PRIMARY KEY auto_increment,\
42+
application VARCHAR(255) NOT NULL,\
43+
ts TIMESTAMP NOT NULL,\
44+
script TEXT NOT NULL,\
45+
uri TEXT NOT NULL,\
46+
host TEXT NOT NULL,\
47+
ip INTEGER UNSIGNED NOT NULL,\
48+
cookies TEXT NOT NULL,\
49+
post_vars TEXT NOT NULL,\
50+
referer TEXT NOT NULL,\
51+
method TEXT NOT NULL\
52+
)"
53+
54+
#define TABLE_EVENT "\
55+
CREATE TABLE IF NOT EXISTS event (\
56+
id INTEGER UNSIGNED PRIMARY KEY auto_increment,\
57+
request_id INTEGER UNSIGNED,\
58+
ts TIMESTAMP NOT NULL,\
59+
type SMALLINT UNSIGNED NOT NULL,\
60+
file TEXT NOT NULL,\
61+
line MEDIUMINT UNSIGNED NOT NULL,\
62+
message TEXT NOT NULL,\
63+
backtrace BLOB NOT NULL,\
64+
KEY request (request_id)\
65+
)"
66+
67+
#define TABLE_STATS "\
68+
CREATE TABLE IF NOT EXISTS stats (\
69+
id INTEGER UNSIGNED PRIMARY KEY auto_increment,\
70+
request_id INTEGER UNSIGNED,\
71+
duration FLOAT UNSIGNED NOT NULL,\
72+
user_cpu FLOAT UNSIGNED NOT NULL,\
73+
sys_cpu FLOAT UNSIGNED NOT NULL,\
74+
mem_peak_usage INTEGER UNSIGNED NOT NULL,\
75+
KEY request (request_id)\
76+
)"
77+
78+
#define QUERY_REQUEST_ID "SET @request_id = LAST_INSERT_ID()"
79+
3980
#endif

driver_mysqlnd.c

Lines changed: 4 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -32,45 +32,6 @@ ZEND_EXTERN_MODULE_GLOBALS(apm);
3232

3333
APM_DRIVER_CREATE(mysql)
3434

35-
#define TABLE_REQUEST "\
36-
CREATE TABLE IF NOT EXISTS request (\
37-
id INTEGER UNSIGNED PRIMARY KEY auto_increment,\
38-
application VARCHAR(255) NOT NULL,\
39-
ts TIMESTAMP NOT NULL,\
40-
script TEXT NOT NULL,\
41-
uri TEXT NOT NULL,\
42-
host TEXT NOT NULL,\
43-
ip INTEGER UNSIGNED NOT NULL,\
44-
cookies TEXT NOT NULL,\
45-
post_vars TEXT NOT NULL,\
46-
referer TEXT NOT NULL,\
47-
method TEXT NOT NULL\
48-
)"
49-
50-
#define TABLE_EVENT "\
51-
CREATE TABLE IF NOT EXISTS event (\
52-
id INTEGER UNSIGNED PRIMARY KEY auto_increment,\
53-
request_id INTEGER UNSIGNED,\
54-
ts TIMESTAMP NOT NULL,\
55-
type SMALLINT UNSIGNED NOT NULL,\
56-
file TEXT NOT NULL,\
57-
line MEDIUMINT UNSIGNED NOT NULL,\
58-
message TEXT NOT NULL,\
59-
backtrace BLOB NOT NULL,\
60-
KEY request (request_id)\
61-
)"
62-
63-
#define TABLE_STATS "\
64-
CREATE TABLE IF NOT EXISTS stats (\
65-
id INTEGER UNSIGNED PRIMARY KEY auto_increment,\
66-
request_id INTEGER UNSIGNED,\
67-
duration FLOAT UNSIGNED NOT NULL,\
68-
user_cpu FLOAT UNSIGNED NOT NULL,\
69-
sys_cpu FLOAT UNSIGNED NOT NULL,\
70-
mem_peak_usage INTEGER UNSIGNED NOT NULL,\
71-
KEY request (request_id)\
72-
)"
73-
7435

7536
static void mysql_destroy(TSRMLS_D) {
7637
APM_DEBUG("[MySQL driver] Closing connection\n");
@@ -98,9 +59,9 @@ MYSQLND * mysql_get_instance(TSRMLS_D) {
9859

9960
mysqlnd_set_character_set(APM_G(mysql_event_db), "utf8");
10061

101-
mysqlnd_query(APM_G(mysql_event_db), TABLE_REQUEST, strlen(TABLE_REQUEST));
102-
mysqlnd_query(APM_G(mysql_event_db), TABLE_EVENT, strlen(TABLE_EVENT));
103-
mysqlnd_query(APM_G(mysql_event_db), TABLE_STATS, strlen(TABLE_STATS));
62+
mysqlnd_query(APM_G(mysql_event_db), TABLE_REQUEST, sizeof(TABLE_REQUEST)-1);
63+
mysqlnd_query(APM_G(mysql_event_db), TABLE_EVENT, sizeof(TABLE_EVENT)-1);
64+
mysqlnd_query(APM_G(mysql_event_db), TABLE_STATS, sizeof(TABLE_STATS)-1);
10465
}
10566

10667
return APM_G(mysql_event_db);
@@ -179,7 +140,7 @@ static void apm_driver_mysql_insert_request(TSRMLS_D)
179140
if (mysqlnd_query(connection, sql, strlen(sql)) != 0)
180141
APM_DEBUG("[MySQL driver] Error: %s\n", mysqlnd_error(APM_G(mysql_event_db)));
181142

182-
mysqlnd_query(connection, "SET @request_id = LAST_INSERT_ID()", strlen("SET @request_id = LAST_INSERT_ID()"));
143+
mysqlnd_query(connection, QUERY_REQUEST_ID, sizeof(QUERY_REQUEST_ID)-1);
183144

184145
efree(sql);
185146
if (application_esc)

0 commit comments

Comments
 (0)