diff options
author | unknown <monty@mysql.com/narttu.mysql.fi> | 2006-12-15 01:01:52 +0200 |
---|---|---|
committer | unknown <monty@mysql.com/narttu.mysql.fi> | 2006-12-15 01:01:52 +0200 |
commit | 2bcbffa0c50f5a09152d1b7b4de7a65abc9283b6 (patch) | |
tree | b60f635d3126e8d0f1321f0187390d7cf8496558 /sql/sql_trigger.cc | |
parent | 39d873cf3ccad03bda9c751aebc6c59d4a126c91 (diff) | |
parent | f00257ddd0a2f392f9b80c9cd5c405017e3a9d63 (diff) | |
download | mariadb-git-2bcbffa0c50f5a09152d1b7b4de7a65abc9283b6.tar.gz |
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
Diffstat (limited to 'sql/sql_trigger.cc')
-rw-r--r-- | sql/sql_trigger.cc | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/sql/sql_trigger.cc b/sql/sql_trigger.cc index 3569733d064..822a41e78cd 100644 --- a/sql/sql_trigger.cc +++ b/sql/sql_trigger.cc @@ -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; |