File: includes/acm/acm_memory.php
Unmodified
Added
Modified
Removed
Line 292 | Line 292 |
---|
// 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.
|
// 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('/FROM \\(?(`?\\w+`?(?: \\w+)?(?:, ?`?\\w+`?(?: \\w+)?)*)\\)?/', $query, $regs))
| if (!preg_match_all('/(?:FROM \\(?(`?\\w+`?(?: \\w+)?(?:, ?`?\\w+`?(?: \\w+)?)*)\\)?)|(?:JOIN (`?\\w+`?(?: \\w+)?))/', $query, $regs, PREG_SET_ORDER))
|
{ // Bail out if the match fails. return; }
|
{ // Bail out if the match fails. return; }
|
$tables = array_map('trim', explode(',', $regs[1]));
| $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]; } }
|
foreach ($tables as $table_name) {
| foreach ($tables as $table_name) {
|