Below is the list of changes that have just been committed into a local
5.0 repository of ram. When ram 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.1958 05/09/05 18:28:56 ramil@stripped +7 -0
Merge mysql.com:/usr/home/ram/work/4.1.b4214
into mysql.com:/usr/home/ram/work/mysql-5.0
myisam/myisampack.c
1.47 05/09/05 18:28:50 ramil@stripped +0 -1
merging
ndb/src/kernel/vm/Emulator.cpp
1.16 05/09/05 18:14:09 ramil@stripped +0 -0
Auto merged
ndb/src/kernel/main.cpp
1.51 05/09/05 18:14:09 ramil@stripped +0 -0
Auto merged
myisam/myisamdef.h
1.78 05/09/05 18:14:09 ramil@stripped +0 -0
Auto merged
myisam/mi_static.c
1.18 05/09/05 18:14:09 ramil@stripped +0 -0
Auto merged
myisam/mi_packrec.c
1.32 05/09/05 18:14:09 ramil@stripped +0 -0
Auto merged
myisam/mi_check.c
1.135 05/09/05 18:14:08 ramil@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: ramil
# Host: gw.mysql.r18.ru
# Root: /usr/home/ram/work/mysql-5.0/RESYNC
--- 1.134/myisam/mi_check.c 2005-08-27 18:10:39 +05:00
+++ 1.135/myisam/mi_check.c 2005-09-05 18:14:08 +05:00
@@ -3194,9 +3194,11 @@
break;
case COMPRESSED_RECORD:
reclength=info->packed_length;
- length=save_pack_length(block_buff,reclength);
+ length= save_pack_length((uint) share->pack.version, block_buff,
+ reclength);
if (info->s->base.blobs)
- length+=save_pack_length(block_buff+length,info->blob_length);
+ length+= save_pack_length((uint) share->pack.version,
+ block_buff + length, info->blob_length);
if (my_b_write(&info->rec_cache,block_buff,length) ||
my_b_write(&info->rec_cache,(byte*) sort_param->rec_buff,reclength))
{
--- 1.31/myisam/mi_packrec.c 2005-06-24 22:34:50 +05:00
+++ 1.32/myisam/mi_packrec.c 2005-09-05 18:14:09 +05:00
@@ -151,11 +151,12 @@
my_errno=HA_ERR_END_OF_FILE;
goto err0;
}
- if (memcmp((byte*) header,(byte*) myisam_pack_file_magic,4))
+ if (memcmp((byte*) header, (byte*) myisam_pack_file_magic, 3))
{
my_errno=HA_ERR_WRONG_IN_RECORD;
goto err0;
}
+ share->pack.version= header[3];
share->pack.header_length= uint4korr(header+4);
share->min_pack_length=(uint) uint4korr(header+8);
share->max_pack_length=(uint) uint4korr(header+12);
@@ -1070,38 +1071,12 @@
return BLOCK_FATAL_ERROR;
DBUG_DUMP("header",(byte*) header,ref_length);
}
- if (header[0] < 254)
- {
- info->rec_len=header[0];
- head_length=1;
- }
- else if (header[0] == 254)
- {
- info->rec_len=uint2korr(header+1);
- head_length=3;
- }
- else
- {
- info->rec_len=uint3korr(header+1);
- head_length=4;
- }
+ head_length= read_pack_length((uint) myisam->s->pack.version, header,
+ &info->rec_len);
if (myisam->s->base.blobs)
{
- if (header[head_length] < 254)
- {
- info->blob_len=header[head_length];
- head_length++;
- }
- else if (header[head_length] == 254)
- {
- info->blob_len=uint2korr(header+head_length+1);
- head_length+=3;
- }
- else
- {
- info->blob_len=uint3korr(header+head_length+1);
- head_length+=4;
- }
+ head_length+= read_pack_length((uint) myisam->s->pack.version,
+ header + head_length, &info->blob_len);
if (!(mi_alloc_rec_buff(myisam,info->rec_len + info->blob_len,
&myisam->rec_buff)))
return BLOCK_FATAL_ERROR; /* not enough memory */
@@ -1251,34 +1226,12 @@
static uchar *_mi_mempack_get_block_info(MI_INFO *myisam,MI_BLOCK_INFO *info,
uchar *header)
{
- if (header[0] < 254)
- info->rec_len= *header++;
- else if (header[0] == 254)
- {
- info->rec_len=uint2korr(header+1);
- header+=3;
- }
- else
- {
- info->rec_len=uint3korr(header+1);
- header+=4;
- }
+ header+= read_pack_length((uint) myisam->s->pack.version, header,
+ &info->rec_len);
if (myisam->s->base.blobs)
{
- if (header[0] < 254)
- {
- info->blob_len= *header++;
- }
- else if (header[0] == 254)
- {
- info->blob_len=uint2korr(header+1);
- header+=3;
- }
- else
- {
- info->blob_len=uint3korr(header+1);
- header+=4;
- }
+ header+= read_pack_length((uint) myisam->s->pack.version, header,
+ &info->blob_len);
/* mi_alloc_rec_buff sets my_errno on error */
if (!(mi_alloc_rec_buff(myisam, info->blob_len,
&myisam->rec_buff)))
@@ -1350,7 +1303,7 @@
/* Save length of row */
-uint save_pack_length(byte *block_buff,ulong length)
+uint save_pack_length(uint version, byte *block_buff, ulong length)
{
if (length < 254)
{
@@ -1364,6 +1317,46 @@
return 3;
}
*(uchar*) block_buff=255;
- int3store(block_buff+1,(ulong) length);
- return 4;
+ if (version == 1) /* old format */
+ {
+ DBUG_ASSERT(length <= 0xFFFFFF);
+ int3store(block_buff + 1, (ulong) length);
+ return 4;
+ }
+ else
+ {
+ int4store(block_buff + 1, (ulong) length);
+ return 5;
+ }
+}
+
+
+uint read_pack_length(uint version, const uchar *buf, ulong *length)
+{
+ if (buf[0] < 254)
+ {
+ *length= buf[0];
+ return 1;
+ }
+ else if (buf[0] == 254)
+ {
+ *length= uint2korr(buf + 1);
+ return 3;
+ }
+ if (version == 1) /* old format */
+ {
+ *length= uint3korr(buf + 1);
+ return 4;
+ }
+ else
+ {
+ *length= uint4korr(buf + 1);
+ return 5;
+ }
+}
+
+
+uint calc_pack_length(uint version, ulong length)
+{
+ return (length < 254) ? 1 : (length < 65536) ? 3 : (version == 1) ? 4 : 5;
}
--- 1.17/myisam/mi_static.c 2005-05-13 14:08:02 +05:00
+++ 1.18/myisam/mi_static.c 2005-09-05 18:14:09 +05:00
@@ -27,7 +27,7 @@
uchar NEAR myisam_file_magic[]=
{ (uchar) 254, (uchar) 254,'\007', '\001', };
uchar NEAR myisam_pack_file_magic[]=
-{ (uchar) 254, (uchar) 254,'\010', '\001', };
+{ (uchar) 254, (uchar) 254,'\010', '\002', };
my_string myisam_log_filename=(char*) "myisam.log";
File myisam_log_file= -1;
uint myisam_quick_table_bits=9;
--- 1.77/myisam/myisamdef.h 2005-07-19 17:13:37 +05:00
+++ 1.78/myisam/myisamdef.h 2005-09-05 18:14:09 +05:00
@@ -149,6 +149,7 @@
typedef struct st_mi_isam_pack {
ulong header_length;
uint ref_length;
+ uchar version;
} MI_PACK;
@@ -673,7 +674,9 @@
extern void mi_report_error(int errcode, const char *file_name);
extern my_bool _mi_memmap_file(MI_INFO *info);
extern void _mi_unmap_file(MI_INFO *info);
-extern uint save_pack_length(byte *block_buff,ulong length);
+extern uint save_pack_length(uint version, byte *block_buff, ulong length);
+extern uint read_pack_length(uint version, const uchar *buf, ulong *length);
+extern uint calc_pack_length(uint version, ulong length);
uint mi_state_info_write(File file, MI_STATE_INFO *state, uint pWrite);
char *mi_state_info_read(uchar *ptr, MI_STATE_INFO *state);
--- 1.46/myisam/myisampack.c 2005-08-26 17:45:19 +05:00
+++ 1.47/myisam/myisampack.c 2005-09-05 18:28:50 +05:00
@@ -2417,6 +2417,7 @@
HUFF_COUNTS *count,*end_count;
HUFF_TREE *tree;
MI_INFO *isam_file=mrg->file[0];
+ uint pack_version= (uint) isam_file->s->pack.version;
DBUG_ENTER("compress_isam_file");
/* Allocate a buffer for the records (excluding blobs). */
@@ -2455,25 +2456,11 @@
huff_counts[i].tree->height+huff_counts[i].length_bits;
}
max_calc_length= (max_calc_length + 7) / 8;
- if (max_calc_length < 254)
- pack_ref_length=1;
- else if (max_calc_length <= 65535)
- pack_ref_length=3;
- else
- pack_ref_length=4;
-
+ pack_ref_length= calc_pack_length(pack_version, max_calc_length);
record_count=0;
/* 'max_blob_length' is the max length of all blobs of a record. */
- pack_blob_length=0;
- if (isam_file->s->base.blobs)
- {
- if (mrg->max_blob_length < 254)
- pack_blob_length=1;
- else if (mrg->max_blob_length <= 65535)
- pack_blob_length=3;
- else
- pack_blob_length=4;
- }
+ pack_blob_length= isam_file->s->base.blobs ?
+ calc_pack_length(pack_version, mrg->max_blob_length) : 0;
max_pack_length=pack_ref_length+pack_blob_length;
DBUG_PRINT("fields", ("==="));
@@ -2746,9 +2733,10 @@
}
flush_bits();
length=(ulong) ((byte*) file_buffer.pos - record_pos) - max_pack_length;
- pack_length=save_pack_length(record_pos,length);
+ pack_length= save_pack_length(pack_version, record_pos, length);
if (pack_blob_length)
- pack_length+=save_pack_length(record_pos+pack_length,tot_blob_length);
+ pack_length+= save_pack_length(pack_version, record_pos + pack_length,
+ tot_blob_length);
DBUG_PRINT("fields", ("record: %lu length: %lu blob-length: %lu "
"length-bytes: %lu", (ulong) record_count, length,
tot_blob_length, pack_length));
--- 1.50/ndb/src/kernel/main.cpp 2005-06-16 13:17:37 +05:00
+++ 1.51/ndb/src/kernel/main.cpp 2005-09-05 18:14:09 +05:00
@@ -60,7 +60,7 @@
NDB_INIT(argv[0]);
// Print to stdout/console
g_eventLogger.createConsoleHandler();
- g_eventLogger.setCategory("NDB");
+ g_eventLogger.setCategory("ndbd");
g_eventLogger.enable(Logger::LL_ON, Logger::LL_CRITICAL);
g_eventLogger.enable(Logger::LL_ON, Logger::LL_ERROR);
g_eventLogger.enable(Logger::LL_ON, Logger::LL_WARNING);
--- 1.15/ndb/src/kernel/vm/Emulator.cpp 2005-02-23 13:19:34 +04:00
+++ 1.16/ndb/src/kernel/vm/Emulator.cpp 2005-09-05 18:14:09 +05:00
@@ -30,13 +30,15 @@
#include <NodeState.hpp>
#include <NdbMem.h>
-#include <NdbOut.hpp>
#include <NdbMutex.h>
#include <NdbSleep.h>
+#include <EventLogger.hpp>
+
extern "C" {
extern void (* ndb_new_handler)();
}
+extern EventLogger g_eventLogger;
/**
* Declare the global variables
@@ -141,23 +143,23 @@
switch(type){
case NST_Normal:
- ndbout << "Shutdown initiated" << endl;
+ g_eventLogger.info("Shutdown initiated");
break;
case NST_Watchdog:
- ndbout << "Watchdog " << shutting << " system" << endl;
+ g_eventLogger.info("Watchdog %s system", shutting);
break;
case NST_ErrorHandler:
- ndbout << "Error handler " << shutting << " system" <<
endl;
+ g_eventLogger.info("Error handler %s system", shutting);
break;
case NST_ErrorHandlerSignal:
- ndbout << "Error handler signal " << shutting << " system"
<< endl;
+ g_eventLogger.info("Error handler signal %s system", shutting);
break;
case NST_Restart:
- ndbout << "Restarting system" << endl;
+ g_eventLogger.info("Restarting system");
break;
default:
- ndbout << "Error handler " << shutting << " system"
- << " (unknown type: " << (unsigned)type << ")" << endl;
+ g_eventLogger.info("Error handler %s system (unknown type: %u)",
+ shutting, (unsigned)type);
type = NST_ErrorHandler;
break;
}
@@ -173,7 +175,7 @@
/**
* Very serious, don't attempt to free, just die!!
*/
- ndbout << "Watchdog shutdown completed - " << exitAbort << endl;
+ g_eventLogger.info("Watchdog shutdown completed - %s", exitAbort);
#if defined VM_TRACE && ( ! ( defined NDB_OSE || defined NDB_SOFTOSE) )
signal(6, SIG_DFL);
abort();
@@ -227,7 +229,7 @@
}
if(type != NST_Normal && type != NST_Restart){
- ndbout << "Error handler shutdown completed - " << exitAbort <<
endl;
+ g_eventLogger.info("Error handler shutdown completed - %s", exitAbort);
#if ( defined VM_TRACE || defined ERROR_INSERT ) && ( ! ( defined NDB_OSE ||
defined NDB_SOFTOSE) )
signal(6, SIG_DFL);
abort();
@@ -243,7 +245,7 @@
exit(restartType);
}
- ndbout << "Shutdown completed - exiting" << endl;
+ g_eventLogger.info("Shutdown completed - exiting");
} else {
/**
* Shutdown is already in progress
@@ -253,7 +255,7 @@
* If this is the watchdog, kill system the hard way
*/
if (type== NST_Watchdog){
- ndbout << "Watchdog is killing system the hard way" << endl;
+ g_eventLogger.info("Watchdog is killing system the hard way");
#if defined VM_TRACE && ( ! ( defined NDB_OSE || defined NDB_SOFTOSE) )
signal(6, SIG_DFL);
abort();
| Thread |
|---|
| • bk commit into 5.0 tree (ramil:1.1958) | ramil | 5 Sep |