diff options
author | unknown <konstantin@mysql.com> | 2006-02-15 21:08:44 +0300 |
---|---|---|
committer | unknown <konstantin@mysql.com> | 2006-02-15 21:08:44 +0300 |
commit | 9d5bf35d6a0b192250e4041078c25022c9c79bb8 (patch) | |
tree | 96e975606b9a95d12595e2cf37183ab01d97d269 | |
parent | cbe0db42a024602e728c32b7987844830198cf88 (diff) | |
download | mariadb-git-9d5bf35d6a0b192250e4041078c25022c9c79bb8.tar.gz |
Fix the coding style in a few new files.
-rw-r--r-- | sql/event.h | 44 | ||||
-rw-r--r-- | sql/event_priv.h | 4 | ||||
-rw-r--r-- | sql/event_timed.cc | 474 |
3 files changed, 263 insertions, 259 deletions
diff --git a/sql/event.h b/sql/event.h index 27abccf5b89..4e56861afae 100644 --- a/sql/event.h +++ b/sql/event.h @@ -43,13 +43,13 @@ extern ulong opt_event_executor; enum enum_event_on_completion -{ +{ MYSQL_EVENT_ON_COMPLETION_DROP = 1, MYSQL_EVENT_ON_COMPLETION_PRESERVE }; enum enum_event_status -{ +{ MYSQL_EVENT_ENABLED = 1, MYSQL_EVENT_DISABLED }; @@ -60,9 +60,9 @@ enum evex_table_field EVEX_FIELD_NAME, EVEX_FIELD_BODY, EVEX_FIELD_DEFINER, - EVEX_FIELD_EXECUTE_AT, - EVEX_FIELD_INTERVAL_EXPR, - EVEX_FIELD_TRANSIENT_INTERVAL, + EVEX_FIELD_EXECUTE_AT, + EVEX_FIELD_INTERVAL_EXPR, + EVEX_FIELD_TRANSIENT_INTERVAL, EVEX_FIELD_CREATED, EVEX_FIELD_MODIFIED, EVEX_FIELD_LAST_EXECUTED, @@ -112,7 +112,7 @@ public: ulong sql_mode; const uchar *body_begin; - + bool dropped; bool free_sphead_on_delete; uint flags;//all kind of purposes @@ -123,26 +123,26 @@ public: status(MYSQL_EVENT_ENABLED), sphead(0), sql_mode(0), body_begin(0), dropped(false), free_sphead_on_delete(true), flags(0) - + { pthread_mutex_init(&this->LOCK_running, MY_MUTEX_INIT_FAST); init(); } - + ~event_timed() { pthread_mutex_destroy(&this->LOCK_running); if (free_sphead_on_delete) free_sp(); } - - + + void init(); - int + int init_definer(THD *thd); - + int init_execute_at(THD *thd, Item *expr); @@ -157,7 +157,7 @@ public: int init_ends(THD *thd, Item *ends); - + void init_body(THD *thd); @@ -168,38 +168,38 @@ public: load_from_row(MEM_ROOT *mem_root, TABLE *table); bool - compute_next_execution_time(); + compute_next_execution_time(); void mark_last_executed(THD *thd); - + int drop(THD *thd); - + bool update_fields(THD *thd); int get_create_event(THD *thd, String *buf); - + int execute(THD *thd, MEM_ROOT *mem_root= NULL); int compile(THD *thd, MEM_ROOT *mem_root= NULL); - + my_bool is_running() { my_bool ret; - + VOID(pthread_mutex_lock(&this->LOCK_running)); ret= running; VOID(pthread_mutex_unlock(&this->LOCK_running)); - return ret; + return ret; } - + void free_sp() { delete sphead; @@ -241,7 +241,7 @@ shutdown_events(); // auxiliary -int +int event_timed_compare(event_timed **a, event_timed **b); diff --git a/sql/event_priv.h b/sql/event_priv.h index b0ba205d806..0d4cf3a2993 100644 --- a/sql/event_priv.h +++ b/sql/event_priv.h @@ -36,8 +36,8 @@ evex_db_find_event_aux(THD *thd, const LEX_STRING dbname, const LEX_STRING rname, const LEX_STRING definer, TABLE *table); - -int + +int event_timed_compare_q(void *vptr, byte* a, byte *b); int db_drop_event(THD *thd, event_timed *et, bool drop_if_exists, diff --git a/sql/event_timed.cc b/sql/event_timed.cc index 068c98bd410..a32090e9d2b 100644 --- a/sql/event_timed.cc +++ b/sql/event_timed.cc @@ -23,10 +23,10 @@ extern int yyparse(void *thd); /* - Init all member variables + Init all member variables - SYNOPSIS - event_timed::init() + SYNOPSIS + event_timed::init() */ void @@ -36,7 +36,7 @@ event_timed::init() dbname.str= name.str= body.str= comment.str= 0; dbname.length= name.length= body.length= comment.length= 0; - + set_zero_time(&starts, MYSQL_TIMESTAMP_DATETIME); set_zero_time(&ends, MYSQL_TIMESTAMP_DATETIME); set_zero_time(&execute_at, MYSQL_TIMESTAMP_DATETIME); @@ -44,25 +44,25 @@ event_timed::init() definer_user.str= definer_host.str= 0; definer_user.length= definer_host.length= 0; - + DBUG_VOID_RETURN; } /* - Set a name of the event + Set a name of the event - SYNOPSIS - event_timed::init_name() - thd THD - spn the name extracted in the parser + SYNOPSIS + event_timed::init_name() + thd THD + spn the name extracted in the parser */ void event_timed::init_name(THD *thd, sp_name *spn) { DBUG_ENTER("event_timed::init_name"); - uint n; /* Counter for nul trimming */ + uint n; /* Counter for nul trimming */ /* During parsing, we must use thd->mem_root */ MEM_ROOT *root= thd->mem_root; @@ -85,20 +85,20 @@ event_timed::init_name(THD *thd, sp_name *spn) dbname.length= thd->db_length; dbname.str= strmake_root(root, thd->db, dbname.length); } - - DBUG_PRINT("dbname", ("len=%d db=%s",dbname.length, dbname.str)); - DBUG_PRINT("name", ("len=%d name=%s",name.length, name.str)); + + DBUG_PRINT("dbname", ("len=%d db=%s",dbname.length, dbname.str)); + DBUG_PRINT("name", ("len=%d name=%s",name.length, name.str)); DBUG_VOID_RETURN; } /* - Set body of the event - what should be executed. + Set body of the event - what should be executed. - SYNOPSIS - event_timed::init_body() - thd THD + SYNOPSIS + event_timed::init_body() + thd THD NOTE The body is extracted by copying all data between the @@ -112,7 +112,7 @@ event_timed::init_body(THD *thd) MEM_ROOT *root= thd->mem_root; body.length= thd->lex->ptr - body_begin; - // Trim nuls at the end + // Trim nuls at the end while (body.length && body_begin[body.length-1] == '\0') body.length--; @@ -126,17 +126,17 @@ event_timed::init_body(THD *thd) /* - Set time for execution for one time events. + Set time for execution for one time events. - SYNOPSIS - event_timed::init_execute_at() - expr when (datetime) + SYNOPSIS + event_timed::init_execute_at() + expr when (datetime) - RETURNS - 0 - OK - EVEX_PARSE_ERROR - fix_fields failed - EVEX_BAD_PARAMS - datetime is in the past - ER_WRONG_VALUE - wrong value for execute at + RETURN VALUE + 0 OK + EVEX_PARSE_ERROR fix_fields failed + EVEX_BAD_PARAMS datetime is in the past + ER_WRONG_VALUE wrong value for execute at */ int @@ -152,9 +152,9 @@ event_timed::init_execute_at(THD *thd, Item *expr) if (expr->fix_fields(thd, &expr)) DBUG_RETURN(EVEX_PARSE_ERROR); - // let's check whether time is in the past - thd->variables.time_zone->gmt_sec_to_TIME(&time_tmp, - (my_time_t) thd->query_start()); + /* Let's check whether time is in the past */ + thd->variables.time_zone->gmt_sec_to_TIME(&time_tmp, + (my_time_t) thd->query_start()); if ((not_used= expr->get_date(<ime, TIME_NO_ZERO_DATE))) @@ -166,8 +166,8 @@ event_timed::init_execute_at(THD *thd, Item *expr) /* - This may result in a 1970-01-01 date if ltime is > 2037-xx-xx - CONVERT_TZ has similar problem + This may result in a 1970-01-01 date if ltime is > 2037-xx-xx. + CONVERT_TZ has similar problem. */ my_tz_UTC->gmt_sec_to_TIME(<ime, TIME_to_timestamp(thd,<ime, ¬_used)); @@ -178,17 +178,17 @@ event_timed::init_execute_at(THD *thd, Item *expr) /* - Set time for execution for transient events. + Set time for execution for transient events. - SYNOPSIS - event_timed::init_interval() - expr how much? - new_interval what is the interval + SYNOPSIS + event_timed::init_interval() + expr how much? + new_interval what is the interval - RETURNS - 0 - OK - EVEX_PARSE_ERROR - fix_fields failed - EVEX_BAD_PARAMS - Interval is not positive + RETURNS + 0 OK + EVEX_PARSE_ERROR fix_fields failed + EVEX_BAD_PARAMS Interval is not positive */ int @@ -197,7 +197,7 @@ event_timed::init_interval(THD *thd, Item *expr, interval_type new_interval) longlong tmp; String value; INTERVAL interval; - + DBUG_ENTER("event_timed::init_interval"); if (expr->fix_fields(thd, &expr)) @@ -230,7 +230,7 @@ event_timed::init_interval(THD *thd, Item *expr, interval_type new_interval) case INTERVAL_SECOND: expression= interval.second; break; - case INTERVAL_YEAR_MONTH: // Allow YEAR-MONTH YYYYYMM + case INTERVAL_YEAR_MONTH: // Allow YEAR-MONTH YYYYYMM expression= interval.year* 12 + interval.month; break; case INTERVAL_DAY_HOUR: @@ -265,31 +265,31 @@ event_timed::init_interval(THD *thd, Item *expr, interval_type new_interval) } if (interval.neg || expression > EVEX_MAX_INTERVAL_VALUE) DBUG_RETURN(EVEX_BAD_PARAMS); - + this->interval= new_interval; DBUG_RETURN(0); } /* - Set activation time. - - SYNOPSIS - event_timed::init_starts() - expr how much? - interval what is the interval - - NOTES - Note that activation time is not execution time. - EVERY 5 MINUTE STARTS "2004-12-12 10:00:00" means that - the event will be executed every 5 minutes but this will - start at the date shown above. Expressions are possible : - DATE_ADD(NOW(), INTERVAL 1 DAY) -- start tommorow at - same time. - - RETURNS - 0 - OK - EVEX_PARSE_ERROR - fix_fields failed + Set activation time. + + SYNOPSIS + event_timed::init_starts() + expr how much? + interval what is the interval + + NOTES + Note that activation time is not execution time. + EVERY 5 MINUTE STARTS "2004-12-12 10:00:00" means that + the event will be executed every 5 minutes but this will + start at the date shown above. Expressions are possible : + DATE_ADD(NOW(), INTERVAL 1 DAY) -- start tommorow at + same time. + + RETURNS + 0 OK + EVEX_PARSE_ERROR fix_fields failed */ int @@ -306,9 +306,9 @@ event_timed::init_starts(THD *thd, Item *new_starts) if ((not_used= new_starts->get_date(<ime, TIME_NO_ZERO_DATE))) DBUG_RETURN(EVEX_BAD_PARAMS); - // let's check whether time is in the past - thd->variables.time_zone->gmt_sec_to_TIME(&time_tmp, - (my_time_t) thd->query_start()); + /* Let's check whether time is in the past */ + thd->variables.time_zone->gmt_sec_to_TIME(&time_tmp, + (my_time_t) thd->query_start()); DBUG_PRINT("info",("now =%lld", TIME_to_ulonglong_datetime(&time_tmp))); DBUG_PRINT("info",("starts=%lld", TIME_to_ulonglong_datetime(<ime))); @@ -317,8 +317,8 @@ event_timed::init_starts(THD *thd, Item *new_starts) DBUG_RETURN(EVEX_BAD_PARAMS); /* - This may result in a 1970-01-01 date if ltime is > 2037-xx-xx - CONVERT_TZ has similar problem + This may result in a 1970-01-01 date if ltime is > 2037-xx-xx + CONVERT_TZ has similar problem */ my_tz_UTC->gmt_sec_to_TIME(<ime, TIME_to_timestamp(thd, <ime, ¬_used)); @@ -328,28 +328,28 @@ event_timed::init_starts(THD *thd, Item *new_starts) /* - Set deactivation time. - - SYNOPSIS - event_timed::init_ends() - thd THD - new_ends when? - - NOTES - Note that activation time is not execution time. - EVERY 5 MINUTE ENDS "2004-12-12 10:00:00" means that - the event will be executed every 5 minutes but this will - end at the date shown above. Expressions are possible : - DATE_ADD(NOW(), INTERVAL 1 DAY) -- end tommorow at - same time. - - RETURNS - 0 - OK - EVEX_PARSE_ERROR - fix_fields failed - EVEX_BAD_PARAMS - ENDS before STARTS + Set deactivation time. + + SYNOPSIS + event_timed::init_ends() + thd THD + new_ends when? + + NOTES + Note that activation time is not execution time. + EVERY 5 MINUTE ENDS "2004-12-12 10:00:00" means that + the event will be executed every 5 minutes but this will + end at the date shown above. Expressions are possible : + DATE_ADD(NOW(), INTERVAL 1 DAY) -- end tommorow at + same time. + + RETURNS + 0 OK + EVEX_PARSE_ERROR fix_fields failed + EVEX_BAD_PARAMS ENDS before STARTS */ -int +int event_timed::init_ends(THD *thd, Item *new_ends) { TIME ltime; @@ -361,16 +361,16 @@ event_timed::init_ends(THD *thd, Item *new_ends) if (new_ends->fix_fields(thd, &new_ends)) DBUG_RETURN(EVEX_PARSE_ERROR); - // the field was already fixed in init_ends + /* The field was already fixed in init_ends */ if ((not_used= new_ends->get_date(<ime, TIME_NO_ZERO_DATE))) DBUG_RETURN(EVEX_BAD_PARAMS); /* - This may result in a 1970-01-01 date if ltime is > 2037-xx-xx - CONVERT_TZ has similar problem + This may result in a 1970-01-01 date if ltime is > 2037-xx-xx. + CONVERT_TZ has similar problem. */ my_tz_UTC->gmt_sec_to_TIME(<ime, TIME_to_timestamp(thd, <ime, ¬_used)); - + if (starts.year && my_time_compare(&starts, <ime) != -1) DBUG_RETURN(EVEX_BAD_PARAMS); @@ -380,12 +380,12 @@ event_timed::init_ends(THD *thd, Item *new_ends) /* - Sets comment. + Sets comment. - SYNOPSIS - event_timed::init_comment() - thd THD - used for memory allocation - comment the string. + SYNOPSIS + event_timed::init_comment() + thd THD - used for memory allocation + comment the string. */ void @@ -401,11 +401,10 @@ event_timed::init_comment(THD *thd, LEX_STRING *set_comment) /* - Inits definer (definer_user and definer_host) during - parsing. + Inits definer (definer_user and definer_host) during parsing. - SYNOPSIS - event_timed::init_definer() + SYNOPSIS + event_timed::init_definer() */ int @@ -418,31 +417,31 @@ event_timed::init_definer(THD *thd) definer_host.str= strdup_root(thd->mem_root, thd->security_ctx->priv_host); definer_host.length= strlen(thd->security_ctx->priv_host); - + definer.length= definer_user.length + definer_host.length + 1; definer.str= alloc_root(thd->mem_root, definer.length + 1); memcpy(definer.str, definer_user.str, definer_user.length); definer.str[definer_user.length]= '@'; - + memcpy(definer.str + definer_user.length + 1, definer_host.str, definer_host.length); - definer.str[definer.length]= '\0'; + definer.str[definer.length]= '\0'; DBUG_RETURN(0); } /* - Loads an event from a row from mysql.event - - SYNOPSIS - event_timed::load_from_row(MEM_ROOT *mem_root, TABLE *table) - - REMARKS - This method is silent on errors and should behave like that. Callers - should handle throwing of error messages. The reason is that the class - should not know about how to deal with communication. + Loads an event from a row from mysql.event + + SYNOPSIS + event_timed::load_from_row(MEM_ROOT *mem_root, TABLE *table) + + NOTES + This method is silent on errors and should behave like that. Callers + should handle throwing of error messages. The reason is that the class + should not know about how to deal with communication. */ int @@ -461,7 +460,7 @@ event_timed::load_from_row(MEM_ROOT *mem_root, TABLE *table) goto error; et= this; - + if (table->s->fields != EVEX_FIELD_COUNT) goto error; @@ -500,18 +499,18 @@ event_timed::load_from_row(MEM_ROOT *mem_root, TABLE *table) len= et->definer.length - len - 1; //1 is because of @ et->definer_host.str= strmake_root(mem_root, ptr + 1, len);//1: because of @ et->definer_host.length= len; - + res1= table->field[EVEX_FIELD_STARTS]-> get_date(&et->starts, TIME_NO_ZERO_DATE); res2= table->field[EVEX_FIELD_ENDS]-> get_date(&et->ends, TIME_NO_ZERO_DATE); - + et->expression= table->field[EVEX_FIELD_INTERVAL_EXPR]->val_int(); /* If res1 and res2 are true then both fields are empty. - Hence if EVEX_FIELD_EXECUTE_AT is empty there is an error. + Hence if EVEX_FIELD_EXECUTE_AT is empty there is an error. */ if (res1 && res2 && !et->expression && table->field[EVEX_FIELD_EXECUTE_AT]-> get_date(&et->execute_at, TIME_NO_ZERO_DATE)) @@ -554,7 +553,7 @@ event_timed::load_from_row(MEM_ROOT *mem_root, TABLE *table) // ToDo : Andrey . Find a way not to allocate ptr on event_mem_root if ((ptr= get_field(mem_root, table->field[EVEX_FIELD_STATUS])) == NullS) goto error; - + DBUG_PRINT("load_from_row", ("Event [%s] is [%s]", et->name.str, ptr)); et->status= (ptr[0]=='E'? MYSQL_EVENT_ENABLED:MYSQL_EVENT_DISABLED); @@ -571,7 +570,7 @@ event_timed::load_from_row(MEM_ROOT *mem_root, TABLE *table) et->comment.length= strlen(et->comment.str); else et->comment.length= 0; - + DBUG_RETURN(0); error: DBUG_RETURN(EVEX_GET_FIELD_FAILED); @@ -579,15 +578,14 @@ error: /* - Computes the sum of a timestamp plus interval - - SYNOPSIS - get_next_time(TIME *start, int interval_value, interval_type interval) - - next - the sum - start - add interval_value to this time - i_value - quantity of time type interval to add - i_type - type of interval to add (SECOND, MINUTE, HOUR, WEEK ...) + Computes the sum of a timestamp plus interval + + SYNOPSIS + get_next_time(TIME *start, int interval_value, interval_type interval) + next the sum + start add interval_value to this time + i_value quantity of time type interval to add + i_type type of interval to add (SECOND, MINUTE, HOUR, WEEK ...) */ static @@ -596,7 +594,7 @@ bool get_next_time(TIME *next, TIME *start, int i_value, interval_type i_type) bool ret; INTERVAL interval; TIME tmp; - + bzero(&interval, sizeof(interval)); switch (i_type) { @@ -648,14 +646,14 @@ bool get_next_time(TIME *next, TIME *start, int i_value, interval_type i_type) /* - Computes next execution time. - - SYNOPSIS - event_timed::compute_next_execution_time() - - REMARKS: - The time is set in execute_at, if no more executions the latter is set to - 0000-00-00. + Computes next execution time. + + SYNOPSIS + event_timed::compute_next_execution_time() + + NOTES + The time is set in execute_at, if no more executions the latter is set to + 0000-00-00. */ bool @@ -673,10 +671,10 @@ event_timed::compute_next_execution_time() ("Event %s is DISABLED", name.str)); goto ret; } - //if one-time no need to do computation + /* If one-time, no need to do computation */ if (!expression) { - //let's check whether it was executed + /* Let's check whether it was executed */ if (last_executed.year) { DBUG_PRINT("compute_next_execution_time", @@ -697,7 +695,7 @@ event_timed::compute_next_execution_time() #ifdef ANDREY_0 sql_print_information("[%s.%s]", dbname.str, name.str); - sql_print_information("time_now : [%d-%d-%d %d:%d:%d ]", + sql_print_information("time_now : [%d-%d-%d %d:%d:%d ]", time_now.year, time_now.month, time_now.day, time_now.hour, time_now.minute, time_now.second); sql_print_information("starts : [%d-%d-%d %d:%d:%d ]", starts.year, @@ -712,10 +710,10 @@ event_timed::compute_next_execution_time() last_executed.second); #endif - //if time_now is after ends don't execute anymore + /* If time_now is after ends don't execute anymore */ if (ends.year && (tmp= my_time_compare(&ends, &time_now)) == -1) { - // time_now is after ends. don't execute anymore + /* time_now is after ends. don't execute anymore */ set_zero_time(&execute_at, MYSQL_TIMESTAMP_DATETIME); if (on_completion == MYSQL_EVENT_ON_COMPLETION_DROP) dropped= true; @@ -724,17 +722,17 @@ event_timed::compute_next_execution_time() goto ret; } - - /* - Here time_now is before or equals ends if the latter is set. - Let's check whether time_now is before starts. - If so schedule for starts + + /* + Here time_now is before or equals ends if the latter is set. + Let's check whether time_now is before starts. + If so schedule for starts. */ if (starts.year && (tmp= my_time_compare(&time_now, &starts)) < 1) { if (tmp == 0 && my_time_compare(&starts, &last_executed) == 0) { - /* + /* time_now = starts = last_executed do nothing or we will schedule for second time execution at starts. */ @@ -749,10 +747,10 @@ event_timed::compute_next_execution_time() goto ret; } } - + if (starts.year && ends.year) { - /* + /* Both starts and m_ends are set and time_now is between them (incl.) If last_executed is set then increase with m_expression. The new TIME is after m_ends set execute_at to 0. And check for on_completion @@ -763,14 +761,14 @@ event_timed::compute_next_execution_time() else { TIME next_exec; - + if (get_next_time(&next_exec, &last_executed, expression, interval)) goto err; - - // There was previous execution + + /* There was previous execution */ if (my_time_compare(&ends, &next_exec) == -1) { - // Next execution after ends. No more executions + /* Next execution after ends. No more executions */ set_zero_time(&execute_at, MYSQL_TIMESTAMP_DATETIME); if (on_completion == MYSQL_EVENT_ON_COMPLETION_DROP) dropped= true; @@ -782,20 +780,24 @@ event_timed::compute_next_execution_time() } else if (!starts.year && !ends.year) { - // both starts and m_ends are not set, se we schedule for the next - // based on last_executed + /* + Both starts and m_ends are not set, so we schedule for the next + based on last_executed. + */ if (last_executed.year) { if (get_next_time(&execute_at, &last_executed, expression, interval)) goto err; } else - //last_executed not set. Schedule the event for now + { + /* last_executed not set. Schedule the event for now */ execute_at= time_now; + } } else { - //either starts or m_ends is set + /* Either starts or m_ends is set */ if (starts.year) { /* @@ -853,10 +855,10 @@ err: /* Set the internal last_executed TIME struct to now. NOW is the time according to thd->query_start(), so the THD's clock. - - Synopsis + + SYNOPSIS event_timed::drop() - thd - thread context + thd thread context */ void @@ -877,17 +879,17 @@ event_timed::mark_last_executed(THD *thd) /* Drops the event - - Synopsis + + SYNOPSIS event_timed::drop() - thd - thread context + thd thread context - RETURNS : - 0 - OK - -1 - Cannot open mysql.event - -2 - Cannot find the event in mysql.event (already deleted?) - - others - return code from SE in case deletion of the event row + RETURN VALUE + 0 OK + -1 Cannot open mysql.event + -2 Cannot find the event in mysql.event (already deleted?) + + others return code from SE in case deletion of the event row failed. */ @@ -904,18 +906,18 @@ event_timed::drop(THD *thd) /* Saves status and last_executed_at to the disk if changed. - - Synopsis + + SYNOPSIS event_timed::drop() thd - thread context - Returns : - 0 - OK - SP_OPEN_TABLE_FAILED - Error while opening mysql.event for writing - EVEX_WRITE_ROW_FAILED - On error to write to disk - - others - return code from SE in case deletion of the event row - failed. + RETURN VALUE + 0 OK + SP_OPEN_TABLE_FAILED Error while opening mysql.event for writing + EVEX_WRITE_ROW_FAILED On error to write to disk + + others return code from SE in case deletion of the event + row failed. */ bool @@ -929,11 +931,11 @@ event_timed::update_fields(THD *thd) DBUG_ENTER("event_timed::update_time_fields"); DBUG_PRINT("enter", ("name: %*s", name.length, name.str)); - - //no need to update if nothing has changed + + /* No need to update if nothing has changed */ if (!(status_changed || last_executed_changed)) goto done; - + thd->reset_n_backup_open_tables_state(&backup); if (evex_open_event_table(thd, TL_WRITE, &table)) @@ -947,8 +949,8 @@ event_timed::update_fields(THD *thd) goto done; store_record(table,record[1]); - // Don't update create on row update. - table->timestamp_field_type= TIMESTAMP_NO_AUTO_SET; + /* Don't update create on row update. */ + table->timestamp_field_type= TIMESTAMP_NO_AUTO_SET; if (last_executed_changed) { @@ -963,7 +965,7 @@ event_timed::update_fields(THD *thd) table->field[EVEX_FIELD_STATUS]->store((longlong)status); status_changed= false; } - + if ((table->file->ha_update_row(table->record[1],table->record[0]))) ret= EVEX_WRITE_ROW_FAILED; @@ -977,14 +979,16 @@ done: /* Get SHOW CREATE EVENT as string - - thd - Thread - buf - String*, should be already allocated. CREATE EVENT goes inside. - - Returns: - 0 - OK - 1 - Error (for now if mysql.event has been tampered and MICROSECONDS - interval or derivative has been put there. + + SYNOPSIS + event_timed::get_create_event(THD *thd, String *buf) + thd Thread + buf String*, should be already allocated. CREATE EVENT goes inside. + + RETURN VALUE + 0 OK + 1 Error (for now if mysql.event has been tampered and MICROSECONDS + interval or derivative has been put there. */ int @@ -1017,9 +1021,9 @@ event_timed::get_create_event(THD *thd, String *buf) { char dtime_buff[20*2+32];// +32 to make my_snprintf_{8bit|ucs2} happy buf->append(STRING_WITH_LEN("AT '")); - /* - pass the buffer and the second param tells fills the buffer and returns - the number of chars to copy + /* + Pass the buffer and the second param tells fills the buffer and + returns the number of chars to copy. */ buf->append(dtime_buff, my_datetime_to_str(&execute_at, dtime_buff)); buf->append(STRING_WITH_LEN("'")); @@ -1041,25 +1045,24 @@ event_timed::get_create_event(THD *thd, String *buf) append_unescaped(buf, comment.str, comment.length); } buf->append(STRING_WITH_LEN(" DO ")); - buf->append(body.str, body.length); + buf->append(body.str, body.length); DBUG_RETURN(0); } /* - Executes the event (the underlying sp_head object); - - SYNOPSIS - evex_fill_row() - thd THD - mem_root If != NULL use it to compile the event on it - - Returns - 0 - success - -100 - event in execution (parallel execution is impossible) - others - retcodes of sp_head::execute_procedure() - + Executes the event (the underlying sp_head object); + + SYNOPSIS + evex_fill_row() + thd THD + mem_root If != NULL use it to compile the event on it + + RETURNS + 0 success + -100 event in execution (parallel execution is impossible) + others retcodes of sp_head::execute_procedure() */ int @@ -1067,11 +1070,11 @@ event_timed::execute(THD *thd, MEM_ROOT *mem_root) { List<Item> empty_item_list; int ret= 0; - + DBUG_ENTER("event_timed::execute"); VOID(pthread_mutex_lock(&this->LOCK_running)); - if (running) + if (running) { VOID(pthread_mutex_unlock(&this->LOCK_running)); DBUG_RETURN(-100); @@ -1081,10 +1084,10 @@ event_timed::execute(THD *thd, MEM_ROOT *mem_root) // TODO Andrey : make this as member variable and delete in destructor empty_item_list.empty(); - + if (!sphead && (ret= compile(thd, mem_root))) goto done; - + ret= sphead->execute_procedure(thd, &empty_item_list); VOID(pthread_mutex_lock(&this->LOCK_running)); @@ -1106,17 +1109,16 @@ done: /* Compiles an event before it's execution. Compiles the anonymous sp_head object held by the event - - Synopsis + + SYNOPSIS event_timed::compile() - thd - thread context, used for memory allocation mostly - mem_root - if != NULL then this memory root is used for allocs - instead of thd->mem_root - - Returns - 0 - Success - EVEX_COMPILE_ERROR - Error during compilation + thd thread context, used for memory allocation mostly + mem_root if != NULL then this memory root is used for allocs + instead of thd->mem_root + RETURN VALUE + 0 success + EVEX_COMPILE_ERROR error during compilation */ int @@ -1136,21 +1138,21 @@ event_timed::compile(THD *thd, MEM_ROOT *mem_root) CHARSET_INFO *old_character_set_client, *old_collation_connection, *old_character_set_results; - + show_create.length(0); old_character_set_client= thd->variables.character_set_client; old_character_set_results= thd->variables.character_set_results; old_collation_connection= thd->variables.collation_connection; - - thd->variables.character_set_client= + + thd->variables.character_set_client= thd->variables.character_set_results= thd->variables.collation_connection= get_charset_by_csname("utf8", MY_CS_PRIMARY, MYF(MY_WME)); thd->update_charset(); - + DBUG_ENTER("event_timed::compile"); - // change the memory root for the execution time + /* Change the memory root for the execution time */ if (mem_root) { tmp_mem_root= thd->mem_root; @@ -1174,8 +1176,10 @@ event_timed::compile(THD *thd, MEM_ROOT *mem_root) { DBUG_PRINT("error", ("error during compile or thd->is_fatal_error=%d", thd->is_fatal_error)); - // Free lex associated resources - // QQ: Do we really need all this stuff here ? + /* + Free lex associated resources + QQ: Do we really need all this stuff here? + */ sql_print_error("error during compile of %s.%s or thd->is_fatal_error=%d", dbname.str, name.str, thd->is_fatal_error); if (lex.sphead) @@ -1189,11 +1193,13 @@ event_timed::compile(THD *thd, MEM_ROOT *mem_root) goto done; } DBUG_PRINT("note", ("success compiling %s.%s", dbname.str, name.str)); - + sphead= lex.et->sphead; sphead->m_db= dbname; - //copy also chistics since they will vanish otherwise we get 0x0 pointer - // Todo : Handle sql_mode !! + /* + Ccopy also chistics since they will vanish otherwise we get 0x0 pointer + TODO: Handle sql_mode!! + */ sphead->set_definer(definer.str, definer.length); sphead->set_info(0, 0, &lex.sp_chistics, 0/*sql_mode*/); sphead->optimize(); @@ -1214,9 +1220,7 @@ done: thd->variables.collation_connection= old_collation_connection; thd->update_charset(); - /* - Change the memory root for the execution time. - */ + /* Change the memory root for the execution time. */ if (mem_root) thd->mem_root= tmp_mem_root; |