1. 15 Jul, 2010 1 commit
    • Igor Babaev's avatar
      Fixed bug #603186. · 40901007
      Igor Babaev authored
      There were two problems that caused wrong results reported with this bug.
      1. In some cases stored(persistent) virtual columns were not marked
      in the write_set and in the vcol_set bitmaps.
      2. If the list of fields in an insert command was empty then the values of
      the stored virtual columns were set to default.
      
      To fix the first problem the function st_table::mark_virtual_columns_for_write
      was modified. Now the function has a parameter that says whether the virtual 
      columns are to be marked for insert or for update.  
      To fix the second problem a special handling of empty insert lists is
      added in the function fill_record().
      40901007
  2. 13 Jul, 2010 2 commits
    • Igor Babaev's avatar
      Fixed bug #603654. · 683154d1
      Igor Babaev authored
      If a virtual column was used in the ORDER BY clause of a query
      and some of the columns this virtual column was based upon were
      not referenced anywhere in the query then the execution of the
      query could cause an assertion failure.
      It happened because in this case the bitmap of the columns used
      for ordering keys was not formed correctly.
      683154d1
    • Igor Babaev's avatar
      Fixed bug #604549. · 73be27c0
      Igor Babaev authored
      There was no error thrown when creating a table with a virtual table
      computed by an expression returning a row.
      This caused a crash when inserting into the table.
      
      Removed periods at the end of the error messages for virtual columns.
      Adjusted output in test result files accordingly. 
      73be27c0
  3. 09 Jul, 2010 2 commits
  4. 07 Jul, 2010 1 commit
  5. 03 Jul, 2010 1 commit
    • Igor Babaev's avatar
      Fixed bug #601164. · b95bd9f5
      Igor Babaev authored
      The functions mysql_delete and mysql_update lacked calls of
      updated_virtual_fields(). This caused wrong results for
      some DELETEs/UPDATEs.
      Added test cases for this bug.
      b95bd9f5
  6. 02 Jul, 2010 1 commit
  7. 01 Jul, 2010 4 commits
  8. 30 Jun, 2010 1 commit
  9. 29 Jun, 2010 1 commit
  10. 28 Jun, 2010 4 commits
  11. 25 Jun, 2010 1 commit
  12. 24 Jun, 2010 1 commit
    • Hakan Kuecuekyilmaz's avatar
      Make MariaDB compile with VS 2010 · 4ee9e66d
      Hakan Kuecuekyilmaz authored
      Most of the changes are backports from MySQL 5.5. Please note
      that the 64-bit build fails with VS 2010 and the 32-bit build
      has problems running mysql-test-run.pl.
            
      * Added files for compiling with VS 2010 and added them
      to Makefile.am.
      * ifdef'ed ETIMEDOUT, because it is defined by VS 2010 now
      * Removed not needed /MAP's from cmake files
      4ee9e66d
  13. 23 Jun, 2010 2 commits
    • Michael Widenius's avatar
    • Michael Widenius's avatar
      Fixes for Opensolaris (to get buildbot green) · 5a2f40d4
      Michael Widenius authored
      - Fixed memory leaks in mysqldump
      - Fixed printf of NULL which caused crashes on OpenSolaris when using --debug
      - Fixed realloc() problem that caused out of memory when running mysqldump.test on OpenSolaris
      
      
      client/mysqldump.c:
        Fixed memory leaks
        Fixed printf of NULL which caused crashes on OpenSolaris when using --debug
      client/mysqltest.cc:
        Fixed printf of NULL which caused crashes on OpenSolaris when using --debug
      include/my_global.h:
        Added simple macro val_or_null() to simplify detecting of NULL strings for printf
      sql/handler.cc:
        Fixed printf of NULL which caused crashes on OpenSolaris when using --debug
      sql/sql_db.cc:
        Fixed printf of NULL which caused crashes on OpenSolaris when using --debug
        Removed testing of 'new_db_name' as this is guranteed never NULL
      sql/sql_show.cc:
        Fixed printf of NULL which caused crashes on OpenSolaris when using --debug
      storage/csv/ha_tina.cc:
        Fixed realloc() problem that caused out of memory when running mysqldump.test on OpenSolaris
        (OpenSolaris default malloc() can't handle a lot of reallocs() of strings that are growing one byte at a time)
        This did speed up logging to cvs with a magnitude for large strings.
      5a2f40d4
  14. 17 Jun, 2010 2 commits
  15. 16 Jun, 2010 3 commits
  16. 15 Jun, 2010 4 commits
  17. 14 Jun, 2010 6 commits
  18. 13 Jun, 2010 1 commit
    • Michael Widenius's avatar
      Fixed some bugs in the Maria storage engine · ec281a3c
      Michael Widenius authored
      - Changed default recovery mode from OFF to NORMAL to get automatic repair of not properly closed tables.
      - Fixed a rase condition when two threads calls external_lock and thr_lock() in different order. When this happend the transaction that called external lock first
        and thr_lock() last did not see see the rows from the other transaction, even if if it had to wait in thr_lock() for other to complete.
      - Fixed that one can run maria_chk on an automatcally recovered tables without warnings about too small transaction id
      - Don't give warning that crashed table could not be repaired if repair was disabled (and thus not run)
      - Fixed a error result from flush_key_cache() which caused a DBUG_ASSERT() when one was using concurrent reads on non transactional tables that was updated.
      
      client/mysqldump.c:
        Add "" around error message to make it more readable
      client/mysqltest.cc:
        Free environment variables
      mysql-test/r/mysqldump.result:
        Updated results
      mysql-test/r/openssl_1.result:
        Updated results
      mysql-test/suite/maria/r/maria-recover.result:
        Updated results
      mysql-test/suite/maria/r/maria3.result:
        Updated results
      mysql-test/suite/maria/t/maria3.test:
        Added more test of temporary tables
      storage/maria/ha_maria.cc:
        Changed default recovery mode from OFF to NORMAL to get automatic repair of not properly closed tables.
        Start transaction in ma_block_get_status() instead of in ha_maria::external_lock().
        - This fixes a rase condition when two threads calls external lock and thr_lock() in different order. When this happend the transaction that called external lock first and thr_lock() last did not see see the rows from the other transaction, even if if it had to wait in thr_lock() for other to complete.
        Store latest transaction id in controll file if recovery was done.
        - This allows one to run maria_chk on an automatcally recovered tables without warnings about too small transaction id
      storage/maria/ha_maria.h:
        Don't give warning that crashed table could not be repaired if repair was disabled (and thus not run)
      storage/maria/ma_blockrec.h:
        Added new function "_ma_block_get_status_no_versioning()"
      storage/maria/ma_init.c:
        Added hook to create trn in ma_block_get_status() if we are using MariaDB
      storage/maria/ma_open.c:
        Ensure we call _ma_block_get_status_no_versioning() for transactional tables without versioning (like tables with fulltext)
      storage/maria/ma_pagecache.c:
        Allow one to flush blocks that are pinned for read.
        This fixed a error result from flush_key_cache() which caused a DBUG_ASSERT() when one was using concurrent reads on non transactional tables that was updated.
      storage/maria/ma_recovery.c:
        Set maria_recovery_changed_data to 1 if recover changed something.
        Set max_trid_in_control_file to max found trn if we found a bigger trn.
        The allows will ensure that the control file is up to date after recovery which allows one to run maria_chk on the tables without warnings about too big trn
      storage/maria/ma_state.c:
        Call maria_create_trn_hook() in _ma_setup_live_state() instead of ha_maria::external_lock()
        This ensures that 'state' and trn are in sync and thus fixes the race condition mentioned for ha_maria.cc
      storage/maria/ma_static.c:
        Added maria_create_trn_hook() and maria_recovery_changed_data
      storage/maria/maria_def.h:
        Added MARIA_HANDLER->external_ptr, which is used to hold MariaDB thd.
        Added some new external variables
        Removed reference to non existing function: maria_concurrent_inserts()
      ec281a3c
  19. 10 Jun, 2010 2 commits