1. 01 Nov, 2007 1 commit
    • unknown's avatar
      Bug#30671 · aea5007d
      unknown authored
        "ALTER SERVER can cause server to crash"
        While retrieving values, it would erronously set the socket value
        to NULL and attempt to use it in strcmp().
        Ensure it is correctly set to "" so that strcmp may not crash.
      
      
      mysql-test/r/federated_server.result:
        results for bug30671
        fix inconsistent result
      mysql-test/t/federated_server.test:
        surplus semicolon
        test for bug30671
      sql/sql_servers.cc:
        bug30671
        inside function get_server_from_table_to_cache()
          server->socket was being set to NULL instead of empty string
      aea5007d
  2. 30 Oct, 2007 3 commits
  3. 26 Oct, 2007 4 commits
    • unknown's avatar
      Bug#4692 - DISABLE/ENABLE KEYS waste a space · 612bedb2
      unknown authored
      Disabling and enabling indexes on a non-empty table grows the
      index file.
      
      Disabling indexes just sets a flag per non-unique index and does not
      free the index blocks of the affected indexes. Re-enabling indexes
      creates new indexes with new blocks. The old blocks remain unused
      in the index file.
      
      Fixed by dropping and re-creating all indexes if non-empty disabled
      indexes exist when enabling indexes. Dropping all indexes resets
      the internal end-of-file marker to the end of the index file header.
      It also clears the root block pointers of every index and clears the
      deleted blocks chains. This way all blocks are declared as free.
      
      
      myisam/mi_check.c:
        Bug#4692 - DISABLE/ENABLE KEYS waste a space
        Added function mi_drop_all_indexes() to support drop of all indexes
        in case we want to re-enable non-empty disabled indexes.
        Changed mi_repair(), mi_repair_by_sort(), and mi_repair_parallel()
        to use the new function instead of duplicate drop index code.
      mysql-test/r/myisam.result:
        Bug#4692 - DISABLE/ENABLE KEYS waste a space
        Added test result.
      mysql-test/t/myisam.test:
        Bug#4692 - DISABLE/ENABLE KEYS waste a space
        Added test.
      612bedb2
    • unknown's avatar
      Bug#30296 · 0bb55050
      unknown authored
        "Dynamic plugins fail to load on FreeBSD"
        ELF executables need to be linked using the -export-dynamic option to
        ld(1) for symbols defined in the executable to become visible to dlsym().
        Also, do not build plugins on an all-static build.
      
      
      configure.in:
        Bug#30296
          Use "-export-dynamic" when building executable for use with plugins.
          Add required option using MYSQLD_EXTRA_LDFLAGS variable so we do not
          affect any other binary.
      config/ac-macros/plugins.m4:
        Do not build plugins when building all-static
      sql/sql_yacc.yy:
        build fix - surplus semicolon
      0bb55050
    • unknown's avatar
      Merge anubis.xiphis.org:/usr/home/antony/work/p1-bug31473.1-backport-5.0 · 66198e09
      unknown authored
      into  anubis.xiphis.org:/usr/home/antony/work/p1-bug31473.1-backport-5.1
      
      
      mysql-test/r/csv.result:
        null merge
      mysql-test/t/csv.test:
        null merge
      66198e09
    • unknown's avatar
      protect bug31473 from regressing into 5.0 · 0724eb88
      unknown authored
      0724eb88
  4. 25 Oct, 2007 1 commit
  5. 24 Oct, 2007 3 commits
    • unknown's avatar
      Merge mysql.com:/home/svoj/devel/mysql/BUG31159/mysql-4.1-engines · 22b36705
      unknown authored
      into  mysql.com:/home/svoj/devel/mysql/BUG31159/mysql-5.0-engines
      
      
      include/my_sys.h:
        Auto merged
      mysql-test/r/ctype_ucs.result:
        Auto merged
      mysql-test/t/ctype_ucs.test:
        Auto merged
      mysys/charset.c:
        Manual merge.
      sql/item_func.cc:
        Manual merge.
      22b36705
    • unknown's avatar
      Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-4.1-engines · 4fda18a3
      unknown authored
      into  mysql.com:/home/svoj/devel/mysql/BUG31159/mysql-4.1-engines
      
      
      4fda18a3
    • unknown's avatar
      BUG#31159 - fulltext search on ucs2 column crashes server · 660d6626
      unknown authored
      ucs2 doesn't provide required by fulltext ctype array. Crash
      happens because fulltext attempts to use unitialized ctype
      array.
      
      Fixed by converting ucs2 fields to compatible utf8 analogue.
      
      
      include/my_sys.h:
        Added a function to find compatible character set with ctype array
        available. Currently used by fulltext search to find compatible
        substitute for ucs2 collations.
      mysql-test/r/ctype_ucs.result:
        A test case for BUG#31159.
      mysql-test/t/ctype_ucs.test:
        A test case for BUG#31159.
      mysys/charset.c:
        Added a function to find compatible character set with ctype array
        available. Currently used by fulltext search to find compatible
        substitute for ucs2 collations.
      sql/item_func.cc:
        Convert ucs2 fields to utf8. Fulltext requires ctype array, but
        ucs2 doesn't provide it.
      660d6626
  6. 23 Oct, 2007 3 commits
    • unknown's avatar
      Merge mattiasj-laptop.(none):/home/mattiasj/clones/mysql-5.1-engines · 957d8665
      unknown authored
      into  mattiasj-laptop.(none):/home/mattiasj/clones/mysql-5.1-bug30878
      
      
      mysql-test/r/partition.result:
        Auto merged
      mysql-test/t/partition.test:
        Auto merged
      sql/sql_partition.cc:
        Auto merged
      957d8665
    • unknown's avatar
      Merge mattiasj-laptop.(none):/home/mattiasj/clones/mysql-5.1-bug30695 · 2b5bcaab
      unknown authored
      into  mattiasj-laptop.(none):/home/mattiasj/clones/mysql-5.1-bug30878
      
      
      mysql-test/r/partition.result:
        SCCS merged
      mysql-test/t/partition.test:
        SCCS merged
      2b5bcaab
    • unknown's avatar
      Bug #30695: An apostrophe ' in the comment of the ADD PARTITION · fe784fac
      unknown authored
        causes the Server to crash.
      
      Accessing partitioned table with an apostrophe in partition options
      like DATA DIRECTORY, INDEX DIRECTORY or COMMENT causes server crash.
      
      Partition options were saved in .frm file without escaping.
      When accessing such table it is not possible to properly restore
      partition information.
      Crashed because there was no check for partition info parser failure.
      
      Fixed by escaping quoted text in the partition info when writing it to
      the frm-file and added a check that it was able to parse the partition
      info before using it 
      
      NOTE: If the comment is written by an earlier version of the server,
      the corrupted frm-file is not fixed, but left corrupted, you have to
      manually drop the table and recreate it.
      
      
      mysql-test/r/partition.result:
        bug #30695: An apostrophe ' in the comment of the ADD PARTITION causes
        the Server to crash.
         testresult
      mysql-test/t/partition.test:
        bug #30695: An apostrophe ' in the comment of the ADD PARTITION causes
        the Server to crash.
          testcase
      sql/sql_partition.cc:
        Bug #30695: An apostrophe ' in the comment of the ADD PARTITION causes
          the Server to crash.
        
          Crashes when there is an non escaped apostrophe in the partition options
        
          fixed by escaping quoted text before writing to the frm-file
      sql/table.cc:
        Bug #30695 An apostrophe ' in the comment of the ADD PARTITION
          causes the Server to crash
        
        problem was using a null poiter without check -> crash.
        
        added a check that the previus call succeded
      fe784fac
  7. 19 Oct, 2007 7 commits
  8. 18 Oct, 2007 9 commits
    • unknown's avatar
      Merge lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.1-base · bf5bcb84
      unknown authored
      into  lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.1-rt-merge
      
      
      client/mysqlcheck.c:
        Auto merged
      client/mysqltest.c:
        Auto merged
      libmysql/libmysql.c:
        Auto merged
      mysql-test/include/mix1.inc:
        Auto merged
      mysql-test/r/innodb_mysql.result:
        Auto merged
      mysql-test/r/udf.result:
        Auto merged
      mysql-test/t/udf.test:
        Auto merged
      sql/item.cc:
        Auto merged
      sql/item_func.cc:
        Auto merged
      sql/mysql_priv.h:
        Auto merged
      sql/set_var.cc:
        Auto merged
      sql/sql_class.cc:
        Auto merged
      sql/sql_lex.h:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      tests/mysql_client_test.c:
        Auto merged
      bf5bcb84
    • unknown's avatar
      Merge lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.0-base · d9274610
      unknown authored
      into  lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.0-rt-merge
      
      
      mysql-test/r/udf.result:
        Auto merged
      mysql-test/t/udf.test:
        Auto merged
      sql/item.cc:
        Auto merged
      sql/item_func.cc:
        Auto merged
      sql/mysql_priv.h:
        Auto merged
      sql/set_var.cc:
        Auto merged
      sql/udf_example.c:
        Auto merged
      sql/udf_example.def:
        Auto merged
      d9274610
    • unknown's avatar
      Merge pcg5ppc.xiphis.org:/private/Network/Servers/anubis.xiphis.org/home/antony/work/p1-bug31473.1 · 8d923eb5
      unknown authored
      into  pcg5ppc.xiphis.org:/private/Network/Servers/anubis.xiphis.org/home/antony/work/p1-bug31473.1-merge-5.1-engines
      
      
      8d923eb5
    • unknown's avatar
      Bug#31473 · 57600b02
      unknown authored
        "CSV does not work with NULL value in datetime fields"
        Attempting to insert a row with a NULL value for a DATETIME field
        results in a CSV file which the storage engine cannot read.
        Don't blindly assume that "0" is acceptable for all field types,
        Since CSV does not support NULL, we find out from the field the
        default non-null value.
        Do not permit the creation of a table with a nullable columns.
      
      
      mysql-test/r/csv.result:
        test for bug 31473
      mysql-test/r/log_tables.result:
        change in results due to bugfix 31473
      mysql-test/r/system_mysql_db.result:
        change in results due to bugfix 31473
      mysql-test/t/csv.test:
        test for bug 31473
      mysql-test/t/log_tables.test:
        due to bug31473, all columns in CSV tables must be declared as NOT NULL
      scripts/mysql_system_tables.sql:
        due to bug31473, all columns in CSV tables must be declared as NOT NULL
      storage/csv/ha_tina.cc:
        bug31473
          Don't blindly assume that "0" is acceptable for all field types,
          Since CSV does not support NULL, we find out from the field the
          default non-null value.
          Do not permit the creation of a table with a nullable columns;
      57600b02
    • unknown's avatar
      Merge moksha.com.br:/Users/davi/mysql/bugs/21557-5.1 · 6f2d5b30
      unknown authored
      into  moksha.com.br:/Users/davi/mysql/mysql-5.1-runtime
      
      
      6f2d5b30
    • unknown's avatar
      Post merge fix for Bug 21557 · 7ae94a68
      unknown authored
      
      mysql-test/r/log_tables.result:
        Update test result, general_log disabled.
      mysql-test/t/log_tables.test:
        Disable the general_log before consulting it.
      7ae94a68
    • unknown's avatar
      Merge moksha.com.br:/Users/davi/mysql/bugs/21557-5.1 · 42d4be2c
      unknown authored
      into  moksha.com.br:/Users/davi/mysql/mysql-5.1-runtime
      
      
      sql/sp_head.cc:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      42d4be2c
    • unknown's avatar
      Bug#21557 entries in the general query log truncated at 1000 characters. · b9b481ec
      unknown authored
      The general log write function (general_log_print) uses printf style
      arguments which need to be pre-processed, meaning that the all arguments
      are copied to a single buffer and the problem is that the buffer size is
      constant (1022 characters) but queries can be much larger then this.
      
      The solution is to introduce a new log write function that accepts a
      buffer and it's length as arguments. The function is to be used when
      a formatted output is not required, which is the case for almost all
      query write-to-log calls.
      
      This is a incompatible change with respect to the log format of prepared
      statements.
      
      
      mysql-test/r/log_tables.result:
        Add test case result for Bug#21557
      mysql-test/t/log_tables.test:
        Add test case for Bug#21557
      sql/log.cc:
        Introduce the logger function general_log_write which is similar to
        general_log_print but accepts a single buffer and the buffer length.
        The function doesn't perform any formatting and sends the buffer
        directly to the underlying log handlers.
      sql/log.h:
        Introduce the logger function general_log_write.
      sql/log_event.cc:
        Pass the query buffer directly to the logger function, formatting
        is not required on this case.
      sql/mysql_priv.h:
        Prototype for the logger function general_log_write.
      sql/sp_head.cc:
        Pass the query buffer directly to the logger function, formatting
        is not required on this case.
      sql/sql_parse.cc:
        Pass the buffer directly to the logger function when formatting
        is not required.
      sql/sql_prepare.cc:
        Don't log the statement id, it avoids making a extra copy of the query
        and the query is not truncated anymore if it exceeds the limit.
      b9b481ec
    • unknown's avatar
      Bug#31692 - binlog_killed.test crashes sometimes · bf82c2f9
      unknown authored
      The server crashed when a thread was killed while locking the
      general_log table at statement begin.
      
      The general_log table is handled like a performance schema table.
      The state of open tables is saved and cleared so that this table
      seems to be the only open one. Then this table is opened and locked.
      After writing, the table is closed and the open table state is
      restored. Before restoring, however, it is asserted that there is
      no current table open.
      
      After locking the table, mysql_lock_tables() checks if the thread
      was killed in between. If so, it unlocks the table and returns an
      error. open_ltable() just returns with the error and leaves closing
      of the table to close_thread_tables(), which is called at
      statement end.
      
      open_performance_schema_table() did not take this into account.
      It assumed that a failed open_ltable() would not leave an open
      table behind.
      
      Fixed by closing thread tables after open_ltable() and before
      restore_backup_open_tables_state() if the thread was killed.
      
      No test case. It requires correctly timed parallel execution.
      Since this bug was detected by the test suite, it seems
      dispensable to add another test.
      
      
      sql/sql_base.cc:
        Bug#31692 - binlog_killed.test crashes sometimes
        Closing thread tables after open_ltable() and before
        restore_backup_open_tables_state() if the thread was killed.
      bf82c2f9
  9. 17 Oct, 2007 9 commits
    • unknown's avatar
      Merge damien-katzs-computer.local:/Users/dkatz/udf50 · f8c436d6
      unknown authored
      into  damien-katzs-computer.local:/Users/dkatz/mysql-5.1-runtime
      
      
      mysql-test/r/udf.result:
        Auto merged
      mysql-test/t/udf.test:
        Auto merged
      sql/item_func.cc:
        Auto merged
      sql/udf_example.def:
        Auto merged
      sql/udf_example.c:
        null merge
      f8c436d6
    • unknown's avatar
      Bug #29804 UDF parameters don't contain correct string length · 367fc73e
      unknown authored
          
      Previously, UDF *_init functions were passed constant strings with erroneous lengths. The length came from the containing variable's size, not the length of the value itself.
          
      Now the *_init functions get the constant as a null terminated string with the correct length supplied too.
      
      
      mysql-test/r/udf.result:
        Test case to check constants passed UDFs.
      mysql-test/t/udf.test:
        Test case to check constants passed UDFs.
      sql/item_func.cc:
        UDF _init functions are now passed the length of the constants, rather than the max length of the var containing the constant.
      sql/udf_example.c:
        Added check_const_len functions. The check_const_len_init functions checks that lengths of constants are correctly passed.
      sql/udf_example.def:
        Add new example functions to windows dll export list.
      367fc73e
    • unknown's avatar
      Merge moksha.com.br:/Users/davi/mysql/bugs/31608-5.1 · c0d2ce4c
      unknown authored
      into  moksha.com.br:/Users/davi/mysql/mysql-5.1-runtime
      
      
      c0d2ce4c
    • unknown's avatar
      Bug#31608 missing mysqltest change_user command · e5125728
      unknown authored
      Post merge fixes: close any open statement before
      the change user command and fix test case output.
      
      
      client/mysqltest.c:
        Close an open statement since it won't work after a change_user command.
      mysql-test/r/change_user.result:
        Fixed test case output.
      mysql-test/t/change_user.test:
        Fix test case output to return 1 or 0.
      e5125728
    • unknown's avatar
      Bug #30878: Crashing when alter an auto_increment non partitioned · bfc41161
      unknown authored
        table to partitioned
      
      Problem:
      Crashed because usage of an uninitialised mutex when auto_incrementing
        a partitioned temporary table
      
      Fix:
      Only locking (using the mutex) if not temporary table.
      
      
      mysql-test/r/partition.result:
        Bug #30878: Crashing when alter an auto_increment non partitioned
          table to partitioned
        test result
      mysql-test/t/partition.test:
        Bug #30878: Crashing when alter an auto_increment non partitioned
          table to partitioned
        testcase
      sql/ha_partition.cc:
        Bug #30878: Crashing when alter an auto_increment non partitioned
          table to partitioned
        
        If the table is a temporary table, the table_share->mutex is not
          initialised.
        
        Checking if not temporary table, then OK to lock (else no need
          to lock)
      bfc41161
    • unknown's avatar
      Merge ramayana.hindu.god:/home/tsmith/m/bk/maint/50 · 9014e8e9
      unknown authored
      into  ramayana.hindu.god:/home/tsmith/m/bk/maint/51
      
      
      libmysql/libmysql.c:
        Auto merged
      9014e8e9
    • unknown's avatar
      Fix syntax error build problem on Windows (variable was defined · a634d1bf
      unknown authored
      in middle of block)
      
      
      libmysql/libmysql.c:
        Fix syntax error - don't define new variables in the middle of a block.
        
        Also, use size_t instead of uint to avoid unnecessary casting.
      a634d1bf
    • unknown's avatar
      Merge moksha.com.br:/Users/davi/mysql/bugs/31608-5.1 · eea87d9e
      unknown authored
      into  moksha.com.br:/Users/davi/mysql/mysql-5.1-runtime
      
      
      eea87d9e
    • unknown's avatar
      Fix result files (BUG#24923). · 3fe4de96
      unknown authored
      3fe4de96