1
0
mirror of https://github.com/MariaDB/server.git synced 2026-01-06 05:22:24 +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

@@ -70,7 +70,7 @@ public:
void print(String *str);
void fix_num_length_and_dec();
virtual bool setup(THD *thd) {return 0;}
virtual unsigned int size_of () { return sizeof(*this);}
unsigned int size_of() { return sizeof(*this);}
};
@@ -85,7 +85,7 @@ public:
longlong val_int() { return (longlong) val(); } /* Real as default */
String *val_str(String*str);
void reset_field();
virtual unsigned int size_of () { return sizeof(*this);}
unsigned int size_of() { return sizeof(*this);}
};
@@ -100,7 +100,7 @@ public:
double val() { return (double) val_int(); }
String *val_str(String*str);
enum Item_result result_type () const { return INT_RESULT; }
virtual unsigned int size_of () { return sizeof(*this);}
unsigned int size_of() { return sizeof(*this);}
};
@@ -118,7 +118,7 @@ class Item_sum_sum :public Item_sum_num
void reset_field();
void update_field(int offset);
const char *func_name() const { return "sum"; }
virtual unsigned int size_of () { return sizeof(*this);}
unsigned int size_of() { return sizeof(*this);}
};
@@ -141,7 +141,7 @@ class Item_sum_count :public Item_sum_int
void reset_field();
void update_field(int offset);
const char *func_name() const { return "count"; }
virtual unsigned int size_of () { return sizeof(*this);}
unsigned int size_of() { return sizeof(*this);}
};
@@ -193,7 +193,7 @@ class Item_sum_count_distinct :public Item_sum_int
void update_field(int offset) { return ; } // Never called
const char *func_name() const { return "count_distinct"; }
bool setup(THD *thd);
virtual unsigned int size_of () { return sizeof(*this);}
unsigned int size_of() { return sizeof(*this);}
};
@@ -213,7 +213,7 @@ public:
String *val_str(String*);
void make_field(Send_field *field);
void fix_length_and_dec() {}
virtual unsigned int size_of () { return sizeof(*this);}
unsigned int size_of() { return sizeof(*this);}
};
@@ -235,7 +235,7 @@ class Item_sum_avg :public Item_sum_num
Item *result_item(Field *field)
{ return new Item_avg_field(this); }
const char *func_name() const { return "avg"; }
virtual unsigned int size_of () { return sizeof(*this);}
unsigned int size_of() { return sizeof(*this);}
};
class Item_sum_std;
@@ -252,7 +252,7 @@ public:
bool is_null() { (void) val_int(); return null_value; }
void make_field(Send_field *field);
void fix_length_and_dec() {}
virtual unsigned int size_of () { return sizeof(*this);}
unsigned int size_of() { return sizeof(*this);}
};
class Item_sum_std :public Item_sum_num
@@ -273,7 +273,7 @@ class Item_sum_std :public Item_sum_num
Item *result_item(Field *field)
{ return new Item_std_field(this); }
const char *func_name() const { return "std"; }
virtual unsigned int size_of () { return sizeof(*this);}
unsigned int size_of() { return sizeof(*this);}
};
@@ -316,7 +316,7 @@ class Item_sum_hybrid :public Item_sum
void min_max_update_str_field(int offset);
void min_max_update_real_field(int offset);
void min_max_update_int_field(int offset);
virtual unsigned int size_of () { return sizeof(*this);}
unsigned int size_of() { return sizeof(*this);}
};
@@ -328,7 +328,7 @@ public:
bool add();
const char *func_name() const { return "min"; }
virtual unsigned int size_of () { return sizeof(*this);}
unsigned int size_of() { return sizeof(*this);}
};
@@ -340,7 +340,7 @@ public:
bool add();
const char *func_name() const { return "max"; }
virtual unsigned int size_of () { return sizeof(*this);}
unsigned int size_of() { return sizeof(*this);}
};
@@ -356,7 +356,7 @@ class Item_sum_bit :public Item_sum_int
void reset();
longlong val_int();
void reset_field();
virtual unsigned int size_of () { return sizeof(*this);}
unsigned int size_of() { return sizeof(*this);}
};
@@ -367,7 +367,7 @@ class Item_sum_or :public Item_sum_bit
bool add();
void update_field(int offset);
const char *func_name() const { return "bit_or"; }
virtual unsigned int size_of () { return sizeof(*this);}
unsigned int size_of() { return sizeof(*this);}
};
@@ -378,7 +378,7 @@ class Item_sum_and :public Item_sum_bit
bool add();
void update_field(int offset);
const char *func_name() const { return "bit_and"; }
virtual unsigned int size_of () { return sizeof(*this);}
unsigned int size_of() { return sizeof(*this);}
};
/*
@@ -409,7 +409,7 @@ public:
bool add();
void reset_field() {};
void update_field(int offset_arg) {};
virtual unsigned int size_of () { return sizeof(*this);}
unsigned int size_of() { return sizeof(*this);}
};