diff options
Diffstat (limited to 'sql/sql_show.cc')
-rw-r--r-- | sql/sql_show.cc | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/sql/sql_show.cc b/sql/sql_show.cc index 9483db9eff9..138fa4bc631 100644 --- a/sql/sql_show.cc +++ b/sql/sql_show.cc @@ -6724,13 +6724,15 @@ static bool store_trigger(THD *thd, Trigger *trigger, table->field[14]->store(STRING_WITH_LEN("OLD"), cs); table->field[15]->store(STRING_WITH_LEN("NEW"), cs); - if (trigger->create_time) + if (trigger->ms_create_time) { + /* timestamp is in microseconds */ table->field[16]->set_notnull(); thd->variables.time_zone->gmt_sec_to_TIME(×tamp, - (my_time_t)(trigger->create_time/100)); - /* timestamp is with 6 digits */ - timestamp.second_part= (trigger->create_time % 100) * 10000; + (my_time_t) + (trigger->ms_create_time/ + 1000000)); + timestamp.second_part= trigger->ms_create_time % 1000000; ((Field_temporal_with_date*) table->field[16])->store_time_dec(×tamp, 2); } @@ -9810,12 +9812,14 @@ static bool show_create_trigger_impl(THD *thd, Trigger *trigger) trigger->db_cl_name.length, system_charset_info); - if (trigger->create_time) + if (trigger->ms_create_time) { MYSQL_TIME timestamp; thd->variables.time_zone->gmt_sec_to_TIME(×tamp, - (my_time_t)(trigger->create_time/100)); - timestamp.second_part= (trigger->create_time % 100) * 10000; + (my_time_t) + (trigger->ms_create_time/ + 1000000)); + timestamp.second_part= trigger->ms_create_time % 1000000; p->store(×tamp, 2); } else |