summaryrefslogtreecommitdiff
path: root/sql/item_strfunc.h
diff options
context:
space:
mode:
authorunknown <mikael@c-3d08e253.1238-1-64736c10.cust.bredbandsbolaget.se>2006-05-31 13:32:14 -0400
committerunknown <mikael@c-3d08e253.1238-1-64736c10.cust.bredbandsbolaget.se>2006-05-31 13:32:14 -0400
commita706b2a33a8450f8ce8b3da728d39eb72271d0a3 (patch)
tree39ade1255f49b17f2254392e7ecc88ecfba1018c /sql/item_strfunc.h
parent34a11a322d5a534cceec4d13293a491cf5077c0d (diff)
downloadmariadb-git-a706b2a33a8450f8ce8b3da728d39eb72271d0a3.tar.gz
BUG#18198: Many strange partition functions were allowed, now only strictly allowed functions are ok
mysql-test/r/partition_error.result: New test cases mysql-test/t/partition_error.test: New test cases sql/item.h: Added method check_partition_func_processor for check if item tree is valid sql/item_cmpfunc.h: Added method check_partition_func_processor for check if item tree is valid sql/item_func.h: Added method check_partition_func_processor for check if item tree is valid sql/item_strfunc.h: Added method check_partition_func_processor for check if item tree is valid sql/item_timefunc.h: Added method check_partition_func_processor for check if item tree is valid sql/item_xmlfunc.h: Added method check_partition_func_processor for check if item tree is valid
Diffstat (limited to 'sql/item_strfunc.h')
-rw-r--r--sql/item_strfunc.h48
1 files changed, 24 insertions, 24 deletions
diff --git a/sql/item_strfunc.h b/sql/item_strfunc.h
index 5e4fe49e281..2b244347876 100644
--- a/sql/item_strfunc.h
+++ b/sql/item_strfunc.h
@@ -46,7 +46,7 @@ public:
String *val_str(String *);
void fix_length_and_dec();
const char *func_name() const { return "md5"; }
- virtual bool check_partition_func_processor(byte *bool_arg) { return 0;}
+ bool check_partition_func_processor(byte *bool_arg) { return 0;}
};
@@ -57,7 +57,7 @@ public:
String *val_str(String *);
void fix_length_and_dec();
const char *func_name() const { return "sha"; }
- virtual bool check_partition_func_processor(byte *bool_arg) { return 0;}
+ bool check_partition_func_processor(byte *bool_arg) { return 0;}
};
class Item_func_aes_encrypt :public Item_str_func
@@ -88,7 +88,7 @@ public:
String *val_str(String *);
void fix_length_and_dec();
const char *func_name() const { return "concat"; }
- virtual bool check_partition_func_processor(byte *bool_arg) { return 0;}
+ bool check_partition_func_processor(byte *bool_arg) { return 0;}
};
class Item_func_concat_ws :public Item_str_func
@@ -109,7 +109,7 @@ public:
String *val_str(String *);
void fix_length_and_dec();
const char *func_name() const { return "reverse"; }
- virtual bool check_partition_func_processor(byte *bool_arg) { return 0;}
+ bool check_partition_func_processor(byte *bool_arg) { return 0;}
};
@@ -147,7 +147,7 @@ protected:
public:
Item_str_conv(Item *item) :Item_str_func(item) {}
String *val_str(String *);
- virtual bool check_partition_func_processor(byte *bool_arg) { return 0;}
+ bool check_partition_func_processor(byte *bool_arg) { return 0;}
};
@@ -211,7 +211,7 @@ public:
String *val_str(String *);
void fix_length_and_dec();
const char *func_name() const { return "substr"; }
- virtual bool check_partition_func_processor(byte *bool_arg) { return 0;}
+ bool check_partition_func_processor(byte *bool_arg) { return 0;}
};
@@ -223,7 +223,7 @@ public:
String *val_str(String *);
void fix_length_and_dec();
const char *func_name() const { return "substring_index"; }
- virtual bool check_partition_func_processor(byte *bool_arg) { return 0;}
+ bool check_partition_func_processor(byte *bool_arg) { return 0;}
};
@@ -238,7 +238,7 @@ public:
String *val_str(String *);
void fix_length_and_dec();
const char *func_name() const { return "trim"; }
- virtual bool check_partition_func_processor(byte *bool_arg) { return 0;}
+ bool check_partition_func_processor(byte *bool_arg) { return 0;}
};
@@ -418,7 +418,7 @@ public:
String *val_str(String *);
void fix_length_and_dec();
const char *func_name() const { return "soundex"; }
- virtual bool check_partition_func_processor(byte *bool_arg) { return 0;}
+ bool check_partition_func_processor(byte *bool_arg) { return 0;}
};
@@ -526,7 +526,7 @@ public:
String *val_str(String *);
void fix_length_and_dec();
const char *func_name() const { return "rpad"; }
- virtual bool check_partition_func_processor(byte *bool_arg) { return 0;}
+ bool check_partition_func_processor(byte *bool_arg) { return 0;}
};
@@ -539,7 +539,7 @@ public:
String *val_str(String *);
void fix_length_and_dec();
const char *func_name() const { return "lpad"; }
- virtual bool check_partition_func_processor(byte *bool_arg) { return 0;}
+ bool check_partition_func_processor(byte *bool_arg) { return 0;}
};
@@ -554,7 +554,7 @@ public:
collation.set(default_charset());
decimals=0; max_length=64;
}
- virtual bool check_partition_func_processor(byte *bool_arg) { return 0;}
+ bool check_partition_func_processor(byte *bool_arg) { return 0;}
};
@@ -571,7 +571,7 @@ public:
decimals=0;
max_length=args[0]->max_length*2*collation.collation->mbmaxlen;
}
- virtual bool check_partition_func_processor(byte *bool_arg) { return 0;}
+ bool check_partition_func_processor(byte *bool_arg) { return 0;}
};
class Item_func_unhex :public Item_str_func
@@ -587,7 +587,7 @@ public:
decimals=0;
max_length=(1+args[0]->max_length)/2;
}
- virtual bool check_partition_func_processor(byte *bool_arg) { return 0;}
+ bool check_partition_func_processor(byte *bool_arg) { return 0;}
};
@@ -611,7 +611,7 @@ public:
}
void print(String *str);
const char *func_name() const { return "cast_as_binary"; }
- virtual bool check_partition_func_processor(byte *bool_arg) { return 0;}
+ bool check_partition_func_processor(byte *bool_arg) { return 0;}
};
@@ -651,7 +651,7 @@ public:
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; }
- virtual bool check_partition_func_processor(byte *bool_arg) { return 0;}
+ bool check_partition_func_processor(byte *bool_arg) { return 0;}
};
class Item_func_quote :public Item_str_func
@@ -666,7 +666,7 @@ public:
collation.set(args[0]->collation);
max_length= args[0]->max_length * 2 + 2;
}
- virtual bool check_partition_func_processor(byte *bool_arg) { return 0;}
+ bool check_partition_func_processor(byte *bool_arg) { return 0;}
};
class Item_func_conv_charset :public Item_str_func
@@ -709,7 +709,7 @@ public:
void fix_length_and_dec();
const char *func_name() const { return "convert"; }
void print(String *str);
- virtual bool check_partition_func_processor(byte *bool_arg) { return 0;}
+ bool check_partition_func_processor(byte *bool_arg) { return 0;}
};
class Item_func_set_collation :public Item_str_func
@@ -742,7 +742,7 @@ public:
maybe_null= 0;
};
table_map not_null_tables() const { return 0; }
- virtual bool check_partition_func_processor(byte *bool_arg) { return 0;}
+ bool check_partition_func_processor(byte *bool_arg) { return 0;}
};
class Item_func_collation :public Item_str_func
@@ -758,7 +758,7 @@ public:
maybe_null= 0;
};
table_map not_null_tables() const { return 0; }
- virtual bool check_partition_func_processor(byte *bool_arg) { return 0;}
+ bool check_partition_func_processor(byte *bool_arg) { return 0;}
};
class Item_func_crc32 :public Item_int_func
@@ -769,7 +769,7 @@ public:
const char *func_name() const { return "crc32"; }
void fix_length_and_dec() { max_length=10; }
longlong val_int();
- virtual bool check_partition_func_processor(byte *bool_arg) { return 0;}
+ bool check_partition_func_processor(byte *bool_arg) { return 0;}
};
class Item_func_uncompressed_length : public Item_int_func
@@ -780,7 +780,7 @@ public:
const char *func_name() const{return "uncompressed_length";}
void fix_length_and_dec() { max_length=10; }
longlong val_int();
- virtual bool check_partition_func_processor(byte *bool_arg) { return 0;}
+ bool check_partition_func_processor(byte *bool_arg) { return 0;}
};
#ifdef HAVE_COMPRESS
@@ -797,7 +797,7 @@ public:
void fix_length_and_dec(){max_length= (args[0]->max_length*120)/100+12;}
const char *func_name() const{return "compress";}
String *val_str(String *) ZLIB_DEPENDED_FUNCTION
- virtual bool check_partition_func_processor(byte *bool_arg) { return 0;}
+ bool check_partition_func_processor(byte *bool_arg) { return 0;}
};
class Item_func_uncompress: public Item_str_func
@@ -808,7 +808,7 @@ public:
void fix_length_and_dec(){max_length= MAX_BLOB_WIDTH;}
const char *func_name() const{return "uncompress";}
String *val_str(String *) ZLIB_DEPENDED_FUNCTION
- virtual bool check_partition_func_processor(byte *bool_arg) { return 0;}
+ bool check_partition_func_processor(byte *bool_arg) { return 0;}
};
#define UUID_LENGTH (8+1+4+1+4+1+4+1+12)