1. 28 Jan, 2014 9 commits
  2. 27 Jan, 2014 5 commits
  3. 26 Jan, 2014 9 commits
  4. 25 Jan, 2014 1 commit
    • Michael Widenius's avatar
      Fixed MDEV-4970: Wrong result with Aria table populated with disabled keys · 3d67c68a
      Michael Widenius authored
      Problem was that ALTER TABLE DISABLE KEYS incremented create_trid for the table,
      which made the new index entries invisible until the global trid catched up.
      
      Fixed by only updating create_trid if we are rewriting all rows and indexes.
      
      
      mysql-test/suite/maria/alter.result:
        Added test case
      mysql-test/suite/maria/alter.test:
        Added test case
      storage/maria/ha_maria.cc:
        Only updating create_trid if we are doing a full repair (and thus rewriting all rows and indexes).
      storage/maria/trnman.c:
        More DBUG_PRINT
      3d67c68a
  5. 27 Jan, 2014 2 commits
  6. 26 Jan, 2014 1 commit
  7. 24 Jan, 2014 8 commits
    • Sergey Petrunya's avatar
      [Backport to 5.3] · 669c6620
      Sergey Petrunya authored
      MDEV-5337: Wrong result in mariadb 5.5.32 with ORDER BY + LIMIT when 
      index_condition_pushdown=on
      - in test_if_skip_sort_order(), correct the condition under which
        we have the code that restores the previously pushed index condition.
      669c6620
    • Sergey Petrunya's avatar
      Merge · c6de4558
      Sergey Petrunya authored
      c6de4558
    • Sergey Petrunya's avatar
      MDEV-5337: Wrong result in mariadb 5.5.32 with ORDER BY + LIMIT when index_condition_pushdown=on · e1f94a69
      Sergey Petrunya authored
      - in test_if_skip_sort_order(), correct the condition under which
        we have the code that restores the previously pushed index condition.
      e1f94a69
    • Michael Widenius's avatar
      Fixed Mageia Bug 12355: mariadb produces warning messages while loading timezone information · 4d83f579
      Michael Widenius authored
      - Warnings about wrong symlink messages or non-timezone files with '.tab' are now only given if run with --verbose
      - Added long option handling
      - Added --help, --verbose and --version options
      
      
      sql/tztime.cc:
        Add usage of my_getopt, to get long options
      4d83f579
    • Alexander Barkov's avatar
      MDEV-5504 Server crashes in String::length on SELECT with MONTHNAME, GROUP BY, ROLLUP · d106dc05
      Alexander Barkov authored
      The crash happened because Item_func_monthname was derived from
      Item_func_month, so Item_func_monthname::is_null() did not work fine.
      Backporting a change from 5.5: Item_func_monthname is now derived from
      Item_str_func.
      d106dc05
    • Michael Widenius's avatar
      Fix for MDEV-5531: double call procedure in one session - hard shutdown the server · d15b3386
      Michael Widenius authored
      Main fix was to not cache derivied tables as they may be temporary tables that are deleted before the next query.
      This was a bit tricky as Item_field::fix_fields depended on cached_tables to be set to resolve some columns.
      
      
      
      mysql-test/r/sp-bugs.result:
        Added test case
      mysql-test/t/sp-bugs.test:
        Added test case
      sql/item.cc:
        Fixed fix_outer_field to handle case where found field did not have in cached_table
        Idea is that if cached_table is not avaliable, use from_field->table->pos_in_table_list instead
      sql/records.cc:
        Also accept INTERNAL_TMP_TABLE for memmap
      sql/sql_base.cc:
        More DBUG_PRINT
        Fixed that setup_natural_join_row_types() is not run twice.
        Original code modified context->first_name_resolution_table also for second executions.
        This was wrong as this could give wrong results if some joins had been optimized away between calls.
      sql/sql_derived.cc:
        Mark derived tables as internal temporary tables (INTERNAL_TMP_TABLE), not as NON_TRANSACTIONAL_TMP_TABLE.
        This is more correct as the tables are not visible by the end user.
      sql/sql_insert.cc:
        Reset pos_in_table_list before calling fix_fields.
        One of the consequences of the change of not caching all generated tables in Item_ident is that
        pos_in_table_list needs to be correct in calls to fix_fields.
      sql/sql_lex.cc:
        More DBUG_PRINT
      sql/sql_parse.cc:
        Don't cache derivied tables as they may be temporary tables that are deleted before the next query
      sql/sql_select.cc:
        Reset table_vector. This was required as some code checked the vector to see if temporary tables had already been created.
      sql/table.cc:
        Mark tables with field translations as cacheable (as these will not disapper between stmt executions.
      d15b3386
    • Michael Widenius's avatar
      Fixed failures in tokudb test cases · 7335c6f2
      Michael Widenius authored
      storage/tokudb/mysql-test/tokudb_bugs/r/5733_innodb.result:
        Speed up test
      storage/tokudb/mysql-test/tokudb_bugs/r/5733_tokudb.result:
        Speed up test
        Fix results
      storage/tokudb/mysql-test/tokudb_bugs/r/xa-6.result:
        Ensure that mysql.proc is properly closed
      storage/tokudb/mysql-test/tokudb_bugs/t/5733_innodb.test:
        Speed up test
      storage/tokudb/mysql-test/tokudb_bugs/t/5733_tokudb.test:
        Speed up test
        Accept both index and range scan for one query
      storage/tokudb/mysql-test/tokudb_bugs/t/xa-6.test:
        Ensure that mysql.proc is properly closed
      7335c6f2
    • Alexey Botchkov's avatar
      MDEV-5419 no audit events for warnings converted to errors in the strict mode. · 5a7ae593
      Alexey Botchkov authored
              small fix in the --replace_regex template.
      5a7ae593
  8. 23 Jan, 2014 5 commits
    • Alexey Botchkov's avatar
      MDEV-5419 no audit events for warnings converted to errors in the strict mode. · 8f3e1bfc
      Alexey Botchkov authored
              Plugins get error notifications only when my_message_sql() is called.
              But errors are launched with THD::raise_condition() calls in other
              places. These are push_warning(), implementations of SIGNAL and
              RESIGNAL commands.
              So it makes sence to notify plugins there in THD::raise_condition().
      8f3e1bfc
    • Sergey Petrunya's avatar
      MDEV-5368: Server crashes in Item_in_subselect::optimize on ... · 519c7305
      Sergey Petrunya authored
      - convert_subq_to_sj() must connect child select's tables into 
        parent select's TABLE_LIST::next_local chain.  
      - The problem was that it took child's leaf_tables.head() which
        is different. This could cause certain tables (in this bug's case,
        child select's non-merged semi-join) not to be present in 
        TABLE_LIST::next_local chain.  Which would cause non-merged semi-join
        not to be initialized in setup_tables(), which would lead to 
        NULL pointer dereference.
      519c7305
    • Sergey Petrunya's avatar
      Merge · eb88c905
      Sergey Petrunya authored
      eb88c905
    • Sergey Petrunya's avatar
      MDEV-5368: Server crashes in Item_in_subselect::optimize on ... · f0fa66a2
      Sergey Petrunya authored
      - convert_subq_to_sj() must connect child select's tables into 
        parent select's TABLE_LIST::next_local chain.  
      - The problem was that it took child's leaf_tables.head() which
        is different. This could cause certain tables (in this bug's case,
        child select's non-merged semi-join) not to be present in 
        TABLE_LIST::next_local chain.  Which would cause non-merged semi-join
        not to be initialized in setup_tables(), which would lead to 
        NULL pointer dereference.
      f0fa66a2
    • unknown's avatar
      merge of MDEV-5356 5.1->5.3 (with more fixes and test suite). · d9cb1352
      unknown authored
      THD::thd->activate_stmt_arena_if_needed() should be used to temporary activating statement arena instead of direct usage of THD::set_n_backup_active_arena() because possible such scenario:
        1) func1 saves current arena and activates copy1 of statement arena
        2) func2 saves copy1 of statement arena setup by func1 and activates copy2
        3) some changes made for copy 2
        4) func2 stores changed copy2 back to statenet arena and activates copy1
        5) func1 store unchanged copy1 back to statemnt arena (rewrite changed copy 2 so changes become lost) and activates arena which was before.
      d9cb1352