Below is the list of changes that have just been committed into a local
5.1 repository of mikron. When mikron 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, 2007-04-04 16:50:14+02:00, mikron@stripped +7 -0
Merge mronstrom@stripped:/home/bk/mysql-5.1
into mikael-ronstr-ms-dator.local:/Users/mikron/mysql_clones/bug18198
MERGE: 1.2409.104.1
sql/item.h@stripped, 2007-04-04 16:45:49+02:00, mikron@stripped +0 -0
Auto merged
MERGE: 1.224.2.1
sql/item_cmpfunc.h@stripped, 2007-04-04 16:45:50+02:00, mikron@stripped +0 -0
Auto merged
MERGE: 1.146.1.1
sql/item_func.h@stripped, 2007-04-04 16:45:50+02:00, mikron@stripped +0 -0
Auto merged
MERGE: 1.161.1.1
sql/item_strfunc.h@stripped, 2007-04-04 16:45:50+02:00, mikron@stripped +0 -0
Auto merged
MERGE: 1.125.1.1
sql/item_timefunc.h@stripped, 2007-04-04 16:50:08+02:00, mikron@stripped +0 -0
SCCS merged
MERGE: 1.80.1.1
sql/sql_partition.cc@stripped, 2007-04-04 16:45:50+02:00, mikron@stripped +0 -0
Auto merged
MERGE: 1.99.1.1
sql/sql_yacc.yy@stripped, 2007-04-04 16:45:51+02:00, mikron@stripped +0 -0
Auto merged
MERGE: 1.534.5.1
# 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: mikron
# Host: mikael-ronstr-ms-dator.local
# Root: /Users/mikron/mysql_clones/bug18198/RESYNC
--- 1.235/sql/item.h 2007-03-26 13:04:17 +02:00
+++ 1.236/sql/item.h 2007-04-04 16:45:49 +02:00
@@ -844,8 +844,7 @@
german character for double s is equal to 2 s.
The default is that an item is not allowed
- in a partition function. However all mathematical functions, string
- manipulation functions, date functions are allowed. Allowed functions
+ in a partition function. Allowed functions
can never depend on server version, they cannot depend on anything
related to the environment. They can also only depend on a set of
fields in the table itself. They cannot depend on other tables and
@@ -1433,7 +1432,7 @@
bool is_null() { return 1; }
void print(String *str) { str->append(STRING_WITH_LEN("NULL")); }
Item *safe_charset_converter(CHARSET_INFO *tocs);
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
+ bool check_partition_func_processor(byte *int_arg) { return FALSE;}
};
class Item_null_result :public Item_null
@@ -1621,6 +1620,7 @@
uint decimal_precision() const
{ return (uint)(max_length - test(value < 0)); }
bool eq(const Item *, bool binary_cmp) const;
+ bool check_partition_func_processor(byte *bool_arg) { return FALSE;}
};
@@ -1638,6 +1638,7 @@
void print(String *str);
Item_num *neg ();
uint decimal_precision() const { return max_length; }
+ bool check_partition_func_processor(byte *bool_arg) { return FALSE;}
};
@@ -1680,6 +1681,7 @@
uint decimal_precision() const { return decimal_value.precision(); }
bool eq(const Item *, bool binary_cmp) const;
void set_decimal_value(my_decimal *value_par);
+ bool check_partition_func_processor(byte *bool_arg) { return FALSE;}
};
@@ -1740,7 +1742,6 @@
{}
void print(String *str) { str->append(func_name); }
Item *safe_charset_converter(CHARSET_INFO *tocs);
- bool check_partition_func_processor(byte *int_arg) {return TRUE;}
};
@@ -1822,7 +1823,7 @@
void print(String *str);
// to prevent drop fixed flag (no need parent cleanup call)
void cleanup() {}
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
+ bool check_partition_func_processor(byte *bool_arg) { return FALSE;}
};
@@ -1837,7 +1838,7 @@
{}
Item *safe_charset_converter(CHARSET_INFO *tocs);
void print(String *str) { str->append(func_name); }
- bool check_partition_func_processor(byte *int_arg) {return TRUE;}
+ bool check_partition_func_processor(byte *bool_arg) { return TRUE;}
};
@@ -1850,7 +1851,6 @@
&my_charset_bin)
{ max_length=19;}
enum_field_types field_type() const { return MYSQL_TYPE_DATETIME; }
- bool check_partition_func_processor(byte *int_arg) {return TRUE;}
};
class Item_empty_string :public Item_string
@@ -1873,7 +1873,6 @@
unsigned_flag=1;
}
enum_field_types field_type() const { return int_field_type; }
- bool check_partition_func_processor(byte *int_arg) {return TRUE;}
};
@@ -1900,7 +1899,7 @@
void cleanup() {}
bool eq(const Item *item, bool binary_cmp) const;
virtual Item *safe_charset_converter(CHARSET_INFO *tocs);
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
+ bool check_partition_func_processor(byte *bool_arg) { return FALSE;}
};
@@ -2180,7 +2179,6 @@
}
Item *clone_item();
virtual Item *real_item() { return ref; }
- bool check_partition_func_processor(byte *int_arg) {return TRUE;}
};
#ifdef MYSQL_SERVER
--- 1.157/sql/item_cmpfunc.h 2007-03-09 10:39:37 +01:00
+++ 1.158/sql/item_cmpfunc.h 2007-04-04 16:45:50 +02:00
@@ -347,7 +347,6 @@
}
Item *neg_transformer(THD *thd);
virtual Item *negated_item();
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
bool subst_argument_checker(byte **arg) { return TRUE; }
};
@@ -359,7 +358,6 @@
enum Functype functype() const { return NOT_FUNC; }
const char *func_name() const { return "not"; }
Item *neg_transformer(THD *thd);
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
void print(String *str);
};
@@ -585,7 +583,6 @@
bool is_bool_func() { return 1; }
CHARSET_INFO *compare_collation() { return cmp_collation.collation; }
uint decimal_precision() const { return 1; }
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
@@ -597,7 +594,6 @@
optimize_type select_optimize() const { return OPTIMIZE_NONE; }
const char *func_name() const { return "strcmp"; }
void print(String *str) { Item_func::print(str); }
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
@@ -660,7 +656,6 @@
const char *func_name() const { return "ifnull"; }
Field *tmp_table_field(TABLE *table);
uint decimal_precision() const;
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
@@ -701,7 +696,6 @@
void print(String *str) { Item_func::print(str); }
table_map not_null_tables() const { return 0; }
bool is_null();
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
/* Functions to handle the optimized IN */
@@ -1105,7 +1099,6 @@
void print(String *str);
Item *find_item(String *str);
CHARSET_INFO *compare_collation() { return cmp_collation.collation; }
- bool check_partition_func_processor(byte *bool_arg) { return FALSE;}
void cleanup()
{
uint i;
@@ -1186,7 +1179,6 @@
bool nulls_in_row();
bool is_bool_func() { return 1; }
CHARSET_INFO *compare_collation() { return cmp_collation.collation; }
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
/* Functions used by where clause */
@@ -1229,7 +1221,6 @@
optimize_type select_optimize() const { return OPTIMIZE_NULL; }
Item *neg_transformer(THD *thd);
CHARSET_INFO *compare_collation() { return args[0]->collation.collation; }
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
/* Functions used by HAVING for rewriting IN subquery */
@@ -1256,7 +1247,6 @@
*/
table_map used_tables() const
{ return used_tables_cache | RAND_TABLE_BIT; }
- bool check_partition_func_processor(byte *int_arg) {return TRUE;}
};
@@ -1279,7 +1269,6 @@
void print(String *str);
CHARSET_INFO *compare_collation() { return args[0]->collation.collation; }
void top_level_item() { abort_on_null=1; }
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
@@ -1318,7 +1307,6 @@
const char *func_name() const { return "like"; }
bool fix_fields(THD *thd, Item **ref);
void cleanup();
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
#ifdef USE_REGEX
@@ -1341,7 +1329,6 @@
const char *func_name() const { return "regexp"; }
void print(String *str) { print_op(str); }
CHARSET_INFO *compare_collation() { return cmp_collation.collation; }
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
#else
@@ -1398,7 +1385,6 @@
Item *transform(Item_transformer transformer, byte *arg);
void traverse_cond(Cond_traverser, void *arg, traverse_order order);
void neg_arguments(THD *thd);
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
bool subst_argument_checker(byte **arg) { return TRUE; }
Item *compile(Item_analyzer analyzer, byte **arg_p,
Item_transformer transformer, byte *arg_t);
--- 1.162/sql/item_func.h 2007-03-16 17:40:46 +01:00
+++ 1.163/sql/item_func.h 2007-04-04 16:45:50 +02:00
@@ -253,7 +253,6 @@
void fix_num_length_and_dec();
void find_num_type();
String *str_op(String *str) { DBUG_ASSERT(0); return 0; }
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
@@ -317,7 +316,6 @@
{ max_length=args[0]->max_length; unsigned_flag=0; }
void print(String *str);
uint decimal_precision() const { return args[0]->decimal_precision(); }
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
@@ -351,7 +349,6 @@
void fix_length_and_dec() {};
const char *func_name() const { return "decimal_typecast"; }
void print(String *);
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
@@ -448,6 +445,7 @@
void fix_length_and_dec();
void fix_num_length_and_dec();
uint decimal_precision() const { return args[0]->decimal_precision(); }
+ bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
@@ -460,6 +458,7 @@
my_decimal *decimal_op(my_decimal *);
const char *func_name() const { return "abs"; }
void fix_length_and_dec();
+ bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
// A class to handle logarithmic and trigonometric functions
@@ -494,7 +493,6 @@
Item_func_exp(Item *a) :Item_dec_func(a) {}
double val_real();
const char *func_name() const { return "exp"; }
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
@@ -504,7 +502,6 @@
Item_func_ln(Item *a) :Item_dec_func(a) {}
double val_real();
const char *func_name() const { return "ln"; }
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
@@ -515,7 +512,6 @@
Item_func_log(Item *a,Item *b) :Item_dec_func(a,b) {}
double val_real();
const char *func_name() const { return "log"; }
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
@@ -525,7 +521,6 @@
Item_func_log2(Item *a) :Item_dec_func(a) {}
double val_real();
const char *func_name() const { return "log2"; }
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
@@ -535,7 +530,6 @@
Item_func_log10(Item *a) :Item_dec_func(a) {}
double val_real();
const char *func_name() const { return "log10"; }
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
@@ -545,7 +539,6 @@
Item_func_sqrt(Item *a) :Item_dec_func(a) {}
double val_real();
const char *func_name() const { return "sqrt"; }
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
@@ -555,7 +548,6 @@
Item_func_pow(Item *a,Item *b) :Item_dec_func(a,b) {}
double val_real();
const char *func_name() const { return "pow"; }
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
@@ -565,7 +557,6 @@
Item_func_acos(Item *a) :Item_dec_func(a) {}
double val_real();
const char *func_name() const { return "acos"; }
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
class Item_func_asin :public Item_dec_func
@@ -574,7 +565,6 @@
Item_func_asin(Item *a) :Item_dec_func(a) {}
double val_real();
const char *func_name() const { return "asin"; }
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
class Item_func_atan :public Item_dec_func
@@ -584,7 +574,6 @@
Item_func_atan(Item *a,Item *b) :Item_dec_func(a,b) {}
double val_real();
const char *func_name() const { return "atan"; }
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
class Item_func_cos :public Item_dec_func
@@ -593,7 +582,6 @@
Item_func_cos(Item *a) :Item_dec_func(a) {}
double val_real();
const char *func_name() const { return "cos"; }
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
class Item_func_sin :public Item_dec_func
@@ -602,7 +590,6 @@
Item_func_sin(Item *a) :Item_dec_func(a) {}
double val_real();
const char *func_name() const { return "sin"; }
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
class Item_func_tan :public Item_dec_func
@@ -611,7 +598,6 @@
Item_func_tan(Item *a) :Item_dec_func(a) {}
double val_real();
const char *func_name() const { return "tan"; }
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
class Item_func_integer :public Item_int_func
@@ -639,6 +625,7 @@
longlong int_op();
double real_op();
my_decimal *decimal_op(my_decimal *);
+ bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
@@ -650,6 +637,7 @@
longlong int_op();
double real_op();
my_decimal *decimal_op(my_decimal *);
+ bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
/* This handles round and truncate */
@@ -690,7 +678,6 @@
Item_func_sign(Item *a) :Item_int_func(a) {}
const char *func_name() const { return "sign"; }
longlong val_int();
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
@@ -705,7 +692,6 @@
const char *func_name() const { return name; }
void fix_length_and_dec()
{ decimals= NOT_FIXED_DEC; max_length= float_length(decimals); }
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
@@ -723,7 +709,6 @@
my_decimal *val_decimal(my_decimal *);
void fix_length_and_dec();
enum Item_result result_type () const { return cmp_type; }
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
class Item_func_min :public Item_func_min_max
@@ -749,7 +734,6 @@
longlong val_int();
const char *func_name() const { return "length"; }
void fix_length_and_dec() { max_length=10; }
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
class Item_func_bit_length :public Item_func_length
@@ -769,7 +753,6 @@
longlong val_int();
const char *func_name() const { return "char_length"; }
void fix_length_and_dec() { max_length=10; }
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
class Item_func_coercibility :public Item_int_func
@@ -793,7 +776,6 @@
longlong val_int();
void fix_length_and_dec();
void print(String *str);
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
@@ -828,7 +810,6 @@
Item_func_ord(Item *a) :Item_int_func(a) {}
longlong val_int();
const char *func_name() const { return "ord"; }
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
class Item_func_find_in_set :public Item_int_func
@@ -842,7 +823,6 @@
longlong val_int();
const char *func_name() const { return "find_in_set"; }
void fix_length_and_dec();
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
/* Base class for all bit functions: '~', '|', '^', '&', '>>', '<<' */
@@ -854,7 +834,6 @@
Item_func_bit(Item *a) :Item_int_func(a) {}
void fix_length_and_dec() { unsigned_flag= 1; }
void print(String *str) { print_op(str); }
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
class Item_func_bit_or :public Item_func_bit
@@ -880,7 +859,6 @@
longlong val_int();
const char *func_name() const { return "bit_count"; }
void fix_length_and_dec() { max_length=2; }
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
class Item_func_shift_left :public Item_func_bit
@@ -1321,7 +1299,6 @@
longlong val_int();
const char *func_name() const { return "inet_aton"; }
void fix_length_and_dec() { decimals= 0; max_length= 21; maybe_null= 1; unsigned_flag= 1;}
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
--- 1.126/sql/item_strfunc.h 2007-03-08 16:00:05 +01:00
+++ 1.127/sql/item_strfunc.h 2007-04-04 16:45:50 +02:00
@@ -50,7 +50,6 @@
String *val_str(String *);
void fix_length_and_dec();
const char *func_name() const { return "md5"; }
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
@@ -94,7 +93,6 @@
String *val_str(String *);
void fix_length_and_dec();
const char *func_name() const { return "concat"; }
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
class Item_func_concat_ws :public Item_str_func
@@ -116,7 +114,6 @@
String *val_str(String *);
void fix_length_and_dec();
const char *func_name() const { return "reverse"; }
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
@@ -154,7 +151,6 @@
public:
Item_str_conv(Item *item) :Item_str_func(item) {}
String *val_str(String *);
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
@@ -455,7 +451,6 @@
String *val_str(String *);
void fix_length_and_dec();
const char *func_name() const { return "soundex"; }
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
@@ -549,7 +544,6 @@
String *val_str(String *);
void fix_length_and_dec();
const char *func_name() const { return "rpad"; }
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
@@ -562,7 +556,6 @@
String *val_str(String *);
void fix_length_and_dec();
const char *func_name() const { return "lpad"; }
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
@@ -577,7 +570,6 @@
collation.set(default_charset());
max_length= 64;
}
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
@@ -594,7 +586,6 @@
decimals=0;
max_length=args[0]->max_length*2*collation.collation->mbmaxlen;
}
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
class Item_func_unhex :public Item_str_func
@@ -614,7 +605,6 @@
decimals=0;
max_length=(1+args[0]->max_length)/2;
}
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
@@ -638,7 +628,6 @@
}
void print(String *str);
const char *func_name() const { return "cast_as_binary"; }
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
@@ -678,7 +667,6 @@
String* val_str(String* str);
const char *func_name() const { return "inet_ntoa"; }
void fix_length_and_dec() { decimals = 0; max_length=3*8+7; }
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
class Item_func_quote :public Item_str_func
@@ -693,7 +681,6 @@
collation.set(args[0]->collation);
max_length= args[0]->max_length * 2 + 2;
}
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
class Item_func_conv_charset :public Item_str_func
@@ -794,7 +781,6 @@
const char *func_name() const { return "crc32"; }
void fix_length_and_dec() { max_length=10; }
longlong val_int();
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
class Item_func_uncompressed_length : public Item_int_func
--- 1.83/sql/item_timefunc.h 2007-03-22 09:45:36 +01:00
+++ 1.84/sql/item_timefunc.h 2007-04-04 16:50:08 +02:00
@@ -38,7 +38,6 @@
{
max_length=6*MY_CHARSET_BIN_MB_MAXLEN;
}
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
@@ -53,7 +52,6 @@
decimals=0;
max_length=6*MY_CHARSET_BIN_MB_MAXLEN;
}
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
@@ -129,6 +127,7 @@
max_length=10*my_charset_bin.mbmaxlen;
maybe_null=1;
}
+ bool check_partition_func_processor(byte *int_arg) {return TRUE;}
};
@@ -224,7 +223,6 @@
max_length=2*MY_CHARSET_BIN_MB_MAXLEN;
maybe_null=1;
}
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
class Item_func_yearweek :public Item_int_func
@@ -303,6 +301,7 @@
max_length=9*MY_CHARSET_BIN_MB_MAXLEN;
maybe_null=1;
}
+ bool check_partition_func_processor(byte *int_arg) {return TRUE;}
};
@@ -319,7 +318,6 @@
decimals=0;
max_length=10*MY_CHARSET_BIN_MB_MAXLEN;
}
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
@@ -603,7 +601,6 @@
void fix_length_and_dec();
uint format_length(const String *format);
bool eq(const Item *item, bool binary_cmp) const;
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
@@ -617,7 +614,6 @@
const char *func_name() const { return "from_unixtime"; }
void fix_length_and_dec();
bool get_date(TIME *res, uint fuzzy_date);
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
@@ -676,7 +672,6 @@
}
const char *func_name() const { return "sec_to_time"; }
bool result_as_longlong() { return TRUE; }
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
@@ -698,7 +693,6 @@
bool get_date(TIME *res, uint fuzzy_date);
bool eq(const Item *item, bool binary_cmp) const;
void print(String *str);
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
@@ -753,7 +747,6 @@
max_length=args[0]->max_length;
maybe_null= 1;
}
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
@@ -773,7 +766,6 @@
String *val_str(String *a);
void fix_length_and_dec();
void print(String *str);
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
@@ -884,7 +876,6 @@
max_length=MAX_DATE_WIDTH*MY_CHARSET_BIN_MB_MAXLEN;
}
longlong val_int();
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
@@ -907,7 +898,6 @@
}
void print(String *str);
const char *func_name() const { return "add_time"; }
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
double val_real() { return val_real_from_decimal(); }
my_decimal *val_decimal(my_decimal *decimal_value)
{
@@ -949,7 +939,6 @@
:Item_str_timefunc(a, b ,c) {}
String *val_str(String *str);
const char *func_name() const { return "maketime"; }
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
class Item_func_microsecond :public Item_int_func
@@ -981,7 +970,6 @@
maybe_null=1;
}
void print(String *str);
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
@@ -1028,7 +1016,6 @@
{
return tmp_table_field_from_field_type(table, 1);
}
- bool check_partition_func_processor(byte *int_arg) {return FALSE;}
};
--- 1.559/sql/sql_yacc.yy 2007-04-03 12:30:03 +02:00
+++ 1.560/sql/sql_yacc.yy 2007-04-04 16:45:51 +02:00
@@ -4089,8 +4089,7 @@
}
Lex->part_info->curr_part_elem->has_null_value= TRUE;
}
- else if (part_expr->result_type() != INT_RESULT &&
- !part_expr->null_value)
+ else if (part_expr->result_type() != INT_RESULT)
{
my_parse_error(ER(ER_INCONSISTENT_TYPE_OF_FUNCTIONS_ERROR));
MYSQL_YYABORT;
--- 1.101/sql/sql_partition.cc 2007-03-27 19:09:52 +02:00
+++ 1.102/sql/sql_partition.cc 2007-04-04 16:45:50 +02:00
@@ -2890,6 +2890,8 @@
}
if (unsigned_flag)
part_func_value-= 0x8000000000000000ULL;
+ if (left_endpoint && !include_endpoint)
+ part_func_value++;
while (max_part_id > min_part_id)
{
loc_part_id= (max_part_id + min_part_id + 1) >> 1;
| Thread |
|---|
| • bk commit into 5.1 tree (mikron:1.2554) | mikael | 4 Apr |