mirror of
https://github.com/MariaDB/server.git
synced 2025-08-07 00:04:31 +03:00
Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/my/mysql-5.0 client/mysql.cc: Auto merged client/mysql_upgrade.c: Auto merged client/mysqltest.c: Auto merged extra/yassl/include/yassl_imp.hpp: Auto merged extra/yassl/include/yassl_int.hpp: Auto merged extra/yassl/taocrypt/include/algebra.hpp: Auto merged extra/yassl/taocrypt/include/des.hpp: Auto merged extra/yassl/taocrypt/include/modes.hpp: Auto merged extra/yassl/taocrypt/src/aes.cpp: Auto merged extra/yassl/taocrypt/src/algebra.cpp: Auto merged extra/yassl/taocrypt/test/test.cpp: Auto merged include/my_sys.h: Auto merged libmysql/libmysql.c: Auto merged libmysqld/lib_sql.cc: Auto merged myisam/mi_open.c: Auto merged myisam/myisampack.c: Auto merged mysql-test/r/mysqltest.result: Auto merged mysql-test/t/mysqltest.test: Auto merged ndb/src/common/util/File.cpp: Auto merged ndb/src/common/util/socket_io.cpp: Auto merged ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp: Auto merged ndb/src/kernel/blocks/dbdict/Dbdict.cpp: Auto merged ndb/src/kernel/blocks/dbdih/Dbdih.hpp: Auto merged ndb/src/kernel/blocks/dblqh/Dblqh.hpp: Auto merged ndb/src/kernel/blocks/dblqh/DblqhMain.cpp: Auto merged ndb/src/kernel/blocks/dbtc/Dbtc.hpp: Auto merged ndb/src/kernel/blocks/dbtup/Dbtup.hpp: Auto merged ndb/src/mgmsrv/Services.cpp: Auto merged ndb/tools/ndb_config.cpp: Auto merged sql/field.cc: Auto merged sql/field.h: Auto merged sql/ha_ndbcluster.cc: Auto merged sql/handler.cc: Auto merged sql/item.cc: Auto merged sql/item.h: Auto merged sql/item_cmpfunc.cc: Auto merged sql/item_func.cc: Auto merged sql/item_strfunc.cc: Auto merged sql/item_subselect.h: Auto merged sql/item_sum.cc: Auto merged sql/item_timefunc.cc: Auto merged sql/mysql_priv.h: Auto merged sql/mysqld.cc: Auto merged sql/opt_range.cc: Auto merged sql/set_var.cc: Auto merged sql/sql_class.cc: Auto merged sql/sql_class.h: Auto merged sql/sql_load.cc: Auto merged sql-common/my_time.c: Auto merged sql/sql_string.h: Auto merged sql/sql_table.cc: Auto merged sql/sql_trigger.cc: Auto merged sql/sql_yacc.yy: Auto merged sql/table.cc: Auto merged strings/strtod.c: Auto merged tests/mysql_client_test.c: Auto merged extra/yassl/taocrypt/include/rsa.hpp: manual merge mysql-test/t/mysql.test: manual merge sql/sql_parse.cc: manual merge
This commit is contained in:
@@ -801,8 +801,8 @@ bool Table_triggers_list::prepare_record1_accessors(TABLE *table)
|
||||
|
||||
void Table_triggers_list::set_table(TABLE *new_table)
|
||||
{
|
||||
table= new_table;
|
||||
for (Field **field= table->triggers->record1_field ; *field ; field++)
|
||||
trigger_table= new_table;
|
||||
for (Field **field= new_table->triggers->record1_field ; *field ; field++)
|
||||
{
|
||||
(*field)->table= (*field)->orig_table= new_table;
|
||||
(*field)->table_name= &new_table->alias;
|
||||
@@ -1366,7 +1366,8 @@ Table_triggers_list::change_table_name_in_triggers(THD *thd,
|
||||
It is OK to allocate some memory on table's MEM_ROOT since this
|
||||
table instance will be thrown out at the end of rename anyway.
|
||||
*/
|
||||
new_def.str= memdup_root(&table->mem_root, buff.ptr(), buff.length());
|
||||
new_def.str= memdup_root(&trigger_table->mem_root, buff.ptr(),
|
||||
buff.length());
|
||||
new_def.length= buff.length();
|
||||
on_table_name->str= new_def.str + before_on_len;
|
||||
on_table_name->length= on_q_table_name_len;
|
||||
@@ -1546,17 +1547,17 @@ bool Table_triggers_list::process_triggers(THD *thd, trg_event_type event,
|
||||
if (old_row_is_record1)
|
||||
{
|
||||
old_field= record1_field;
|
||||
new_field= table->field;
|
||||
new_field= trigger_table->field;
|
||||
}
|
||||
else
|
||||
{
|
||||
new_field= record1_field;
|
||||
old_field= table->field;
|
||||
old_field= trigger_table->field;
|
||||
}
|
||||
|
||||
thd->reset_sub_statement_state(&statement_state, SUB_STMT_TRIGGER);
|
||||
err_status= sp_trigger->execute_trigger
|
||||
(thd, table->s->db, table->s->table_name,
|
||||
(thd, trigger_table->s->db, trigger_table->s->table_name,
|
||||
&subject_table_grants[event][time_type]);
|
||||
thd->restore_sub_statement_state(&statement_state);
|
||||
}
|
||||
@@ -1592,7 +1593,7 @@ void Table_triggers_list::mark_fields_used(THD *thd, trg_event_type event)
|
||||
{
|
||||
/* We cannot mark fields which does not present in table. */
|
||||
if (trg_field->field_idx != (uint)-1)
|
||||
table->field[trg_field->field_idx]->query_id = thd->query_id;
|
||||
trigger_table->field[trg_field->field_idx]->query_id = thd->query_id;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1623,7 +1624,7 @@ bool Table_triggers_list::is_updated_in_before_update_triggers(Field *fld)
|
||||
{
|
||||
if (trg_fld->get_settable_routine_parameter() &&
|
||||
trg_fld->field_idx != (uint)-1 &&
|
||||
table->field[trg_fld->field_idx]->eq(fld))
|
||||
trigger_table->field[trg_fld->field_idx]->eq(fld))
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
|
Reference in New Issue
Block a user