1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

Removed wrong implementation of CUBE/ROLLUP

Fixed bugfix of INSERT ... SET db_name.table_name.column_name
Changed locking to external-locking
Fix client hangup for some invalid SQL queries.


Docs/manual.texi:
  Changelog & recent incompatible changes to 4.0.3
include/mysqld_error.h:
  New error messages
myisam/ft_boolean_search.c:
  Removed compiler warning
myisam/mi_check.c:
  Change mi_fix_rec_buff_for_blob to mi_alloc_rec_buff
myisam/mi_dynrec.c:
  Change mi_fix_rec_buff_for_blob to mi_alloc_rec_buff
myisam/mi_extra.c:
  Change mi_fix_rec_buff_for_blob to mi_alloc_rec_buff
myisam/mi_key.c:
  Change mi_fix_rec_buff_for_blob to mi_alloc_rec_buff
myisam/mi_open.c:
  Change mi_fix_rec_buff_for_blob to mi_alloc_rec_buff
myisam/mi_packrec.c:
  Change mi_fix_rec_buff_for_blob to mi_alloc_rec_buff
myisam/myisamdef.h:
  Change mi_fix_rec_buff_for_blob to mi_alloc_rec_buff
myisam/sort.c:
  Fixed uninitialized variable
mysql-test/r/insert_set.result:
  Change test case to use database foo
mysql-test/r/union.result:
  Test wrong usage of union
mysql-test/t/insert_set.test:
  Test bug in insert
mysql-test/t/union.test:
  Test wrong usage of union
sql/item.h:
  Indentation cleanup
sql/item_cmpfunc.h:
  Indentation cleanup
sql/item_func.h:
  Indentation cleanup
sql/item_strfunc.h:
  Indentation cleanup
sql/item_sum.h:
  Indentation cleanup
sql/item_timefunc.h:
  Indentation cleanup
sql/item_uniq.h:
  Indentation cleanup
sql/mysql_priv.h:
  Fix that we always generate an error message when calling YYABORT
sql/mysqld.cc:
  Changed command line arguments regarding locking to always use --external-locking
  Disable external locking by default
sql/procedure.h:
  Cleanup
sql/set_var.cc:
  change locking -> external_locking
sql/share/czech/errmsg.txt:
  New error messages
sql/share/danish/errmsg.txt:
  New error messages
sql/share/dutch/errmsg.txt:
  New error messages
sql/share/english/errmsg.txt:
  New error messages
sql/share/estonian/errmsg.txt:
  New error messages
sql/share/french/errmsg.txt:
  New error messages
sql/share/german/errmsg.txt:
  New error messages
sql/share/greek/errmsg.txt:
  New error messages
sql/share/hungarian/errmsg.txt:
  New error messages
sql/share/italian/errmsg.txt:
  New error messages
sql/share/japanese/errmsg.txt:
  New error messages
sql/share/korean/errmsg.txt:
  New error messages
mysql-test/r/olap.result:
  Removed CUBE/ROLLUP
mysql-test/t/olap.test:
  Removed CUBE/ROLLUP
sql/share/norwegian-ny/errmsg.txt:
  New error messages
sql/share/norwegian/errmsg.txt:
  New error messages
sql/share/polish/errmsg.txt:
  New error messages
sql/share/portuguese/errmsg.txt:
  New error messages
sql/share/romanian/errmsg.txt:
  New error messages
sql/share/russian/errmsg.txt:
  New error messages
sql/share/slovak/errmsg.txt:
  New error messages
sql/share/spanish/errmsg.txt:
  New error messages
sql/share/swedish/errmsg.txt:
  New error messages
sql/share/ukrainian/errmsg.txt:
  New error messages
sql/sql_base.cc:
  Removed wrong patch for INSERT...
sql/sql_insert.cc:
  Fix bug in INSERT ... SET db_name.table_name.column_name
sql/sql_lex.h:
  Changed NON_EXISTIONG_ONE -> UNSPECIFIED_OLAP_TYPE
sql/sql_olap.cc:
  Removed wrong implementation of CUBE/ROLLUP
sql/sql_parse.cc:
  Removed wrong implementation of CUBE/ROLLUP
  Added function to give better error messages
sql/sql_select.cc:
  Removed wrong implementation of CUBE/ROLLUP
sql/sql_union.cc:
  Added comment
sql/sql_yacc.yy:
  Fix that we always generate an error message when calling YYABORT
This commit is contained in:
unknown
2002-07-24 19:55:08 +03:00
parent c911e9d721
commit 72dec69046
58 changed files with 504 additions and 541 deletions

View File

@ -121,7 +121,7 @@ public:
}
bool is_null() { (void) val_int(); return null_value; }
friend class udf_handler;
virtual unsigned int size_of () { return sizeof(*this);}
unsigned int size_of() { return sizeof(*this);}
};
@ -141,7 +141,7 @@ public:
if (!t_arg) return result_field;
return new Field_double(max_length, maybe_null, name,t_arg,decimals);
}
virtual unsigned int size_of () { return sizeof(*this);}
unsigned int size_of() { return sizeof(*this);}
};
class Item_num_func :public Item_func
@ -156,7 +156,7 @@ public:
enum Item_result result_type () const { return hybrid_type; }
void fix_length_and_dec() { fix_num_length_and_dec(); }
bool is_null() { (void) val(); return null_value; }
virtual unsigned int size_of () { return sizeof(*this);}
unsigned int size_of() { return sizeof(*this);}
};
@ -190,7 +190,7 @@ class Item_num_op :public Item_func
res= new Field_double(max_length, maybe_null, name, t_arg, decimals);
return res;
}
virtual unsigned int size_of () { return sizeof(*this);}
unsigned int size_of() { return sizeof(*this);}
};
@ -463,7 +463,7 @@ public:
const char *func_name() const { return truncate ? "truncate" : "round"; }
double val();
void fix_length_and_dec();
virtual unsigned int size_of () { return sizeof(*this);}
unsigned int size_of() { return sizeof(*this);}
};
@ -499,7 +499,7 @@ class Item_func_units :public Item_real_func
double val();
const char *func_name() const { return name; }
void fix_length_and_dec() { decimals=NOT_FIXED_DEC; max_length=float_length(decimals); }
virtual unsigned int size_of () { return sizeof(*this);}
unsigned int size_of() { return sizeof(*this);}
};
@ -516,7 +516,7 @@ public:
String *val_str(String *);
void fix_length_and_dec();
enum Item_result result_type () const { return cmp_type; }
virtual unsigned int size_of () { return sizeof(*this);}
unsigned int size_of() { return sizeof(*this);}
};
class Item_func_min :public Item_func_min_max
@ -542,7 +542,7 @@ public:
longlong val_int();
const char *func_name() const { return "length"; }
void fix_length_and_dec() { max_length=10; }
virtual unsigned int size_of () { return sizeof(*this);}
unsigned int size_of() { return sizeof(*this);}
};
class Item_func_bit_length :public Item_func_length
@ -561,7 +561,7 @@ public:
longlong val_int();
const char *func_name() const { return "char_length"; }
void fix_length_and_dec() { max_length=10; }
virtual unsigned int size_of () { return sizeof(*this);}
unsigned int size_of() { return sizeof(*this);}
};
class Item_func_locate :public Item_int_func
@ -573,7 +573,7 @@ public:
const char *func_name() const { return "locate"; }
longlong val_int();
void fix_length_and_dec() { maybe_null=0; max_length=11; }
virtual unsigned int size_of () { return sizeof(*this);}
unsigned int size_of() { return sizeof(*this);}
};
@ -603,7 +603,7 @@ public:
const_item_cache&= item->const_item();
with_sum_func= with_sum_func || item->with_sum_func;
}
virtual unsigned int size_of () { return sizeof(*this);}
unsigned int size_of() { return sizeof(*this);}
};
@ -615,7 +615,7 @@ public:
longlong val_int();
const char *func_name() const { return "ascii"; }
void fix_length_and_dec() { max_length=3; }
virtual unsigned int size_of () { return sizeof(*this);}
unsigned int size_of() { return sizeof(*this);}
};
class Item_func_ord :public Item_int_func
@ -625,7 +625,7 @@ public:
Item_func_ord(Item *a) :Item_int_func(a) {}
longlong val_int();
const char *func_name() const { return "ord"; }
virtual unsigned int size_of () { return sizeof(*this);}
unsigned int size_of() { return sizeof(*this);}
};
class Item_func_find_in_set :public Item_int_func
@ -638,7 +638,7 @@ public:
longlong val_int();
const char *func_name() const { return "find_in_set"; }
void fix_length_and_dec();
virtual unsigned int size_of () { return sizeof(*this);}
unsigned int size_of() { return sizeof(*this);}
};
@ -714,7 +714,7 @@ class Item_func_benchmark :public Item_int_func
longlong val_int();
const char *func_name() const { return "benchmark"; }
void fix_length_and_dec() { max_length=1; maybe_null=0; }
virtual unsigned int size_of () { return sizeof(*this);}
unsigned int size_of() { return sizeof(*this);}
};
@ -739,7 +739,7 @@ public:
return res;
}
Item_result result_type () const { return udf.result_type(); }
virtual unsigned int size_of () { return sizeof(*this);}
unsigned int size_of() { return sizeof(*this);}
};
@ -848,7 +848,7 @@ class Item_func_get_lock :public Item_int_func
longlong val_int();
const char *func_name() const { return "get_lock"; }
void fix_length_and_dec() { max_length=1; maybe_null=1;}
virtual unsigned int size_of () { return sizeof(*this);}
unsigned int size_of() { return sizeof(*this);}
};
class Item_func_release_lock :public Item_int_func
@ -859,7 +859,7 @@ class Item_func_release_lock :public Item_int_func
longlong val_int();
const char *func_name() const { return "release_lock"; }
void fix_length_and_dec() { max_length=1; maybe_null=1;}
virtual unsigned int size_of () { return sizeof(*this);}
unsigned int size_of() { return sizeof(*this);}
};
/* replication functions */
@ -872,7 +872,7 @@ class Item_master_pos_wait :public Item_int_func
longlong val_int();
const char *func_name() const { return "master_pos_wait"; }
void fix_length_and_dec() { max_length=1; maybe_null=1;}
virtual unsigned int size_of () { return sizeof(*this);}
unsigned int size_of() { return sizeof(*this);}
};
@ -898,7 +898,7 @@ public:
void fix_length_and_dec();
void print(String *str);
const char *func_name() const { return "set_user_var"; }
virtual unsigned int size_of () { return sizeof(*this);}
unsigned int size_of() { return sizeof(*this);}
};
@ -923,7 +923,7 @@ public:
table_map used_tables() const
{ return const_var_flag ? 0 : RAND_TABLE_BIT; }
bool eq(const Item *item, bool binary_cmp) const;
virtual unsigned int size_of () { return sizeof(*this);}
unsigned int size_of() { return sizeof(*this);}
};
@ -979,7 +979,7 @@ public:
bool fix_index();
void init_search(bool no_order);
virtual unsigned int size_of () { return sizeof(*this);}
unsigned int size_of() { return sizeof(*this);}
};
@ -1030,5 +1030,5 @@ public:
longlong val_int();
const char *func_name() const { return "check_lock"; }
void fix_length_and_dec() { decimals=0; max_length=1; maybe_null=1;}
virtual unsigned int size_of () { return sizeof(*this);}
unsigned int size_of() { return sizeof(*this);}
};