Below is the list of changes that have just been committed into a local
5.1 repository of df. When df 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-12-01 10:39:48+01:00, df@stripped +8 -0
Merge dfischer@stripped:/home/bk/mysql-5.1
into kahlann.erinye.com:/home/df/mysql/build/mysql-5.1-build
MERGE: 1.2364.1.4
client/mysqltest.c@stripped, 2006-12-01 10:39:43+01:00, df@stripped +0 -0
Auto merged
MERGE: 1.250.1.2
mysql-test/mysql-test-run.pl@stripped, 2006-12-01 10:39:43+01:00, df@stripped +0
-0
Auto merged
MERGE: 1.238.1.1
sql/field.cc@stripped, 2006-12-01 10:39:44+01:00, df@stripped +0 -0
Auto merged
MERGE: 1.355.1.2
sql/item.cc@stripped, 2006-12-01 10:39:44+01:00, df@stripped +0 -0
Auto merged
MERGE: 1.220.1.2
sql/item_sum.cc@stripped, 2006-12-01 10:39:44+01:00, df@stripped +0 -0
Auto merged
MERGE: 1.201.1.3
sql/opt_range.cc@stripped, 2006-12-01 10:39:44+01:00, df@stripped +0 -0
Auto merged
MERGE: 1.248.1.2
sql/sql_base.cc@stripped, 2006-12-01 10:39:44+01:00, df@stripped +0 -0
Auto merged
MERGE: 1.363.1.2
sql/table.cc@stripped, 2006-12-01 10:39:44+01:00, df@stripped +0 -0
Auto merged
MERGE: 1.257.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: df
# Host: kahlann.erinye.com
# Root: /home/df/mysql/build/mysql-5.1-build/RESYNC
--- 1.357/sql/field.cc 2006-11-30 12:26:58 +01:00
+++ 1.358/sql/field.cc 2006-12-01 10:39:44 +01:00
@@ -2567,7 +2567,6 @@ uint Field_new_decimal::is_equal(create_
int Field_tiny::store(const char *from,uint len,CHARSET_INFO *cs)
{
ASSERT_COLUMN_MARKED_FOR_WRITE;
- int not_used; // We can ignore result from str2int
char *end;
int error;
@@ -2777,7 +2776,6 @@ void Field_tiny::sql_type(String &res) c
int Field_short::store(const char *from,uint len,CHARSET_INFO *cs)
{
ASSERT_COLUMN_MARKED_FOR_WRITE;
- int not_used; // We can ignore result from str2int
char *end;
int error;
@@ -3064,7 +3062,6 @@ void Field_short::sql_type(String &res)
int Field_medium::store(const char *from,uint len,CHARSET_INFO *cs)
{
ASSERT_COLUMN_MARKED_FOR_WRITE;
- int not_used; // We can ignore result from str2int
char *end;
int error;
@@ -3306,8 +3303,6 @@ static bool test_if_minus(CHARSET_INFO *
int Field_long::store(const char *from,uint len,CHARSET_INFO *cs)
{
ASSERT_COLUMN_MARKED_FOR_WRITE;
- ulong tmp_scan;
- longlong tmp;
long store_tmp;
int error;
char *end;
@@ -5535,11 +5530,11 @@ int Field_newdate::store_time(TIME *ltim
if (type == MYSQL_TIMESTAMP_DATE || type == MYSQL_TIMESTAMP_DATETIME)
{
tmp=ltime->year*16*32+ltime->month*32+ltime->day;
- if ((my_bool)check_date(ltime, tmp,
- (TIME_FUZZY_DATE |
- (current_thd->variables.sql_mode &
- (MODE_NO_ZERO_IN_DATE | MODE_NO_ZERO_DATE |
- MODE_INVALID_DATES))), &error))
+ if (check_date(ltime, tmp != 0,
+ (TIME_FUZZY_DATE |
+ (current_thd->variables.sql_mode &
+ (MODE_NO_ZERO_IN_DATE | MODE_NO_ZERO_DATE |
+ MODE_INVALID_DATES))), &error))
{
char buff[12];
String str(buff, sizeof(buff), &my_charset_latin1);
@@ -5765,11 +5760,11 @@ int Field_datetime::store_time(TIME *lti
{
tmp=((ltime->year*10000L+ltime->month*100+ltime->day)*LL(1000000)+
(ltime->hour*10000L+ltime->minute*100+ltime->second));
- if ((my_bool)check_date(ltime, tmp,
- (TIME_FUZZY_DATE |
- (current_thd->variables.sql_mode &
- (MODE_NO_ZERO_IN_DATE | MODE_NO_ZERO_DATE |
- MODE_INVALID_DATES))), &error))
+ if (check_date(ltime, tmp != 0,
+ (TIME_FUZZY_DATE |
+ (current_thd->variables.sql_mode &
+ (MODE_NO_ZERO_IN_DATE | MODE_NO_ZERO_DATE |
+ MODE_INVALID_DATES))), &error))
{
char buff[19];
String str(buff, sizeof(buff), &my_charset_latin1);
@@ -8528,8 +8523,9 @@ const char *Field_bit::unpack(char *to,
void Field_bit::set_default()
{
- my_ptrdiff_t const offset= table->s->default_values - table->record[0];
- uchar bits= get_rec_bits(bit_ptr + offset, bit_ofs, bit_len);
+ my_ptrdiff_t const offset= (my_ptrdiff_t) (table->s->default_values -
+ table->record[0]);
+ uchar bits= (uchar) get_rec_bits(bit_ptr + offset, bit_ofs, bit_len);
set_rec_bits(bits, bit_ptr, bit_ofs, bit_len);
Field::set_default();
}
@@ -8554,7 +8550,7 @@ int Field_bit_as_char::store(const char
{
ASSERT_COLUMN_MARKED_FOR_WRITE;
int delta;
- uchar bits= field_length & 7;
+ uchar bits= (uchar) (field_length & 7);
for (; length && !*from; from++, length--); // skip left 0's
delta= bytes_in_rec - length;
--- 1.221/sql/item.cc 2006-11-29 11:46:26 +01:00
+++ 1.222/sql/item.cc 2006-12-01 10:39:44 +01:00
@@ -273,7 +273,6 @@ my_decimal *Item::val_decimal_from_date(
{
DBUG_ASSERT(fixed == 1);
TIME ltime;
- longlong date;
if (get_date(<ime, TIME_FUZZY_DATE))
{
my_decimal_set_zero(decimal_value);
@@ -287,7 +286,6 @@ my_decimal *Item::val_decimal_from_time(
{
DBUG_ASSERT(fixed == 1);
TIME ltime;
- longlong date;
if (get_time(<ime))
{
my_decimal_set_zero(decimal_value);
@@ -1542,7 +1540,7 @@ bool agg_item_collations_for_comparison(
bool agg_item_charsets(DTCollation &coll, const char *fname,
Item **args, uint nargs, uint flags, int item_sep)
{
- Item **arg, **last, *safe_args[2];
+ Item **arg, *safe_args[2];
LINT_INIT(safe_args[0]);
LINT_INIT(safe_args[1]);
@@ -5749,7 +5747,7 @@ void Item_trigger_field::set_required_pr
}
-bool Item_trigger_field::set_value(THD *thd, sp_rcontext */*ctx*/, Item **it)
+bool Item_trigger_field::set_value(THD *thd, sp_rcontext * /*ctx*/, Item **it)
{
Item *item= sp_prepare_func_item(thd, it);
--- 1.204/sql/item_sum.cc 2006-11-30 12:29:06 +01:00
+++ 1.205/sql/item_sum.cc 2006-12-01 10:39:44 +01:00
@@ -3434,8 +3434,8 @@ bool Item_func_group_concat::setup(THD *
duplicate values (according to the syntax of this function). If there
is no DISTINCT or ORDER BY clauses, we don't create this tree.
*/
- init_tree(tree, min(thd->variables.max_heap_table_size,
- thd->variables.sortbuff_size/16), 0,
+ init_tree(tree, (uint) min(thd->variables.max_heap_table_size,
+ thd->variables.sortbuff_size/16), 0,
tree_key_length, compare_key, 0, NULL, (void*) this);
}
--- 1.250/sql/opt_range.cc 2006-11-29 15:24:46 +01:00
+++ 1.251/sql/opt_range.cc 2006-12-01 10:39:44 +01:00
@@ -540,7 +540,8 @@ class PARAM : public RANGE_OPT_PARAM
{
public:
KEY_PART *key[MAX_KEY]; /* First key parts of keys used in the query */
- uint baseflag, max_key_part, range_count;
+ longlong baseflag;
+ uint max_key_part, range_count;
char min_key[MAX_KEY_LENGTH+MAX_FIELD_WIDTH],
@@ -1142,7 +1143,6 @@ int QUICK_RANGE_SELECT::init_ror_merged_
{
handler *save_file= file, *org_file;
THD *thd;
- MY_BITMAP *bitmap;
DBUG_ENTER("QUICK_RANGE_SELECT::init_ror_merged_scan");
in_ror_merged_scan= 1;
@@ -2048,7 +2048,7 @@ int SQL_SELECT::test_quick_select(THD *t
/* set up parameter that is passed to all functions */
param.thd= thd;
- param.baseflag=head->file->ha_table_flags();
+ param.baseflag= head->file->ha_table_flags();
param.prev_tables=prev_tables | const_tables;
param.read_tables=read_tables;
param.current_table= head->map;
@@ -2101,7 +2101,8 @@ int SQL_SELECT::test_quick_select(THD *t
key_parts->null_bit= key_part_info->null_bit;
key_parts->image_type =
(key_info->flags & HA_SPATIAL) ? Field::itMBR : Field::itRAW;
- key_parts->flag= key_part_info->key_part_flag;
+ /* Only HA_PART_KEY_SEG is used */
+ key_parts->flag= (uint8) key_part_info->key_part_flag;
}
param.real_keynr[param.keys++]=idx;
}
@@ -2508,7 +2509,6 @@ bool prune_partitions(THD *thd, TABLE *t
prune_param.key= prune_param.range_param.key_parts;
SEL_TREE *tree;
- SEL_ARG *arg;
int res;
tree= get_mm_tree(range_par, pprune_cond);
@@ -3223,12 +3223,12 @@ static bool create_partition_index_descr
{
key_part->key= 0;
key_part->part= part;
- key_part->length= (*field)->pack_length_in_rec();
+ key_part->length= (uint16) (*field)->pack_length_in_rec();
/*
psergey-todo: check yet again if this is correct for tricky field types,
e.g. see "Fix a fatal error in decimal key handling" in open_binary_frm()
*/
- key_part->store_length= (*field)->pack_length();
+ key_part->store_length= (uint16) (*field)->pack_length();
if ((*field)->real_maybe_null())
key_part->store_length+= HA_KEY_NULL_LENGTH;
if ((*field)->type() == FIELD_TYPE_BLOB ||
@@ -7652,7 +7652,7 @@ QUICK_RANGE_SELECT *get_quick_select_for
key_part->length= key_info->key_part[part].length;
key_part->store_length= key_info->key_part[part].store_length;
key_part->null_bit= key_info->key_part[part].null_bit;
- key_part->flag= key_info->key_part[part].key_part_flag;
+ key_part->flag= (uint8) key_info->key_part[part].key_part_flag;
}
if (insert_dynamic(&quick->ranges,(gptr)&range))
goto err;
--- 1.364/sql/sql_base.cc 2006-11-29 15:24:47 +01:00
+++ 1.365/sql/sql_base.cc 2006-12-01 10:39:44 +01:00
@@ -1251,7 +1251,7 @@ void close_temporary_tables(THD *thd)
/* We always quote db,table names though it is slight overkill */
if (found_user_tables &&
- !(was_quote_show= (thd->options & OPTION_QUOTE_SHOW_CREATE)))
+ !(was_quote_show= test(thd->options & OPTION_QUOTE_SHOW_CREATE)))
{
thd->options |= OPTION_QUOTE_SHOW_CREATE;
}
--- 1.259/sql/table.cc 2006-12-01 10:31:04 +01:00
+++ 1.260/sql/table.cc 2006-12-01 10:39:44 +01:00
@@ -1031,7 +1031,7 @@ static int open_binary_frm(THD *thd, TAB
{
uint primary_key=(uint) (find_type((char*) primary_key_name,
&share->keynames, 3) - 1);
- uint ha_option= handler_file->ha_table_flags();
+ longlong ha_option= handler_file->ha_table_flags();
keyinfo= share->key_info;
key_part= keyinfo->key_part;
@@ -1078,6 +1078,7 @@ static int open_binary_frm(THD *thd, TAB
goto err;
}
field= key_part->field= share->field[key_part->fieldnr-1];
+ key_part->type= field->key_type();
if (field->null_ptr)
{
key_part->null_offset=(uint) ((byte*) field->null_ptr -
@@ -2078,7 +2079,6 @@ File create_frm(THD *thd, const char *na
HA_CREATE_INFO *create_info, uint keys)
{
register File file;
- uint key_length;
ulong length;
char fill[IO_SIZE];
int create_flags= O_RDWR | O_TRUNC;
--- 1.239/mysql-test/mysql-test-run.pl 2006-11-29 15:24:45 +01:00
+++ 1.240/mysql-test/mysql-test-run.pl 2006-12-01 10:39:43 +01:00
@@ -1236,6 +1236,12 @@ sub command_line_setup () {
sub set_mtr_build_thread_ports($) {
my $mtr_build_thread= shift;
+ if ( lc($mtr_build_thread) eq 'auto' ) {
+ print "Requesting build thread... ";
+ $ENV{'MTR_BUILD_THREAD'} = $mtr_build_thread =
mtr_require_unique_id_and_wait("/tmp/mysql-test-ports", 200, 299);
+ print "got ".$mtr_build_thread."\n";
+ }
+
# Up to two masters, up to three slaves
$opt_master_myport= $mtr_build_thread * 10 + 10000; # and 1
$opt_slave_myport= $opt_master_myport + 2; # and 3 4
--- 1.251/client/mysqltest.c 2006-11-29 07:23:19 +01:00
+++ 1.252/client/mysqltest.c 2006-12-01 10:39:43 +01:00
@@ -3134,14 +3134,15 @@ void do_connect(struct st_command *comma
else if (!strncmp(con_options, "COMPRESS", 8))
con_compress= 1;
else
- die("Illegal option to connect: %.*s", (int) (end - con_options), con_options);
+ die("Illegal option to connect: %.*s",
+ (int) (end - con_options), con_options);
/* Process next option */
con_options= end;
}
if (next_con == connections_end)
- die("Connection limit exhausted, you can have max %ld connections",
- (long) (sizeof(connections)/sizeof(struct st_connection)));
+ die("Connection limit exhausted, you can have max %d connections",
+ (int) (sizeof(connections)/sizeof(struct st_connection)));
if (find_connection_by_name(ds_connection_name.str))
die("Connection %s already exists", ds_connection_name.str);
@@ -3462,10 +3463,10 @@ int read_line(char *buf, int size)
DBUG_RETURN(0);
}
else if ((c == '{' &&
- (!my_strnncoll_simple(charset_info, "while", 5,
- buf, min(5, p - buf), 0) ||
- !my_strnncoll_simple(charset_info, "if", 2,
- buf, min(2, p - buf), 0))))
+ (!my_strnncoll_simple(charset_info, (const uchar*) "while", 5,
+ (uchar*) buf, min(5, p - buf), 0) ||
+ !my_strnncoll_simple(charset_info, (const uchar*) "if", 2,
+ (uchar*) buf, min(2, p - buf), 0))))
{
/* Only if and while commands can be terminated by { */
*p++= c;
| Thread |
|---|
| • bk commit into 5.1 tree (df:1.2369) | Daniel Fischer | 1 Dec |