Below is the list of changes that have just been committed into a local
5.0 repository of eric. When eric does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
ChangeSet
1.1946 05/07/18 10:38:22 eric@stripped +4 -0
Merge eherman@stripped:/home/bk/mysql-5.0
into mysql.com:/Users/eric/bktmp/mysql-5.0
sql/ha_federated.h
1.17 05/07/18 10:38:17 eric@stripped +0 -0
Auto merged
sql/ha_federated.cc
1.34 05/07/18 10:38:17 eric@stripped +0 -0
Auto merged
mysql-test/t/federated.test
1.12 05/07/18 10:38:16 eric@stripped +0 -0
Auto merged
mysql-test/r/federated.result
1.14 05/07/18 10:38:16 eric@stripped +0 -0
Auto merged
# This is a BitKeeper patch. What follows are the unified diffs for the
# set of deltas contained in the patch. The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User: eric
# Host: sleek.local
# Root: /Users/eric/bktmp/mysql-5.0/RESYNC
--- 1.13/mysql-test/r/federated.result 2005-07-15 16:42:36 -07:00
+++ 1.14/mysql-test/r/federated.result 2005-07-18 10:38:16 -07:00
@@ -1745,6 +1745,21 @@
3 3 Marizio 33333 Italy
4 4 Monty 33333 Finland
5 5 Sanja 33333 Ukraine
+OPTIMIZE TABLE federated.t1;
+Table Op Msg_type Msg_text
+federated.t1 optimize status OK
+REPAIR TABLE federated.t1;
+Table Op Msg_type Msg_text
+federated.t1 repair status OK
+REPAIR TABLE federated.t1 QUICK;
+Table Op Msg_type Msg_text
+federated.t1 repair status OK
+REPAIR TABLE federated.t1 EXTENDED;
+Table Op Msg_type Msg_text
+federated.t1 repair status OK
+REPAIR TABLE federated.t1 USE_FRM;
+Table Op Msg_type Msg_text
+federated.t1 repair status OK
DROP TABLE federated.countries;
DROP TABLE IF EXISTS federated.t1;
DROP DATABASE IF EXISTS federated;
--- 1.11/mysql-test/t/federated.test 2005-07-15 16:42:36 -07:00
+++ 1.12/mysql-test/t/federated.test 2005-07-18 10:38:16 -07:00
@@ -1268,6 +1268,12 @@
FROM federated.t1 RIGHT JOIN federated.countries
ON federated.t1.country_id = federated.countries.id
ORDER BY federated.t1.country_id;
+OPTIMIZE TABLE federated.t1;
+REPAIR TABLE federated.t1;
+REPAIR TABLE federated.t1 QUICK;
+REPAIR TABLE federated.t1 EXTENDED;
+REPAIR TABLE federated.t1 USE_FRM;
+
DROP TABLE federated.countries;
--- 1.33/sql/ha_federated.cc 2005-07-16 19:10:03 -07:00
+++ 1.34/sql/ha_federated.cc 2005-07-18 10:38:17 -07:00
@@ -1661,6 +1661,60 @@
}
+int ha_federated::optimize(THD* thd, HA_CHECK_OPT* check_opt)
+{
+ char query_buffer[STRING_BUFFER_USUAL_SIZE];
+ String query(query_buffer, sizeof(query_buffer), &my_charset_bin);
+
+ DBUG_ENTER("ha_federated::optimize");
+
+ query.length(0);
+
+ query.set_charset(system_charset_info);
+ query.append("OPTIMIZE TABLE `");
+ query.append(share->table_base_name);
+ query.append("`");
+
+ if (mysql_real_query(mysql, query.ptr(), query.length()))
+ {
+ my_error(-1, MYF(0), mysql_error(mysql));
+ DBUG_RETURN(-1);
+ }
+
+ DBUG_RETURN(0);
+}
+
+
+int ha_federated::repair(THD* thd, HA_CHECK_OPT* check_opt)
+{
+ char query_buffer[STRING_BUFFER_USUAL_SIZE];
+ String query(query_buffer, sizeof(query_buffer), &my_charset_bin);
+
+ DBUG_ENTER("ha_federated::repair");
+
+ query.length(0);
+
+ query.set_charset(system_charset_info);
+ query.append("REPAIR TABLE `", 14);
+ query.append(share->table_base_name);
+ query.append("`", 1);
+ if (check_opt->flags & T_QUICK)
+ query.append(" QUICK", 6);
+ if (check_opt->flags & T_EXTEND)
+ query.append(" EXTENDED", 9);
+ if (check_opt->sql_flags & TT_USEFRM)
+ query.append(" USE_FRM", 8);
+
+ if (mysql_real_query(mysql, query.ptr(), query.length()))
+ {
+ my_error(-1, MYF(0), mysql_error(mysql));
+ DBUG_RETURN(-1);
+ }
+
+ DBUG_RETURN(0);
+}
+
+
/*
Yes, update_row() does what you expect, it updates a row. old_data will have
the previous row record in it, while new_data will have the newest data in
--- 1.16/sql/ha_federated.h 2005-07-16 19:10:04 -07:00
+++ 1.17/sql/ha_federated.h 2005-07-18 10:38:17 -07:00
@@ -235,6 +235,9 @@
void position(const byte *record); //required
void info(uint); //required
+ int repair(THD* thd, HA_CHECK_OPT* check_opt);
+ int optimize(THD* thd, HA_CHECK_OPT* check_opt);
+
int delete_all_rows(void);
int create(const char *name, TABLE *form,
HA_CREATE_INFO *create_info); //required
| Thread |
|---|
| • bk commit into 5.0 tree (eric:1.1946) | Eric Herman | 18 Jul |