• Tatiana A. Nurnberg's avatar
    Bug#40657: assertion with out of range variables and traditional sql_mode · d1fb6bbc
    Tatiana A. Nurnberg authored
    In STRICT mode, out-of-bounds values caused an error message
    to be queued (rather than just a warning), without any further
    error-like processing happening. (The error is queued during
    update, at which time it's too late. For it to be processed
    properly, it would need to be queued during check-stage.)
    The assertion rightfully complains that we're trying to send
    an OK while having an error queued.
    
    Changeset breaks a lot of tests out into check-stage. This also
    allows us to send more correct warnings/error messages.
    
    mysql-test/r/auto_increment_increment_basic.result:
      update test results reflecting more correct warnings
    mysql-test/r/auto_increment_increment_func.result:
      update test results reflecting more correct warnings
    mysql-test/r/auto_increment_offset_basic.result:
      update test results reflecting more correct warnings
    mysql-test/r/auto_increment_offset_func.result:
      update test results reflecting more correct warnings
    mysql-test/r/concurrent_insert_basic.result:
      update test results reflecting more correct warnings
    mysql-test/r/connect_timeout_basic.result:
      update test results reflecting more correct warnings
    mysql-test/r/default_week_format_basic.result:
      update test results reflecting more correct warnings
    mysql-test/r/delayed_insert_timeout_basic.result:
      update test results reflecting more correct warnings
    mysql-test/r/div_precision_increment_basic.result:
      update test results reflecting more correct warnings
    mysql-test/r/expire_logs_days_basic.result:
      update test results reflecting more correct warnings
    mysql-test/r/group_concat_max_len_basic.result:
      update test results reflecting more correct warnings
    mysql-test/r/interactive_timeout_basic.result:
      update test results reflecting more correct warnings
    mysql-test/r/max_allowed_packet_basic.result:
      update test results reflecting more correct warnings
    mysql-test/r/max_binlog_size_basic.result:
      update test results reflecting more correct warnings
    mysql-test/r/max_connections_basic.result:
      update test results reflecting more correct warnings
    mysql-test/r/max_delayed_threads_basic.result:
      update test results reflecting more correct warnings
    mysql-test/r/max_error_count_basic.result:
      update test results reflecting more correct warnings
    mysql-test/r/max_insert_delayed_threads_basic.result:
      update test results reflecting more correct warnings
    mysql-test/r/max_length_for_sort_data_basic.result:
      update test results reflecting more correct warnings
    mysql-test/r/max_prepared_stmt_count_basic.result:
      update test results reflecting more correct warnings
    mysql-test/r/max_relay_log_size_basic.result:
      update test results reflecting more correct warnings
    mysql-test/r/max_sort_length_basic.result:
      update test results reflecting more correct warnings
    mysql-test/r/max_sp_recursion_depth_basic.result:
      update test results reflecting more correct warnings
    mysql-test/r/myisam_data_pointer_size_basic.result:
      update test results reflecting more correct warnings
    mysql-test/r/net_buffer_length_basic.result:
      update test results reflecting more correct warnings
    mysql-test/r/net_read_timeout_basic.result:
      update test results reflecting more correct warnings
    mysql-test/r/net_write_timeout_basic.result:
      update test results reflecting more correct warnings
    mysql-test/r/optimizer_prune_level_basic.result:
      update test results reflecting more correct warnings
    mysql-test/r/optimizer_search_depth_basic.result:
      update test results reflecting more correct warnings
    mysql-test/r/preload_buffer_size_basic.result:
      update test results reflecting more correct warnings
    mysql-test/r/ps.result:
      update test results reflecting more correct warnings
    mysql-test/r/read_buffer_size_basic.result:
      update test results reflecting more correct warnings
    mysql-test/r/read_rnd_buffer_size_basic.result:
      update test results reflecting more correct warnings
    mysql-test/r/slave_net_timeout_basic.result:
      update test results reflecting more correct warnings
    mysql-test/r/slow_launch_time_basic.result:
      update test results reflecting more correct warnings
    mysql-test/r/table_definition_cache_basic.result:
      update test results reflecting more correct warnings
    mysql-test/r/table_lock_wait_timeout_basic.result:
      update test results reflecting more correct warnings
    mysql-test/r/table_open_cache_basic.result:
      update test results reflecting more correct warnings
    mysql-test/r/variables.result:
      add test case that throws error (rather than warning)
      in the middle of trying to set a system-variable.
    mysql-test/t/variables.test:
      add test case that throws error (rather than warning)
      in the middle of trying to set a system-variable.
    sql/set_var.cc:
      Add comments.
      Prevent double-warnings.
      Through warnings for negative values given to unsigned
      system-variables.
      Process errors and warnings at check() stage rather than
      update() stage, since we may only issue warnings at the latter.
    d1fb6bbc
variables.test 35.4 KB