~ubuntu-branches/ubuntu/precise/mysql-5.5/precise-201203300109

« back to all changes in this revision

Viewing changes to sql/sql_insert.cc

  • Committer: Package Import Robot
  • Author(s): Clint Byrum
  • Date: 2012-02-14 23:59:22 UTC
  • mfrom: (1.1.2)
  • Revision ID: package-import@ubuntu.com-20120214235922-cux5uek1e5l0hje9
Tags: 5.5.20-0ubuntu1
* New upstream release.
* d/mysql-server-5.5.mysql.upstart: Fix stop on to make sure mysql is
  fully stopped before shutdown commences. (LP: #688541) Also simplify
  start on as it is redundant.
* d/control: Depend on upstart version which has apparmor profile load
  script to prevent failure on upgrade from lucid to precise.
  (LP: #907465)
* d/apparmor-profile: need to allow /run since that is the true path
  of /var/run files. (LP: #917542)
* d/control: mysql-server-5.5 has files in it that used to be owned
  by libmysqlclient-dev, so it must break/replace it. (LP: #912487)
* d/rules, d/control: 5.5.20 Fixes segfault on tests with gcc 4.6,
  change compiler back to system default.
* d/rules: Turn off embedded libedit/readline.(Closes: #659566)

Show diffs side-by-side

added added

removed removed

Lines of Context:
77
77
#include "transaction.h"
78
78
#include "sql_audit.h"
79
79
 
 
80
#include "debug_sync.h"
 
81
 
80
82
#ifndef EMBEDDED_LIBRARY
81
83
static bool delayed_get_table(THD *thd, MDL_request *grl_protection_request,
82
84
                              TABLE_LIST *table_list);
1541
1543
        error= HA_ERR_FOUND_DUPP_KEY;         /* Database can't find key */
1542
1544
        goto err;
1543
1545
      }
 
1546
      DEBUG_SYNC(thd, "write_row_replace");
 
1547
 
1544
1548
      /* Read all columns for the row we are going to replace */
1545
1549
      table->use_all_columns();
1546
1550
      /*
1729
1733
  }
1730
1734
  else if ((error=table->file->ha_write_row(table->record[0])))
1731
1735
  {
 
1736
    DEBUG_SYNC(thd, "write_row_noreplace");
1732
1737
    if (!info->ignore ||
1733
1738
        table->file->is_fatal_error(error, HA_CHECK_DUP))
1734
1739
      goto err;
3693
3698
    alter_info->create_list.push_back(cr_field);
3694
3699
  }
3695
3700
 
3696
 
  DBUG_EXECUTE_IF("sleep_create_select_before_create", my_sleep(6000000););
 
3701
  DEBUG_SYNC(thd,"create_table_select_before_create");
3697
3702
 
3698
3703
  /*
3699
3704
    Create and lock table.
3717
3722
                                    create_info, alter_info, 0,
3718
3723
                                    select_field_count, NULL))
3719
3724
    {
3720
 
      DBUG_EXECUTE_IF("sleep_create_select_before_open", my_sleep(6000000););
 
3725
      DEBUG_SYNC(thd,"create_table_select_before_open");
3721
3726
 
3722
3727
      if (!(create_info->options & HA_LEX_CREATE_TMP_TABLE))
3723
3728
      {
3755
3760
      DBUG_RETURN(0);
3756
3761
  }
3757
3762
 
3758
 
  DBUG_EXECUTE_IF("sleep_create_select_before_lock", my_sleep(6000000););
 
3763
  DEBUG_SYNC(thd,"create_table_select_before_lock");
3759
3764
 
3760
3765
  table->reginfo.lock_type=TL_WRITE;
3761
3766
  hooks->prelock(&table, 1);                    // Call prelock hooks
3863
3868
 
3864
3869
  DBUG_ASSERT(create_table->table == NULL);
3865
3870
 
3866
 
  DBUG_EXECUTE_IF("sleep_create_select_before_check_if_exists", my_sleep(6000000););
 
3871
  DEBUG_SYNC(thd,"create_table_select_before_check_if_exists");
3867
3872
 
3868
3873
  if (!(table= create_table_from_items(thd, create_info, create_table,
3869
3874
                                       alter_info, &values,