• cmiller@zippy.cornsilk.net's avatar
    Changing the state of whether we're recording profiling information · 88455a04
    cmiller@zippy.cornsilk.net authored
    halfway through a query (as happens in "SET SESSION PROFILING = ...")
    has a few side-effects, the worst of which is a memory leak for
    prepared statements, which poke directly from the parser into the 
    profiling code (we don't have the query text when we need it) and 
    that overwrites a pointer to heap-allocated memory when the previous
    statement turns on profiling.
    
    Instead, now set a flag when we begin a new statement that tracks 
    whether profiling is on _at the start_ of the query.  Use that to
    track whether we gather info.
    
    Additionally, use that AND use the state of the profiling variable
    after the end of a query to know whether to store information about 
    the query that just finished.
    88455a04
sql_profile.cc 24.1 KB