~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to plugin/innobase/handler/ha_innodb.cc

  • Committer: Lee Bieber
  • Date: 2011-02-10 21:02:41 UTC
  • mfrom: (2154.1.3 build)
  • Revision ID: kalebral@gmail.com-20110210210241-jouae2uw2pwv6bac
Merge Patrick - 715885: dbqp needs to return non-zero if tests fail
Merge Stewart - 715539: (get|set)_session_proc_info() still exists
Merge Stewart - 715575: misc session_foo() functions exist - should be methods in Session
Merge Stewart - 712843: SAVEPOINT after rollback due to deadlock with autocommit=off in transaction will call startTransaction with an existing transaction where one shouldn't exist

Show diffs side-by-side

added added

removed removed

Lines of Context:
872
872
/*==========*/
873
873
  const drizzled::Session *session)  /*!< in: thread handle (Session*) */
874
874
{
875
 
  return(session_sql_command(session) == SQLCOM_SELECT);
 
875
  return(session->getSqlCommand() == SQLCOM_SELECT);
876
876
}
877
877
 
878
878
/******************************************************************//**
3282
3282
    return(HA_ERR_NO_SUCH_TABLE);
3283
3283
  }
3284
3284
 
3285
 
  if (ib_table->ibd_file_missing && !session_tablespace_op(session)) {
 
3285
  if (ib_table->ibd_file_missing && ! session->doing_tablespace_operation()) {
3286
3286
    errmsg_printf(error::ERROR, "MySQL is trying to open a table handle but "
3287
3287
        "the .ibd file for\ntable %s does not exist.\n"
3288
3288
        "Have you deleted the .ibd file from the "
4291
4291
    ut_error;
4292
4292
  }
4293
4293
 
4294
 
  sql_command = session_sql_command(user_session);
 
4294
  sql_command = user_session->getSqlCommand();
4295
4295
 
4296
4296
  if ((sql_command == SQLCOM_ALTER_TABLE
4297
4297
       || sql_command == SQLCOM_CREATE_INDEX
4738
4738
  if (error == DB_SUCCESS
4739
4739
      && getTable()->next_number_field
4740
4740
      && new_row == getTable()->getInsertRecord()
4741
 
      && session_sql_command(user_session) == SQLCOM_INSERT
 
4741
      && user_session->getSqlCommand() == SQLCOM_INSERT
4742
4742
      && (trx->duplicates & (TRX_DUP_IGNORE | TRX_DUP_REPLACE))
4743
4743
    == TRX_DUP_IGNORE)  {
4744
4744
 
6170
6170
    string generated_create_table;
6171
6171
    const char *query= stmt;
6172
6172
 
6173
 
    if (session_sql_command(&session) == SQLCOM_CREATE_TABLE)
 
6173
    if (session.getSqlCommand() == SQLCOM_CREATE_TABLE)
6174
6174
    {
6175
6175
      message::transformTableDefinitionToSql(create_proto,
6176
6176
                                             generated_create_table,
6245
6245
    does a table copy too. */
6246
6246
 
6247
6247
  if ((create_proto.options().has_auto_increment_value()
6248
 
       || session_sql_command(&session) == SQLCOM_ALTER_TABLE
6249
 
       || session_sql_command(&session) == SQLCOM_CREATE_INDEX)
 
6248
       || session.getSqlCommand() == SQLCOM_ALTER_TABLE
 
6249
       || session.getSqlCommand() == SQLCOM_CREATE_INDEX)
6250
6250
      && create_proto.options().auto_increment_value() != 0) {
6251
6251
 
6252
6252
    /* Query was one of :
6339
6339
 
6340
6340
  update_session(getTable()->in_use);
6341
6341
 
6342
 
  if (session_sql_command(user_session) != SQLCOM_TRUNCATE) {
 
6342
  if (user_session->getSqlCommand() != SQLCOM_TRUNCATE) {
6343
6343
  fallback:
6344
6344
    /* We only handle TRUNCATE TABLE t as a special case.
6345
6345
    DELETE FROM t will have to use ha_innobase::doDeleteRecord(),
6398
6398
  /* Drop the table in InnoDB */
6399
6399
 
6400
6400
  error = row_drop_table_for_mysql(identifier.getKeyPath().c_str(), trx,
6401
 
                                   session_sql_command(&session)
 
6401
                                   session.getSqlCommand()
6402
6402
                                   == SQLCOM_DROP_DB);
6403
6403
 
6404
6404
  session.setXaId(trx->id);
6426
6426
    if (identifier.getType() == message::Table::TEMPORARY)
6427
6427
    {
6428
6428
      session.getMessageCache().removeTableMessage(identifier);
6429
 
      ulint sql_command = session_sql_command(&session);
 
6429
      ulint sql_command = session.getSqlCommand();
6430
6430
 
6431
6431
      // If this was the final removal to an alter table then we will need
6432
6432
      // to remove the .dfe that was left behind.
7069
7069
    n_rows can not be 0 unless the table is empty, set to 1
7070
7070
    instead. The original problem of bug#29507 is actually
7071
7071
    fixed in the server code. */
7072
 
    if (session_sql_command(user_session) == SQLCOM_TRUNCATE) {
 
7072
    if (user_session->getSqlCommand() == SQLCOM_TRUNCATE) {
7073
7073
 
7074
7074
      n_rows = 1;
7075
7075
 
8323
8323
  trx = check_trx_exists(session);
8324
8324
 
8325
8325
  assert(EQ_CURRENT_SESSION(session));
8326
 
  const uint32_t sql_command = session_sql_command(session);
 
8326
  const uint32_t sql_command = session->getSqlCommand();
8327
8327
 
8328
8328
  if (sql_command == SQLCOM_DROP_TABLE) {
8329
8329
 
8409
8409
 
8410
8410
    if ((lock_type >= TL_WRITE_CONCURRENT_INSERT
8411
8411
         && lock_type <= TL_WRITE)
8412
 
        && !session_tablespace_op(session)
 
8412
        && ! session->doing_tablespace_operation()
8413
8413
        && sql_command != SQLCOM_TRUNCATE
8414
8414
        && sql_command != SQLCOM_CREATE_TABLE) {
8415
8415
 
8818
8818
  trx->detailed_error[0]= '\0';
8819
8819
 
8820
8820
  /* Set the isolation level of the transaction. */
8821
 
  trx->isolation_level= innobase_map_isolation_level(session_tx_isolation(session));
 
8821
  trx->isolation_level= innobase_map_isolation_level(session->getTxIsolation());
8822
8822
}
8823
8823
 
8824
8824
void