Below is the list of changes that have just been committed into a local
5.1 repository of tomas. When tomas 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.2028 06/01/10 23:34:05 tomas@stripped +8 -0
merge
mysql-test/r/information_schema.result
1.99 06/01/10 23:34:00 tomas@stripped +0 -1
merge
sql/mysql_priv.h
1.365 06/01/10 23:33:07 tomas@stripped +0 -0
Auto merged
sql/handler.h
1.178 06/01/10 23:33:07 tomas@stripped +0 -0
Auto merged
sql/handler.cc
1.206 06/01/10 23:33:07 tomas@stripped +0 -0
Auto merged
sql/ha_ndbcluster.h
1.105 06/01/10 23:33:06 tomas@stripped +0 -0
Auto merged
sql/ha_ndbcluster.cc
1.235 06/01/10 23:33:06 tomas@stripped +0 -0
Auto merged
mysql-test/t/disabled.def
1.36 06/01/10 23:33:06 tomas@stripped +0 -0
Auto merged
client/mysqltest.c
1.172 06/01/10 23:33:06 tomas@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: tomas
# Host: poseidon.ndb.mysql.com
# Root: /home/tomas/mysql-5.1-wl2325-v6/RESYNC
--- 1.205/sql/handler.cc 2006-01-10 12:13:17 +01:00
+++ 1.206/sql/handler.cc 2006-01-10 23:33:07 +01:00
@@ -2096,6 +2096,26 @@
}
+void handler::get_dynamic_partition_info(PARTITION_INFO *stat_info, uint part_id)
+{
+ info(HA_STATUS_CONST | HA_STATUS_TIME | HA_STATUS_VARIABLE |
+ HA_STATUS_NO_LOCK);
+ stat_info->records= records;
+ stat_info->mean_rec_length= mean_rec_length;
+ stat_info->data_file_length= data_file_length;
+ stat_info->max_data_file_length= max_data_file_length;
+ stat_info->index_file_length= index_file_length;
+ stat_info->delete_length= delete_length;
+ stat_info->create_time= create_time;
+ stat_info->update_time= update_time;
+ stat_info->check_time= check_time;
+ stat_info->check_sum= 0;
+ if (table_flags() & (ulong) HA_HAS_CHECKSUM)
+ stat_info->check_sum= checksum();
+ return;
+}
+
+
/****************************************************************************
** Some general functions that isn't in the handler class
****************************************************************************/
--- 1.177/sql/handler.h 2006-01-09 18:04:01 +01:00
+++ 1.178/sql/handler.h 2006-01-10 23:33:07 +01:00
@@ -503,6 +503,19 @@
PART_ADDED= 6
};
+typedef struct {
+ ulonglong data_file_length;
+ ulonglong max_data_file_length;
+ ulonglong index_file_length;
+ ulonglong delete_length;
+ ha_rows records;
+ ulong mean_rec_length;
+ time_t create_time;
+ time_t check_time;
+ time_t update_time;
+ ulonglong check_sum;
+} PARTITION_INFO;
+
#define UNDEF_NODEGROUP 65535
class Item;
@@ -1244,6 +1257,8 @@
{ return (ha_rows) 10; }
virtual void position(const byte *record)=0;
virtual void info(uint)=0; // see my_base.h for full description
+ virtual void get_dynamic_partition_info(PARTITION_INFO *stat_info,
+ uint part_id);
virtual int extra(enum ha_extra_function operation)
{ return 0; }
virtual int extra_opt(enum ha_extra_function operation, ulong cache_size)
--- 1.364/sql/mysql_priv.h 2006-01-09 15:05:22 +01:00
+++ 1.365/sql/mysql_priv.h 2006-01-10 23:33:07 +01:00
@@ -891,6 +891,7 @@
/* information schema */
extern LEX_STRING information_schema_name;
+const extern LEX_STRING partition_keywords[];
LEX_STRING *make_lex_string(THD *thd, LEX_STRING *lex_str,
const char* str, uint length,
bool allocate_lex_string);
--- 1.98/mysql-test/r/information_schema.result 2006-01-05 12:58:34 +01:00
+++ 1.99/mysql-test/r/information_schema.result 2006-01-10 23:34:00 +01:00
@@ -45,6 +45,7 @@
COLUMN_PRIVILEGES
ENGINES
KEY_COLUMN_USAGE
+PARTITIONS
PLUGINS
ROUTINES
SCHEMATA
@@ -729,7 +730,7 @@
CREATE VIEW a1 (t_CRASHME) AS SELECT f1 FROM t_crashme GROUP BY f1;
CREATE VIEW a2 AS SELECT t_CRASHME FROM a1;
count(*)
-104
+105
drop view a2, a1;
drop table t_crashme;
select table_schema,table_name, column_name from
@@ -737,6 +738,9 @@
where data_type = 'longtext';
table_schema table_name column_name
information_schema COLUMNS COLUMN_TYPE
+information_schema PARTITIONS PARTITION_EXPRESSION
+information_schema PARTITIONS SUBPARTITION_EXPRESSION
+information_schema PARTITIONS PARTITION_DESCRIPTION
information_schema PLUGINS PLUGIN_DESCRIPTION
information_schema ROUTINES ROUTINE_DEFINITION
information_schema ROUTINES SQL_MODE
@@ -748,6 +752,9 @@
select table_name, column_name, data_type from information_schema.columns
where data_type = 'datetime';
table_name column_name data_type
+PARTITIONS CREATE_TIME datetime
+PARTITIONS UPDATE_TIME datetime
+PARTITIONS CHECK_TIME datetime
ROUTINES CREATED datetime
ROUTINES LAST_ALTERED datetime
TABLES CREATE_TIME datetime
@@ -790,6 +797,7 @@
COLUMNS TABLE_NAME select
COLUMN_PRIVILEGES TABLE_NAME select
KEY_COLUMN_USAGE TABLE_NAME select
+PARTITIONS TABLE_NAME select
STATISTICS TABLE_NAME select
TABLES TABLE_NAME select
TABLE_CONSTRAINTS TABLE_NAME select
--- 1.35/mysql-test/t/disabled.def 2006-01-09 15:07:24 +01:00
+++ 1.36/mysql-test/t/disabled.def 2006-01-10 23:33:06 +01:00
@@ -12,8 +12,6 @@
sp-goto : GOTO is currently is disabled - will be fixed in the future
rpl_bit_npk : Bug #13418
-ndb_cache2 : Bug #15004
-ndb_cache_multi2: Bug #15004
func_group : Bug #15448
func_math : Bug #15448
group_min_max : Bug #15448
--- 1.234/sql/ha_ndbcluster.cc 2006-01-10 23:30:01 +01:00
+++ 1.235/sql/ha_ndbcluster.cc 2006-01-10 23:33:06 +01:00
@@ -3055,6 +3055,20 @@
DBUG_VOID_RETURN;
}
+
+void ha_ndbcluster::get_dynamic_partition_info(PARTITION_INFO *stat_info,
+ uint part_id)
+{
+ /*
+ This functions should be fixed. Suggested fix: to
+ implement ndb function which retrives the statistics
+ about ndb partitions.
+ */
+ bzero((char*) stat_info, sizeof(PARTITION_INFO));
+ return;
+}
+
+
int ha_ndbcluster::extra(enum ha_extra_function operation)
{
DBUG_ENTER("extra");
--- 1.104/sql/ha_ndbcluster.h 2006-01-10 23:30:02 +01:00
+++ 1.105/sql/ha_ndbcluster.h 2006-01-10 23:33:06 +01:00
@@ -548,6 +548,7 @@
bool get_error_message(int error, String *buf);
void info(uint);
+ void get_dynamic_partition_info(PARTITION_INFO *stat_info, uint part_id);
int extra(enum ha_extra_function operation);
int extra_opt(enum ha_extra_function operation, ulong cache_size);
int external_lock(THD *thd, int lock_type);
--- 1.171/client/mysqltest.c 2006-01-10 15:04:27 +01:00
+++ 1.172/client/mysqltest.c 2006-01-10 23:33:06 +01:00
@@ -4307,7 +4307,7 @@
val_len = strlen(val) ;
val_alloc_len = val_len + 16; /* room to grow */
if (!(tmp_var=v) && !(tmp_var = (VAR*)my_malloc(sizeof(*tmp_var)
- + name_len, MYF(MY_WME))))
+ + name_len+1, MYF(MY_WME))))
die("Out of memory");
tmp_var->name = (name) ? (char*) tmp_var + sizeof(*tmp_var) : 0;
@@ -4316,10 +4316,12 @@
if (!(tmp_var->str_val = my_malloc(val_alloc_len+1, MYF(MY_WME))))
die("Out of memory");
- if (name)
- strmake(tmp_var->name, name, name_len);
+ memcpy(tmp_var->name, name, name_len);
if (val)
- strmake(tmp_var->str_val, val, val_len);
+ {
+ memcpy(tmp_var->str_val, val, val_len);
+ tmp_var->str_val[val_len]= 0;
+ }
tmp_var->name_len = name_len;
tmp_var->str_val_len = val_len;
tmp_var->alloced_len = val_alloc_len;
| Thread |
|---|
| • bk commit into 5.1 tree (tomas:1.2028) | tomas | 10 Jan |