diff --git a/phpBB/phpbb/cache/driver/memory.php b/phpBB/phpbb/cache/driver/memory.php index 0b0e323e3d..56308be8da 100644 --- a/phpBB/phpbb/cache/driver/memory.php +++ b/phpBB/phpbb/cache/driver/memory.php @@ -208,24 +208,12 @@ abstract class memory extends \phpbb\cache\driver\base // determine which tables this query belongs to // Some queries use backticks, namely the get_database_size() query // don't check for conformity, the SQL would error and not reach here. - if (!preg_match_all('/(?:FROM \\(?(`?\\w+`?(?: \\w+)?(?:, ?`?\\w+`?(?: \\w+)?)*)\\)?)|(?:JOIN (`?\\w+`?(?: \\w+)?))/', $query, $regs, PREG_SET_ORDER)) + if (!preg_match('/FROM \\(?(`?\\w+`?(?: \\w+)?(?:, ?`?\\w+`?(?: \\w+)?)*)\\)?/', $query, $regs)) { // Bail out if the match fails. return $query_result; } - - $tables = array(); - foreach ($regs as $match) - { - if ($match[0][0] == 'F') - { - $tables = array_merge($tables, array_map('trim', explode(',', $match[1]))); - } - else - { - $tables[] = $match[2]; - } - } + $tables = array_map('trim', explode(',', $regs[1])); foreach ($tables as $table_name) { diff --git a/tests/cache/cache_memory.php b/tests/cache/cache_memory.php deleted file mode 100644 index c468cb4658..0000000000 --- a/tests/cache/cache_memory.php +++ /dev/null @@ -1,62 +0,0 @@ -data[$var]; - } - - /** - * Store data in the cache - * - * @access protected - * @param string $var Cache key - * @param mixed $data Data to store - * @param int $ttl Time-to-live of cached data - * @return bool True if the operation succeeded - */ - function _write($var, $data, $ttl = 2592000) - { - $this->data[$var] = $data; - return true; - } - - /** - * Remove an item from the cache - * - * @access protected - * @param string $var Cache key - * @return bool True if the operation succeeded - */ - function _delete($var) - { - unset($this->data[$var]); - return true; - } -} diff --git a/tests/cache/cache_memory_test.php b/tests/cache/cache_memory_test.php deleted file mode 100644 index 7a529c1d04..0000000000 --- a/tests/cache/cache_memory_test.php +++ /dev/null @@ -1,125 +0,0 @@ -createXMLDataSet(dirname(__FILE__).'/fixtures/cache_memory.xml'); - } - - protected function setUp() - { - global $db; - parent::setUp(); - - $this->cache = new phpbb_cache_memory(); - $db = $this->new_dbal(); - } - - static public function cache_single_query_data() - { - return array( - array( - array( - array( - 'SELECT * FROM ' . POSTS_TABLE, - 3, - ), - ), - POSTS_TABLE, - ), - array( - array( - array( - 'SELECT * FROM ' . POSTS_TABLE, - 3, - ), - array( - 'SELECT * FROM ' . POSTS_TABLE . ' p - LEFT JOIN ' . TOPICS_TABLE . ' t ON p.topic_id = t.topic_id', - 3, - ), - ), - POSTS_TABLE, - ), - array( - array( - array( - 'SELECT * FROM ' . POSTS_TABLE, - 3, - ), - array( - 'SELECT * FROM ' . POSTS_TABLE . ' p - LEFT JOIN ' . TOPICS_TABLE . ' t ON p.topic_id = t.topic_id', - 3, - ), - array( - 'SELECT * FROM ' . POSTS_TABLE . ' p - LEFT JOIN ' . TOPICS_TABLE . ' t ON p.topic_id = t.topic_id - LEFT JOIN ' . USERS_TABLE . ' u ON p.poster_id = u.user_id', - 3, - ), - ), - POSTS_TABLE, - ), - array( - array( - array( - 'SELECT * FROM ' . POSTS_TABLE . ' p - LEFT JOIN ' . TOPICS_TABLE . ' t ON p.topic_id = t.topic_id', - 3, - ), - array( - 'SELECT * FROM ' . POSTS_TABLE . ' p - LEFT JOIN ' . TOPICS_TABLE . ' t ON p.topic_id = t.topic_id - LEFT JOIN ' . USERS_TABLE . ' u ON p.poster_id = u.user_id', - 3, - ), - ), - TOPICS_TABLE, - ), - ); - } - - /** - * @dataProvider cache_single_query_data - */ - public function test_cache_single_query($sql_queries, $table) - { - global $db; - - foreach ($sql_queries as $query) - { - $sql_request_res = $db->sql_query($query[0]); - - $this->cache->sql_save($query[0], $sql_request_res, 1); - - $results = array(); - $query_id = $this->cache->sql_load($query[0]); - while ($row = $this->cache->sql_fetchrow($query_id)) - { - $results[] = $row; - } - $this->cache->sql_freeresult($query_id); - $this->assertEquals($query[1], sizeof($results)); - } - - $this->cache->destroy('sql', $table); - - foreach ($sql_queries as $query) - { - $this->assertNotEquals(false, $this->cache->sql_load($query[0])); - } - } -} diff --git a/tests/cache/fixtures/cache_memory.xml b/tests/cache/fixtures/cache_memory.xml deleted file mode 100644 index 6954c7b76b..0000000000 --- a/tests/cache/fixtures/cache_memory.xml +++ /dev/null @@ -1,85 +0,0 @@ - - - - topic_id - forum_id - topic_title - topic_first_post_id - topic_last_post_id - - 1 - 1 - Topic - 2 - 2 - -
- - post_id - poster_id - topic_id - forum_id - post_text - - 1 - 1 - 1 - 1 - Post 1 - - - 2 - 2 - 1 - 1 - Post 2 - - - 3 - 3 - 1 - 1 - Post 3 - -
- - user_id - user_posts - username - username_clean - user_permissions - user_sig - user_occ - user_interests - - 1 - 1 - user 1 - user 1 - - - - - - - 2 - 1 - user 2 - user 2 - - - - - - - 3 - 1 - user 3 - user 3 - - - - - -
-