WL#2467: Sub-class Federated Storage Engine
Affects: Server-7.0 — Status: Un-Assigned — Priority: Medium
The Federated Storage Engine, in order to accomodate being able to have other connector APIs used, such as JDBC, ODBC, or other vendors, needs to be subclassed so that there is a main parent Federated class that uses the appropriate child class depending on what connector API is used. ha_federated.cc / | \ / | \ / | \ / | \ / | \ / | \ / | \ / | \ ha_federated_mysql ha_federated_jdbc ha_federated_odbc Currently, there is only one handler class for federated, defined in ha_federated.h, implemented in ha_federated.cc. A new 'ha_federated' directory will need to be created, with the subclasses such as ha_federated.jdbc.h/.cc (and other subclasses) stored in this directory. The class ha_federated will then have to have a 'dispatcher' to call the correct subclass according to the 'scheme' used, found in the table definition's connection name, stored for that connection in FOREIGN_SERVERS system table. Using handler.cc as a model, an idea of how this might be implented can be seen with the method 'get_new_handler', which instantiates a new handler subclass of the appropriate type via the enum variable 'db_type'. So, also, it does appear that an enumerated type with the federated table sub-types will also have to be defined.
Copyright (c) 2000, 2017, Oracle Corporation and/or its affiliates. All rights reserved.