diff --git a/ext/pdo_sqlite/sqlite_statement.c b/ext/pdo_sqlite/sqlite_statement.c index c6b907f6fc22f..6fe914c22bc4f 100644 --- a/ext/pdo_sqlite/sqlite_statement.c +++ b/ext/pdo_sqlite/sqlite_statement.c @@ -26,6 +26,9 @@ #include "php_pdo_sqlite.h" #include "php_pdo_sqlite_int.h" +#ifdef HAVE_VALGRIND +# include "valgrind/callgrind.h" +#endif static int pdo_sqlite_stmt_dtor(pdo_stmt_t *stmt) { @@ -48,7 +51,14 @@ static int pdo_sqlite_stmt_execute(pdo_stmt_t *stmt) } S->done = 0; - switch (sqlite3_step(S->stmt)) { +#ifdef HAVE_VALGRIND + CALLGRIND_TOGGLE_COLLECT; +#endif + int result = sqlite3_step(S->stmt); +#ifdef HAVE_VALGRIND + CALLGRIND_TOGGLE_COLLECT; +#endif + switch (result) { case SQLITE_ROW: S->pre_fetched = 1; php_pdo_stmt_set_column_count(stmt, sqlite3_data_count(S->stmt)); @@ -214,7 +224,13 @@ static int pdo_sqlite_stmt_fetch(pdo_stmt_t *stmt, if (S->done) { return 0; } +#ifdef HAVE_VALGRIND + CALLGRIND_TOGGLE_COLLECT; +#endif i = sqlite3_step(S->stmt); +#ifdef HAVE_VALGRIND + CALLGRIND_TOGGLE_COLLECT; +#endif switch (i) { case SQLITE_ROW: return 1; diff --git a/ext/sqlite3/sqlite3.c b/ext/sqlite3/sqlite3.c index 4f53269d187a2..a6b71ed1dd347 100644 --- a/ext/sqlite3/sqlite3.c +++ b/ext/sqlite3/sqlite3.c @@ -31,6 +31,10 @@ #include "SAPI.h" #include "sqlite3_arginfo.h" +#ifdef HAVE_VALGRIND +# include "valgrind/callgrind.h" +#endif + ZEND_DECLARE_MODULE_GLOBALS(sqlite3) static PHP_GINIT_FUNCTION(sqlite3); @@ -595,7 +599,14 @@ PHP_METHOD(SQLite3, query) result->column_count = -1; ZVAL_OBJ(&result->stmt_obj_zval, Z_OBJ(stmt)); + +#ifdef HAVE_VALGRIND + CALLGRIND_TOGGLE_COLLECT; +#endif return_code = sqlite3_step(result->stmt_obj->stmt); +#ifdef HAVE_VALGRIND + CALLGRIND_TOGGLE_COLLECT; +#endif switch (return_code) { case SQLITE_ROW: /* Valid Row */ @@ -697,7 +708,13 @@ PHP_METHOD(SQLite3, querySingle) RETURN_FALSE; } +#ifdef HAVE_VALGRIND + CALLGRIND_TOGGLE_COLLECT; +#endif return_code = sqlite3_step(stmt); +#ifdef HAVE_VALGRIND + CALLGRIND_TOGGLE_COLLECT; +#endif switch (return_code) { case SQLITE_ROW: /* Valid Row */ @@ -1796,7 +1813,13 @@ PHP_METHOD(SQLite3Stmt, execute) RETURN_FALSE; } +#ifdef HAVE_VALGRIND + CALLGRIND_TOGGLE_COLLECT; +#endif return_code = sqlite3_step(stmt_obj->stmt); +#ifdef HAVE_VALGRIND + CALLGRIND_TOGGLE_COLLECT; +#endif switch (return_code) { case SQLITE_ROW: /* Valid Row */ @@ -1953,7 +1976,13 @@ PHP_METHOD(SQLite3Result, fetchArray) SQLITE3_CHECK_INITIALIZED(result_obj->db_obj, result_obj->stmt_obj->initialised, SQLite3Result) +#ifdef HAVE_VALGRIND + CALLGRIND_TOGGLE_COLLECT; +#endif ret = sqlite3_step(result_obj->stmt_obj->stmt); +#ifdef HAVE_VALGRIND + CALLGRIND_TOGGLE_COLLECT; +#endif switch (ret) { case SQLITE_ROW: /* If there was no return value then just skip fetching */