summaryrefslogtreecommitdiff
path: root/sql/discover.cc
diff options
context:
space:
mode:
authorunknown <magnus@neptunus.(none)>2004-09-13 14:46:38 +0200
committerunknown <magnus@neptunus.(none)>2004-09-13 14:46:38 +0200
commit5a464356788b10a7cd5a5412ed12d1b88d32b479 (patch)
tree8eed62b1151616d8bdb119967ec4713ddc6852b9 /sql/discover.cc
parentc7e7b7b7030b4735452098600f16479aa02a1daa (diff)
downloadmariadb-git-5a464356788b10a7cd5a5412ed12d1b88d32b479.tar.gz
WL1424 Multiple MySQL Servers: SHOW TABLES etc. should detect new and delete old tables.
include/my_base.h: Added new bit to table create options Removed old error code HA_ERR_OLD_METADAT and reused it for HA_ERR_NO_SUCH_TABLE. mysql-test/r/ndb_autodiscover.result: Updated test cases mysql-test/t/ndb_autodiscover.test: Updated test cases mysql-test/t/ndb_autodiscover2.test: Updated test cases sql/discover.cc: Moved function create_table_from_handler to handler.cc sql/ha_ndbcluster.cc: Improved discover functionality Added .ndb file Changed error code mappings for a table that does not exist in engine Check for ndb object in THD Updated ndbcluster_discover, ndbcluster_list_tables and ndbcluster_can_discover sql/ha_ndbcluster.h: Improved discover sql/handler.cc: Added new error message mapping. Moved function ha_create_table_from_engine to handler level Added new functions ha_can_discover, ha_list_tables and ha_table_exists sql/handler.h: Added new error message mapping. Moved function ha_create_table_from_engine to handler level Added new functions ha_can_discover, ha_list_tables and ha_table_exists sql/mysql_priv.h: Removed create_table_from_handler, moved to handler.h sql/sql_base.cc: Renamed function create_table_from_handler sql/sql_show.cc: Added new function mysql_discover_files and mysql_list_files. Modified mysql_find_files to discover new and delete "old" files/tables. sql/sql_table.cc: Renamed create_table_from_handler Call ha_create_table_from_engine, in order to discover the the frm file before it can be dropped. sql/table.cc: Added mapping of the error code HA_ERR_NO_SUCH_TABLE
Diffstat (limited to 'sql/discover.cc')
-rw-r--r--sql/discover.cc43
1 files changed, 0 insertions, 43 deletions
diff --git a/sql/discover.cc b/sql/discover.cc
index 696be193148..1251055c70e 100644
--- a/sql/discover.cc
+++ b/sql/discover.cc
@@ -125,47 +125,4 @@ int writefrm(const char *name, const void *frmdata, uint len)
-/*
- Try to discover table from handler and
- if found, write the frm file to disk.
-
- RETURN VALUES:
- 0 : Table existed in handler and created
- on disk if so requested
- 1 : Table does not exist
- >1 : error
-
-*/
-int create_table_from_handler(const char *db,
- const char *name,
- bool create_if_found)
-{
- int error= 0;
- const void* frmblob = NULL;
- char path[FN_REFLEN];
- uint frmlen = 0;
- DBUG_ENTER("create_table_from_handler");
- DBUG_PRINT("enter", ("create_if_found: %d", create_if_found));
-
- if (ha_discover(db, name, &frmblob, &frmlen))
- DBUG_RETURN(1); // Table does not exist
-
- // Table exists in handler
- if (create_if_found)
- {
- (void)strxnmov(path,FN_REFLEN,mysql_data_home,"/",db,"/",name,NullS);
- // Save the frm file
- error = writefrm(path, frmblob, frmlen);
- }
-
- if (frmblob)
- my_free((char*) frmblob,MYF(0));
- DBUG_RETURN(error);
-}
-
-int table_exists_in_handler(const char *db,
- const char *name)
-{
- return (create_table_from_handler(db, name, false) == 0);
-}