diff options
Diffstat (limited to 'phpBB/includes/db/firebird.php')
| -rw-r--r-- | phpBB/includes/db/firebird.php | 32 |
1 files changed, 20 insertions, 12 deletions
diff --git a/phpBB/includes/db/firebird.php b/phpBB/includes/db/firebird.php index 7fd034c7dc..5ce4949956 100644 --- a/phpBB/includes/db/firebird.php +++ b/phpBB/includes/db/firebird.php @@ -97,6 +97,12 @@ class dbal_firebird extends dbal { global $cache; + // EXPLAIN only in extra debug mode + if (defined('DEBUG_EXTRA')) + { + $this->sql_report('start', $query); + } + $this->last_query_text = $query; $this->query_result = ($cache_ttl && method_exists($cache, 'sql_load')) ? $cache->sql_load($query) : false; $this->sql_add_num_queries($this->query_result); @@ -108,6 +114,11 @@ class dbal_firebird extends dbal $this->sql_error($query); } + if (defined('DEBUG_EXTRA')) + { + $this->sql_report('stop', $query); + } + if (!$this->transaction) { if (function_exists('ibase_commit_ret')) @@ -131,6 +142,10 @@ class dbal_firebird extends dbal $this->open_queries[(int) $this->query_result] = $this->query_result; } } + else if (defined('DEBUG_EXTRA')) + { + $this->sql_report('fromcache', $query); + } } else { @@ -143,20 +158,13 @@ class dbal_firebird extends dbal /** * Build LIMIT query */ - function sql_query_limit($query, $total, $offset = 0, $cache_ttl = 0) + function _sql_query_limit($query, $total, $offset = 0, $cache_ttl = 0) { - if ($query != '') - { - $this->query_result = false; + $this->query_result = false; - $query = 'SELECT FIRST ' . $total . ((!empty($offset)) ? ' SKIP ' . $offset : '') . substr($query, 6); + $query = 'SELECT FIRST ' . $total . ((!empty($offset)) ? ' SKIP ' . $offset : '') . substr($query, 6); - return $this->sql_query($query, $cache_ttl); - } - else - { - return false; - } + return $this->sql_query($query, $cache_ttl); } /** @@ -269,7 +277,7 @@ class dbal_firebird extends dbal { $sql = "SELECT GEN_ID(" . $tablename[1] . "_gen, 0) AS new_id FROM RDB\$DATABASE"; - if (!($temp_q_id = @ibase_query($this->db_connect_id, $sql))) + if (!($temp_q_id = @ibase_query($this->db_connect_id, $sql))) { return false; } |
