Commit graph

18 commits

Author SHA1 Message Date
unknown
48405ec751 WL#1034 update
- fix EVENT_ACL problem that GRANT ALL on some_db.* to someone@somewhere did not get to mysql.db
- fix crash when the following is executed :
  CREATE EVENT P() CREATE EVENT E ON SCHEDULER 1 SECOND DO ROLLBACK;
  (creation works as well as calling P() which creates the event).


mysql-test/lib/init_db.sql:
  - fix init_db.sql so add Event_priv to the database privs, many tests failed because of that
    ommision
  - remove the quotes from the column names
mysql-test/t/events.test:
  - fix the small test, don't create own db
scripts/mysql_fix_privilege_tables.sql:
  - fix that
sql/event.cc:
  - be defensive and don't crash if outside has already has opened some table
sql/event_executor.cc:
  - show in SHOW PROCESSLIST - "event_scheduler" as name of the user of the main thread
  - use "localhost" as the host where event_scheduler comes from
  - comment out some debug info, fix other debug info
sql/event_timed.cc:
  - enable EVENT creation inside SP. sphead from lex->sphead goes to et->sphead. it's there only
    if we compile the event. OTOH when doing 
    CREATE PROCEDURE PROC() CREATE EVENT SOME_EV ON SCHEDULE EVERY 1 SECOND DO ROLLBACK;
    I have only to get the body of the event which is anonymous SP. Before it being "compiled"
    but then freed without being used because a bit later it is compiled one more time before
    being put in the events cache. So it was good that the memory structures weren't reused but
    scrapped out. Now lex->sphead is not needed during event creation but only where the event's
    body starts and where it ends so to be able at later stage to compile this anonymous SP (the
    body of the event).
sql/sp_head.cc:
  - copy over a fix to a crash
sql/sql_acl.h:
  - fix privileges.
    There was _NO_ documentation about that. Another CHUNK had to be created to so EVENT_ACL gets shifted to
    it's place in the db table. So how this is calculated? EVENT_ACL is 1 << 26. Remember 26, see which poistion
    in the db table is EVENT_ACL, it's 17, counted from 0. 26 - 17 = 9, then shift it with 9.
    CHUNKS are created because in some cases some privileges are in chunks and they are shifted at once. There are
    few chunks of such privileges which has to be shifted to get to exactly the structure of mysql.db table.
sql/sql_parse.cc:
  - ok, we don't care anymore about lex->sphead because our sphead is lex->et->sphead
sql/sql_yacc.yy:
  - bail out if new event_timed returns 0x0
  - enable creation of an event inside a SP
    CREATE PROCEDURE P() CREATE EVENT E ON SCHEDULE EVERY 1 SECOND DO SELECT 1;
2005-12-15 14:12:28 +01:00
unknown
7ff7977105 WL#1034 updated
- split into several files
- forbid parallel execution (before analyse is done how to make it possible)
  because the same sp_head instance cannot be executed in parallel
- added GPL headers
- changed EVENT_ACL to be per DB variable
- fixed minor problems


mysql-test/lib/init_db.sql:
  WL#1034 updated
  - add Event_priv to mysql.user (update test)
  - add updated mysql.event table struct
scripts/mysql_fix_privilege_tables.sql:
  WL#1034 updated
  add updated mysql.event structure
sql/Makefile.am:
  split event.cc into
  - event.cc (create/alter/drop)
  - event_executor.cc (main and worker threads)
  - event_timed.cc (class event_timed)
  - event_priv.h (some definitions used internally by the module)
sql/event.cc:
  - added GPL header
  - split into few files
  - fixed some issues after code review
  - now using SP routines for opening/traversing/closing tables
    (will be reverted)
sql/event.h:
  - add GPL header
  - remove two methods - inline them in sql_yacc.yy 
  - don't use absolute values for EVEX_ defines but the SP_ equivalents (have to move 100% to SP_
    defines and as later step to not transfer messages upwards in the stack but
    report them at the place they occur)
  - updated reference table definition
  - move default mem_root param from event.cc to the header
sql/mysqld.cc:
  WL#1034
  rename --event-executor to --event-scheduler
  executor sounds a bit scary :)
sql/set_var.cc:
  rename internal variable name from event_executor to event_scheduler
  (ppl won't be scarried anymore :)
sql/share/errmsg.txt:
  omit one %s - not needed
sql/sp_head.cc:
  disable this DBUG_PRINT for a bit. m_next_cached_sp is 0x0 and I get crash here...
sql/sp_head.h:
  remove m_old_cmq, a temporal variable is used in sql_yacc.yy (Serg's idea)
  to keep the previous state.
  $<ulong_val>$ =  ....
  
  YYTHD->client_capabilites != $<ulong_val>4;
  
  (the same is done also for class event_timed)
sql/sql_acl.cc:
  handle pre-5.1.4 table and give the user EVENT_ACL if he had CREATE_ACL
sql/sql_acl.h:
  fix the bitmask
sql/sql_parse.cc:
  - move from EVENT_ACL being global to EVENT_ACL being per DB like
    CREATE_PROC_ACL
  - lex->m_qname dropped, because not needed, fix code therefore
  - add comment that SHOW CREATE EVENT has to be implemented
sql/sql_yacc.yy:
  - use temporal variable of Bison to store a short lived value
  - fix indentation
  - inline 2 class event_timed methods in the parser
sql/tztime.h:
  be more expressive - it's already extern
2005-12-05 11:45:04 +01:00
unknown
8a224ed85a init_db.sql:
Added system table 'mysql.plugin'


mysql-test/lib/init_db.sql:
  Added system table 'mysql.plugin'
2005-11-06 20:51:37 +01:00
unknown
83afcc9c6a Change the "Password" column type for the Perl suite running the tests. bug#14023
mysql-test/lib/init_db.sql:
  Data type of the "Password" column has been changed in "mysql_create_system_tables",
  this must be reflected here (until they are united). bug#14023
2005-10-14 13:35:36 +02:00
unknown
c96cf154a8 init_db.sql:
mysql.user.password doesn't need utf8


mysql-test/lib/init_db.sql:
  mysql.user.password doesn't need utf8
2005-10-01 17:21:09 +02:00
unknown
51d1c2ad4c tests fixes
mysql-test/lib/init_db.sql:
  this should be longblob or info_schema test will fail
mysql-test/r/rpl_delete_all.result:
  fix result of a test, the error message is different (bug #12591)
mysql-test/t/rpl_delete_all.test:
  fix test, now the error code is different (bug #12591)
2005-08-23 13:57:12 +02:00
unknown
6b3478ec12 Fixes during review of new pushed code
Change bool in C code to my_bool
Added to mysqltest --enable_parsning and --disable_parsing to avoid to have to comment parts of tests
Added comparison of LEX_STRING's and use this to compare file types for view and trigger files.


client/client_priv.h:
  Added OPT_TRIGGERS (to get rid of compiler warning)
client/mysql.cc:
  Added cast to get rid of compiler warning
client/mysqldump.c:
  Added OPT_TRIGGERS (to get rid of compiler warning)
  Abort if we can't write to outfile (even if --ignore-errors is given)
client/mysqltest.c:
  Added --enable_parsning and --disable_parsing to avoid to have to comment parts of tests
include/my_sys.h:
  Make my_progname const
include/my_time.h:
  Avoid using 'bool' in C programs
mysql-test/lib/init_db.sql:
  Align with mysql_create_system_tables
  (Ideally this file should be auto-generated from the above script)
mysql-test/r/mysqltest.result:
  Test for --enable_parsing
mysql-test/r/variables.result:
  Update results after fix for overflow checking of max_heap_table_size
mysql-test/t/information_schema.test:
  USe --enable/disable parsing instead of comments
mysql-test/t/mysqltest.test:
  Test for --enable_parsing
mysql-test/t/sp.test:
  USe --enable/disable parsing instead of comments
mysql-test/t/variables.test:
  Portability fix for 64 bit systems
mysql-test/t/view.test:
  USe --enable/disable parsing instead of comments
mysys/my_init.c:
  May my_progname const
mysys/my_static.c:
  May my_progname const
mysys/thr_lock.c:
  Remove not needed casts
sql-common/my_time.c:
  Change bool -> my_bool as bool is not portable in C programs
sql/field.cc:
  Test number_to_datetime() for -1 instead of < 0 (Safety fix)
  New prototype for TIME_to_timestamp()
sql/item.h:
  Don't have prototypes for both uint32 and ulong as these 'may' be the same thing
sql/item_timefunc.cc:
  New prototype for TIME_to_timestamp()
sql/log.cc:
  Remove compiler warnings
sql/mysql_priv.h:
  New prototype for TIME_to_timestamp()
  Added function for comparing LEX_STRING
sql/set_var.cc:
  Added overflow checking when setting ulong variable
sql/sql_base.cc:
  Added function is_equal()
  Changed strncmp -> is_equal() as strncmp() to not match "V" (instead of "VIEW")
sql/sql_class.cc:
  Added comment
sql/sql_select.cc:
  Portability fixes
  After review fixes
sql/sql_trigger.cc:
  Use 'tables_alias_charset' for comparing database name
  Use 'is_equal()' to compare file type. (Old code didn't do the comparison correctly)
sql/sql_view.cc:
  Use 'is_equal()' to compare file type. (Old code didn't do the comparison correctly)
sql/time.cc:
  New prototype for TIME_to_timestamp() to allow easyer mapping to C function
sql/tztime.cc:
  bool -> my_bool (to allow calling C code from C++ code)
sql/tztime.h:
  bool -> my_bool (to allow calling C code from C++ code)
2005-07-31 12:49:55 +03:00
unknown
43ad7dea69 Fix default for sql_mode so that proc table is actually created
by mysql-test-run.pl. (Bug #11954)


mysql-test/lib/init_db.sql:
  Fix default for sql_mode
2005-07-18 18:36:48 -07:00
unknown
87b7e20ebd init_db.sql:
add new table privileges
Makefile.am:
  Include path to regex dir was accidently removed


sql/Makefile.am:
  Include path to regex dir was accidently removed
mysql-test/lib/init_db.sql:
  add new table privileges
2005-07-06 10:16:36 +02:00
unknown
6a77c469f3 init_db.sql:
Updated test data in system tables


mysql-test/lib/init_db.sql:
  Updated test data in system tables
2005-05-26 02:07:13 +02:00
unknown
3f53fa149a Merge mysql.com:/Users/kent/mysql/bk/mysql-4.1
into mysql.com:/Users/kent/mysql/bk/mysql-5.0-compile


mysql-test/mysql-test-run.pl:
  Auto merged
mysql-test/lib/init_db.sql:
  Auto merged
2005-05-15 07:38:42 +02:00
unknown
657469bab8 mysql-test-run.pl:
Not to conflict with Windows return code 2 for "not found", use 62 for "skip"
init_db.sql:
  Initial db updates


mysql-test/lib/init_db.sql:
  Initial db updates
mysql-test/mysql-test-run.pl:
  Not to conflict with Windows return code 2 for "not found", use 62 for "skip"
2005-05-15 07:34:09 +02:00
unknown
646f072d2c init_db.sql:
Updates to be in sync with 'mysql_create_system_tables'


mysql-test/lib/init_db.sql:
  Updates to be in sync with 'mysql_create_system_tables'
2005-03-29 19:04:19 +02:00
unknown
4b486adf68 init_db.sql:
Added 'proc' and 'procs_priv' tables, updated others


mysql-test/lib/init_db.sql:
  Added 'proc' and 'procs_priv' tables, updated others
2005-03-21 16:37:19 +01:00
unknown
9d839a140f Fix to make mysql-test-run.pl work with new system tables definitions
mysql-test/lib/init_db.sql:
  Fixed mysql-test-run.pl's system tables to correspond to the real ones.
2005-03-09 19:21:57 +01:00
unknown
000255ee9d init_db.sql:
Make SQL more readable, substitute hostname at runtime
mysql-test-run.pl:
  Run init scripts with /bin/sh, ignore return code


mysql-test/mysql-test-run.pl:
  Run init scripts with /bin/sh, ignore return code
mysql-test/lib/init_db.sql:
  Make SQL more readable, substitute hostname at runtime
2005-02-17 05:22:14 +01:00
unknown
4ddeaf265f mysql-test-run.pl:
Corrected user name passing
  Honor the --master-binary and --slave-binary options
  Insert the host name into 'user' table
  Added --udiff option, to get unified diff output
  Call special mtr_run_test() for running "mysqltest"
mtr_report.pl:
  Added --udiff option, to get unified diff output
init_db.sql:
  Insert the host name into 'user' table


mysql-test/lib/init_db.sql:
  Insert the host name into 'user' table
mysql-test/lib/mtr_report.pl:
  Added --udiff option, to get unified diff output
mysql-test/mysql-test-run.pl:
  Corrected user name passing
  Honor the --master-binary and --slave-binary options
  Insert the host name into 'user' table
  Added --udiff option, to get unified diff output
  Call special mtr_run_test() for running "mysqltest"
2005-02-07 20:32:56 +01:00
unknown
4ad77748b3 Many files:
Perl version of mysql-test-run
  new file


mysql-test/lib/init_db.sql:
  Perl version of mysql-test-run
mysql-test/lib/mtr_gcov.pl:
  Perl version of mysql-test-run
mysql-test/lib/mtr_gprof.pl:
  Perl version of mysql-test-run
mysql-test/lib/mtr_io.pl:
  Perl version of mysql-test-run
mysql-test/lib/mtr_match.pl:
  Perl version of mysql-test-run
mysql-test/lib/mtr_misc.pl:
  Perl version of mysql-test-run
mysql-test/lib/mtr_process.pl:
  Perl version of mysql-test-run
mysql-test/lib/mtr_report.pl:
  Perl version of mysql-test-run
mysql-test/mysql-test-run.pl:
  Perl version of mysql-test-run
2004-12-30 16:34:01 +01:00