Bug #26257 New Federated Server Functionality Doesn't support differently named tables
Submitted: 10 Feb 2007 13:55 Modified: 13 Apr 2007 17:44
Reporter: Patrick Galbraith Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Federated storage engine Severity:S3 (Non-critical)
Version:5.1 OS:Any (all)
Assigned to: Antony Curtis CPU Architecture:Any

[10 Feb 2007 13:55] Patrick Galbraith
Description:
When creating a federated table with the new server syntax:

create table t1 (a int(10)) ENGINE=FEDERATED CONNECTION="myserver";

You do not have the ability to have a differently named table locally
 (federated) than on the foreign data source as you did with:

create table t1 (a int(1)) ENGINE=FEDERATED CONNECTION="mysql://root@localhost/test/t2"

How to repeat:
steps above in description

Suggested fix:
Forthcoming patch that I will be committing.
[10 Feb 2007 14:04] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/19654

ChangeSet@1.2391, 2007-02-10 09:03:46-05:00, patg@ishvara.patg.net +4 -0
  BUG #26257
      
      New Federated Server Functionality Doesn't support differently named tables
      
      * Added method tmp_clone_server to allocate a new server to use for 
        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
        SERVER object. Also cleans up code allocating share.
      * Added the ability to specify connection name _AND_ tablename per review
        of first attempt patch from Brian Aker
  
  This patch was possible with code from Antony Curtis. All code has been 
  run with --valgrind flag and passed.
[13 Mar 2007 17:33] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/21831

ChangeSet@1.2479, 2007-03-13 13:32:20-04:00, patg@ishvara.patg.net +6 -0
  BUG #26257 New Federated Server Functionality Doesn't support differently named tables
  
  * 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
  * Added tests to prove new functionality works
  
  Help for this patch provided by Antony Curtis
[14 Mar 2007 23:41] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/21958

ChangeSet@1.2481, 2007-03-14 14:45:16-07:00, acurtis@xiphis.org +8 -0
  BUG#26257 New Federated Server Functionality Doesn't support differently named tables
    
  * 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
[15 Mar 2007 1:53] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/21967

ChangeSet@1.2481, 2007-03-14 17:52:45-07:00, acurtis@xiphis.org +8 -0
  BUG#26257 New Federated Server Functionality Doesn't support differently named tables
    
  * 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
[24 Mar 2007 0:17] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/22849

ChangeSet@1.2498, 2007-03-23 16:17:23-07:00, acurtis@xiphis.org +8 -0
  BUG#26257 New Federated Server Functionality Doesn't support differently named tables
  
  * 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
  Post-review fixes.
[24 Mar 2007 0:33] Antony Curtis
Ugh! Ignore the previous cset.
I was confused and did the wrong thing in the wrong repository due to a misnamed local repository directory name.
(however, some of it was good - like the removal of the gratutious renames in the test case. I will have to make a new cset to reflect this.)
[24 Mar 2007 9:18] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/22861

ChangeSet@1.2499, 2007-03-24 01:18:19-07:00, acurtis@xiphis.org +8 -0
  BUG#26257 New Federated Server Functionality Doesn't support differently named tables
  
  * 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
[24 Mar 2007 9:23] Antony Curtis
Reviewed by Brian.

Added new comment at start of sql/sql_servers.cc: Brian would like to replace the implicit table flushing with a general callback mechanism at some future time. When it is done, it will not be significantly different behaviour than what users will now experience with the flushing mechanism.
[24 Mar 2007 9:27] Antony Curtis
pushed to 5.1-engines repository
[30 Mar 2007 17:28] Bugs System
Pushed into 5.1.18-beta
[13 Apr 2007 17:44] Paul DuBois
Noted in 5.1.18 changelog.

The FEDERATED engine did not allow the local and remote tables to
have different names.