Skip to content
  • Dmitry Shulga's avatar
    0836f5c6
    WL#7900 -- New DD: Support flexible creation and versioning of virtual P_S tables · 0836f5c6
    Dmitry Shulga authored
    This worklog provides support for:
      * retrieving P_S table definitions from performance schema engine
        and
      * for versioning of P_S table definitions.
    
    To implement it the following modifications are done within the worklog:
    
      * A version of performance schema supported by server is stored in the table
        mysql.dd_properties as a value of property with the name "PS_version";
    
      * For every created P_S table a boolean property with the name
        "server_p_s_table" and the value "true" is stored in the column "options" of
        the table mysql.tables;
    
      * The P_S tables are recreated only in case a value of the property PS_version
        stored in Data Dictionary is different from the version of performance schema
        supported by server;
    
      * To recreate P_S tables, the "old" P_S tables are dropped and new ones
        are created;
    
      * To drop "old" P_S tables the metadata about all P_S tables stored in DD are
        fetched and those tables that contains the property with name
        "server_p_s_table" are dropped;
    
      * New P_S tables to be created are supplied by performance schema storage
        engine;
    
      * Every P_S table is defined in terms of instance of the class Plugin_table
        and embedded into server code;
    
      * The class Plugin_table is used to produce SQL statements for creation of
        P_S tables;
    
      * The classes Plugin_table, Plugin_table_impl were modified to allow optional
        setting of tablespace name for a table being created;
    
      * DDL SQL-statements for creation of server P_S tables were removed from
        the file mysql_system_tables.sql.
    0836f5c6
    WL#7900 -- New DD: Support flexible creation and versioning of virtual P_S tables
    Dmitry Shulga authored
    This worklog provides support for:
      * retrieving P_S table definitions from performance schema engine
        and
      * for versioning of P_S table definitions.
    
    To implement it the following modifications are done within the worklog:
    
      * A version of performance schema supported by server is stored in the table
        mysql.dd_properties as a value of property with the name "PS_version";
    
      * For every created P_S table a boolean property with the name
        "server_p_s_table" and the value "true" is stored in the column "options" of
        the table mysql.tables;
    
      * The P_S tables are recreated only in case a value of the property PS_version
        stored in Data Dictionary is different from the version of performance schema
        supported by server;
    
      * To recreate P_S tables, the "old" P_S tables are dropped and new ones
        are created;
    
      * To drop "old" P_S tables the metadata about all P_S tables stored in DD are
        fetched and those tables that contains the property with name
        "server_p_s_table" are dropped;
    
      * New P_S tables to be created are supplied by performance schema storage
        engine;
    
      * Every P_S table is defined in terms of instance of the class Plugin_table
        and embedded into server code;
    
      * The class Plugin_table is used to produce SQL statements for creation of
        P_S tables;
    
      * The classes Plugin_table, Plugin_table_impl were modified to allow optional
        setting of tablespace name for a table being created;
    
      * DDL SQL-statements for creation of server P_S tables were removed from
        the file mysql_system_tables.sql.
Loading