Commit e4b3d6fa authored by Sinisa@sinisa.nasamreza.org's avatar Sinisa@sinisa.nasamreza.org

Merge

parents fcf253dd eb45da04
......@@ -50147,6 +50147,10 @@ each individual 4.0.x release.
@itemize @bullet
@item
Fixed security bug in database hash
@item
Fixed create table from any ITEM_FUNC and reverted a patch for month()
@item
Fixed bug in query cache after temporary table creation.
@item
Added --count=N (-c) to mysqladmin, to be used with -i (--sleep). When used,
......@@ -134,3 +134,5 @@ t1 CREATE TABLE `t1` (
KEY `b_31` (`b`)
) TYPE=MyISAM
drop table t1;
create table t1 select if(1,'1','0'), month("2002-08-02");
drop table t1;
......@@ -89,3 +89,5 @@ drop table t1,t2;
create table t1 (a int not null, b int, primary key(a), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b));
show create table t1;
drop table t1;
create table t1 select if(1,'1','0'), month("2002-08-02");
drop table t1;
......@@ -122,6 +122,11 @@ class Item_func :public Item_result_field
bool is_null() { (void) val_int(); return null_value; }
friend class udf_handler;
unsigned int size_of() { return sizeof(*this);}
Field *tmp_table_field(TABLE *t_arg)
{
if (!t_arg) return result_field;
return (Field *) new Field_string(max_length,maybe_null, name,t_arg, binary);
}
};
......
......@@ -71,11 +71,6 @@ class Item_func_month :public Item_func
const char *func_name() const { return "month"; }
enum Item_result result_type () const { return INT_RESULT; }
void fix_length_and_dec() { decimals=0; max_length=2; maybe_null=1; }
Field *tmp_table_field(TABLE *t_arg)
{
if (!t_arg) return result_field;
return (Field *) new Field_string(max_length,maybe_null, name,t_arg, binary);
}
};
class Item_func_monthname :public Item_func_month
......
......@@ -321,6 +321,8 @@ int acl_init(bool dont_read_acl_tables)
ACL_DB db;
update_hostname(&db.host,get_field(&mem, table,0));
db.db=get_field(&mem, table,1);
if (!db.db || !db.db[0])
continue;
db.user=get_field(&mem, table,2);
db.access=get_access(table,3);
db.access=fix_rights_for_db(db.access);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment