List:Commits« Previous MessageNext Message »
From:Martin Hansson Date:January 31 2012 3:24pm
Subject:bzr push into mysql-trunk branch (martin.hansson:3810 to 3811) WL#5874
View as plain text  
 3811 Martin Hansson	2012-01-31
      WL#5874: CURRENT_TIMESTAMP as DEFAULT for DATETIME columns.

    added:
      mysql-test/include/function_defaults.inc
      mysql-test/include/function_defaults_notembedded.inc
      mysql-test/r/function_defaults.result
      mysql-test/r/function_defaults_notembedded.result
      mysql-test/std_data/onerow.xml
      mysql-test/suite/rpl/r/rpl_function_defaults.result
      mysql-test/suite/rpl/t/rpl_function_defaults.test
      mysql-test/t/function_defaults.test
      mysql-test/t/function_defaults_notembedded.test
      mysql-test/wl5874_updown
      sql/delayable_insert_operation.h
      unittest/gunit/copy_info-t.cc
      unittest/gunit/create_field-t.cc
      unittest/gunit/delayable_insert_operation-t.cc
      unittest/gunit/fake_table.h
      unittest/gunit/field_timestamp-t.cc
      unittest/gunit/item_func_now_local-t.cc
      unittest/gunit/mock_create_field.h
      unittest/gunit/mock_field_datetime.h
      unittest/gunit/mock_field_timestamp.h
      unittest/gunit/mock_field_timestampf.h
      unittest/gunit/sql_table-t.cc
    modified:
      include/my_bitmap.h
      mysql-test/r/create.result
      mysql-test/r/mysqldump.result
      mysql-test/r/type_temporal_fractional.result
      mysql-test/r/type_timestamp.result
      mysql-test/t/create.test
      mysql-test/t/mysqldump.test
      mysql-test/t/type_temporal_fractional.test
      mysql-test/t/type_timestamp.test
      mysys/my_bitmap.c
      sql/event_db_repository.cc
      sql/field.cc
      sql/field.h
      sql/field_conv.cc
      sql/ha_ndbcluster.cc
      sql/ha_partition.cc
      sql/item.cc
      sql/item.h
      sql/item_timefunc.cc
      sql/item_timefunc.h
      sql/log_event.cc
      sql/log_event_old.cc
      sql/rpl_info_table.cc
      sql/sp.cc
      sql/sp_head.cc
      sql/sql_base.cc
      sql/sql_class.cc
      sql/sql_class.h
      sql/sql_insert.cc
      sql/sql_insert.h
      sql/sql_load.cc
      sql/sql_parse.cc
      sql/sql_partition.cc
      sql/sql_show.cc
      sql/sql_table.cc
      sql/sql_table.h
      sql/sql_update.cc
      sql/table.cc
      sql/table.h
      sql/unireg.cc
      storage/archive/ha_archive.cc
      storage/csv/ha_tina.cc
      storage/example/ha_example.cc
      storage/federated/ha_federated.cc
      storage/heap/ha_heap.cc
      storage/innobase/handler/ha_innodb.cc
      storage/myisam/ha_myisam.cc
      storage/myisammrg/ha_myisammrg.cc
      unittest/gunit/CMakeLists.txt
 3810 Jorgen Loland	2012-01-31
      BUG#13599013 - MAX/MIN + SUBQUERY IN WHERE CLAUSE MATCHING NO
                     ROWS + INDEX DOES NOT RETURN NULL
      
      An aggregated expression of type MIN or MAX shall return NULL
      if the query is implicitly grouped and there is no HAVING 
      clause that evaluates to FALSE.  In this bug we had a query 
      of the form
      
        SELECT MIN(indexed_column) FROM t1 WHERE (4) IN (SELECT 1)
      
      No row can satisfy the WHERE condition but there is no HAVING
      clause, so the query should have returned NULL (but did
      return an empty set).
      
      The problem was that when a query only selects aggregate
      functions that are optimized away, JOIN::exec() goes into an
      early-exit branch. This branch did not honor the requirement
      stated by the definition above. The fix is to call
      return_zero_rows() instead of send_eof() in this branch. If
      the query selects aggregates and does not have a HAVING
      clause that evaluates to false, return_zero_rows() returns
      a NULL-based row before calling send_eof().
     @ mysql-test/include/subquery_sj.inc
        Add test for BUG#13599013
     @ mysql-test/r/subquery_mat.result
        Updated result of test that used to be incorrect
     @ mysql-test/r/subquery_mat_none.result
        Updated result of test that used to be incorrect
     @ mysql-test/r/subquery_sj_all.result
        Add test for BUG#13599013
     @ mysql-test/r/subquery_sj_all_bka.result
        Add test for BUG#13599013
     @ mysql-test/r/subquery_sj_all_bka_nixbnl.result
        Add test for BUG#13599013
     @ mysql-test/r/subquery_sj_all_bkaunique.result
        Add test for BUG#13599013
     @ mysql-test/r/subquery_sj_dupsweed.result
        Add test for BUG#13599013
     @ mysql-test/r/subquery_sj_dupsweed_bka.result
        Add test for BUG#13599013
     @ mysql-test/r/subquery_sj_dupsweed_bka_nixbnl.result
        Add test for BUG#13599013
     @ mysql-test/r/subquery_sj_dupsweed_bkaunique.result
        Add test for BUG#13599013
     @ mysql-test/r/subquery_sj_firstmatch.result
        Add test for BUG#13599013
     @ mysql-test/r/subquery_sj_firstmatch_bka.result
        Add test for BUG#13599013
     @ mysql-test/r/subquery_sj_firstmatch_bka_nixbnl.result
        Add test for BUG#13599013
     @ mysql-test/r/subquery_sj_firstmatch_bkaunique.result
        Add test for BUG#13599013
     @ mysql-test/r/subquery_sj_loosescan.result
        Add test for BUG#13599013
     @ mysql-test/r/subquery_sj_loosescan_bka.result
        Add test for BUG#13599013
     @ mysql-test/r/subquery_sj_loosescan_bka_nixbnl.result
        Add test for BUG#13599013
     @ mysql-test/r/subquery_sj_loosescan_bkaunique.result
        Add test for BUG#13599013
     @ mysql-test/r/subquery_sj_mat.result
        Add test for BUG#13599013
     @ mysql-test/r/subquery_sj_mat_bka.result
        Add test for BUG#13599013
     @ mysql-test/r/subquery_sj_mat_bka_nixbnl.result
        Add test for BUG#13599013
     @ mysql-test/r/subquery_sj_mat_bkaunique.result
        Add test for BUG#13599013
     @ mysql-test/r/subquery_sj_mat_nosj.result
        Add test for BUG#13599013
     @ mysql-test/r/subquery_sj_none.result
        Add test for BUG#13599013
     @ mysql-test/r/subquery_sj_none_bka.result
        Add test for BUG#13599013
     @ mysql-test/r/subquery_sj_none_bka_nixbnl.result
        Add test for BUG#13599013
     @ mysql-test/r/subquery_sj_none_bkaunique.result
        Add test for BUG#13599013
     @ sql/sql_executor.cc
        Call return_zero_rows() instead of send_eof() if all tables have
        been optimized away and there are no matching rows.

    modified:
      mysql-test/include/subquery_sj.inc
      mysql-test/r/subquery_mat.result
      mysql-test/r/subquery_mat_none.result
      mysql-test/r/subquery_sj_all.result
      mysql-test/r/subquery_sj_all_bka.result
      mysql-test/r/subquery_sj_all_bka_nixbnl.result
      mysql-test/r/subquery_sj_all_bkaunique.result
      mysql-test/r/subquery_sj_dupsweed.result
      mysql-test/r/subquery_sj_dupsweed_bka.result
      mysql-test/r/subquery_sj_dupsweed_bka_nixbnl.result
      mysql-test/r/subquery_sj_dupsweed_bkaunique.result
      mysql-test/r/subquery_sj_firstmatch.result
      mysql-test/r/subquery_sj_firstmatch_bka.result
      mysql-test/r/subquery_sj_firstmatch_bka_nixbnl.result
      mysql-test/r/subquery_sj_firstmatch_bkaunique.result
      mysql-test/r/subquery_sj_loosescan.result
      mysql-test/r/subquery_sj_loosescan_bka.result
      mysql-test/r/subquery_sj_loosescan_bka_nixbnl.result
      mysql-test/r/subquery_sj_loosescan_bkaunique.result
      mysql-test/r/subquery_sj_mat.result
      mysql-test/r/subquery_sj_mat_bka.result
      mysql-test/r/subquery_sj_mat_bka_nixbnl.result
      mysql-test/r/subquery_sj_mat_bkaunique.result
      mysql-test/r/subquery_sj_mat_nosj.result
      mysql-test/r/subquery_sj_none.result
      mysql-test/r/subquery_sj_none_bka.result
      mysql-test/r/subquery_sj_none_bka_nixbnl.result
      mysql-test/r/subquery_sj_none_bkaunique.result
      sql/sql_executor.cc

Diff too large for email (11596 lines, the limit is 10000).
No bundle (reason: useless for push emails).
Thread
bzr push into mysql-trunk branch (martin.hansson:3810 to 3811) WL#5874Martin Hansson31 Jan