Bug #118114 INFO column in processlist tables truncates long queries despite using longtext type
Submitted: 5 May 12:38 Modified: 5 May 12:58
Reporter: Yunus UYANIK Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Server: Performance Schema Severity:S3 (Non-critical)
Version:8.0.42 OS:Any
Assigned to: CPU Architecture:Any
Tags: information_schema.processlist

[5 May 12:38] Yunus UYANIK
Description:
When querying performance_schema.processlist or information_schema.processlist, the INFO column, which is designed to store the full SQL text of currently running queries, is truncated even though the underlying schema defines it as longtext or varchar(65535) respectively.

mysql [localhost:8042] {msandbox} (test) > select * from performance_schema.processlist\G
              ID: 13
            USER: msandbox
            HOST: localhost
              DB: test
         COMMAND: Query
            TIME: 7
           STATE: User sleep
            INFO: SELECT * FROM SampleTable WHERE sleep(600) AND ID IN (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,27 [1024 char]

mysql [localhost:8042] {msandbox} (test) > select * from information_schema.processlist\G
*************************** 1. row ***************************
           ID: 13
         USER: msandbox
         HOST: localhost
           DB: test
      COMMAND: Query
         TIME: 800
        STATE: User sleep
         INFO: SELECT * FROM SampleTable WHERE sleep(600) AND ID IN (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,...,12764,127 [65536 char]
      TIME_MS: 799914
    ROWS_SENT: 0
ROWS_EXAMINED: 0

mysql [localhost:8042] {msandbox} (test) > show create table information_schema.processlist\G
*************************** 1. row ***************************
       Table: PROCESSLIST
Create Table: CREATE TEMPORARY TABLE `PROCESSLIST` (
...
  `INFO` longtext,
...

mysql [localhost:8042] {msandbox} (test) > show create table performance_schema.processlist\G
*************************** 1. row ***************************
       Table: processlist
Create Table: CREATE TABLE `processlist` (
...
  `INFO` longtext,
...

mysql [localhost:8042] {msandbox} (test) > desc information_schema.processlist\G
...
  Field: INFO
   Type: varchar(65535)
   Null: YES
    Key:
Default:
  Extra:

mysql [localhost:8042] {msandbox} (test) > desc performance_schema.processlist\G
...
  Field: INFO
   Type: longtext
   Null: YES
    Key:
Default: NULL
  Extra:

How to repeat:
Run long text query and select processlist from information_schema and performance_schema.

Suggested fix:
Should show all query without truncated.
DESC and SHOW CREATE TABLE output should match.
[5 May 12:58] MySQL Verification Team
Hello Yunus UYANIK,

Thank you for the report and feedback.

regards,
Umesh