An error occurred fetching the project authors.
  1. 09 Sep, 2013 1 commit
  2. 30 Aug, 2013 2 commits
  3. 11 May, 2013 1 commit
    • Michael Widenius's avatar
      MDEV-4280: Assertion `empty_size == empty_size_on_page' failure in... · 4e9bf37f
      Michael Widenius authored
      MDEV-4280: Assertion `empty_size == empty_size_on_page' failure in ma_blockrec.c or ER_NOT_KEYFILE on query with DISTINCT and GROUP BY
      This could happen when using Aria for internal temporary files (default case) and using DISTINCT.
      _ma_scan_restore_block_record() didn't work correctly if there was rows inserted, updated or deleted on the handler
      between calls to _ma_scan_remember_block_record() and _ma_scan_restore_block_record().
      The effect was that some DISTINCT queries that used remove_dup_with_compare() could fail.
      
      .bzrignore:
        Ignore sql_yacc.hh
      mysql-test/suite/maria/r/distinct.result:
        Test case for MDEV-4280
      mysql-test/suite/maria/t/distinct.test:
        Test case for MDEV-4280
      mysql-test/t/mysql.test:
        Fixed test suite (we could get error -1 in some cases)
      sql/sql_select.cc:
        Break loop if restart_rnd_next() gives an error
      storage/maria/ha_maria.cc:
        scan_restore_pos() can return disk fault error.
      storage/maria/ma_blockrec.c:
        _ma_scan_remember_block_record() did incorrectly update scan.dir instead of scan_save.dir .
        _ma_scan_restore_block_record() didn't work correctly if there was rows inserted,updated or deleted on the handler
        between calls to _ma_scan_remember_block_record() and _ma_scan_restore_block_record().
        Fixed by adding counters for row changes and reading the current scan page if changes had been made.
      storage/maria/ma_blockrec.h:
        scan_restore_pos() can return disk fault error.
      storage/maria/ma_delete.c:
        Increment row_changes
      storage/maria/ma_scan.c:
        scan_restore_pos() can return disk fault error.
      storage/maria/ma_update.c:
        Increment row_changes
      storage/maria/ma_write.c:
        Increment row_changes
      storage/maria/maria_def.h:
        scan_restore_pos() can return disk fault error.
      4e9bf37f
  4. 06 May, 2013 1 commit
    • Michael Widenius's avatar
      If one declared several continue handler for the same condition on different... · d4be9e7b
      Michael Widenius authored
      If one declared several continue handler for the same condition on different level of stored procedures, all of them where executed.
      Now we only execute the innermost of them (the most relevant).
      
      The solution was to add a 'handled' marker to MYSQL_ERROR and mark all elements for which we have executed a condition handler.
      When searching for new conditions, we will ignore any marked element.
      
      
      
      
      .bzrignore:
        Ignore error message file
      mysql-test/r/sp.result:
        Added testcase for continue handlers.
      mysql-test/t/sp.test:
        Added testcase for continue handlers.
      sql/sp_head.cc:
        Mark errors for which we will excute a handler as 'handled'
        Ignore already handled warnings/errors
      sql/sql_error.cc:
        Add 'handled' argument to MYSQL_ERROR, so that we can mark the errors/warnings we have handled.
      sql/sql_error.h:
        Add 'handled' argument to MYSQL_ERROR, so that we can mark the errors/warnings we have handled.
      d4be9e7b
  5. 15 Jan, 2013 1 commit
  6. 21 Nov, 2012 1 commit
  7. 02 Nov, 2012 1 commit
  8. 30 May, 2012 1 commit
  9. 22 May, 2012 1 commit
  10. 05 May, 2012 1 commit
  11. 02 Apr, 2012 1 commit
  12. 24 Jan, 2012 1 commit
    • Michael Widenius's avatar
      Don't crash with: UPDATE performance_schema.setup_instruments SET ENABLED="NO"; · 59f5c05a
      Michael Widenius authored
      Don't log updates to performance schema in replication log.
      Ensure that we don't call ha_update after ha_index_or_rnd_end() is called on slave.
      
      
      .bzrignore:
        Ignore some generated files
      mysql-test/include/show_slave_status.inc:
        Ensure that ./ is removed from file names
      mysql-test/suite/perfschema/r/binlog_mix.result:
        Updated results
      mysql-test/suite/perfschema/r/binlog_row.result:
        Updated results
      mysql-test/suite/perfschema/r/binlog_stmt.result:
        Updated results
      mysql-test/suite/rpl/r/rpl_cant_read_event_incident.result:
        Updated results
      mysql-test/suite/rpl/r/rpl_performance_schema.result:
        Ensure that we don't crash slave when we update performance schema
      mysql-test/suite/rpl/t/rpl_performance_schema.test:
        Ensure that we don't crash slave when we update performance schema
      sql/log_event.cc:
        Ensure that we don't call ha_update after ha_index_or_rnd_end() is called.
        Remove old code that is not needed anymore (like restarting read loop over all rows if no matcing row is found)
        Simplify code
      sql/log_event_old.cc:
        Ensure that we don't call ha_update after ha_index_or_rnd_end() is called.
      storage/myisam/ha_myisam.cc:
        More DBUG_PRINT
      storage/perfschema/ha_perfschema.h:
        Don't log updates to performance schema in replication log.
      59f5c05a
  13. 27 Dec, 2011 1 commit
  14. 12 Dec, 2011 1 commit
    • Mattias Jonsson's avatar
      Bug#12361113: CRASH WHEN "LOAD INDEX INTO CACHE" WITH TOO · beedf6b2
      Mattias Jonsson authored
      SMALL KEY CACHE
      
      The server crashed on division by zero because the key cache was not
      initialized and the block length was 0 which was used in a division.
      
      The fix was to not allow CACHE INDEX if the key cache was not initiallized.
      Thus never try LOAD INDEX INTO CACHE for an uninitialized key cache.
      
      Also added some windows files/directories to .bzrignore.
      beedf6b2
  15. 01 Dec, 2011 1 commit
  16. 26 Oct, 2011 1 commit
  17. 19 Oct, 2011 1 commit
  18. 12 Oct, 2011 1 commit
  19. 04 Oct, 2011 1 commit
    • Sergei Golubchik's avatar
      support for plugins on windows · 630b0b87
      Sergei Golubchik authored
      CMakeLists.txt:
        1. add -DSAFEMALLOC -DSAFE_MUTEX in the top-level CMakeLists.txt
           don't force plugins to copy-paste these lines in their CMakeLists.txt
        2.1 search plugin/* for plugins (not only storage/*),
        2.2 recognize MYSQL_PLUGIN (not only MYSQL_STORAGE_ENGINE),
        2.3 extract library names from the plug.in (don't force library names to
            be ha_<engine>.dll and <engine>.lib)
      include/mysql/plugin.h:
        define MYSQL_PLUGIN_EXPORT appropriately
        (backport from 5.5)
      libmysqld/CMakeLists.txt:
        remove unnecessary workaround
      plugin/fulltext/CMakeLists.txt:
        build fulltext example plugin on windows
      storage/maria/CMakeLists.txt:
        The library is called libmaria_s.lib, not maria.lib
      storage/maria/unittest/CMakeLists.txt:
        The library is called libmaria_s.lib, not maria.lib
      storage/myisam/CMakeLists.txt:
        The library is called libmyisam_s.lib, not myisam.lib
      storage/mysql_storage_engine.cmake:
        introduce MYSQL_PLUGIN macro.
        don't force library names to be ha_<engine>.dll and <engine>.lib
      storage/xtradb/CMakeLists.txt:
        remove a condition from include
      win/README:
        don't use deprecated syntax
      win/configure-mariadb.sh:
        don't use deprecated syntax
      win/configure.js:
        1. support MYSQL_PLUGIN in addition to MYSQL_STORAGE_ENGINE.
        2. support plugin/* in addition to storage/*
      630b0b87
  20. 29 Sep, 2011 2 commits
  21. 20 Sep, 2011 1 commit
    • unknown's avatar
      MWL#192: Non-blocking client API for libmysqlclient. · a5b88159
      unknown authored
      All client functions that can block on I/O have alternate _start() and
      _cont() versions that do not block but return control back to the
      application, which can then issue I/O wait in its own fashion and later
      call back into the library to continue the operation.
      
      Works behind the scenes by spawning a co-routine/fiber to run the
      blocking operation and suspend it while waiting for I/O. This
      co-routine/fiber use is invisible to applications.
      
      For i368/x86_64 on GCC, uses very fast assembler co-routine support. On
      Windows uses native Win32 Fibers. Falls back to POSIX ucontext on other
      platforms. Assembler routines for more platforms are relatively easy to
      add by extending mysys/my_context.c, eg. similar to the Lua lcoco
      library.
      
      For testing, mysqltest and mysql_client_test are extended with the
      option --non-blocking-api. This causes the programs to use the
      non-blocking API for database access. mysql-test-run.pl has a similar
      option --non-blocking-api that uses this, as well as additional
      testcases.
      
      An example program tests/async_queries.c is included that uses the new
      non-blocking API with libevent to show how, in a single-threaded
      program, to issue many queries in parallel against a database.
      
      
      client/async_example.c:
        Fix const warning
        ******
        Fix bug with wrong timeout value for poll().
      include/Makefile.am:
        Fix missing include for `make dist`
      include/mysql.h:
        Add prototypes for all non-blocking API calls.
      include/mysql.h.pp:
        Add prototypes for all non-blocking API calls.
      mysys/my_context.c:
        Fix type warning for makecontext() function pointer argument.
      sql-common/mysql_async.c:
        Fix crashes in the non-blocking API for functions that can take MYSQL argument
        that is NULL.
      tests/Makefile.am:
        Add header file to `make dist`
      tests/mysql_client_test.c:
        Replace blocking calls with wrappers around the non-blocking calls, used in
        mysql_client_test to test the new non-blocking API.
      tests/nonblock-wrappers.h:
        Replace blocking calls with wrappers around the non-blocking calls, used in
        mysql_client_test to test the new non-blocking API.
      a5b88159
  22. 10 Jul, 2011 1 commit
  23. 27 Jun, 2011 1 commit
    • Michael Widenius's avatar
      Added mytop to distribution (with some small trivial changes to make it workg... · c785ed70
      Michael Widenius authored
      Added mytop to distribution (with some small trivial changes to make it workg good also for MariaDB)
      
      scripts/CMakeLists.txt:
        Added mytop
      scripts/Makefile.am:
        Added mytop
      scripts/make_binary_distribution.sh:
        Added mytop
      scripts/make_win_bin_dist:
        Added mytop
      scripts/mytop.sh:
        Added mytop (with some small trivial changes to make it workg good also for MariaDB)
      support-files/mysql.spec.sh:
        Added mytop
      c785ed70
  24. 07 Jun, 2011 1 commit
  25. 16 May, 2011 1 commit
  26. 11 May, 2011 1 commit
  27. 03 May, 2011 1 commit
    • unknown's avatar
      Backport MySQL WL#2540 into MariaDB. · 014b8e7f
      unknown authored
      Patch backported:
      
      bzr diff
      '-rrevid:alfranio.correia@oracle.com-20101121143257-se3vpqus73l4mum0
      ..revid:luis.soares@oracle.com-20101124111752-9b8260bd1qak87hr'
      --old=lp:mysql-server --new=lp:mysql-server
      014b8e7f
  28. 28 Mar, 2011 1 commit
  29. 25 Mar, 2011 1 commit
    • Mattias Jonsson's avatar
      Bug#11766249 bug#59316: PARTITIONING AND INDEX_MERGE MEMORY LEAK · e0887df8
      Mattias Jonsson authored
      When executing row-ordered-retrieval index merge,
      the handler was cloned, but it used the wrong
      memory root, so instead of allocating memory
      on the thread/query's mem_root, it used the table's
      mem_root, resulting in non released memory in the
      table object, and was not freed until the table was
      closed.
      
      Solution was to ensure that memory used during cloning
      of a handler was allocated from the correct memory root.
      
      This was implemented by fixing handler::clone() to also
      take a name argument, so it can be used with partitioning.
      And in ha_partition only allocate the ha_partition's ref, and
      call the original ha_partition partitions clone() and set at cloned
      partitions.
      
      Fix of .bzrignore on Windows with VS 2010
      e0887df8
  30. 20 Feb, 2011 1 commit
    • Michael Widenius's avatar
      Added HandlerSocket plugin · 2c7d6f12
      Michael Widenius authored
      - Fixed compiler errors
      - Modified Makefiles to be part of plugin directory
      - Some minor changes in database.cpp to use the new MariaDB handler interface
      2c7d6f12
  31. 30 Jan, 2011 1 commit
  32. 15 Dec, 2010 1 commit
  33. 03 Nov, 2010 1 commit
  34. 12 Sep, 2010 1 commit
  35. 18 Aug, 2010 1 commit
    • Michael Widenius's avatar
      Added verbose mode to recovery · 909e4eb0
      Michael Widenius authored
      More DBUG
      Added convert-debug-for-diff
      Added missing (from last push) federated test case
      
      .bzrignore:
        Ignore generated files
      mysql-test/README:
        Updated documentation for --extern
      mysql-test/suite/federated/federated_bug_32426.result:
        Added test for federatedx
      mysql-test/suite/federated/federated_bug_32426.test:
        Added test for federatedx
      scripts/Makefile.am:
        Added convert-debug-for-diff
      scripts/convert-debug-for-diff.sh:
        Added script for converting
      sql/log.cc:
        Added DBUG
      sql/mysqld.cc:
        Added DBUG
      storage/maria/ma_recovery.c:
        If verbose, write dirty pages (for debugging)
      storage/maria/ma_static.c:
        Added verbose mode to recovery
      storage/maria/maria_def.h:
        Added verbose mode to recovery
      storage/maria/maria_read_log.c:
        Added verbose mode to recovery
      909e4eb0
  36. 13 Aug, 2010 1 commit
  37. 30 Jul, 2010 1 commit
  38. 16 Jul, 2010 1 commit
    • Michael Widenius's avatar
      Improved speed of thr_alarm from O(N) to O(1). thr_alarm is used to handle... · ecbcddc0
      Michael Widenius authored
      Improved speed of thr_alarm from O(N) to O(1). thr_alarm is used to handle timeouts and kill of connections.
      Fixed compiler warnings.
      queues.h and queues.c are now based on the UNIREG code and thus made BSD.
      Fix code to use new queue() interface. This mostly affects how you access elements in the queue.
      If USE_NET_CLEAR is not set, don't clear connection from unexpected characters. This should give a speed up when doing a lot of fast queries.
      Fixed some code in ma_ft_boolean_search.c that had not made it from myisam/ft_boolean_search.c
      
      
      include/queues.h:
        Use UNIREG code base (BSD)
        Changed init_queue() to take all initialization arguments.
        New interface to access elements in queue
      include/thr_alarm.h:
        Changed to use time_t instead of ulong (portability)
        Added index_in_queue, to be able to remove random element from queue in O(1)
      mysys/queues.c:
        Use UNIREG code base (BSD)
        init_queue() and reinit_queue() now takes more initialization arguments. (No need for init_queue_ex() anymore)
        Now one can tell queue_insert() to store in the element a pointer to where element is in queue. This allows one to remove elements from queue in O(1) instead of O(N)
      mysys/thr_alarm.c:
        Use new option in queue() to allow fast removal of elements.
        Do less inside LOCK_alarm mutex.
        This should give a major speed up of thr_alarm usage when there is many threads
      sql/create_options.cc:
        Fixed wrong printf
      sql/event_queue.cc:
        Use new queue interface()
      sql/filesort.cc:
        Use new queue interface()
      sql/ha_partition.cc:
        Use new queue interface()
      sql/ha_partition.h:
        Fixed compiler warning
      sql/item_cmpfunc.cc:
        Fixed compiler warning
      sql/item_subselect.cc:
        Use new queue interface()
        Removed not used variable
      sql/net_serv.cc:
        If USE_NET_CLEAR is not set, don't clear connection from unexpected characters.
        This should give a speed up when doing a lot of fast queries at the disadvantage that if there is a bug in the client protocol the connection will be dropped instead of being unnoticed.
      sql/opt_range.cc:
        Use new queue interface()
        Fixed compiler warnings
      sql/uniques.cc:
        Use new queue interface()
      storage/maria/ma_ft_boolean_search.c:
        Copy code from myisam/ft_boolean_search.c
        Use new queue interface()
      storage/maria/ma_ft_nlq_search.c:
        Use new queue interface()
      storage/maria/ma_sort.c:
        Use new queue interface()
      storage/maria/maria_pack.c:
        Use new queue interface()
        Use queue_fix() instead of own loop to fix queue.
      storage/myisam/ft_boolean_search.c:
        Use new queue interface()
      storage/myisam/ft_nlq_search.c:
        Use new queue interface()
      storage/myisam/mi_test_all.sh:
        Remove temporary file from last run
      storage/myisam/myisampack.c:
        Use new queue interface()
        Use queue_fix() instead of own loop to fix queue.
      storage/myisam/sort.c:
        Use new queue interface()
      storage/myisammrg/myrg_queue.c:
        Use new queue interface()
      storage/myisammrg/myrg_rnext.c:
        Use new queue interface()
      storage/myisammrg/myrg_rnext_same.c:
        Use new queue interface()
      storage/myisammrg/myrg_rprev.c:
        Use new queue interface()
      ecbcddc0