An error occurred fetching the project authors.
  1. 11 Feb, 2009 1 commit
  2. 10 Dec, 2007 1 commit
  3. 07 Dec, 2007 1 commit
    • unknown's avatar
      Bug #27440 read_only allows create and drop database · fe20b370
      unknown authored
      When read_only option was enabled, a user without SUPER privilege could
      perform CREATE DATABASE and DROP DATABASE operations.
      
      This patch adds a check to make sure this isn't possible. It also attempts to 
      simplify the logic used to determine if relevant tables are updated,
      making it more human readable.
      
      
      mysql-test/r/read_only.result:
        Updated result file
      mysql-test/t/read_only.test:
        A test case is added which shows that it is not possible to drop or create a
        database in read-only mode despite having the GRANT permissions to do so,
        SUPER user excepted.
      sql/sql_parse.cc:
        - Simplified complex predicate by grouping it in a read friendly way.
        - Added predicate to fail on database updates while running in read-only
          mode.
      fe20b370
  4. 21 Nov, 2006 1 commit
    • unknown's avatar
      WL#3602 (SET GLOBAL READONLY) · 61f15bca
      unknown authored
      Bug#11733 (COMMITs should not happen if read-only is set)
      Bug#22009 (Can write to a read-only server under some circumstances)
      
      See the work log for details
      
      The change consist of
      a) acquiring the global read lock in SET GLOBAL READONLY
      b) honoring opt_readonly in ha_commit_trans(),
      c) honoring opt_readonly in mysql_lock_tables().
      
      a) takes care of the server stability,
      b) makes the transactional tables safe (Bug 11733)
      c) makes the non transactional tables safe (Bug 22009)
      
      
      mysql-test/r/read_only.result:
        WL#3602 (SET GLOBAL READONLY)
      mysql-test/t/read_only.test:
        WL#3602 (SET GLOBAL READONLY)
      sql/handler.cc:
        WL#3602 (SET GLOBAL READONLY)
      sql/lock.cc:
        WL#3602 (SET GLOBAL READONLY)
      sql/set_var.cc:
        WL#3602 (SET GLOBAL READONLY)
      sql/set_var.h:
        WL#3602 (SET GLOBAL READONLY)
      mysql-test/r/read_only_innodb.result:
        WL#3602 (SET GLOBAL READONLY)
      mysql-test/t/read_only_innodb.test:
        WL#3602 (SET GLOBAL READONLY)
      61f15bca
  5. 20 Nov, 2006 1 commit
    • unknown's avatar
      Fix for bug #22077 "DROP TEMPORARY TABLE fails with wrong error if read_only is set" · 66abbaab
      unknown authored
      Do not issue a 'read-only' error in case of DROP TEMPORARY TABLE on a non-existing temporary table.
      Instead produce the correct "Unknown table" error or warning (in cases when the IF EXISTS clause was specified).
      
      To a documentor: the part of the manual describing the 'read_only' system variable should be clarified to state the following:
      "When the read_only variable is set to ON, all operations which create/update/drop tables are rejected with the exceptions for:
      1. Any operation performed by the replication thread on a slave server
      2. Any operation performed by a user that have the SUPER privilege
      3. Any operation that creates/updates/drops only temporary tables"
      
      
      mysql-test/r/read_only.result:
        Added testcases for bug #22077 "DROP TEMPORARY TABLE fails with wrong error if read_only is set"
      mysql-test/t/read_only.test:
        Added testcases for bug #22077 "DROP TEMPORARY TABLE fails with wrong error if read_only is set"
      sql/sql_parse.cc:
        Before issuing the 'read-only' error also check if the operation is not a DROP TEMPORARY TABLE statement
      66abbaab
  6. 24 Feb, 2006 1 commit
    • unknown's avatar
      Fixes to embedded server to be able to run tests with it · 988f0be6
      unknown authored
      (Needed for "list of pushes" web page and autopush)
      
      
      include/mysql.h:
        Fix to embedded server to be able to run tests on it
      libmysql/libmysql.c:
        Fix to embedded server to be able to run tests on it
      libmysqld/emb_qcache.cc:
        Fix to embedded server to be able to run tests on it
      libmysqld/embedded_priv.h:
        Fix to embedded server to be able to run tests on it
      libmysqld/lib_sql.cc:
        Fix to embedded server to be able to run tests on it
      libmysqld/libmysqld.c:
        Fix to embedded server to be able to run tests on it
      mysql-test/mysql-test-run.sh:
        Fix to embedded server to be able to run tests on it
      mysql-test/r/binlog.result:
        Updated test for embedded server
      mysql-test/r/ctype_cp932.result:
        Updated test for embedded server
      mysql-test/r/innodb.result:
        Updated test for embedded server
      mysql-test/r/mysqltest.result:
        Updated test for embedded server
      mysql-test/r/query_cache.result:
        Updated test for embedded server
      mysql-test/r/query_cache_notembedded.result:
        Updated test for embedded server
      mysql-test/r/sp-error.result:
        Updated test for embedded server
      mysql-test/r/sp.result:
        Updated test for embedded server
      mysql-test/r/subselect.result:
        Updated test for embedded server
      mysql-test/r/view.result:
        Updated test for embedded server
      mysql-test/r/view_grant.result:
        Updated test for embedded server
      mysql-test/t/backup.test:
        Updated test for embedded server
      mysql-test/t/binlog.test:
        Updated test for embedded server
      mysql-test/t/blackhole.test:
        Updated test for embedded server
      mysql-test/t/compress.test:
        Updated test for embedded server
      mysql-test/t/ctype_cp932.test:
        Updated test for embedded server
      mysql-test/t/delayed.test:
        Updated test for embedded server
      mysql-test/t/handler.test:
        Updated test for embedded server
      mysql-test/t/innodb.test:
        Updated test for embedded server
      mysql-test/t/mysql.test:
        Updated test for embedded server
      mysql-test/t/mysql_client_test.test:
        Updated test for embedded server
      mysql-test/t/mysqltest.test:
        Updated test for embedded server
      mysql-test/t/query_cache.test:
        Updated test for embedded server
      mysql-test/t/query_cache_notembedded.test:
        Updated test for embedded server
      mysql-test/t/read_only.test:
        Updated test for embedded server
      mysql-test/t/skip_grants.test:
        Updated test for embedded server
      mysql-test/t/sp-destruct.test:
        Updated test for embedded server
      mysql-test/t/sp-error.test:
        Updated test for embedded server
      mysql-test/t/sp-threads.test:
        Updated test for embedded server
      mysql-test/t/sp.test:
        Updated test for embedded server
      mysql-test/t/subselect.test:
        Updated test for embedded server
      mysql-test/t/temp_table.test:
        Updated test for embedded server
      mysql-test/t/view.test:
        Updated test for embedded server
      mysql-test/t/view_grant.test:
        Updated test for embedded server
      mysql-test/t/wait_timeout.test:
        Updated test for embedded server
      mysys/mf_dirname.c:
        Review fix: Don't access data outside of array
      mysys/my_bitmap.c:
        Remove compiler warnings
      scripts/mysql_fix_privilege_tables.sql:
        Add flush privileges to .sql script so that one doesn't have to reboot mysqld when one runs the mysql_fix_privilege_script
      sql-common/client.c:
        Updated test for embedded server
      sql/item.cc:
        Remove DBUG_PRINT statement that can cause crashes when running with --debug
      sql/mysqld.cc:
        Fix to embedded server to be able to run tests on it
      sql/protocol.cc:
        Fix to embedded server to be able to run tests on it
        (Trivial reconstruction of code)
      sql/protocol.h:
        Fix to embedded server to be able to run tests on it
      sql/sql_base.cc:
        Better comment
      sql/sql_class.cc:
        Fix to embedded server to be able to run tests on it
      sql/sql_class.h:
        Fix to embedded server to be able to run tests on it
      sql/sql_cursor.cc:
        Fix to embedded server to be able to run tests on it
      sql/sql_parse.cc:
        Fix to embedded server to be able to run tests on it
        Don't crash for disabled commands when using embedded server
      sql/sql_prepare.cc:
        Fix to embedded server to be able to run tests on it
      mysql-test/r/ctype_cp932_notembedded.result:
        New BitKeeper file ``mysql-test/r/ctype_cp932_notembedded.result''
      mysql-test/r/innodb_notembedded.result:
        New BitKeeper file ``mysql-test/r/innodb_notembedded.result''
      mysql-test/r/sp.result.orig:
        New BitKeeper file ``mysql-test/r/sp.result.orig''
      mysql-test/r/sp_notembedded.result:
        New BitKeeper file ``mysql-test/r/sp_notembedded.result''
      mysql-test/r/subselect_notembedded.result:
        New BitKeeper file ``mysql-test/r/subselect_notembedded.result''
      mysql-test/t/ctype_cp932_notembedded.test:
        New BitKeeper file ``mysql-test/t/ctype_cp932_notembedded.test''
      mysql-test/t/innodb_notembedded.test:
        New BitKeeper file ``mysql-test/t/innodb_notembedded.test''
      mysql-test/t/sp.test.orig:
        New BitKeeper file ``mysql-test/t/sp.test.orig''
      mysql-test/t/sp_notembedded.test:
        New BitKeeper file ``mysql-test/t/sp_notembedded.test''
      mysql-test/t/subselect_notembedded.test:
        New BitKeeper file ``mysql-test/t/subselect_notembedded.test''
      988f0be6
  7. 26 Jan, 2006 1 commit
    • unknown's avatar
      Add new option "check-testcases" to mysql-test-run.pl · f64c2772
      unknown authored
      Cleanup the sideeffects from most of the  testcases with sideeffects.
      
      
      mysql-test/mysql-test-run.pl:
        Add option "check-testcases" to mysql-test-run.pl
        Will execute "include/check-testcase.test" once before each tescase and record the output into "var/tmp/check-testcase.result"
        After the teastcase it will run again and this time compare the output with previously recorded file.
      mysql-test/r/analyze.result:
        Drop table t1 at end of test
      mysql-test/r/create_select_tmp.result:
        Drop table t1 at end of test
      mysql-test/r/ctype_cp932.result:
        Drop table t1 at end of test
      mysql-test/r/ctype_recoding.result:
        Drop table t1 at end of test
      mysql-test/r/grant2.result:
        Drop user mysqltest_2 and mysqltest_A@'%'
      mysql-test/r/join_outer.result:
        Drop view v1 to cleanup
      mysql-test/r/ps_1general.result:
        Drop table t1 at end of test
      mysql-test/r/query_cache.result:
        Drop function "f1"
      mysql-test/r/read_only.result:
        Reset the "read_only" flag
      mysql-test/r/rpl000001.result:
        Remove user "blafasel2"
      mysql-test/r/rpl000017.result:
        Remove user "replicate"
      mysql-test/r/rpl_failed_optimize.result:
        Drop table t1 to cleanup
      mysql-test/r/rpl_flush_tables.result:
        Drop tables t3, t4, t5
      mysql-test/r/rpl_ignore_revoke.result:
        Delete user "user_foo"
      mysql-test/r/rpl_insert_id.result:
        Drop table t1 to cleanup
      mysql-test/r/rpl_loaddata.result:
        Drop tyable t1 to cleanup
      mysql-test/r/rpl_loaddata_rule_m.result:
        Drop tyable t1 to cleanup
      mysql-test/r/rpl_loaddata_rule_s.result:
        Drop tyable t1 to cleanup
      mysql-test/r/rpl_misc_functions.result:
        Drop tyable t1 to cleanup
      mysql-test/r/rpl_multi_update3.result:
        Drop tyable t1 and t2 to cleanup
      mysql-test/r/rpl_replicate_do.result:
        Drop tyable t1 to cleanup
      mysql-test/r/rpl_skip_error.result:
        Drop tyable t1 to cleanup
      mysql-test/r/rpl_slave_status.result:
        Drop tyable t1 to cleanup
      mysql-test/r/sp-prelocking.result:
        Drop view v1 and tables t1, t2, t3 and t4 to cleanup
      mysql-test/r/sp-security.result:
        Delete users to cleanup
        Delete remaining traces in tables_priv and procs_priv
      mysql-test/r/subselect_innodb.result:
        Drop procedure p1 to cleanup
      mysql-test/r/trigger-compat.result:
        Drop trigger wl2818_trg1 and wl2818_trg2.
        Drop table t1, t2
        Drop database mysqltest_db1
        And the users "mysqltest_dfn@localhost" and "mysqltest_inv@localhost"
      mysql-test/r/type_bit.result:
        Drop tables t1 and t2 to cleanup
      mysql-test/r/variables.result:
        Set GLOBAL max_join_size to 10 as it originally was in variables-master.opt
      mysql-test/r/view_grant.result:
        Dop user "test@localhost" to cleanup
      mysql-test/t/analyze.test:
        Drop table t1 to cleanup
      mysql-test/t/create_select_tmp.test:
        Drop table t1 to cleanup
      mysql-test/t/ctype_cp932.test:
        Drop table t1 to cleanup
      mysql-test/t/ctype_recoding.test:
        Drop table t1 to cleanup
      mysql-test/t/fulltext_var.test:
        Restore the original ft_boolean_syntax
      mysql-test/t/grant2.test:
        Drop users "mysqltest_2" and "mysqltest_A@'%'" to cleanup
      mysql-test/t/innodb_cache.test:
        Reset query_cache_size to original value
      mysql-test/t/join_outer.test:
        Drop view v1 to cleanup
      mysql-test/t/ps_1general.test:
        Drop table t1 to cleanup
      mysql-test/t/query_cache.test:
        Drop function "f1" to cleanup
      mysql-test/t/read_only.test:
        Reset the readonly flag
      mysql-test/t/rpl000001.test:
        Delete user "blafasel2" to cleanup
      mysql-test/t/rpl000017.test:
        Delete user "replicate" to cleanup
      mysql-test/t/rpl_failed_optimize.test:
        Drop table t1 to cleanup
      mysql-test/t/rpl_flush_tables.test:
        Droip table t3, t4 and t5 to cleanup
      mysql-test/t/rpl_ignore_revoke.test:
        Delet user "user_foo" to cleanup
      mysql-test/t/rpl_insert_id.test:
        drop table t1 to cleanup
      mysql-test/t/rpl_loaddata.test:
        Drop table t1 to cleanup
      mysql-test/t/rpl_loaddata_rule_m.test:
        Drop table t1 to cleanup
      mysql-test/t/rpl_loaddata_rule_s.test:
        Drop table t1 to cleanup
      mysql-test/t/rpl_misc_functions.test:
        Drop table t1 to cleanup
      mysql-test/t/rpl_multi_update3.test:
        Drop table t1 and t2 to cleanup
      mysql-test/t/rpl_replicate_do.test:
        Drop table t1 to cleanup
      mysql-test/t/rpl_skip_error.test:
        Drop table t1 to cleanup
      mysql-test/t/rpl_slave_status.test:
        Drop table t1 to cleanup
      mysql-test/t/sp-prelocking.test:
        Drop table t1, t2 t3 and t4 to cleanup
        Drop view v1
      mysql-test/t/sp-security.test:
        Delete  test users from mysql.user, mysql.db, mysql.procs_priv and mysql.tables_priv
        Drop table t1 to cleanup
      mysql-test/t/subselect_innodb.test:
        Drop procedure p1 to cleanup
      mysql-test/t/trigger-compat.test:
        Drop trigger wl2818_trg1 and wl2818_trg2 to cleanup
        Drop table t1, t2
        Drop users
        drop database mysqltest_db1
      mysql-test/t/type_bit.test:
        drop table t1 and t2 to cleanup
      mysql-test/t/variables-master.opt:
        Increase max_join_size to 100.
      mysql-test/t/variables.test:
        Set max_join_size to 10, which was the original value in variables-master.opt
      mysql-test/t/view_grant.test:
        Drop the user "test@localhost"
      mysql-test/include/check-testcase.test:
        New BitKeeper file ``mysql-test/include/check-testcase.test''
      f64c2772
  8. 04 Jan, 2006 1 commit
    • unknown's avatar
      Big patch to make embedded-server working in 5.x · c958795a
      unknown authored
      Now it supports queries returning several results
      (particularly important with the SP)
      
      
      include/mysql.h:
        embedded_query_result structure added
      libmysql/libmysql.c:
        embedded-server related fixes
      libmysqld/emb_qcache.cc:
        multiple-result support added
      libmysqld/embedded_priv.h:
        embedded_query_result struct implemented
      libmysqld/lib_sql.cc:
        multiple-result support added
      libmysqld/libmysqld.c:
        small fixes
      mysql-test/t/backup.test:
        test fixed
      mysql-test/t/binlog_stm_binlog.test:
        test fixed
      mysql-test/t/binlog_stm_blackhole.test:
        test fixed
      mysql-test/t/binlog_stm_ctype_cp932.test:
        test fixed
      mysql-test/t/compress.test:
        test fixed
      mysql-test/t/delayed.test:
        test fixed
      mysql-test/t/federated.test:
        test fixed
      mysql-test/t/federated_archive.test:
        test fixed
      mysql-test/t/federated_bug_13118.test:
        test fixed
      mysql-test/t/federated_transactions.test:
        test fixed
      mysql-test/t/flush_table.test:
        test fixed
      mysql-test/t/handler.test:
        test fixed
      mysql-test/t/init_connect.test:
        test fixed
      mysql-test/t/innodb.test:
        test fixed
      mysql-test/t/mysql.test:
        test fixed
      mysql-test/t/mysql_client_test.test:
        test fixed
      mysql-test/t/mysqltest.test:
        test fixed
      mysql-test/t/query_cache.test:
        test fixed
      mysql-test/t/query_cache_notembedded.test:
        test fixed
      mysql-test/t/read_only.test:
        test fixed
      mysql-test/t/skip_grants.test:
        test fixed
      mysql-test/t/sp-destruct.test:
        test fixed
      mysql-test/t/sp-error.test:
        test fixed
      mysql-test/t/sp-threads.test:
        test fixed
      mysql-test/t/sp.test:
        test fixed
      mysql-test/t/view.test:
        test fixed
      mysql-test/t/wait_timeout.test:
        test fixed
      sql-common/client.c:
        small fixes
      sql/mysqld.cc:
        embedded-server related fix
      sql/protocol.cc:
        embedded-server related fix
      sql/protocol.h:
        embedded-server related fix
      sql/sql_class.cc:
        embedded-server related fix
      sql/sql_class.h:
        embedded-server related fix
      sql/sql_cursor.cc:
        embedded-server related fix
      sql/sql_parse.cc:
        embedded-server related fix
      sql/sql_prepare.cc:
        embedded-server related fix
      c958795a
  9. 17 Oct, 2005 1 commit
    • unknown's avatar
      Fix for BUG#4544 "read_only also affects temporary tables": · 40656b63
      unknown authored
      the READ_ONLY global variable now allows statements which are to update only temporary tables
      (note: if a statement, after parse stage, looks like it will update a non-temp table, it will be rejected,
      even if at execution it would have turned out that 0 rows would be updated; for example
      UPDATE my_non_tem_table SET a=1 WHERE 1 = 0; will be rejected).
      
      
      sql/sql_parse.cc:
        The READ_ONLY global variable now allows statements which are to update only temporary tables
        (note: if a statement, after parse stage, looks like it will update a non-temp table, it will be rejected,
        even if at execution it would have turned out that 0 rows would be updated; for example
        UPDATE my_non_tem_table SET a=1 WHERE 1 = 0; will be rejected).
      mysql-test/r/read_only.result:
        result for new test
      mysql-test/t/read_only.test:
        test for READ_ONLY (there was none!) and for the new behaviour of READ_ONLY
      40656b63