1. 06 Jun, 2013 1 commit
    • Michael Widenius's avatar
      Fixed some cache variables that could be set to higher value than what the code supported (size_t) · 57307860
      Michael Widenius authored
      Fixed some cases that didn't work with > 4G buffers.
      Fixed compiler warnings
      
      
      include/mysql_com.h:
        Avoid compiler warning with strncmp()
      sql-common/client.c:
        Fixed long comment; Added ()
      sql/filesort.cc:
        Fix code to get filesort to work with big buffers
      sql/sys_vars.cc:
        Fixed some cache variables that could be set to higher value than the size_t
        Limit query cache to ULONG_MAX as the query cache buffer variables are ulong
      storage/federatedx/ha_federatedx.cc:
        Remove not used variable
      storage/maria/ha_maria.cc:
        Fix that bulk_insert() works with big buffers
      storage/maria/ma_write.c:
        Fix that bulk_insert() works with big buffers
      storage/myisam/ha_myisam.cc:
        Fix that bulk_insert() works with big buffers
      storage/myisam/mi_write.c:
        Fix that bulk_insert() works with big buffers
      storage/sphinx/snippets_udf.cc:
        Fixed compiler warnings
      57307860
  2. 05 Jun, 2013 1 commit
    • Michael Widenius's avatar
      -Run test suite with smaller aria keybuffer size (to make it possible to run... · bef95a4b
      Michael Widenius authored
      -Run test suite with smaller aria keybuffer size (to make it possible to run more tests in parallel)
      -Added test and extra code to ensure we don't leave keyread on for a handler table.
      -Create on disk temporary files always with long data pointers if SQL_SMALL_RESULT is not used. This ensures that we can handle temporary files bigger than 4G.
      
      mysql-test/include/default_mysqld.cnf:
        Run test suite with smaller aria keybuffer size
      mysql-test/suite/maria/maria3.result:
        Run test suite with smaller aria keybuffer size
      mysql-test/suite/sys_vars/r/aria_pagecache_buffer_size_basic.result:
        Run test suite with smaller aria keybuffer size
      sql/handler.cc:
        Disable key read (extra safety if something went wrong)
      sql/multi_range_read.cc:
        Ensure we have don't leave keyread on for secondary_file
      sql/opt_range.cc:
        Simplify code with mark_columns_used_by_index_no_reset()
        Ensure that read_keys_and_merge() disableds keyread if it enables it
      sql/opt_subselect.cc:
        Remove not anymore used argument for create_internal_tmp_table()
      sql/sql_derived.cc:
        Remove not anymore used argument for create_internal_tmp_table()
      sql/sql_select.cc:
        Use 'enable_keyread()' instead of calling HA_EXTRA_RESET. (Makes debugging easier)
        Create on disk temporary files always with long data pointers if SQL_SMALL_RESULT is not used. This ensures that we can handle temporary files bigger than 4G.
        Remove not anymore used argument for create_internal_tmp_table()
        More DBUG
      sql/sql_select.h:
        Remove not anymore used argument for create_internal_tmp_table()
      bef95a4b
  3. 01 Jun, 2013 2 commits
  4. 30 May, 2013 1 commit
  5. 28 May, 2013 1 commit
  6. 23 May, 2013 1 commit
  7. 22 May, 2013 1 commit
  8. 27 May, 2013 1 commit
  9. 24 May, 2013 1 commit
  10. 21 May, 2013 4 commits
  11. 20 May, 2013 5 commits
  12. 19 May, 2013 4 commits
  13. 17 May, 2013 1 commit
    • Alexander Barkov's avatar
      Bug#MDEV-4518 Server crashes in is_white_space when it's run · 3ef880cb
      Alexander Barkov authored
      with query cache, charset ucs2 and collation ucs2_unicode_ci
      
        @ mysql-test/r/ctype_ucs2_query_cache.result
        @ mysql-test/t/ctype_ucs2_query_cache-master.opt
        @ mysql-test/t/ctype_ucs2_query_cache.test
          Adding tests
      
        @ sql/sql_cache.cc
          Fixing not to use default_character_set->state_map,
          which can point to a non-ASCII character set (utc2, utf16, utf32)
         and thus have state_map undefined.
      3ef880cb
  14. 15 May, 2013 1 commit
    • Michael Widenius's avatar
      - Solaris fixes: · 0fa77299
      Michael Widenius authored
        - Fixed that wait_timeout_func and wait_timeout tests works on solaris
        - We have to compile without NO_ALARM on Solaris as Solaris doesn't support timeouts on sockets with setsockopt(.. SO_RCVTIMEO).
        - Fixed that compile-solaris-amd64-debug works (before that we got a wrong ELF class: ELFCLASS64 on linkage)
      - Fixed some compiler warnings
      - Fixed some failing tests
      
      BUILD/compile-solaris-amd64-debug:
        Fixed that compile-solaris-amd64-debug works (before that we got a wrong ELF class: ELFCLASS64 on linkage)
      configure.cmake:
        We have to compile without NO_ALARM on Solaris as Solaris doesn't support timeouts on sockets with setsockopt(.. SO_RCVTIMEO)
      mysql-test/suite/parts/t/partition_basic_innodb.test:
        Mark test as big test (as otherwise we get timeout on our opensolaris machine in buildbot)
      mysql-test/suite/rpl/t/rpl_cant_read_event_incident.test:
        Remove warning
      0fa77299
  15. 14 May, 2013 4 commits
    • Alexey Botchkov's avatar
      MDEV-4266 Server upgrade via apt-get install does not work. · 19cb1c47
      Alexey Botchkov authored
              Now empty 'highlevel' packages strictly depend on the same versions of files.
              These are mariadb-server, mariadb-client, mariadb-test
      
      per-file comments:
        debian/dist/Debian/control
      MDEV-4266 Server upgrade via apt-get install does not work.
              dependencies on the current version added.
        debian/dist/Ubuntu/control
      MDEV-4266 Server upgrade via apt-get install does not work.
              dependencies on the current version added.
      19cb1c47
    • Alexey Botchkov's avatar
      MDEV-4521 MBRContains, MBRWithin no longer work with geometries of different type. · c2ee0218
      Alexey Botchkov authored
              get_mm_leaf function can store all sorts of spatial features in
              one type of field it receives from an Item_field.
              So we just allow that by setting the type of this field to GEOMETRY.
      
      per-file comments:
        mysql-test/r/gis-rtree.result
              result updated
        mysql-test/t/gis-rtree.test
              test case added.
        sql/opt_range.cc
              set geom_type=GEOMETRY if we got Field_geom.
      c2ee0218
    • Michael Widenius's avatar
      When one does 'REPAIR TABLE', update uuid() to the current system · d0265a63
      Michael Widenius authored
      
      mysql-test/suite/maria/maria-autozerofill.result:
        Updated result
      mysql-test/suite/maria/maria-autozerofill.test:
        Added test that zerofilled table should not give any warnings when table is used
      mysql-test/suite/maria/maria-recovery2.result:
        More tests to make it easier to find bugs
      mysql-test/suite/maria/maria-recovery2.test:
        More tests to make it easier to find bugs
      storage/maria/ha_maria.cc:
        Set create_trid after repair (needed if table was moved from another system)
        Set uuid after repair (needed if table was moved from another system)
      storage/maria/maria_chk.c:
        Reset share->state.create_trid if we reset share->state.create_rename_lsn.
        Make the table moveable
      d0265a63
    • unknown's avatar
      Fix test failure in plugins.unix_socket when running tests as user root. · 97463576
      unknown authored
      (The problem is that if $USER is root, then the authentication will log
      in with the mysqld user root. And then CURRENT_USER() returns a valid
      user, giving .result file difference).
      97463576
  16. 13 May, 2013 4 commits
  17. 12 May, 2013 2 commits
    • Michael Widenius's avatar
      Fixed MDEV-4291: Assertion `trid >= info->s->state.create_trid' failure or... · 66830664
      Michael Widenius authored
      Fixed MDEV-4291: Assertion `trid >= info->s->state.create_trid' failure or data corruption (key points to record
      outside datafile) on INSERT into an Aria table.
      
      The isssue was that the check if a table was moved between systems didn't take into account that create_trid could be bigger than the current max trid on the new system.
      This could only happen if one tried to move a table that one had just done a 'REPAIR TABLE' on.
      Tables that one had run 'aria_chk --zerofill' on worked.
      
      Fixed this by assuming that if create_trid is too big then the table has been moved from one system to another and we have to do an automatic zerofill.
      
      Other fixed:
      
      - Added a check to detect a wrong create_trid in 'check table'.
      - aria_chk -dvv will now write out also the create_trid (to make future error finding easier)
      - aria_chk --zerofill doesn't anymore require a aria_control_file
      - Removed some warnings from safemalloc when using aria_chk, ma_test1 and ma_test2.
      
      
      include/myisamchk.h:
        Removed wrong 'QQ' flags (the flags are used by myisamchk and aria_chk)
      storage/maria/ha_maria.cc:
        maria_chk_status() can now also return an error.
      storage/maria/ma_check.c:
        In maria_chk_status() check if create_trid value is too big.
      storage/maria/ma_open.c:
        Changed check if table is moved so that we can detect wrong create_trid values.
        Don't set STATE_NOT_MOVABLE flag if we are doing repair/check. This was done so that aria_chk can print out the movable flag.
      storage/maria/ma_test1.c:
        Added code to suppress memory leaks from safemalloc
      storage/maria/ma_test2.c:
        Added code to suppress memory leaks from safemalloc
      storage/maria/maria_chk.c:
        Added code to suppress memory leaks from safemalloc.
        Make help text a bit better for --HELP and --zerofill.
        Incresed version number.
        Don't require a control file if we are only doing --zerofill
        Print out 'create_trid' when doing --describe --verbose
      storage/maria/unittest/ma_test_recovery.expected:
        Updated result file
      66830664
    • Michael Widenius's avatar
      MDEV-3999: Valgrind errors 'invalid write' or assorted server crashes on... · 3bd6e4b8
      Michael Widenius authored
      MDEV-3999: Valgrind errors 'invalid write' or assorted server crashes on concurrent flow with partitioned Aria tables
      MDEV-3989: Server crashes on import from MariaDB mysqldump export with partitioned Aria table.
      
      Problem was that bulk insert in aria was not properly protected against concurrent selects.
      
      
      storage/maria/ha_maria.cc:
        Move settings of file->state to _ma_block_start_trans() to ensure that lock_key_trees is not changed by a concurrent bulk_insert.
      storage/maria/ma_check.c:
        Added DBUG_ASSERT()
      storage/maria/ma_open.c:
        Set start_trans to ma_start_trans for default behaviour.
      storage/maria/ma_pagecrc.c:
        Removed test for 'non_transactional' as a now_transactinal could be reset while a flush was happening.
      storage/maria/ma_state.c:
        Moved setting of info->state from external_lock to start_trans to protect against concurrent running bulk inserts.
        This works as the other threads will wait in thr_lock() until bulk_insert is done and keys are re-generated.
      storage/maria/ma_state.h:
        Added _ma_start_trans()
      3bd6e4b8
  18. 11 May, 2013 5 commits
    • Michael Widenius's avatar
      Fixed that SHOW PROCESSLIST and information_schema.processlist uses the right... · 0737932b
      Michael Widenius authored
      Fixed that SHOW PROCESSLIST and information_schema.processlist uses the right length for user names.
      Fixed some failing tests
      
      
      mysql-test/mysql-test-run.pl:
        Removed warning from mysql-test-run
      mysql-test/r/create.result:
        Updated result
      mysql-test/r/log_slow.result:
        Fixed failing test
      mysql-test/suite/funcs_1/r/is_columns_is.result:
        Updated result
      mysql-test/suite/funcs_1/r/processlist_priv_no_prot.result:
        Updated result
      mysql-test/suite/funcs_1/r/processlist_val_no_prot.result:
        Updated result
      mysql-test/t/log_slow.test:
        Ensure variables are properly reset at end of test
      sql/sql_show.cc:
        Fixed max length for user names
      0737932b
    • Michael Widenius's avatar
      Fixed compiler failure on solaris · 3b3f8709
      Michael Widenius authored
      3b3f8709
    • Michael Widenius's avatar
      Fixed compiler warning · 4b9a6c03
      Michael Widenius authored
      4b9a6c03
    • 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
    • Michael Widenius's avatar
      MDEV-4231: Possible bug in function _ma_apply_undo_row_insert() · 5b31f878
      Michael Widenius authored
      Added comment to clearify the code.
      
      
      storage/maria/ma_blockrec.c:
        Added comment to clearify the code
        In case of out of memory or disk error, mark pages with LSN_IMPOSSIBLE to make it easier to know which pages have wrong information.
      5b31f878