summaryrefslogtreecommitdiff
path: root/sql/item_strfunc.h
diff options
context:
space:
mode:
authorunknown <mikael@c-4908e253.1238-1-64736c10.cust.bredbandsbolaget.se>2006-04-08 18:10:20 -0400
committerunknown <mikael@c-4908e253.1238-1-64736c10.cust.bredbandsbolaget.se>2006-04-08 18:10:20 -0400
commit09250cc6b74b6de006ec86606e4a345d0451fa92 (patch)
treea3a5f714b19c87e96162b32cb96fddd4be2481e1 /sql/item_strfunc.h
parent781f2f1868b642eb4109fee2458518a8836cf1b1 (diff)
downloadmariadb-git-09250cc6b74b6de006ec86606e4a345d0451fa92.tar.gz
BUG#18198: Errors due to too much allowed in partition functions
Added functions to enable/disable allowed/disallowed partition functions sql/item.h: Added functions to enable/disable allowed/disallowed partition functions sql/item_cmpfunc.h: Added functions to enable/disable allowed/disallowed partition functions sql/item_func.h: Added functions to enable/disable allowed/disallowed partition functions sql/item_strfunc.h: Added functions to enable/disable allowed/disallowed partition functions sql/item_timefunc.h: Added functions to enable/disable allowed/disallowed partition functions sql/item_xmlfunc.h: Added functions to enable/disable allowed/disallowed partition functions sql/partition_info.cc: Added functions to enable/disable allowed/disallowed partition functions sql/share/errmsg.txt: Added new error message
Diffstat (limited to 'sql/item_strfunc.h')
-rw-r--r--sql/item_strfunc.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/sql/item_strfunc.h b/sql/item_strfunc.h
index 6a95a9e5d1f..5e4fe49e281 100644
--- a/sql/item_strfunc.h
+++ b/sql/item_strfunc.h
@@ -46,6 +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;}
};
@@ -56,6 +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;}
};
class Item_func_aes_encrypt :public Item_str_func
@@ -86,6 +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;}
};
class Item_func_concat_ws :public Item_str_func
@@ -106,6 +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;}
};
@@ -143,6 +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;}
};
@@ -206,6 +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;}
};
@@ -217,6 +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;}
};
@@ -231,6 +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;}
};
@@ -410,6 +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;}
};
@@ -517,6 +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;}
};
@@ -529,6 +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;}
};
@@ -543,6 +554,7 @@ public:
collation.set(default_charset());
decimals=0; max_length=64;
}
+ virtual bool check_partition_func_processor(byte *bool_arg) { return 0;}
};
@@ -559,6 +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;}
};
class Item_func_unhex :public Item_str_func
@@ -574,6 +587,7 @@ public:
decimals=0;
max_length=(1+args[0]->max_length)/2;
}
+ virtual bool check_partition_func_processor(byte *bool_arg) { return 0;}
};
@@ -597,6 +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;}
};
@@ -636,6 +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;}
};
class Item_func_quote :public Item_str_func
@@ -650,6 +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;}
};
class Item_func_conv_charset :public Item_str_func
@@ -692,6 +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;}
};
class Item_func_set_collation :public Item_str_func
@@ -724,6 +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;}
};
class Item_func_collation :public Item_str_func
@@ -739,6 +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;}
};
class Item_func_crc32 :public Item_int_func
@@ -749,6 +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;}
};
class Item_func_uncompressed_length : public Item_int_func
@@ -759,6 +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;}
};
#ifdef HAVE_COMPRESS
@@ -775,6 +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;}
};
class Item_func_uncompress: public Item_str_func
@@ -785,6 +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;}
};
#define UUID_LENGTH (8+1+4+1+4+1+4+1+12)