• unknown's avatar
    BUG#26257 New Federated Server Functionality Doesn't support differently named tables · 99c5c28c
    unknown authored
    * Modified Federated memory allocation to use MEM_ROOT
    * Modified sql_servers and federated to allocate share connection
      parameters to use MEM_ROOT
    * Modified Federated to allow tablename in addition to server name
    * Implicit flushing of tables using altered/dropped server name
    * Added tests to prove new functionality works
    
    Contributors to this patch: Patrick Galbraith, Antony Curtis
    
    
    mysql-test/r/federated_server.result:
      BUG #26257 New Federated Server Functionality Doesn't support differently named tables
      
        New test results
    mysql-test/t/federated_server.test:
      BUG #26257 New Federated Server Functionality Doesn't support differently named tables
      
      New test which ensures that one can use the new 'create server'
      functionality and have tables point to the correct table, using CONNECTION='server',
      CONNECTION="server/tablename" and CONNECTION="mysql://...url"
    sql/mysql_priv.h:
      BUG #26257 New Federated Server Functionality Doesn't support differently named tables
      
      new function: close_cached_connection_tables()
    sql/sql_base.cc:
      BUG #26257 New Federated Server Functionality Doesn't support differently named tables
      
      new function: close_cached_connection_tables()
        closes all open tables which match connection string
        provides functionality to allow flushing of altered/dropped server names.
    sql/sql_servers.cc:
      BUG #26257 New Federated Server Functionality Doesn't support differently named tables
      
      * Added function clone_server() to allocate a new server for use by
        get_server_by_name() when creating a federated table
      
      * Now using MEM_ROOT allocation (mark and sweep) to account for meta
        data parameters being allocated properly, particularly with regards to
        to SERVER object. Also cleans up code allocating share.
      
      * Tables using the old definition of server name are now flushed on successful
        execution of ALTER/DROP SERVER.
      
      style: fixed some line-wrapping
    sql/sql_servers.h:
      BUG #26257 New Federated Server Functionality Doesn't support differently named tables
      
      * change in prototype to get_server_by_name()
        caller can now provide mem_root which strings will be copied in to.
    storage/federated/ha_federated.cc:
      BUG #26257 New Federated Server Functionality Doesn't support differently named tables
      
      * Simplified share and share member memory allocaton to use MEM_ROOT
      * Modified parse_url to parse table names along with server names
    storage/federated/ha_federated.h:
      BUG #26257 New Federated Server Functionality Doesn't support differently named tables
      
      * Added MEM_ROOT share member
    99c5c28c
mysql_priv.h 82.2 KB