An error occurred fetching the project authors.
  1. 16 May, 2006 1 commit
    • unknown's avatar
      Bug#16837 (Missing #ifdef cause compile problem --without-row-based-replication): · 36815fa1
      unknown authored
      Added #ifdef's to make code work even when the system is built without
      row-based replication.
      
      
      mysql-test/r/create.result:
        Result change
      mysql-test/r/innodb_mysql.result:
        Result change
      mysql-test/t/create.test:
        Moving InnoDB specific test to innodb_mysql.test
      mysql-test/t/innodb_mysql.test:
        Moving InnoDB-specific test from create.test
      mysql-test/t/rpl_rbr_to_sbr.test:
        Test only sensible if we have row-based replication compiled in.
      mysql-test/t/rpl_row_basic_8partition.test:
        Test only sensible if we have row-based replication compiled in.
      sql/log.cc:
        Adding HAVE_ROW_BASED_REPLICATION guards on code to work without
        row-based replication.
      sql/set_var.cc:
        Adding HAVE_ROW_BASED_REPLICATION guards on code to work without
        row-based replication.
      sql/set_var.h:
        Adding HAVE_ROW_BASED_REPLICATION guards on code to work without
        row-based replication.
      sql/share/errmsg.txt:
        Adding HAVE_ROW_BASED_REPLICATION guards on code to work without
        row-based replication.
      sql/sql_base.cc:
        Adding HAVE_ROW_BASED_REPLICATION guards on code to work without
        row-based replication.
      sql/sql_class.cc:
        Adding HAVE_ROW_BASED_REPLICATION guards on code to work without
        row-based replication.
      sql/sql_class.h:
        Adding HAVE_ROW_BASED_REPLICATION guards on code to work without
        row-based replication.
      sql/sql_insert.cc:
        Adding HAVE_ROW_BASED_REPLICATION guards on code to work without
        row-based replication.
      sql/sql_parse.cc:
        Adding HAVE_ROW_BASED_REPLICATION guards on code to work without
        row-based replication.
      sql/sql_table.cc:
        Not running hooks
      36815fa1
  2. 05 May, 2006 1 commit
    • unknown's avatar
      Don't use row level logging on optimize or repair table. · 3995b06b
      unknown authored
      (Fixes core dump in rpl_failed_optimize.test)
      Ensure we end active transcations if we do an admin command (like optimize, repair etc)
      
      
      mysql-test/extra/rpl_tests/rpl_failed_optimize.test:
        Added extra test + drop of table at end of test
      mysql-test/lib/mtr_report.pl:
        Fail if mysqld asserts or prints stack
      mysql-test/mysql-test-run.sh:
        Fail if mysqld asserts or prints stack
      mysql-test/r/exampledb.result:
        Cleanup of events_tests (as this caused a lot of problems if it didn't work)
      mysql-test/r/innodb.result:
        Extra test to see that we can do an optimize table on an active transaction
      mysql-test/r/rpl_failed_optimize.result:
        Added extra test + drop of table at end of test
      mysql-test/t/exampledb.test:
        Cleanup of events_tests (as this caused a lot of problems if it didn't work)
      mysql-test/t/innodb.test:
        Extra test to see that we can do an optimize table on an active transaction
      sql/handler.cc:
        Don't use row level logging on optimize or repair table.
      sql/log.cc:
        Simplify code (no logic changes)
      sql/mysql_priv.h:
        Added prototype
      sql/sql_base.cc:
        Better name for define
      sql/sql_class.cc:
        Indentation fix
      sql/sql_parse.cc:
        Make end_active_trans() global
      sql/sql_table.cc:
        Ensure we end active transcations if we do an admin command (like optimize, repair etc)
      3995b06b
  3. 04 May, 2006 1 commit
    • unknown's avatar
      After merge fixes · 79d87430
      unknown authored
      Remove compiler warnings
      Fix some broken tests
      Workaround for syncronization bug in NDB (Bug #16445)
      
      
      client/mysqltest.c:
        Added more information to output from abort_not_supported_test()
        Removed compiler warnings
      include/my_sys.h:
        Added function to print names of open files
      include/mysys_err.h:
        Print names of open files
      mysql-test/include/have_ndb.inc:
        Added comment
      mysql-test/lib/mtr_report.pl:
        Only print warning once
      mysql-test/r/mysqldump.result:
        After merge fix
      mysql-test/r/ndb_basic.result:
        Workaround for syncronization bug in NDB
      mysql-test/r/ndb_config.result:
        Remove not portable test
      mysql-test/t/ndb_basic.test:
        Workaround for syncronization bug in NDB
      mysql-test/t/ndb_config.test:
        Remove not portable test
      mysys/errors.c:
        Print names of open files
      mysys/my_file.c:
        Ensure that structs are cleared and copyied properly so that my_print_open_files() works.
      mysys/my_init.c:
        In case of EXTRA_DEBUG, print names of open files
      mysys/my_open.c:
        Added function to print names of open files
      sql/sql_table.cc:
        Fixed file-not-closed error
      79d87430
  4. 03 May, 2006 3 commits
    • unknown's avatar
      Cleanups after review of WL#602 · 3c099551
      unknown authored
      Fixed warnings from test suite
      Some fixes in mysql-test-run script to catch more warnings
      
      
      mysql-test/lib/mtr_report.pl:
        Catch more warnings
      mysql-test/mysql-test-run.sh:
        Catch warnings from mysqld
      mysql-test/t/mysqldump.test:
        Add key_block_size to catch future changes in information schema
      mysys/errors.c:
        Ensure that mysql-test-run catches if we call my_close() too many times
      sql/handler.cc:
        Initialize all elements
      sql/log.cc:
        true -> TRUE
      sql/sql_class.h:
        Review change: key_info -> key_create_info
      sql/sql_lex.h:
        Review change: key_info -> key_create_info
      sql/sql_table.cc:
        Review change: key_info -> key_create_info
        Don't call mysql_close() if init_ddl_log is not called.
        Better error handling in init_ddl_log
      sql/sql_yacc.yy:
        Review change: key_info -> key_create_info
      3c099551
    • unknown's avatar
      Added support for key_block_size for key and table level (WL#602) · d50ae165
      unknown authored
      Added support for key_block_size to MyISAM.
      Simplify interface to 'new Key' to make it easier to add new key options.
      mysqld option --new is used to define where key options are printed.
      (In 5.3 we should move all key options to after key part definition to avoid problem with reserved names)
      Fixed some compiler warnings and a memory leak in ssl
      
      
      include/my_base.h:
        Added flag to check if block size for key was secified
      include/my_sys.h:
        Added new support function to round up to a power of two
      include/myisam.h:
        Rename block_size -> block_size_index to avoid confusion with 'block_size'
      include/violite.h:
        Added function to free memory after new_VioSSLAcceptorFd
        (Will rename all vio_ssl functions in a future changeset)
      mysql-test/mysql-test-run.pl:
        Don't print port number info when we use --extern
      mysql-test/r/myisam.result:
        Added test for key_block_size
      mysql-test/t/myisam.test:
        Added test for key_block_size
      mysys/mf_keycache.c:
        Simplify code
      mysys/my_bit.c:
        Added new support function to round up to a power of two
      sql/ha_myisam.cc:
        Tell MyISAM to use the specified key_block_size
        MyISAM also updates the global key_block_size from the used values.
      sql/handler.cc:
        Added 'default_key_create_info' to be used as 'dummy' argument to 'new Key'
      sql/handler.h:
        Added KEY_CREATE_INFO, to be used as for general options for KEY's
      sql/item_func.h:
        Removed compiler warning
      sql/lex.h:
        Added new symbol
      sql/mysqld.cc:
        Fixed memory leak in ssl (new_VioSSLAcceptorFd)
      sql/sql_class.h:
        Change 'new Key' to use KEY_CREATE_INFO instead of 'algoritm', parser, key_page_size.
        This makes it easier to add new key options in the future.
      sql/sql_lex.h:
        Added key create options
      sql/sql_parse.cc:
        Use new interface to 'new Key'
      sql/sql_show.cc:
        Added support for key_block_size
        If --new is used, key options are printed after the key part definition.
      sql/sql_table.cc:
        Use new interface to 'new Key'
        Add support for key_block_size
      sql/sql_yacc.yy:
        Add support for key_block_size
        Allow key options before and after key_parts (In future they should be always after the key_part defintion)
        Use new interface to 'new Key'
      sql/structs.h:
        Added block_size to keys
      sql/table.cc:
        Remmeber and read key_block_size for table and key level
      sql/table.h:
        Added default key_block_size for table
      sql/unireg.cc:
        Remember key_block_size for key
      storage/myisam/ft_eval.c:
        Set block_length to 0 to get default key page size
      storage/myisam/ft_test1.c:
        Set block_length to 0 to get default key page size
      storage/myisam/mi_check.c:
        block_size -> block_size_index
      storage/myisam/mi_create.c:
        Added support for block size per key.
        Block size is rounded up to next power of two and enforced between MIN and MAX KEY_BLOCK_LENGTH.
        Align start of key block to start at an even offset of max_key_block_length to ensure key cache works good if all key pages are of same size.
      storage/myisam/mi_open.c:
        block_size -> block_size_index
      storage/myisam/mi_page.c:
        block_size -> block_size_index
      storage/myisam/mi_test1.c:
        Set block_length to 0 to get default key page size
      storage/myisam/mi_test2.c:
        Set block_length to 0 to get default key page size
      storage/myisam/mi_test3.c:
        Set block_length to 0 to get default key page size
      storage/myisam/myisamdef.h:
        block_size -> block_size_index to avoid confusion with 'block_size' in MySQL
        Added block_size as argument to MI_BLOCK_SIZE
        Added missing prototypes to get rid of compiler warnings
      storage/myisam/myisampack.c:
        Removed compiler warning
        block_size -> block_size_index
      vio/viosslfactories.c:
        Fixed memory leak in ssl (new_VioSSLAcceptorFd)
      mysql-test/r/myisam-system.result:
        New BitKeeper file ``mysql-test/r/myisam-system.result''
      mysql-test/t/myisam-system.test:
        New BitKeeper file ``mysql-test/t/myisam-system.test''
      d50ae165
    • unknown's avatar
      merging fix · 66edfe28
      unknown authored
      66edfe28
  5. 28 Apr, 2006 1 commit
    • unknown's avatar
      BUG#19145: mysqld crashes if you set the default value of an enum field to NULL · dd68976a
      unknown authored
      Now test for NULLness the pointers returned from objects created from the
      default value. Pushing patch on behalf of cmiller.
      
      
      mysql-test/r/null.result:
        Add test case
      mysql-test/t/null.test:
        Add test case
      sql/sql_table.cc:
        No longer blindly dereference pointer of the string representation of the
        values, where "NULL" is NUL. Raise INVALID DEFAULT error messages where
        appropriate.
        
        Note that the -O1 optimization flag made debugging this extremely tricky, with
        misleading results, and that removing it from the Makefile during debugging can
        be invaluable.
      dd68976a
  6. 25 Apr, 2006 2 commits
  7. 22 Apr, 2006 2 commits
  8. 21 Apr, 2006 1 commit
  9. 20 Apr, 2006 3 commits
    • unknown's avatar
      WL 2826: Error handling of ALTER TABLE for partitioning · d9347545
      unknown authored
      Fixed up create_handler_files call
      
      
      sql/ha_ndbcluster.cc:
        Fixed up create_handler_files call
      sql/ha_partition.cc:
        Fixed up create_handler_files call
      sql/handler.h:
        Fixed up create_handler_files call
      sql/sql_table.cc:
        Fixed up create_handler_files call
      sql/unireg.cc:
        Fixed up create_handler_files call
      d9347545
    • unknown's avatar
      WL2826: Error handling of ALTER TABLE for partitioning · 66e73768
      unknown authored
      Actual error reported in my_errno from my_delete
      
      
      sql/sql_table.cc:
        Actual error reported in my_errno from my_delete
      66e73768
    • unknown's avatar
      WL 2826: Error handling of ALTER TABLE for partitioning · 319c5da1
      unknown authored
      Various bug fixes (mostly mixed to and from in replace methods)
      
      
      sql/sql_partition.cc:
        Various bug fixes (mostly mixed to and from in replace methods)
      sql/sql_table.cc:
        Various bug fixes (mostly mixed to and from in replace methods)
      319c5da1
  10. 19 Apr, 2006 1 commit
  11. 18 Apr, 2006 1 commit
    • unknown's avatar
      WL 2826: Error handling of ALTER TABLE for partitioning · 4624982e
      unknown authored
      Use \0 to indicate frm-file
      Add more comments
      Add more #ifdef code missing previously
      
      
      sql/sql_partition.cc:
        Use \0 to indicate frm-file
      sql/sql_table.cc:
        Use \0 to indicate frm-file
        Add more comments
        Add more #ifdef code missing previously
      4624982e
  12. 16 Apr, 2006 2 commits
    • unknown's avatar
      WL 2826: Error handling of ALTER TABLE for partitioning · 9a40c5bf
      unknown authored
      After review changes
      
      
      mysql-test/r/ndb_partition_key.result:
        Fixed result file
      sql/ha_ndbcluster.cc:
        Fixed interface to create_handler_files
      sql/ha_ndbcluster.h:
        Fixed interface to create_handler_files
      sql/ha_partition.cc:
        Fixed interface to create_handler_files and made it two-stage for rename
        Removed print_error and now it's used by MySQL Server parts instead
      sql/ha_partition.h:
        Fixed interface to create_handler_files
      sql/mysql_priv.h:
        Fixed error injects
        Externalised Global DDL log mutex
        Some interface changes
      sql/mysqld.cc:
        Moved close of DDL log until all user threads been closed
      sql/sql_base.cc:
        Interface changes
      sql/sql_partition.cc:
        Moved print_error to mysql server part
      sql/sql_table.cc:
        Lots of after review changes
      sql/table.cc:
        Fixed upgrade code
      9a40c5bf
    • unknown's avatar
      Final patch to remove the last of the OS2 support. · cc62983c
      unknown authored
      client/client_priv.h:
        OS2 removal
      client/mysql.cc:
        OS2 removal
      dbug/dbug.c:
        OS2 removal
      include/m_string.h:
        OS2 removal
      include/my_global.h:
        Cleanup for have_mit
      libmysql/dll.c:
        OS2 removal
      libmysql/get_password.c:
        OS2 removal
      libmysql/libmysql.c:
        OS2 removal
      libmysql/manager.c:
        OS2 removal
      sql-common/client.c:
        OS2 removal
      sql/event_executor.cc:
        OS2 removal
      sql/hostname.cc:
        OS2 removal
      sql/log.cc:
        OS2 removal
      sql/log_event.h:
        OS2 removal
      sql/my_lock.c:
        OS2 removal
      sql/mysql_priv.h:
        OS2 removal
      sql/mysqld.cc:
        OS2 removal
      sql/net_serv.cc:
        OS2 removal
      sql/repl_failsafe.cc:
        OS2 removal
      sql/slave.cc:
        OS2 removal
      sql/sql_base.cc:
        OS2 removal
      sql/sql_insert.cc:
        OS2 removal
      sql/sql_load.cc:
        OS2 removal
      sql/sql_parse.cc:
        OS2 removal
      sql/sql_table.cc:
        OS2 removal
      storage/myisam/myisamchk.c:
        OS2 removal
      storage/ndb/src/mgmclient/main.cpp:
        OS2 removal
      storage/ndb/src/mgmsrv/main.cpp:
        OS2 removal
      vio/vio.c:
        OS2 removal
      vio/viosocket.c:
        OS2 removal
      vio/viossl.c:
        OS2 removal
      cc62983c
  13. 13 Apr, 2006 1 commit
    • unknown's avatar
      Bug#18129 - Fast (online) add index leaves temporary table frm in case of errors · dd6af1f7
      unknown authored
      ALTER TABLE temporarily creates a new table with a .frm
      file and optionally other files. For fast ALTER TABLE
      only the .frm file is created. If the operation succeeds,
      The temporary files are renamed to their final target.
      
      In case of an error, the temporary file was forgotten to
      remove.
      
      Manually tested. The test requires to look at files,
      which I think cannot be done portably with the test suite.
      The test file is attached to the bug report.
      
      
      sql/sql_table.cc:
        Bug#18129 - Fast (online) add index leaves temporary table frm in case of errors
        Moved closing or removing of the temporary table
        to an 'err1' label at the end of mysql_alter_table().
        Added gotos to this label from all error checks between
        create or open and remove or close of the temporary table.
      dd6af1f7
  14. 12 Apr, 2006 1 commit
    • unknown's avatar
      bug #15860 (SPATIAL keys in INNODB) · f01b0ac2
      unknown authored
      mysql-test/r/innodb.result:
        result added
      mysql-test/t/innodb.test:
        testcase
      sql/ha_myisam.cc:
        HA_CAN_RTREEKEYS added to ha_myisam
      sql/handler.h:
        HA_CAN_RTREEKEYS defined
      sql/share/errmsg.txt:
        error message added
      sql/sql_table.cc:
        check that the handler allows SPATIAL keys
      f01b0ac2
  15. 11 Apr, 2006 2 commits
    • unknown's avatar
      bug#17870 Table names conflict with Windows device names · aa3eb77e
      unknown authored
      It was impossible to create some table names on Windows
      (e.g. LPT1, AUX, COM1, etc).
      
      Fixed to pad dangerous names with thee "at" signs
      (e.g. LPT1@@@, AUX@@@, COM1@@@, and so on).
      
      
      include/my_sys.h:
        Adding new function declaration
      mysys/my_access.c:
        Adding new function check_if_legal_tablename().
        It works almost like check_if_legal_filename(),
        but accepts a table name without extension and path,
        and does not check "CLOCK$".
      sql/sql_table.cc:
        Check if a dangerous table name and append @@@
      strings/ctype-utf8.c:
        Treat "@@@" sequence in a table name as a end-of-line.
      mysql-test/r/ctype_filename.result:
        New BitKeeper file ``mysql-test/r/ctype_filename.result''
      mysql-test/t/ctype_filename.test:
        New BitKeeper file ``mysql-test/t/ctype_filename.test''
      aa3eb77e
    • unknown's avatar
      Fixes for fast alter table for ndbcluster · 6b7e19af
      unknown authored
      6b7e19af
  16. 03 Apr, 2006 1 commit
  17. 01 Apr, 2006 1 commit
  18. 31 Mar, 2006 1 commit
    • unknown's avatar
      cleaned up a few method comments · 04570aa5
      unknown authored
      moved several functions from sql_partition to be member functions
      
      
      sql/partition_info.h:
        move these funcs from sql_partition to this class
      sql/sql_partition.cc:
        move these funcs from sql_partition to this class
      sql/sql_table.cc:
        calling the member func now instead
      04570aa5
  19. 30 Mar, 2006 2 commits
    • unknown's avatar
      Bug#18477 - MySQL/InnoDB Ignoring Foreign Keys in ALTER TABLE · 5569a87e
      unknown authored
      InnoDB requires a full table rebuild for foreign key changes.
      It was not possible in compare_tables() to detect such changes.
      
      On Heikkis proposal I added a new flag to the syntax parser
      where foreign key definition changes are done. I test for
      this flag in compare_tables() now.
      
      
      mysql-test/r/innodb.result:
        Bug#18477 - MySQL/InnoDB Ignoring Foreign Keys in ALTER TABLE
        Fixed an old test result.
        Added the new test result.
      mysql-test/t/innodb.test:
        Bug#18477 - MySQL/InnoDB Ignoring Foreign Keys in ALTER TABLE
        Added the new test case.
      sql/sql_lex.h:
        Bug#18477 - MySQL/InnoDB Ignoring Foreign Keys in ALTER TABLE
        Added a flag for foreign key definition changes.
      sql/sql_table.cc:
        Bug#18477 - MySQL/InnoDB Ignoring Foreign Keys in ALTER TABLE
        Check for foreign key definition changes in 
        compare_tables(). If present, a table rebuild is required.
      sql/sql_yacc.yy:
        Bug#18477 - MySQL/InnoDB Ignoring Foreign Keys in ALTER TABLE
        Marked foreign key definitions with the new flag.
        This flag is tested in ALTER TABLE only. It is
        ignored otherwise.
      5569a87e
    • unknown's avatar
      post-merge fix · 600a1763
      unknown authored
      600a1763
  20. 29 Mar, 2006 3 commits
    • unknown's avatar
      Fixed bug#15560: GROUP_CONCAT wasn't ready for WITH ROLLUP queries · b2531546
      unknown authored
      The GROUP_CONCAT uses its own temporary table. When ROLLUP is present
      it creates the second copy of Item_func_group_concat. This copy receives the
      same list of arguments that original group_concat does. When the copy is
      set up the result_fields of functions from the argument list are reset to the
      temporary table of this copy.
      As a result of this action data from functions flow directly to the ROLLUP copy
      and the original group_concat functions shows wrong result.
      Since queries with COUNT(DISTINCT ...) use temporary tables to store
      the results the COUNT function they are also affected by this bug.
      
      The idea of the fix is to copy content of the result_field for the function
      under GROUP_CONCAT/COUNT from  the first temporary table to the second one,
      rather than setting result_field to point to the second temporary table.
      To achieve this goal force_copy_fields flag is added to Item_func_group_concat
      and Item_sum_count_distinct classes. This flag is initialized to 0 and set to 1
      into the make_unique() member function of both classes.
      To the TMP_TABLE_PARAM structure is modified to include the similar flag as
      well.
      The create_tmp_table() function passes that flag to create_tmp_field().
      When the flag is set the create_tmp_field() function will set result_field
      as a source field and will not reset that result field to newly created 
      field for Item_func_result_field and its descendants. Due to this there
      will be created copy func to copy data from old result_field to newly 
      created field.
      
      
      mysql-test/t/func_gconcat.test:
        Added test for bug#15560: GROUP_CONCAT wasn't ready for WITH ROLLUP queries
      mysql-test/r/func_gconcat.result:
        Added test for bug#15560: GROUP_CONCAT wasn't ready for WITH ROLLUP queries
      sql/sql_table.cc:
        Fixed bug#15560: GROUP_CONCAT wasn't ready for WITH ROLLUP queries
        Added 0 as a last parameter to create_tmp_field()  to force old behaviour.
      sql/sql_select.cc:
        Fixed bug#15560: GROUP_CONCAT wasn't ready for WITH ROLLUP queries
        
        Added the flag 'make_copy_field' to create_tmp_field(), so that for Item_result_field descendants create_tmp_field() sets the item's result field as a source field and deny resetting that result field to a new value.
      sql/sql_class.h:
        Fixed bug#15560: GROUP_CONCAT wasn't ready for WITH ROLLUP queries
        Added the flag 'force_copy_fields' to the structure TMP_TABLE_PARAM in order to make create_tmp_field() force the creation of 'copy_field' objects.
      sql/mysql_priv.h:
        Fixed bug#15560: GROUP_CONCAT wasn't ready for WITH ROLLUP queries
        Added the bool parameter 'make_copy_field' to create_tmp_field().
      sql/item_sum.cc:
        Fixed bug#15560: GROUP_CONCAT wasn't ready for WITH ROLLUP queries
        Added initialization of the force_copy_fields flag and passing it to create_tmp_table() through TMP_TBLE_PARAM in the Item_func_group_concat and Item_sum_count_distinct member functions.
      sql/item_sum.h:
        Fixed bug#15560: GROUP_CONCAT wasn't ready for WITH ROLLUP queries
        Added the flag 'force_copy_fields' to the Item_func_group_concat and Item_sum_count_distinct classes.
      b2531546
    • unknown's avatar
      Fix for bug#15316 SET value having comma not correctly handled · 4af4e1e7
      unknown authored
       disallow the use of comma in SET members
      
      
      mysql-test/r/create.result:
        Fix for bug#15316 SET value having comma not correctly handled
         test case
      mysql-test/t/create.test:
        Fix for bug#15316 SET value having comma not correctly handled
         test case
      4af4e1e7
    • unknown's avatar
      Fixed compiler and valgrind warnings · 59eaf292
      unknown authored
      Added missing DBUG_xxx_RETURN statements
      Fixed some usage of not initialized variables (as found by valgrind)
      Ensure that we don't remove locked tables used as name locks from open table cache until unlock_table_names() are called.
      This was fixed by having drop_locked_name() returning any table used as a name lock so that we can free it in unlock_table_names()
      This will allow Tomas to continue with his work to use namelocks to syncronize things.
      
      Note: valgrind still produces a lot of warnings about using not initialized code and shows memory loss errors when running the ndb tests
      
      
      BitKeeper/etc/ignore:
        added mysql-test/r/*.log
      client/mysqltest.c:
        Change type of variables to get rid of compiler warnings
        More debugging
        Fix memory leak
      mysql-test/mysql-test-run.sh:
        Collect warnings about missing DBUG_RETURN statements
      mysql-test/r/lock_multi.result:
        Add test of new code
      mysql-test/r/ndb_condition_pushdown.result:
        Drop used tables before test
      mysql-test/t/lock_multi.test:
        Add test of new code
      mysql-test/t/ndb_condition_pushdown.test:
        Drop used tables before test
      mysql-test/valgrind.supp:
        Ignore 'safe' warnings from libz (when used with archive)
      sql/event.cc:
        More comments
        Simplify code
        Fixed memory leak found by valgrind
      sql/ha_archive.cc:
        Remove compiler warnings (Wrong handlerton structure and signed/unsigned comparison)
      sql/ha_berkeley.cc:
        Fixed compiler warning
      sql/ha_blackhole.cc:
        Fixed compiler warning
      sql/ha_federated.cc:
        Fixed compiler warning
      sql/ha_heap.cc:
        Fixed compiler warning
      sql/ha_myisam.cc:
        Fixed compiler warning
      sql/ha_myisammrg.cc:
        Fixed compiler warning
      sql/ha_ndbcluster.cc:
        Fixed compiler warnings
      sql/ha_partition.cc:
        Fixed compiler warning
        Fixed error noticed by valgrind in ha_partition::rnd_init()
      sql/handler.cc:
        Fixed compiler warning
      sql/handler.h:
        Fixed compiler warning
      sql/item.cc:
        Fixed compiler warning
      sql/item_xmlfunc.cc:
        Fixed warning from valgrind when calling memcpy with wrong address
      sql/lock.cc:
        More debugging
      sql/log.cc:
        Fixed compiler warning
        Indentation fixes
      sql/log.h:
        Fixed compiler warning
      sql/mysql_priv.h:
        Changed prototype for 'drop_locked_tables'
      sql/opt_range.cc:
        Indentation fix
      sql/password.c:
        Removed compiler warnings
      sql/set_var.cc:
        Fixed compiler warning
      sql/slave.cc:
        Fixed compiler warning
      sql/sp_head.cc:
        Fixed compiler warning
      sql/sql_acl.cc:
        Fixed compiler warning
      sql/sql_analyse.cc:
        Added missing DBUG_RETURN statements
      sql/sql_base.cc:
        Removed de-reference of not initialized pointer
        More comments
        drop_locked_tables() changed to not delete tables used for name locking
        Fixed compiler warnings
      sql/sql_delete.cc:
        Fixed usage of not initialized variable
        (deleted could be referenced in some not common error conditions)
      sql/sql_parse.cc:
        Added missing DBUG_VOID_RETURN
        Simplify code
      sql/sql_partition.cc:
        Fixed usage of wrong variable (noticed by valgrind)
      sql/sql_plugin.cc:
        Removed compiler warning
      sql/sql_show.cc:
        Removed compiler warning
      sql/sql_table.cc:
        Ensure that we don't remove locked tables used as name locks from open table cache until unlock_table_names() are called.
        This was fixed by having drop_locked_name() returning any table used as a name lock so that we can free it in unlock_table_names()
        This will allow Tomas to continue with his work to use namelocks to syncronize things.
        
        Fixed wrong test of 'table_type' (path_length could otherwise be accessed uninitialized)
        
        Remove compile warnings about not initialized variables.
      sql/sql_yacc.yy:
        Ensure that no_write_to_binlog is properly initialized
        (Was accessed uninitialized by partition code)
      sql/table.cc:
        Removed valgrind warnings (not fatal)
        Removed compiler warnings
      sql/tztime.cc:
        Removed valgrind warning
      storage/ndb/include/ndbapi/NdbIndexStat.hpp:
        Removed compiler warning
      59eaf292
  21. 24 Mar, 2006 4 commits
    • unknown's avatar
      BUG#16806: ALTER TABLE with new field in before position fails · d45ebd7a
      unknown authored
      Review fixes
      
      
      sql/sql_partition.cc:
        Review fixes
      sql/sql_table.cc:
        Review fixes
      d45ebd7a
    • unknown's avatar
      WL 2826: Error handling of ALTER TABLE for partitioning · 3928d962
      unknown authored
      Loads of review comments fixed
      inactivate => deactivate
      table log => ddl log
      Commented on Error Inject Module added
      Put various #defines into enums
      Fixed abort_and_upgrade_lock, removed unnecessary parameter
      Fixed mysqlish method intro's
      Fixed warning statements
      5.1.7 was released still with partition states in clear text
      
      Fixed io_size bug
      Fixed bug in open that TRUNCATED before reading :)
      file_entry => file_entry_buf
      Don't open DDL log until first write call to DDL log
      handler_type => handler_name
      no => num
      
      
      
      sql/ha_partition.cc:
        Loads of review comments fixed
        inactivate => deactivate
        table log => ddl log
      sql/mysql_priv.h:
        Loads of review comments fixed
        inactivate => deactivate
        table log => ddl log
        Commented on Error Inject Module added
        Put various #defines into enums
        Fixed abort_and_upgrade_lock, removed unnecessary parameter
      sql/mysqld.cc:
        Loads of review comments fixed
        inactivate => deactivate
        table log => ddl log
        Commented on Error Inject Module added
        Put various #defines into enums
        Fixed abort_and_upgrade_lock, removed unnecessary parameter
      sql/partition_element.h:
        Loads of review comments fixed
        inactivate => deactivate
        table log => ddl log
        Commented on Error Inject Module added
        Put various #defines into enums
        Fixed abort_and_upgrade_lock, removed unnecessary parameter
      sql/partition_info.h:
        Loads of review comments fixed
        inactivate => deactivate
        table log => ddl log
        Commented on Error Inject Module added
        Put various #defines into enums
        Fixed abort_and_upgrade_lock, removed unnecessary parameter
      sql/share/errmsg.txt:
        Loads of review comments fixed
        inactivate => deactivate
        table log => ddl log
        Commented on Error Inject Module added
        Put various #defines into enums
        Fixed abort_and_upgrade_lock, removed unnecessary parameter
      sql/sql_base.cc:
        Loads of review comments fixed
        inactivate => deactivate
        table log => ddl log
        Commented on Error Inject Module added
        Put various #defines into enums
        Fixed abort_and_upgrade_lock, removed unnecessary parameter
      sql/sql_partition.cc:
        Loads of review comments fixed
        inactivate => deactivate
        table log => ddl log
        Commented on Error Inject Module added
        Put various #defines into enums
        Fixed abort_and_upgrade_lock, removed unnecessary parameter
        Fixed mysqlish method intro's
        Fixed warning statements
      sql/sql_table.cc:
        Loads of review comments fixed
        inactivate => deactivate
        table log => ddl log
        Commented on Error Inject Module added
        Put various #defines into enums
        Fixed abort_and_upgrade_lock, removed unnecessary parameter
        Fixed mysqlish method intro's
        Fixed warning statements
        Fixed io_size bug
        Fixed bug in open that TRUNCATED before reading :)
        file_entry => file_entry_buf
        Don't open DDL log until first write call to DDL log
        handler_type => handler_name
        no => num
      sql/table.cc:
        Loads of review comments fixed
        inactivate => deactivate
        table log => ddl log
        Commented on Error Inject Module added
        Put various #defines into enums
        Fixed abort_and_upgrade_lock, removed unnecessary parameter
        Fixed mysqlish method intro's
        Fixed warning statements
        5.1.7 was released still with partition states in clear text
        
        Fixed io_size bug
        Fixed bug in open that TRUNCATED before reading :)
        file_entry => file_entry_buf
        Don't open DDL log until first write call to DDL log
        handler_type => handler_name
        no => num
      3928d962
    • unknown's avatar
      Follow-up for the fix for bug #18153 "ALTER/OPTIMIZE/REPAIR on transactional · bb7e6828
      unknown authored
      tables corrupt triggers".
      
      It turned out that we also have relied at certain places that
      (new_table != table_name) were always true on Windows and for transactional
      tables. Since our fix for the bug brakes this assumption we have to add new
      flag to pass this information around.
      This code needs to be refactored but I dare not to do this in 5.0.
      
      
      sql/sql_table.cc:
        mysql_alter_table():
          Follow-up for the fix for bug #18153 "ALTER/OPTIMIZE/REPAIR on
          transactional tables corrupt triggers". It turned out that we also have
          relied at certain places that (new_table != table_name) were always true
          on Windows and for transactional tables. Since our fix for the bug brakes
          this assumption we have to add new flag to pass this information around.
          This code needs to be refactored but I dare not to do this in 5.0.
      bb7e6828
    • unknown's avatar
      Fix for bug #18153 "ALTER/OPTIMIZE/REPAIR on transactional tables corrupt · a389ec0b
      unknown authored
      triggers".
      
      Applying ALTER/OPTIMIZE/REPAIR TABLE statements to transactional table or to
      table of any type on Windows caused disappearance of its triggers.
      Bug was introduced in 5.0.19 by my fix for bug #13525 "Rename table does not
      keep info of triggers" (see comment for sql_table.cc for more info).
      .
      
      
      mysql-test/r/trigger.result:
        Added test-case covering handling of triggers when one does ALTER TABLE which
        should move table to different database.
      mysql-test/t/trigger.test:
        Added test-case covering handling of triggers when one does ALTER TABLE which
        should move table to different database.
      sql/sql_table.cc:
        mysql_alter_table():
          Removal of strdup() which is no longer necessary allows us to preserve
          nice assumption that "(new_db != db || new_table != table_name) indicates
          that table will be renamed. So now we really can use this condition to
          avoid updating trigger definitions when table is not renamed.
          Note that we can't use (alter_info->flags & ALTER_RENAME) condition instead
          since it can be also true when we do "ALTER TABLE t1 RENAME TO t1".
      sql/sql_trigger.cc:
        Table_triggers_list::change_table_name():
          Mentioned assumption that subject table is not renamed to itself in method
          description. Added DBUG_ASSERT() to catch wrong usage of this method.
      mysql-test/r/trigger-trans.result:
        New BitKeeper file ``mysql-test/r/trigger-trans.result''
      mysql-test/t/trigger-trans.test:
        New BitKeeper file ``mysql-test/t/trigger-trans.test''
      a389ec0b
  22. 23 Mar, 2006 1 commit
    • unknown's avatar
      BUG #16806: ALTER TABLE fails when creating new field not last in table · 95efef09
      unknown authored
      Moved some code to else path to avoid delete, create, delete, create scenarios.
      Fixed up the partition info object for some cases where we move from default
      partitioning in NDB to default partitioning using partitioning.
      
      
      sql/sql_partition.cc:
        Added a new parameter for partition default handling
        This is to avoid calling get_no_parts on tables not yet
        created.
        Ensure that we don't reuse the old part_info object for
        any other operation than CREATE TABLE after reading up
        the frm file.
      sql/sql_table.cc:
        Moved some code to else path to avoid delete, create, delete, create scenarios.
        Fixed up the partition info object for some cases where we move from default
        partitioning in NDB to default partitioning using partitioning.
      95efef09
  23. 20 Mar, 2006 2 commits
    • unknown's avatar
      BUG#17754 · 51f70d9f
      unknown authored
      Added new syntax ALTER TABLE t1 REMOVE PARTITIONING,
      changed semantics of ALTER TABLE t1 ENGINE=X; to not remove partitioning
      Fix a number of mix engine bugs in partitioning
      
      
      mysql-test/r/ndb_partition_key.result:
        Added a number of new test cases
      mysql-test/r/partition.result:
        Added a number of new test cases
      mysql-test/t/ndb_partition_key.test:
        Added a number of new test cases
      mysql-test/t/partition.test:
        Added a number of new test cases
      sql/lex.h:
        REMOVE and PARTITIONING added as keywords in parser
      sql/sql_lex.h:
        Added flag to alter_info flag
      sql/sql_partition.cc:
        Fixes for the new syntax, changes of the current semantics of the syntax.
        Fixes for errors in handling mixes of table handlers in partitioning syntax
        for ALTER TABLE
      sql/sql_table.cc:
        Bug fix
      sql/sql_yacc.yy:
        New syntax for REMOVE PARTITIONING
      51f70d9f
    • unknown's avatar
      bug #17290 (sp with delete, create and rollback causes MySQLD core) · afe397ff
      unknown authored
      additional fixes
      
      
      mysql-test/r/partition.result:
        result fixed
      mysql-test/t/partition.test:
        testcase
      sql/sql_parse.cc:
        part_info cloning moved here
      sql/sql_partition.cc:
        fixes
      sql/sql_table.cc:
        part_info cloning removed
      afe397ff
  24. 18 Mar, 2006 1 commit
    • unknown's avatar
      bug 17290 and bug 14350 · 6a421c56
      unknown authored
      added THD::work_part_info member where we now store modified
      partition_info structure.
      It allows no solve problem when different parts of the part_info get
      into different mem_roots
      
      
      sql/partition_info.cc:
        get_clone implementation
      sql/partition_info.h:
        get_clone() declared
      sql/sql_class.h:
        THD::work_part_info added
      sql/sql_partition.cc:
        thd->work_part_info instead of lex->part_info
      sql/sql_table.cc:
        thd->work_part_info instad of lex->part_info
      sql/unireg.cc:
        thd->work_part_info instad of lex->part_info
      6a421c56
  25. 08 Mar, 2006 1 commit
    • unknown's avatar
      Bug #17497: Partitions: crash if add partition on temporary table · 48469933
      unknown authored
        Temporary tables are no longer allowed to be partitioned.
      
      
      mysql-test/r/partition.result:
        Add result
      mysql-test/t/partition.test:
        Add new regression test
      sql/share/errmsg.txt:
        Add new error message
      sql/sql_table.cc:
        Don't allow creating temporary table with partitions
      48469933