Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
MariaDB
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
d89fc62e
Commit
d89fc62e
authored
Feb 16, 2006
by
andrey@lmy004
Browse files
Options
Browse Files
Download
Plain Diff
Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into lmy004.:/work/mysql-5.1-bug16406
parents
65dbd03b
3c82af94
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
39 additions
and
33 deletions
+39
-33
mysql-test/r/events.result
mysql-test/r/events.result
+24
-23
sql/event.cc
sql/event.cc
+4
-6
sql/event_timed.cc
sql/event_timed.cc
+4
-0
sql/sql_show.cc
sql/sql_show.cc
+7
-4
No files found.
mysql-test/r/events.result
View file @
d89fc62e
...
...
@@ -171,7 +171,7 @@ set names latin1;
CREATE EVENT intact_check ON SCHEDULE EVERY 10 HOUR DO SELECT "nothing";
SHOW EVENTS;
Db Name Definer Type Execute at Interval value Interval field Starts Ends Status
events_test intact_check root@localhost RECURRING NULL 10
10
HOUR # # ENABLED
events_test intact_check root@localhost RECURRING NULL 10 HOUR # # ENABLED
ALTER TABLE mysql.event ADD dummy INT FIRST;
SHOW EVENTS;
ERROR HY000: Column count of mysql.event is wrong. Expected 16, found 17. Table probably corrupted
...
...
@@ -181,7 +181,7 @@ ERROR HY000: Column count of mysql.event is wrong. Expected 16, found 17. Table
ALTER TABLE mysql.event DROP dummy2;
SHOW EVENTS;
Db Name Definer Type Execute at Interval value Interval field Starts Ends Status
events_test intact_check root@localhost RECURRING NULL 10
10
HOUR # # ENABLED
events_test intact_check root@localhost RECURRING NULL 10 HOUR # # ENABLED
CREATE TABLE event_like LIKE mysql.event;
INSERT INTO event_like SELECT * FROM mysql.event;
ALTER TABLE mysql.event MODIFY db char(20) character set utf8 collate utf8_bin default '';
...
...
@@ -212,7 +212,7 @@ ALTER TABLE mysql.event MODIFY db char(64) character set utf8 collate utf8_bin d
"This should work"
SHOW EVENTS;
Db Name Definer Type Execute at Interval value Interval field Starts Ends Status
events_test intact_check root@localhost RECURRING NULL 10
10
HOUR # # ENABLED
events_test intact_check root@localhost RECURRING NULL 10 HOUR # # ENABLED
ALTER TABLE mysql.event MODIFY db char(64) character set cp1251 default '';
SELECT event_name FROM INFORMATION_SCHEMA.EVENTS;
ERROR HY000: Cannot load from mysql.event. Table probably corrupted. See error log.
...
...
@@ -228,15 +228,15 @@ INSERT INTO mysql.event SELECT * FROM event_like;
DROP TABLE event_like;
SHOW EVENTS;
Db Name Definer Type Execute at Interval value Interval field Starts Ends Status
events_test intact_check root@localhost RECURRING NULL 10
10
HOUR # # ENABLED
events_test intact_check root@localhost RECURRING NULL 10 HOUR # # ENABLED
DROP EVENT intact_check;
create event one_event on schedule every 10 second do select 123;
SHOW EVENTS;
Db Name Definer Type Execute at Interval value Interval field Starts Ends Status
events_test one_event root@localhost RECURRING NULL 10
10
SECOND # # ENABLED
events_test one_event root@localhost RECURRING NULL 10 SECOND # # ENABLED
SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT from information_schema.events;
EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER EVENT_BODY EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD STATUS ON_COMPLETION EVENT_COMMENT
NULL events_test one_event root@localhost select 123 RECURRING NULL 10
10
SECOND ENABLED NOT PRESERVE
NULL events_test one_event root@localhost select 123 RECURRING NULL 10 SECOND ENABLED NOT PRESERVE
CREATE DATABASE events_test2;
CREATE USER ev_test@localhost;
GRANT ALL ON events_test.* to ev_test@localhost;
...
...
@@ -270,20 +270,20 @@ create event three_event on schedule every 20 second on completion preserve comm
"Now we should see 3 events:";
SHOW EVENTS;
Db Name Definer Type Execute at Interval value Interval field Starts Ends Status
events_test one_event ev_test@localhost RECURRING NULL 20
20
SECOND # # ENABLED
events_test three_event ev_test@localhost RECURRING NULL 20
20
SECOND # # ENABLED
events_test two_event ev_test@localhost RECURRING NULL 20
20
SECOND # # ENABLED
events_test one_event ev_test@localhost RECURRING NULL 20 SECOND # # ENABLED
events_test three_event ev_test@localhost RECURRING NULL 20 SECOND # # ENABLED
events_test two_event ev_test@localhost RECURRING NULL 20 SECOND # # ENABLED
"This should show us only 3 events:";
SHOW FULL EVENTS;
Db Name Definer Type Execute at Interval value Interval field Starts Ends Status
events_test one_event ev_test@localhost RECURRING NULL 20
20
SECOND # # ENABLED
events_test three_event ev_test@localhost RECURRING NULL 20
20
SECOND # # ENABLED
events_test two_event ev_test@localhost RECURRING NULL 20
20
SECOND # # ENABLED
events_test one_event ev_test@localhost RECURRING NULL 20 SECOND # # ENABLED
events_test three_event ev_test@localhost RECURRING NULL 20 SECOND # # ENABLED
events_test two_event ev_test@localhost RECURRING NULL 20 SECOND # # ENABLED
"This should show us only 2 events:";
SHOW FULL EVENTS LIKE 't%event';
Db Name Definer Type Execute at Interval value Interval field Starts Ends Status
events_test three_event ev_test@localhost RECURRING NULL 20
20
SECOND # # ENABLED
events_test two_event ev_test@localhost RECURRING NULL 20
20
SECOND # # ENABLED
events_test three_event ev_test@localhost RECURRING NULL 20 SECOND # # ENABLED
events_test two_event ev_test@localhost RECURRING NULL 20 SECOND # # ENABLED
"This should show us no events:";
SHOW FULL EVENTS FROM test LIKE '%';
Db Name Definer Type Execute at Interval value Interval field Starts Ends Status
...
...
@@ -291,20 +291,20 @@ DROP DATABASE events_test2;
"should see 1 event:";
SHOW EVENTS;
Db Name Definer Type Execute at Interval value Interval field Starts Ends Status
events_test one_event root@localhost RECURRING NULL 10
10
SECOND # # ENABLED
events_test one_event root@localhost RECURRING NULL 10 SECOND # # ENABLED
"we should see 4 events now:";
SHOW FULL EVENTS;
Db Name Definer Type Execute at Interval value Interval field Starts Ends Status
events_test one_event ev_test@localhost RECURRING NULL 20
20
SECOND # # ENABLED
events_test three_event ev_test@localhost RECURRING NULL 20
20
SECOND # # ENABLED
events_test two_event ev_test@localhost RECURRING NULL 20
20
SECOND # # ENABLED
events_test one_event root@localhost RECURRING NULL 10
10
SECOND # # ENABLED
events_test one_event ev_test@localhost RECURRING NULL 20 SECOND # # ENABLED
events_test three_event ev_test@localhost RECURRING NULL 20 SECOND # # ENABLED
events_test two_event ev_test@localhost RECURRING NULL 20 SECOND # # ENABLED
events_test one_event root@localhost RECURRING NULL 10 SECOND # # ENABLED
SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT from information_schema.events;
EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER EVENT_BODY EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD STATUS ON_COMPLETION EVENT_COMMENT
NULL events_test one_event ev_test@localhost select 123 RECURRING NULL 20
20
SECOND ENABLED NOT PRESERVE
NULL events_test three_event ev_test@localhost select 123 RECURRING NULL 20
20
SECOND ENABLED PRESERVE three event
NULL events_test two_event ev_test@localhost select 123 RECURRING NULL 20
20
SECOND ENABLED NOT PRESERVE two event
NULL events_test one_event root@localhost select 123 RECURRING NULL 10
10
SECOND ENABLED NOT PRESERVE
NULL events_test one_event ev_test@localhost select 123 RECURRING NULL 20 SECOND ENABLED NOT PRESERVE
NULL events_test three_event ev_test@localhost select 123 RECURRING NULL 20 SECOND ENABLED PRESERVE three event
NULL events_test two_event ev_test@localhost select 123 RECURRING NULL 20 SECOND ENABLED NOT PRESERVE two event
NULL events_test one_event root@localhost select 123 RECURRING NULL 10 SECOND ENABLED NOT PRESERVE
drop event one_event;
drop event two_event;
drop event three_event;
...
...
@@ -383,6 +383,7 @@ show processlist;
Id User Host db Command Time State Info
# root localhost events_test Query # NULL show processlist
# event_scheduler connecting host NULL Connect # Sleeping NULL
# root localhost events_test Connect # User lock select get_lock("test_lock2_1", 20)
"Release the lock so the child process should finish. Hence the scheduler also"
select release_lock("test_lock2_1");
release_lock("test_lock2_1")
...
...
sql/event.cc
View file @
d89fc62e
...
...
@@ -457,11 +457,7 @@ event_reconstruct_interval_expression(String *buf,
buf
->
append
(
tmp_buff
,
(
uint
)
(
end
-
tmp_buff
));
if
(
close_quote
)
buf
->
append
(
'\''
);
buf
->
append
(
' '
);
LEX_STRING
*
ival
=
&
interval_type_to_name
[
interval
];
buf
->
append
(
ival
->
str
,
ival
->
length
);
return
0
;
}
...
...
@@ -1092,6 +1088,7 @@ evex_remove_from_cache(LEX_STRING *db, LEX_STRING *name, bool use_lock,
{
//ToDo : Add definer to the tuple (db, name) to become triple
uint
i
;
int
ret
=
0
;
DBUG_ENTER
(
"evex_remove_from_cache"
);
/*
...
...
@@ -1126,6 +1123,7 @@ evex_remove_from_cache(LEX_STRING *db, LEX_STRING *name, bool use_lock,
DBUG_PRINT
(
"evex_remove_from_cache"
,
(
"delete from queue"
));
evex_queue_delete_element
(
&
EVEX_EQ_NAME
,
i
);
// ok, we have cleaned
ret
=
0
;
goto
done
;
}
}
...
...
@@ -1134,7 +1132,7 @@ evex_remove_from_cache(LEX_STRING *db, LEX_STRING *name, bool use_lock,
if
(
use_lock
)
VOID
(
pthread_mutex_unlock
(
&
LOCK_event_arrays
));
DBUG_RETURN
(
0
);
DBUG_RETURN
(
ret
);
}
...
...
sql/event_timed.cc
View file @
d89fc62e
...
...
@@ -985,6 +985,7 @@ event_timed::update_fields(THD *thd)
DBUG_RETURN
(
ret
);
}
extern
LEX_STRING
interval_type_to_name
[];
/*
Get SHOW CREATE EVENT as string
...
...
@@ -1025,6 +1026,9 @@ event_timed::get_create_event(THD *thd, String *buf)
{
buf
->
append
(
STRING_WITH_LEN
(
"EVERY "
));
buf
->
append
(
expr_buf
);
buf
->
append
(
' '
);
LEX_STRING
*
ival
=
&
interval_type_to_name
[
interval
];
buf
->
append
(
ival
->
str
,
ival
->
length
);
}
else
{
...
...
sql/sql_show.cc
View file @
d89fc62e
...
...
@@ -3920,6 +3920,7 @@ static interval_type get_real_interval_type(interval_type i_type)
return
INTERVAL_SECOND
;
}
extern
LEX_STRING
interval_type_to_name
[];
static
int
fill_events_copy_to_schema_table
(
THD
*
thd
,
TABLE
*
sch_table
,
TABLE
*
event_table
)
...
...
@@ -3958,14 +3959,16 @@ fill_events_copy_to_schema_table(THD *thd, TABLE *sch_table, TABLE *event_table)
//execute_at
sch_table
->
field
[
6
]
->
set_null
();
//interval_value
sch_table
->
field
[
7
]
->
set_notnull
();
sch_table
->
field
[
7
]
->
store
((
longlong
)
et
.
expression
);
//interval_type
if
(
event_reconstruct_interval_expression
(
&
show_str
,
et
.
interval
,
et
.
expression
))
DBUG_RETURN
(
1
);
sch_table
->
field
[
7
]
->
set_notnull
();
sch_table
->
field
[
7
]
->
store
(
show_str
.
c_ptr
(),
show_str
.
length
(),
scs
);
LEX_STRING
*
ival
=
&
interval_type_to_name
[
et
.
interval
];
sch_table
->
field
[
8
]
->
set_notnull
();
sch_table
->
field
[
8
]
->
store
(
show_str
.
c_ptr
(),
show_str
.
length
()
,
scs
);
sch_table
->
field
[
8
]
->
store
(
ival
->
str
,
ival
->
length
,
scs
);
//starts & ends
sch_table
->
field
[
10
]
->
set_notnull
();
sch_table
->
field
[
10
]
->
store_time
(
&
et
.
starts
,
MYSQL_TIMESTAMP_DATETIME
);
...
...
@@ -4792,7 +4795,7 @@ ST_FIELD_INFO events_fields_info[]=
{
"EVENT_BODY"
,
65535
,
MYSQL_TYPE_STRING
,
0
,
0
,
0
},
{
"EVENT_TYPE"
,
9
,
MYSQL_TYPE_STRING
,
0
,
0
,
"Type"
},
{
"EXECUTE_AT"
,
0
,
MYSQL_TYPE_TIMESTAMP
,
0
,
1
,
"Execute at"
},
{
"INTERVAL_VALUE"
,
11
,
MYSQL_TYPE_LO
NG
,
0
,
1
,
"Interval value"
},
{
"INTERVAL_VALUE"
,
256
,
MYSQL_TYPE_STRI
NG
,
0
,
1
,
"Interval value"
},
{
"INTERVAL_FIELD"
,
18
,
MYSQL_TYPE_STRING
,
0
,
1
,
"Interval field"
},
{
"SQL_MODE"
,
65535
,
MYSQL_TYPE_STRING
,
0
,
1
,
0
},
{
"STARTS"
,
0
,
MYSQL_TYPE_TIMESTAMP
,
0
,
1
,
"Starts"
},
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment