If [NOT] PRESERVE was not given, parser always defaulted to NOT
PRESERVE, making it impossible for the "not given = no change"
rule to work in ALTER EVENT. Leaving out the PRESERVE-clause
defaults to NOT PRESERVE on CREATE now, and to "no change" in
ALTER.
mysql-test/r/events_2.result:
show that giving no PRESERVE-clause to ALTER EVENT
results in no change. show that giving no PRESERVE-clause
to CREATE EVENT defaults to NOT PRESERVE as per the docs.
Show specifically that this is also handled correctly when
trying to ALTER EVENTs into the past.
mysql-test/t/events_2.test:
show that giving no PRESERVE-clause to ALTER EVENT
results in no change. show that giving no PRESERVE-clause
to CREATE EVENT defaults to NOT PRESERVE as per the docs.
Show specifically that this is also handled correctly when
trying to ALTER EVENTs into the past.
sql/event_db_repository.cc:
If ALTER EVENT was given no PRESERVE-clause (meaning "no change"),
we don't know the previous PRESERVE-setting by the time we check
the parse-data. If ALTER EVENT was given dates that are in the past,
we don't know how to react, lacking the PRESERVE-setting. Heal this
by running the check later when we have actually read the previous
EVENT-data.
sql/event_parse_data.cc:
Change default for ON COMPLETION to indicate, "not specified."
Also defer throwing errors when ALTER EVENT is given dates in
the past but not PRESERVE-clause until we know the previous
PRESERVE-value.
sql/event_parse_data.h:
Add third state for ON COMPLETION [NOT] PRESERVE (preserve,
don't, not specified).
Make check_dates() public so we can defer this check until
deeper in the callstack where we have all the required data.
sql/sql_yacc.yy:
If CREATE EVENT is not given ON COMPLETION [NOT] PRESERVE,
we default to NOT, as per the docs.
Fixed build failure depending on events in embedded build.
mysql-test/r/create.result:
Moved test with events to another test file sine embedded build doesn't
support event scheduler.
mysql-test/r/events_2.result:
Moved test with events to another test file sine embedded build doesn't
support event scheduler.
mysql-test/r/sp.result:
Removed 'show privileges' from test as result is depending on
if event sheduler is built in.
mysql-test/t/create.test:
Moved test with events to another test file sine embedded build doesn't
support event scheduler.
mysql-test/t/events_2.test:
Moved test with events to another test file sine embedded build doesn't
support event scheduler.
mysql-test/t/sp.test:
Removed 'show privileges' from test as result is depending on
if event sheduler is built in.
BitKeeper/deleted/.del-events.test:
Delete: mysql-test/t/events.test
BitKeeper/deleted/.del-events.result:
Delete: mysql-test/r/events.result
BitKeeper/etc/ignore:
Added mysql-test/reg.log to the ignore list