Welcome Guest, Not a member yet? Register   Sign In
db->queries and db->query_times sometimes do not correspond
#1

[eluser]Sixer[/eluser]
Hi,

please delete this thread. The question was made based on some confusion in my debugging.

Quote:Hi,

I have adopted a large application that was written in CodeIgniter 1.7.

At every page load, it logs to file a combo of the entries that reside in $this->db->queries and $this->db->querytimes, like so:

Code:
if($this->db->queries) {
                foreach($this->db->queries as $key => $val) {
                    if($this->db->query_times[$key] >= 1) {
                        log_message('error', 'This database query took ' . round($this->db->query_times[$key],1) . ' seconds: ' . $val);
                    }
                }
            }

I get the impression that these two arrays were not meant to be read directly, as they are undocumented, but they do work most of the time.

However, sometimes, the final entry in $this->db->query_times has no corresponding entry in $this->db->queries. I know this because I do a print_r($this->db->query_times); print_r($this->db->queries);. This makes it impossible for me to find out which query string generated the stored query time. Unfortunately the slowest query in our app has corresponding query string stored in $this->db->queries.

Could this be a bug in CI ? Or am I (or my predecessor) wrongly assuming that $this->db->queries and $this->db->query_times are supposed to be corresponding arrays?




Theme © iAndrew 2016 - Forum software by © MyBB