diff --git a/mysql-test/install_test_db.sh b/mysql-test/install_test_db.sh index 8477a0cd66d..1cb49b72fdd 100644 --- a/mysql-test/install_test_db.sh +++ b/mysql-test/install_test_db.sh @@ -254,8 +254,8 @@ then c_p="$c_p type enum('function','procedure') NOT NULL," c_p="$c_p body blob DEFAULT '' NOT NULL," c_p="$c_p creator char(77) binary DEFAULT '' NOT NULL," - c_p="$c_p created timestamp," c_p="$c_p modified timestamp," + c_p="$c_p created timestamp," c_p="$c_p suid enum ('N', 'Y') DEFAULT 'Y' NOT NULL," c_p="$c_p comment char(64) binary DEFAULT '' NOT NULL," c_p="$c_p PRIMARY KEY (name,type)" diff --git a/scripts/mysql_install_db.sh b/scripts/mysql_install_db.sh index 9e7032244cc..246fd33d1c6 100644 --- a/scripts/mysql_install_db.sh +++ b/scripts/mysql_install_db.sh @@ -362,8 +362,8 @@ then c_p="$c_p type enum('function','procedure') NOT NULL," c_p="$c_p body blob DEFAULT '' NOT NULL," c_p="$c_p creator char(77) binary DEFAULT '' NOT NULL," - c_p="$c_p created timestamp," c_p="$c_p modified timestamp," + c_p="$c_p created timestamp," c_p="$c_p suid enum ('N', 'Y') DEFAULT 'Y' NOT NULL," c_p="$c_p comment char(64) binary DEFAULT '' NOT NULL," c_p="$c_p PRIMARY KEY (name,type)" diff --git a/sql/sp.cc b/sql/sp.cc index 5c87488bcda..f44335a6c75 100644 --- a/sql/sp.cc +++ b/sql/sp.cc @@ -118,8 +118,8 @@ db_find_routine(THD *thd, int type, char *name, uint namelen, sp_head **sphp) goto done; } - created= table->field[4]->val_int(); - modified= table->field[5]->val_int(); + modified= table->field[4]->val_int(); + created= table->field[5]->val_int(); if ((ptr= get_field(&thd->mem_root, table->field[6])) == NULL) { @@ -130,14 +130,9 @@ db_find_routine(THD *thd, int type, char *name, uint namelen, sp_head **sphp) suid= 0; table->field[7]->val_str(&str,&str); - length=str.length(); ptr= 0; - if (length) - { - ptr= (char*) alloc_root(&thd->mem_root,length+1); - memcpy(ptr,str.ptr(),(uint) length); - ptr[length]=0; - } + if ((length= str.length())) + ptr= strmake_root(&thd->mem_root, str.ptr(),length); if (opened) { @@ -203,6 +198,7 @@ db_create_routine(THD *thd, int type, table->field[1]->store((longlong)type); table->field[2]->store(def, deflen, system_charset_info); table->field[3]->store(creator, (uint) strlen(creator), system_charset_info); + ((Field_timestamp*) table->field[5])->set_time(); if (suid) table->field[6]->store((longlong) suid); if (comment) diff --git a/sql/sp_head.cc b/sql/sp_head.cc index 96624430307..f4bfb74dd3c 100644 --- a/sql/sp_head.cc +++ b/sql/sp_head.cc @@ -101,7 +101,7 @@ sp_head::sp_head(LEX_STRING *name, LEX *lex, LEX_STRING *comment, char suid) m_name.length= name->length; m_name.str= name->str; m_defstr.length= lex->end_of_query - lex->buf; - m_defstr.str= sql_strmake(dstr, m_defstr.length); + m_defstr.str= lex->thd->strmake(dstr, m_defstr.length); m_comment.length= 0; m_comment.str= 0;