Index: trunk/core/kernel/application.php
===================================================================
diff -u -r951 -r961
--- trunk/core/kernel/application.php (.../application.php) (revision 951)
+++ trunk/core/kernel/application.php (.../application.php) (revision 961)
@@ -815,7 +815,11 @@
$errorLevel=defined('DBG_SQL_FAILURE')&&DBG_SQL_FAILURE?E_USER_ERROR:E_USER_WARNING;
$debugger->dumpVars($_REQUEST);
$debugger->appendTrace();
- trigger_error(''.$msg.' ('.$code.')
SQL: '.$debugger->highlightString($sql),$errorLevel);
+
+ $error_msg = ''.$msg.' ('.$code.')
SQL: '.$debugger->formatSQL($sql);
+ $long_id=$debugger->mapLongError($error_msg);
+ trigger_error($msg.' ('.$code.') ['.$sql.'] #'.$long_id, $errorLevel);
+
return true;
}
else
Index: trunk/core/kernel/utility/debugger.php
===================================================================
diff -u -r947 -r961
--- trunk/core/kernel/utility/debugger.php (.../debugger.php) (revision 947)
+++ trunk/core/kernel/utility/debugger.php (.../debugger.php) (revision 961)
@@ -6,6 +6,7 @@
if(!defined('DBG_USE_SHUTDOWN_FUNC')) define('DBG_USE_SHUTDOWN_FUNC',1);
if(!defined('DBG_HANDLE_ERRORS')) define('DBG_HANDLE_ERRORS', isset($_REQUEST['debug_host']) ? 0 : 1);
+
if(!defined('DBG_RAISE_ON_WARNINGS')) define('DBG_RAISE_ON_WARNINGS',0);
if(!defined('DBG_SHOW_MEMORY_USAGE')) define('DBG_SHOW_MEMORY_USAGE',1);
@@ -39,6 +40,8 @@
'output_buffer' => 4, 'highlight_output' => 8);
+ var $longErrors=Array();
+
/**
* Amount of memory used by debugger itself
*
@@ -58,6 +61,13 @@
}
+ function mapLongError($msg)
+ {
+ $key=$this->generateID();
+ $this->longErrors[$key]=$msg;
+ return $key;
+ }
+
function setOption($name,$value)
{
if( !isset($this->OptionsMap[$name]) ) die('undefined debugger option: ['.$name.']
');
@@ -208,7 +218,7 @@
function formatSQL($sql)
{
$sql = preg_replace('/(\n|\t| )+/is',' ',$sql);
- $sql = preg_replace('/(CREATE TABLE|DROP TABLE|SELECT|UPDATE|SET|REPLACE|INSERT|DELETE|VALUES|FROM|LEFT JOIN|WHERE|HAVING|GROUP BY|ORDER BY) /is', "\n\t$1 ",$sql);
+ $sql = preg_replace('/(CREATE TABLE|DROP TABLE|SELECT|UPDATE|SET|REPLACE|INSERT|DELETE|VALUES|FROM|LEFT JOIN|INNER JOIN|LIMIT|WHERE|HAVING|GROUP BY|ORDER BY) /is', "\n\t$1 ",$sql);
return $this->highlightString($sql);
}
@@ -685,6 +695,15 @@
return false;
}
+ $long_id_pos=strrpos($errstr,'#');
+ if($long_id_pos!==false)
+ {
+ // replace short message with long one (due triger_error limitations on message size)
+ $long_id=substr($errstr,$long_id_pos+1,strlen($errstr));
+ $errstr=$this->longErrors[$long_id];
+ unset($this->longErrors[$long_id]);
+ }
+
if( strpos($errfile,'eval()\'d code') !== false )
{
$errstr = '[EVAL, line '.$errline.']: '.$errstr;
Index: trunk/kernel/include/adodb/adodb.inc.php
===================================================================
diff -u -r859 -r961
--- trunk/kernel/include/adodb/adodb.inc.php (.../adodb.inc.php) (revision 859)
+++ trunk/kernel/include/adodb/adodb.inc.php (.../adodb.inc.php) (revision 961)
@@ -755,8 +755,11 @@
$errorLevel = defined('SQL_ERROR_DIE')&&SQL_ERROR_DIE ? E_USER_ERROR : E_USER_WARNING;
$debugger->dumpVars($_REQUEST);
$debugger->appendTrace();
- trigger_error(''.$m.' ('.$e.')
SQL: '.$debugger->formatSQL($sql), $errorLevel);
+ $error_msg = ''.$m.' ('.$e.')
SQL: '.$debugger->formatSQL($sql);
+ $long_id=$debugger->mapLongError($error_msg);
+ trigger_error($m.' ('.$e.') ['.$sql.'] #'.$long_id, $errorLevel);
+
ADOConnection::outp($e .': '. $m );
flush();
}
Index: trunk/kernel/include/debugger.php
===================================================================
diff -u -r948 -r961
--- trunk/kernel/include/debugger.php (.../debugger.php) (revision 948)
+++ trunk/kernel/include/debugger.php (.../debugger.php) (revision 961)
@@ -6,6 +6,7 @@
if(!defined('DBG_USE_SHUTDOWN_FUNC')) define('DBG_USE_SHUTDOWN_FUNC',1);
if(!defined('DBG_HANDLE_ERRORS')) define('DBG_HANDLE_ERRORS', isset($_REQUEST['debug_host']) ? 0 : 1);
+
if(!defined('DBG_RAISE_ON_WARNINGS')) define('DBG_RAISE_ON_WARNINGS',0);
if(!defined('DBG_SHOW_MEMORY_USAGE')) define('DBG_SHOW_MEMORY_USAGE',1);
@@ -39,6 +40,8 @@
'output_buffer' => 4, 'highlight_output' => 8);
+ var $longErrors=Array();
+
/**
* Amount of memory used by debugger itself
*
@@ -58,6 +61,13 @@
}
+ function mapLongError($msg)
+ {
+ $key=$this->generateID();
+ $this->longErrors[$key]=$msg;
+ return $key;
+ }
+
function setOption($name,$value)
{
if( !isset($this->OptionsMap[$name]) ) die('undefined debugger option: ['.$name.']
');
@@ -208,7 +218,7 @@
function formatSQL($sql)
{
$sql = preg_replace('/(\n|\t| )+/is',' ',$sql);
- $sql = preg_replace('/(CREATE TABLE|DROP TABLE|SELECT|UPDATE|SET|REPLACE|INSERT|DELETE|VALUES|FROM|LEFT JOIN|WHERE|HAVING|GROUP BY|ORDER BY) /is', "\n\t$1 ",$sql);
+ $sql = preg_replace('/(CREATE TABLE|DROP TABLE|SELECT|UPDATE|SET|REPLACE|INSERT|DELETE|VALUES|FROM|LEFT JOIN|INNER JOIN|LIMIT|WHERE|HAVING|GROUP BY|ORDER BY) /is', "\n\t$1 ",$sql);
return $this->highlightString($sql);
}
@@ -685,6 +695,15 @@
return false;
}
+ $long_id_pos=strrpos($errstr,'#');
+ if($long_id_pos!==false)
+ {
+ // replace short message with long one (due triger_error limitations on message size)
+ $long_id=substr($errstr,$long_id_pos+1,strlen($errstr));
+ $errstr=$this->longErrors[$long_id];
+ unset($this->longErrors[$long_id]);
+ }
+
if( strpos($errfile,'eval()\'d code') !== false )
{
$errstr = '[EVAL, line '.$errline.']: '.$errstr;