• Georgi Kodinov's avatar
    Bug #22047 : Time in SHOW PROCESSLIST for SQL thread in replication · f35b4218
    Georgi Kodinov authored
    seems to become negative
    
    THD::start_time has a dual meaning : it's either the time since the process
    entered a given state or is the transaction time returned by e.g. NOW().
    This causes problems, as sometimes THD::start_time may be set to a value
    that is correct and needed when used as a base for NOW(), but these times
    may be arbitrary (SET @@timestamp) or non-local (coming from the master 
    through the replication feed).
    If one such non-local time is set there's no way to return a correct value
    for e.g. SHOW PROCESSLIST or SELECT ... FROM INFORMATION_SCHEMA.PROCESSLIST.
    Fixed by making the Time column in SHOW PROCESSLIST SIGNED LONG instead of 
    UNSIGNED LONG and doing the correct conversions.
          
    Note that no reliable test suite can be constructed, since it would require
    knowing the local time and can't be achieved by the means of the current test
    suite.
    
    sql/sql_show.cc:
      Bug #22047: make the Time in SHOW PROCESSLIST LONG from 
      LONG UNSIGNED
    f35b4218
sql_show.cc 149 KB