-
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.
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