Skip to content
  • Magnus Blåudd's avatar
    40d805ec
    WL#7575 Remove ndbinfo's usage of other engine · 40d805ec
    Magnus Blåudd authored
    - Add support for virtual (aka. hardoded table in ha_ndbinfo).
    - Extracted NdbInfoScanoperation to become an abstract interface
      to allow different scan implementations. The NdbInfo classes
      are internal so this is fine. Rename existing scan implementation
      to NdbInfoScanNodes which reads from the tables in the data nodes
      and then added new NdbInfoScanVirtual which reads from the virtual
      table. The factory function createScanOperation() decides which one
      to create based on the "virt" member in Table.
    - Create virtual table in Ndbinfo::init() and destroy them in
      destructor. This is important since the Table class  has
      pointer(s) to these tables. Alternatively the pointer could have been
      avoided at the cost of one hash lookup in createScanOperation() to
      determine if the table is virtual or not.
    - Implement ndb$blocks, ndb$dict_obj_types, ndb$config_params,
      ndb$dbtc_apiconnect_state and ndb$dblqh_tcconnect_state
    - Added SQL to create the above tables.
    - Added SQL to create backward compatibility views for the three old
      table names -  blocks, config_params and dict_obj_types
    - Updated ndbinfo_sql to generate code for the new virtual tables,
      drop the "old" tables and create the new views.
    - After this patch all tables in ndbinfo should have engine = NDBINFO.
    40d805ec
    WL#7575 Remove ndbinfo's usage of other engine
    Magnus Blåudd authored
    - Add support for virtual (aka. hardoded table in ha_ndbinfo).
    - Extracted NdbInfoScanoperation to become an abstract interface
      to allow different scan implementations. The NdbInfo classes
      are internal so this is fine. Rename existing scan implementation
      to NdbInfoScanNodes which reads from the tables in the data nodes
      and then added new NdbInfoScanVirtual which reads from the virtual
      table. The factory function createScanOperation() decides which one
      to create based on the "virt" member in Table.
    - Create virtual table in Ndbinfo::init() and destroy them in
      destructor. This is important since the Table class  has
      pointer(s) to these tables. Alternatively the pointer could have been
      avoided at the cost of one hash lookup in createScanOperation() to
      determine if the table is virtual or not.
    - Implement ndb$blocks, ndb$dict_obj_types, ndb$config_params,
      ndb$dbtc_apiconnect_state and ndb$dblqh_tcconnect_state
    - Added SQL to create the above tables.
    - Added SQL to create backward compatibility views for the three old
      table names -  blocks, config_params and dict_obj_types
    - Updated ndbinfo_sql to generate code for the new virtual tables,
      drop the "old" tables and create the new views.
    - After this patch all tables in ndbinfo should have engine = NDBINFO.
Loading