2012-12-16

Stored Procedure call stack in INFORMATION_SCHEMA

This is a MySQL feature request submitted as bug report #36106.

Having a call stack available in stored procedures would make debugging much much easier. It could be a table like this:

----------------------------------------------
depth INT  routine_name VARCHAR   routine_type ENUM  started TIMESTAMP ...
1          nn_TeachXOR            PROCEDURE          128458937
2          nn_ComputeNet          PROCEDURE          128458938
3          nn_ComputeLevel        PROCEDURE          128458938
...

With such table, one could do profiling,

SELECT UNIX_TIMESTAMP() - started AS duration
  FROM INFORMATION_SCHEMA.CALLSTACK
  ORDER BY depth DESC LIMIT 1;

structured logging, e.g.:

INSERT INTO log
  SELECT CONCAT( REPEAT('  ', ), '+--  ', routine_name) AS str
  ORDER BY depth ASC;

and more…


0