1. 17 Mar, 2008 1 commit
    • unknown's avatar
      Bug #18199 PURGE BINARY LOGS fails silently with missing logs; · 6cf64b26
      unknown authored
      Bug #18453  Warning/error message if there is a mismatch between ...
       
      There were three problems:
       
       1. the reported lack of warnings for the BEFORE syntax of PURGE;
       2. the similar lack of warnings for the TO syntax;
       3. incompatible behaviour between the two in that the latter blanked out
          regardlessly of presence or lack the actual file corresponding to
          an index record; the former version gave up at the first mismatch.
      
      fixed with deploying the warning's generation and synronizing logics of 
      purge_logs() and purge_logs_before_date().
      my_stat() is called in either of two branches of purge_logs() (responsible
      for the TO syntax of PURGE) similarly to how it has behaved in the BEFORE syntax.
      If there is no actual binlog file, my_stat returns NULL and my_delete is
      not invoked.
      A critical error is reported to the user if a file from the index
      could not be retrieved info about or deleted with a system error code
      different than ENOENT.
      
      
      sql/log.cc:
        generating warning in two functions.
        refining logics to call my_stat() by purge_logs() as it happens
        in purge_logs_before_date().
        my_delete() is called only if my_stat() ensured existance of the file.
        A critical error is reported to the user if a file from the index
        could not be my_stat():ed or my_delete():d with an error different
        than ENOENT.
      sql/share/errmsg.txt:
        new error message
      mysql-test/include/show_binary_logs.inc:
        a new macro - shortcut of show binary logs
      mysql-test/r/binlog_index.result:
        new results
      mysql-test/t/binlog_index.test:
        a regression test for the bugs
      6cf64b26
  2. 11 Mar, 2008 1 commit
    • unknown's avatar
      BUG#31024: STOP SLAVE does not stop attempted connect()s · 1836625f
      unknown authored
      Problem: if the IO slave thread is attempting to connect,
      STOP SLAVE waits for the attempt to finish. 
      It may take a long time.
      Fix: don't wait, stop the slave immediately.
      
      
      sql/slave.cc:
        Send a SIGALRM signal to the slave thread when stopping it (using
        pthread_kill()). This breaks current socket(), connect(), poll() etc.
        calls, and makes the subsequent thd->awake() call effective.
        
        Also, move the definition of KICK_SLAVE to slave.cc.
      sql/sql_repl.h:
        Removed KICK_SLAVE and inlined it in slave.cc because:
         - it was only called once, so better to make it local to where it is used
         - it needed to include a preprocessor conditional in the middle
      1836625f
  3. 07 Mar, 2008 1 commit
    • unknown's avatar
      Bug #26622 MASTER_POS_WAIT does not work as documented · 0e679ab7
      unknown authored
      Affected tests fixing. After the fix for st_relay_log_info::wait_for_pos() that
      handles widely used select('master-bin.xxxx',pos) invoked by mysqltest
      there appeared to be four tests that either tried synchronizing when
      the slave was stopped or used incorrect synchronization method like
      to call `sync_with_master' from the current connection being to the
      master itself.
      
      Fixed with correcting the current connection or/and using the correct
      synchronization macro when possible.
      
      
      mysql-test/r/rpl_loaddata.result:
        results changed
      mysql-test/r/rpl_slave_status.result:
        results changed
      mysql-test/t/rpl_loaddata.test:
        fixing cleanup for two tests
      mysql-test/t/rpl_skip_error.test:
        fixing cleanup for two tests
      mysql-test/t/rpl_slave_status.test:
        fixing cleanup
      mysql-test/t/rpl_temporary.test:
        fixing synchronizations to use the intended correct macro.
      0e679ab7
  4. 06 Mar, 2008 1 commit
    • unknown's avatar
      Bug#26622 MASTER_POS_WAIT does not work as documented · 04c5af18
      unknown authored
      MASTER_POS_WAIT return values are different than expected when the server is not a slave. 
      It returns -1 instead of NULL.
      
      Fixed with correcting  st_relay_log_info::wait_for_pos() to return the proper
      value in the case of rli info is not inited.
      
      
      mysql-test/r/rpl_master_pos_wait.result:
        results changed
      mysql-test/t/rpl_master_pos_wait.test:
        the new test to check that select master_pos_wait() to a server does 
        not have master info returns NULL as specified.
      sql/slave.cc:
        changing the return value to correspond the specification.
      04c5af18
  5. 05 Mar, 2008 1 commit
  6. 03 Mar, 2008 1 commit
  7. 02 Mar, 2008 1 commit
    • unknown's avatar
      Bug#22438 · 9ffaa745
      unknown authored
      
      mysql-test/r/mysqldump.result:
        updated result
      mysql-test/t/mysqldump.test:
        hide master_log_pos number
      9ffaa745
  8. 28 Feb, 2008 2 commits
    • unknown's avatar
      Post-merge fix for Bug 33851. The initialization order of members · 8b779456
      unknown authored
      must match the order which they were declared in the class definition. 
      
      
      sql/item.cc:
        Fix initialization order, parameter was the last one declared.
      8b779456
    • unknown's avatar
      Bug#33851 Passing UNSIGNED param to EXECUTE returns ERROR 1210 · 1164e2bc
      unknown authored
      The problem is that passing anything other than a integer to a limit
      clause in a prepared statement would fail. This limitation was introduced
      to avoid replication problems (e.g: replicating the statement with a
      string argument would cause a parse failure in the slave).
      
      The solution is to convert arguments to the limit clause to a integer
      value and use this converted value when persisting the query to the log.
      
      
      mysql-test/r/limit.result:
        Update test case result.
      mysql-test/r/ps.result:
        Add test case result for Bug#33851
      mysql-test/r/rpl_user_variables.result:
        Test case result for replication of prepared statement with
        limit clause.
      mysql-test/t/limit.test:
        Test parameters to limit clause.
      mysql-test/t/ps.test:
        Add test case for Bug#33851
      mysql-test/t/rpl_user_variables.test:
        Test replication of a parameter which value is converted.
      sql/item.cc:
        Convert value to integer if it's a parameter to a limit clause.
      sql/item.h:
        Flag signal that item is a parameter to a limit clause.
      sql/item_func.cc:
        Const member functions, object is not mutated.
      sql/sql_class.h:
        Const member functions, object is not mutated.
      sql/sql_yacc.yy:
        Flag that item is a parameter to a limit clause.
      1164e2bc
  9. 27 Feb, 2008 3 commits
  10. 26 Feb, 2008 2 commits
  11. 23 Feb, 2008 1 commit
  12. 22 Feb, 2008 1 commit
  13. 21 Feb, 2008 7 commits
    • unknown's avatar
      Post-merge fix to silence compiler warning. · 9f245df8
      unknown authored
      
      sql/sql_prepare.cc:
        Removed unused variable.
      9f245df8
    • unknown's avatar
      Bug#32890 Crash after repeated create and drop of tables and views · 315665cf
      unknown authored
      The problem is that CREATE VIEW statements inside prepared statements
      weren't being expanded during the prepare phase, which leads to objects
      not being allocated in the appropriate memory arenas.
      
      The solution is to perform the validation of CREATE VIEW statements
      during the prepare phase of a prepared statement. The validation
      during the prepare phase assures that transformations of the parsed
      tree will use the permanent arena of the prepared statement.
      
      
      mysql-test/r/ps.result:
        Add test case result for Bug#32890
      mysql-test/t/ps.test:
        Add test case for Bug#32890
      sql/item.h:
        Restore original field name if name is auto generated.
      sql/sql_prepare.cc:
        Validate and prepare a CREATE VIEW statement for execution.
      sql/sql_view.cc:
        Move privileges check to it's own function.
      sql/sql_view.h:
        Export function which check privileges of a CREATE VIEW statement.
      315665cf
    • unknown's avatar
      Merge bk-internal:/home/bk/mysql-5.0-build · ae1eaff2
      unknown authored
      into  pilot.mysql.com:/data/msvensson/mysql/mysql-5.0-build
      
      
      ae1eaff2
    • unknown's avatar
      Bug#32025 ndb_waiter does too many roundtrips to ndb_mgmd · fa7707ad
      unknown authored
       - fix test failures that was already there but now are
         more consistent when the 1 second sleep has been removed from
         ndb_waiter
      
      
      mysql-test/t/ndb_autodiscover.test:
        Wait until mysqld has reconnected to ndbd after ndbd has been restarted
      mysql-test/t/ndb_autodiscover3.test:
        Wait until mysqld has reconnected to ndbd after ndbd has been restarted
      mysql-test/include/ndb_wait_connected.inc:
        Wait until mysqld has reconnected to ndbd after ndbd has been restarted
      fa7707ad
    • unknown's avatar
      Fix for Bug#34337: Server crash when Altering a view using · fa08b280
      unknown authored
      a table name.
        
      The problem was that fill_defined_view_parts() did not return
      an error if a table is going to be altered. That happened if
      the table was already in the table cache. In that case,
      open_table() returned non-NULL value (valid TABLE-instance from
      the cache).
        
      The fix is to ensure that an error is thrown even if the table
      is in the cache.
      
      (This is a backport of the original patch for 5.1)
      
      
      mysql-test/r/view.result:
        Fix result file.
      mysql-test/r/view_grant.result:
        Fix result file.
      mysql-test/t/view.test:
        Add a test case for Bug#34337: Server crash when Altering a view
        using a table name.
      mysql-test/t/view_grant.test:
        Fix order-dependency.
      sql/sql_view.cc:
        Report an error if we're going to work with a table.
      fa08b280
    • unknown's avatar
      Merge vvaintroub@bk-internal.mysql.com:/home/bk/mysql-5.0-build · 54fc802a
      unknown authored
      into  wva.:C:/bk/bug31745_2/mysql-5.0-build
      
      
      sql/sql_parse.cc:
        Auto merged
      54fc802a
    • unknown's avatar
      Post-merge fix to silence a compilation warning introduced · d34f8384
      unknown authored
      by patch for bug 32265 .
      
      
      tests/mysql_client_test.c:
        Removed unused variable.
      d34f8384
  14. 20 Feb, 2008 3 commits
    • unknown's avatar
      Bug#32265 Server returns different metadata if prepared statement is used · a399fefd
      unknown authored
      Executing a prepared statement associated with a materialized
      cursor yields to the client a metadata packet with wrong table
      and database names. The problem was occurring because the server
      was sending the the name of the temporary table used by the cursor
      instead of the table name of the original table. The same problem
      occurs when selecting from views, in which case the table name was
      being sent and not the name of the view.
        
      The solution is to fill the list item from the temporary table but
      preserving the table and database names of the original fields. This
      is achieved by tweaking the Select_materialize to accept a pointer to
      the Materialized_cursor class which contains the item list to be filled.
      
      
      sql/sql_cursor.cc:
        Fill the item list in the send_fields method and preserve
        the table and database name of the fields.
      tests/mysql_client_test.c:
        Add test case for Bug#32265
      a399fefd
    • unknown's avatar
      Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.0 · 0e767df5
      unknown authored
      into  dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl
      
      
      0e767df5
    • unknown's avatar
      Merge mysql.com:/home/bar/mysql-work/mysql-5.0.b32510 · 681363e2
      unknown authored
      into  mysql.com:/home/bar/mysql-work/mysql-5.0.b32510v2
      
      
      mysql-test/r/ctype_big5.result:
        Auto merged
      mysql-test/r/ctype_cp932.result:
        Auto merged
      mysql-test/r/ctype_euckr.result:
        Auto merged
      mysql-test/r/ctype_gb2312.result:
        Auto merged
      mysql-test/r/ctype_gbk.result:
        Auto merged
      mysql-test/r/ctype_uca.result:
        Auto merged
      mysql-test/r/ctype_ucs.result:
        Auto merged
      mysql-test/t/ctype_cp932.test:
        Auto merged
      mysql-test/t/ctype_uca.test:
        Auto merged
      mysql-test/t/ctype_ucs.test:
        Auto merged
      strings/ctype-ucs2.c:
        Auto merged
      681363e2
  15. 19 Feb, 2008 1 commit
    • unknown's avatar
      Bug#31745 - crash handler does not work on Windows · 721d2412
      unknown authored
      - Replace per-thread signal()'s with  SetUnhandledExceptionFilter(). 
        The only remaining signal() is for SIGABRT (default abort()
        handler in VS2005 is broken, i.e removes user exception filter)
      - remove MessageBox()'es  from error handling code
      - Windows port for print_stacktrace() and write_core() 
      - Cleanup, removed some unused functions
      
      
      sql/CMakeLists.txt:
        Implement stack tracing on and generating crash dumps on Windows
      sql/mysqld.cc:
        Correct signal handling on Windows. 
        - For console events, like CTRL-C use SetConsoleCtrlHandler
        - For exceptions like access violation, use SetUnhandledExceptionFilter
        - For SIGABRT generate exception via __debugbreak() intrinsic
          if built with VS2005 and later , since default SIGABRT handler 
          replaces unhandled exception filter specified by user
        - make provisions to debug exception filter, as it is not trivial 
        (should be compiled with /DDEBUG_UNHANDLED_EXCEPTION_FILTER)
      sql/sql_parse.cc:
        Remove message box from windows signal handler.
        The only thread specific handler left is for SIGABRT,
        which is broken on VS2005 and later (user specified unhandled exception 
        filter gets overwritten)
      sql/stacktrace.c:
        Stack tracing and generating crash dumps on Windows
      sql/stacktrace.h:
        Implement print_stacktrace and write_core on Windows
      721d2412
  16. 18 Feb, 2008 4 commits
  17. 15 Feb, 2008 1 commit
  18. 14 Feb, 2008 4 commits
    • unknown's avatar
      Merge aelkin@bk-internal.mysql.com:/home/bk/mysql-5.0-rpl · e6a063cf
      unknown authored
      into  mysql1000.dsl.inet.fi:/home/andrei/MySQL/MERGE/5.0-bug33931-assert_write_ignored_ev_when_init_slave_fails
      
      
      e6a063cf
    • unknown's avatar
      bug#33329 extraneous ROLLBACK in binlog on connection does not use trans tables · 50bd4a43
      unknown authored
      changes for an assert and an updated results file.
      
      
      mysql-test/r/mix_innodb_myisam_binlog.result:
        results file changed as there is no ROLLBACK query in binlog as it must be.
      sql/sql_update.cc:
        refining assert as the initial value of transactional_tables has been
        changed to zero.
      50bd4a43
    • unknown's avatar
      Merge aelkin@bk-internal.mysql.com:/home/bk/mysql-5.0-rpl · 8414bd54
      unknown authored
      into  mysql1000.dsl.inet.fi:/home/andrei/MySQL/MERGE/5.0-bug33931-assert_write_ignored_ev_when_init_slave_fails
      
      
      sql/slave.cc:
        Auto merged
      8414bd54
    • unknown's avatar
      Bug #21158 mysql_config doesn't include -lmygcc · 29dcd861
      unknown authored
      Add -lmygcc to mysql_config output for libs, libs_r, and embedded_libs.
      
      Required when linking against our static libs, if yassl is used, and gcc
      used to build library is significantly different from that which is using
      the library.
      
      
      scripts/mysql_config.sh:
        Add -lmygcc to --libs, --libs_r, and --embedded-libs output, if libmygcc.a
        is found in the pkglibdir.
        
        This works around a problem when linking against the static client
        libs which were built with a different GCC than the current compiler.
        In this case, without -lmygcc, several builtin functions (e.g.,
        __pure_virtual, __builtin_delete) are left undefined.  Currently it
        is yassl which pulls in these symbols.
        
        This isn't a problem when linking against shared libraries, or when
        using the same compiler version.
        
        Currently it shows up with libs built on build.mysql.com with gcc 2.95.3,
        when using them on more recent systems.
        
        
        Also strip the -mcpu, -mtune, and -march cflags.  The calling package can
        determine what optimization parameters to choose.
      29dcd861
  19. 13 Feb, 2008 4 commits
    • unknown's avatar
      Merge jbruehe@bk-internal.mysql.com:/home/bk/mysql-5.0-build · 23f98496
      unknown authored
      into  trift2.:/MySQL/M50/push-5.0
      
      
      23f98496
    • unknown's avatar
      Bug #33931 assertion at write_ignored_events_info_to_relay_log if init_slave_thread() fails · ded528ca
      unknown authored
      and
      bug#33932  assertion at handle_slave_sql if init_slave_thread() fails
      
      the asserts were caused by 
        bug33931: having thd deleted at time of executing err: code plus
                  a missed initialization;
        bug33932: initialization of slave_is_running member was missed;
      
      fixed with relocating mi members initialization and removing delete thd
      It is safe to do as deletion happens later explicitly in the caller of
      init_slave_thread().
      
      Todo: at merging the test is better to be moved into suite/bugs for 5.x (when x>0).
      
      
      sql/slave.cc:
        adding the bugs simulating code;
        relocating some assignments to satisfy the asserts;
      mysql-test/r/rpl_bug33931.result:
        the new result file
      mysql-test/t/rpl_bug33931-slave.opt:
        option to spark the simulation code
      mysql-test/t/rpl_bug33931.test:
        tests check that slave does not crash as before.
        Slave threads must be in NO running state in the end.
      ded528ca
    • unknown's avatar
      Merge trift2.:/MySQL/M50/clone-5.0 · 0b59c043
      unknown authored
      into  trift2.:/MySQL/M50/push-5.0
      
      
      configure.in:
        SCCS merged
      0b59c043
    • unknown's avatar
      Merge trift2.:/MySQL/M50/mysql-5.0 · 9e64388d
      unknown authored
      into  trift2.:/MySQL/M50/push-5.0
      
      
      9e64388d