Welcome Guest, Not a member yet? Register   Sign In
Small cosmetic bug in Profiler for CI 1.6.1
#1

[eluser]coldKingdom[/eluser]
I just noticed a small cosmetic bug in the profiler text in version 1.6.1

Now

Quote:SELECT `blog_id`, `blog_date`, `blog_header`, `blog_text_sv`, `usr_id`, `usr_name` FROM (`tbl_devblog`) INNER JOIN `tbl_users` ON blog_usr = usr_id ORDER BY `blog_date` desc LIMIT 1

Should be

Quote:SELECT `blog_id`, `blog_date`, `blog_header`, `blog_text_sv`, `usr_id`, `usr_name` FROM (`tbl_devblog`) INNER JOIN `tbl_users` ON blog_usr = usr_id ORDER BY `blog_date` desc LIMIT 1

As you can see there is only the word OR in ORDER BY that are bolded.

Best Regards
Andreas
#2

[eluser]Derek Jones[/eluser]
Fixed in the SVN, thank you Andreas.
#3

[eluser]coldKingdom[/eluser]
Glad to help Smile
#4

[eluser]kandmcreative[/eluser]
In libraries/Profiler.php, we have modified it to output breaks before highlighted keywords for even nicer sql profiler output. Perhaps this would be beneficial to others, or worthy of adding to SVN.

Code:
$highlight = array('SELECT', 'FROM', 'WHERE', 'AND', 'ORDER BY', 'LEFT JOIN', ' OR', 'LIMIT', 'INSERT', 'INTO', 'VALUES', 'UPDATE', 'UNION' , 'INNER JOIN','GROUP BY');
                
                foreach ($this->CI->db->queries as $key => $val)
                {
                    $val = htmlspecialchars($val, ENT_QUOTES);
                    $time = number_format($this->CI->db->query_times[$key], 4);
                    $i=0;
                    foreach ($highlight as $bold)
                    {
                        $break = $i==0 ? '' : '<br/>';
                        if (stristr($bold,'JOIN')) $break .= '&nbsp;&nbsp;&nbsp;&nbsp;';
                        $val = str_replace($bold, $break.'<strong>'.$bold.'</strong>', $val);    
                        $i++;
                    }
                    
                    $output .= "<tr><td width='1%' valign='top' style='color:#990000;font-weight:normal;background-color:#ddd;'>".$time."&nbsp;&nbsp;</td><td style='color:#000;font-weight:normal;background-color:#ddd;'>".$val."</td></tr>\n";
                }
            }

Outputs like this (with keywords bolded):
Code:
SELECT tblCredits.CreditID, CreditDate, CreditType, tblCredits.CreditAmount, Notes, Reference, SUM(tblItemCredits.CreditAmount) AS ItemCredit
FROM tblCredits
    INNER JOIN tblItemCredits ON tblItemCredits.CreditID = tblCredits.CreditID
    INNER JOIN tblInvoiceItems ON tblInvoiceItems.InvoiceItemID = tblItemCredits.InvoiceItemID
    INNER JOIN tblCreditType ON tblCreditType.CreditTypeID = tblCredits.CreditTypeID
WHERE tblInvoiceItems.InvoiceID = 136
GROUP BY tblCredits.CreditID, CreditDate, CreditType, Notes, Reference, tblCredits.CreditAmount




Theme © iAndrew 2016 - Forum software by © MyBB