1
0
mirror of https://github.com/MariaDB/server.git synced 2025-12-24 11:21:21 +03:00

BUG#33182: Disallow division due to div_precision_increment problems

This commit is contained in:
mikael@dator6.(none)
2008-01-28 22:05:25 +01:00
parent dbcd4d9ec8
commit 8de834fc6a
3 changed files with 10 additions and 1 deletions

View File

@@ -1,4 +1,7 @@
drop table if exists t1;
create table t1 (a int) partition by list ((a/3)*10 div 1)
(partition p0 values in (0), partition p1 values in (1));
ERROR HY000: This partition function is not allowed
CREATE TABLE t1 (
d DATE NOT NULL
)

View File

@@ -14,6 +14,10 @@
drop table if exists t1;
--enable_warnings
--error ER_PARTITION_FUNCTION_IS_NOT_ALLOWED
create table t1 (a int) partition by list ((a/3)*10 div 1)
(partition p0 values in (0), partition p1 values in (1));
#
# Bug #30695: An apostrophe ' in the comment of the ADD PARTITION causes the Server to crash.
#

View File

@@ -296,7 +296,6 @@ class Item_num_op :public Item_func_numhybrid
void print(String *str) { print_op(str); }
void find_num_type();
String *str_op(String *str) { DBUG_ASSERT(0); return 0; }
bool check_partition_func_processor(uchar *int_arg) {return FALSE;}
};
@@ -382,6 +381,7 @@ class Item_func_additive_op :public Item_num_op
public:
Item_func_additive_op(Item *a,Item *b) :Item_num_op(a,b) {}
void result_precision();
bool check_partition_func_processor(uchar *int_arg) {return FALSE;}
};
@@ -416,6 +416,7 @@ public:
double real_op();
my_decimal *decimal_op(my_decimal *);
void result_precision();
bool check_partition_func_processor(uchar *int_arg) {return FALSE;}
};
@@ -456,6 +457,7 @@ public:
const char *func_name() const { return "%"; }
void result_precision();
void fix_length_and_dec();
bool check_partition_func_processor(uchar *int_arg) {return FALSE;}
};