Below is the list of changes that have just been committed into a local
5.1 repository of stewart. When stewart 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@stripped, 2006-10-16 23:18:15+10:00, stewart@willster.(none) +13 -0
Merge willster.(none):/home/stewart/Documents/MySQL/5.1/ndb
into willster.(none):/home/stewart/Documents/MySQL/5.1/bug19914-mk2
MERGE: 1.2273.63.29
sql/ha_ndbcluster.cc@stripped, 2006-10-16 23:18:09+10:00, stewart@willster.(none) +0 -0
Auto merged
MERGE: 1.348.4.22
sql/ha_partition.cc@stripped, 2006-10-16 23:18:09+10:00, stewart@willster.(none) +0 -0
Auto merged
MERGE: 1.76.1.1
sql/handler.h@stripped, 2006-10-16 23:18:09+10:00, stewart@willster.(none) +0 -0
Auto merged
MERGE: 1.243.1.1
sql/sql_select.cc@stripped, 2006-10-16 23:18:09+10:00, stewart@willster.(none) +0 -0
Auto merged
MERGE: 1.452.1.1
storage/archive/ha_archive.cc@stripped, 2006-10-16 23:18:09+10:00, stewart@willster.(none) +0 -0
Auto merged
MERGE: 1.107.1.1
storage/blackhole/ha_blackhole.cc@stripped, 2006-10-16 23:18:09+10:00, stewart@willster.(none) +0 -0
Auto merged
MERGE: 1.43.1.1
storage/csv/ha_tina.cc@stripped, 2006-10-16 23:18:09+10:00, stewart@willster.(none) +0 -0
Auto merged
MERGE: 1.64.1.1
storage/example/ha_example.cc@stripped, 2006-10-16 23:18:09+10:00, stewart@willster.(none) +0 -0
Auto merged
MERGE: 1.45.1.1
storage/federated/ha_federated.cc@stripped, 2006-10-16 23:18:10+10:00, stewart@willster.(none) +0 -0
Auto merged
MERGE: 1.82.1.1
storage/heap/ha_heap.cc@stripped, 2006-10-16 23:18:10+10:00, stewart@willster.(none) +0 -0
Auto merged
MERGE: 1.101.1.1
storage/innobase/handler/ha_innodb.cc@stripped, 2006-10-16 23:18:10+10:00, stewart@willster.(none) +0 -0
Auto merged
MERGE: 1.304.1.2
storage/myisam/ha_myisam.cc@stripped, 2006-10-16 23:18:10+10:00, stewart@willster.(none) +0 -0
Auto merged
MERGE: 1.197.1.1
storage/myisammrg/ha_myisammrg.cc@stripped, 2006-10-16 23:18:10+10:00, stewart@willster.(none) +0 -0
Auto merged
MERGE: 1.102.1.3
# 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: stewart
# Host: willster.(none)
# Root: /home/stewart/Documents/MySQL/5.1/bug19914-mk2/RESYNC
--- 1.102/storage/heap/ha_heap.cc 2006-10-16 23:18:23 +10:00
+++ 1.103/storage/heap/ha_heap.cc 2006-10-16 23:18:23 +10:00
@@ -721,6 +721,7 @@
"MEMORY",
"MySQL AB",
"Hash based, stored in memory, useful for temporary tables",
+ PLUGIN_LICENSE_GPL,
heap_init,
NULL,
0x0100, /* 1.0 */
--- 1.198/storage/myisam/ha_myisam.cc 2006-10-16 23:18:23 +10:00
+++ 1.199/storage/myisam/ha_myisam.cc 2006-10-16 23:18:23 +10:00
@@ -1820,6 +1820,7 @@
"MyISAM",
"MySQL AB",
"Default engine as of MySQL 3.23 with great performance",
+ PLUGIN_LICENSE_GPL,
myisam_init, /* Plugin Init */
NULL, /* Plugin Deinit */
0x0100, /* 1.0 */
--- 1.103/storage/myisammrg/ha_myisammrg.cc 2006-10-16 23:18:23 +10:00
+++ 1.104/storage/myisammrg/ha_myisammrg.cc 2006-10-16 23:18:23 +10:00
@@ -312,9 +312,22 @@
if (flag & HA_STATUS_CONST)
{
if (table->s->key_parts && info.rec_per_key)
+ {
+#ifdef HAVE_purify
+ /*
+ valgrind may be unhappy about it, because optimizer may access values
+ between file->keys and table->key_parts, that will be uninitialized.
+ It's safe though, because even if opimizer will decide to use a key
+ with such a number, it'll be an error later anyway.
+ */
+ bzero((char*) table->key_info[0].rec_per_key,
+ sizeof(table->key_info[0].rec_per_key) * table->s->key_parts);
+#endif
memcpy((char*) table->key_info[0].rec_per_key,
(char*) info.rec_per_key,
- sizeof(table->key_info[0].rec_per_key)*table->s->key_parts);
+ sizeof(table->key_info[0].rec_per_key) *
+ min(file->keys, table->s->key_parts));
+ }
}
return 0;
}
@@ -583,6 +596,7 @@
"MRG_MYISAM",
"MySQL AB",
"Collection of identical MyISAM tables",
+ PLUGIN_LICENSE_GPL,
myisammrg_init, /* Plugin Init */
NULL, /* Plugin Deinit */
0x0100, /* 1.0 */
--- 1.244/sql/handler.h 2006-10-16 23:18:23 +10:00
+++ 1.245/sql/handler.h 2006-10-16 23:18:23 +10:00
@@ -683,6 +683,7 @@
const char *wild, bool dir, List<char> *files);
int (*table_exists_in_engine)(handlerton *hton, THD* thd, const char *db,
const char *name);
+ uint32 license; /* Flag for Engine License */
};
--- 1.108/storage/archive/ha_archive.cc 2006-10-16 23:18:23 +10:00
+++ 1.109/storage/archive/ha_archive.cc 2006-10-16 23:18:23 +10:00
@@ -1585,6 +1585,7 @@
"ARCHIVE",
"Brian Aker, MySQL AB",
"Archive storage engine",
+ PLUGIN_LICENSE_GPL,
archive_db_init, /* Plugin Init */
archive_db_done, /* Plugin Deinit */
0x0100 /* 1.0 */,
--- 1.67/storage/csv/ha_tina.cc 2006-10-16 23:18:23 +10:00
+++ 1.68/storage/csv/ha_tina.cc 2006-10-16 23:18:23 +10:00
@@ -1128,13 +1128,13 @@
Currently this table handler doesn't implement most of the fields
really needed. SHOW also makes use of this data
*/
-void ha_tina::info(uint flag)
+int ha_tina::info(uint flag)
{
DBUG_ENTER("ha_tina::info");
/* This is a lie, but you don't want the optimizer to see zero or 1 */
if (!records_is_known && stats.records < 2)
stats.records= 2;
- DBUG_VOID_RETURN;
+ DBUG_RETURN(0);
}
/*
--- 1.46/storage/example/ha_example.cc 2006-10-16 23:18:23 +10:00
+++ 1.47/storage/example/ha_example.cc 2006-10-16 23:18:23 +10:00
@@ -717,6 +717,7 @@
"EXAMPLE",
"Brian Aker, MySQL AB",
"Example storage engine",
+ PLUGIN_LICENSE_GPL,
example_init_func, /* Plugin Init */
example_done_func, /* Plugin Deinit */
0x0001 /* 0.1 */,
--- 1.44/storage/blackhole/ha_blackhole.cc 2006-10-16 23:18:23 +10:00
+++ 1.45/storage/blackhole/ha_blackhole.cc 2006-10-16 23:18:23 +10:00
@@ -223,6 +223,7 @@
"BLACKHOLE",
"MySQL AB",
"/dev/null storage engine (anything you write to it disappears)",
+ PLUGIN_LICENSE_GPL,
blackhole_init, /* Plugin Init */
NULL, /* Plugin Deinit */
0x0100 /* 1.0 */,
--- 1.358/sql/ha_ndbcluster.cc 2006-10-16 23:18:23 +10:00
+++ 1.359/sql/ha_ndbcluster.cc 2006-10-16 23:18:23 +10:00
@@ -469,11 +469,13 @@
DBUG_RETURN(retval + info->no_uncommitted_rows_count);
}
-void ha_ndbcluster::records_update()
+int ha_ndbcluster::records_update()
{
if (m_ha_not_exact_count)
- return;
+ return 0;
DBUG_ENTER("ha_ndbcluster::records_update");
+ int result= 0;
+
struct Ndb_local_table_statistics *info= m_table_info;
DBUG_PRINT("info", ("id=%d, no_uncommitted_rows_count=%d",
((const NDBTAB *)m_table)->getTableId(),
@@ -483,7 +485,7 @@
Ndb *ndb= get_ndb();
struct Ndb_statistics stat;
ndb->setDatabaseName(m_dbname);
- if (ndb_get_table_statistics(ndb, m_table, &stat) == 0)
+ if ((result= ndb_get_table_statistics(ndb, m_table, &stat)) == 0)
{
stats.mean_rec_length= stat.row_size;
stats.data_file_length= stat.fragment_memory;
@@ -496,7 +498,7 @@
info->no_uncommitted_rows_count= 0;
}
stats.records= info->records+ info->no_uncommitted_rows_count;
- DBUG_VOID_RETURN;
+ DBUG_RETURN(result);
}
void ha_ndbcluster::no_uncommitted_rows_execute_failure()
@@ -3635,8 +3637,9 @@
}
-void ha_ndbcluster::info(uint flag)
+int ha_ndbcluster::info(uint flag)
{
+ int result= 0;
DBUG_ENTER("info");
DBUG_PRINT("enter", ("flag: %d", flag));
@@ -3654,18 +3657,18 @@
if (m_ha_not_exact_count)
stats.records= 100;
else
- records_update();
+ result= records_update();
}
else
{
if ((my_errno= check_ndb_connection()))
- DBUG_VOID_RETURN;
+ DBUG_RETURN(my_errno);
Ndb *ndb= get_ndb();
ndb->setDatabaseName(m_dbname);
struct Ndb_statistics stat;
ndb->setDatabaseName(m_dbname);
if (current_thd->variables.ndb_use_exact_count &&
- ndb_get_table_statistics(ndb, m_table, &stat) == 0)
+ (result= ndb_get_table_statistics(ndb, m_table, &stat)) == 0)
{
stats.mean_rec_length= stat.row_size;
stats.data_file_length= stat.fragment_memory;
@@ -3709,7 +3712,11 @@
stats.auto_increment_value= (ulonglong)auto_increment_value64;
}
}
- DBUG_VOID_RETURN;
+
+ if(result == -1)
+ result= HA_ERR_NO_CONNECTION;
+
+ DBUG_RETURN(result);
}
--- 1.305/storage/innobase/handler/ha_innodb.cc 2006-10-16 23:18:23 +10:00
+++ 1.306/storage/innobase/handler/ha_innodb.cc 2006-10-16 23:18:23 +10:00
@@ -7640,6 +7640,7 @@
innobase_hton_name,
"Innobase OY",
"Supports transactions, row-level locking, and foreign keys",
+ PLUGIN_LICENSE_GPL,
innobase_init, /* Plugin Init */
NULL, /* Plugin Deinit */
0x0100 /* 1.0 */,
--- 1.77/sql/ha_partition.cc 2006-10-16 23:18:23 +10:00
+++ 1.78/sql/ha_partition.cc 2006-10-16 23:18:23 +10:00
@@ -4214,7 +4214,7 @@
retrieving statistics data.
*/
-void ha_partition::info(uint flag)
+int ha_partition::info(uint flag)
{
handler *file, **file_array;
DBUG_ENTER("ha_partition:info");
@@ -4378,7 +4378,7 @@
stats.update_time= file->stats.update_time;
} while (*(++file_array));
}
- DBUG_VOID_RETURN;
+ DBUG_RETURN(0);
}
--- 1.83/storage/federated/ha_federated.cc 2006-10-16 23:18:23 +10:00
+++ 1.84/storage/federated/ha_federated.cc 2006-10-16 23:18:23 +10:00
@@ -2895,6 +2895,7 @@
"FEDERATED",
"Patrick Galbraith and Brian Aker, MySQL AB",
"Federated MySQL storage engine",
+ PLUGIN_LICENSE_GPL,
federated_db_init, /* Plugin Init */
NULL, /* Plugin Deinit */
0x0100 /* 1.0 */,
| Thread |
|---|
| • bk commit into 5.1 tree (stewart:1.2311) | Stewart Smith | 16 Oct |