Comment 13 for bug 673105

Revision history for this message
David Shrewsbury (dshrews) wrote :

Found a case where a transaction has been broken up for some reason:

SET AUTOCOMMIT=OFF /*Generated by THREAD_ID 8*/ ;

 START TRANSACTION /*Generated by THREAD_ID 8*/ ;

 UPDATE `a` SET `col_int_not_null_key` = 6 WHERE `col_char_1024` IN ('a') ORDER BY `col_bigint`,`col_bigint_key`,`col_bigint_not_null`,`col_bigint_not_null_key`,`col_char_10`,`col_char_1024`,`col_char_1024_key`,`col_char_1024_not_null`,`col_char_1024_not_null_key`,`col_char_10_key`,`col_char_10_not_null`,`col_char_10_not_null_key`,`col_enum`,`col_enum_key`,`col_enum_not_null`,`col_enum_not_null_key`,`col_int`,`col_int_key`,`col_int_not_null`,`col_int_not_null_key`,`col_text`,`col_text_key`,`col_text_not_null`,`col_text_not_null_key`,`pk` LIMIT 5 /*Generated by THREAD_ID 8*/ ;

 SELECT * FROM `c` AS X WHERE X . `col_enum_not_null_key` < 6 LIMIT 5 /*Generated by THREAD_ID 8*/ ;

 INSERT INTO `aa` ( `col_char_10` , `col_char_10_key` , `col_char_10_not_null` , `col_char_10_not_null_key` , `col_char_1024` , `col_char_1024_key` , `col_char_1024_not_null` , `col_char_1024_not_null_key` , `col_int` , `col_int_key` , `col_int_not_null` , `col_int_not_null_key` , `col_bigint` , `col_bigint_key` , `col_bigint_not_null` , `col_bigint_not_null_key` , `col_enum` , `col_enum_key` , `col_enum_not_null` , `col_enum_not_null_key` , `col_text` , `col_text_key` , `col_text_not_null` , `col_text_not_null_key` ) SELECT `col_char_10` , `col_char_10_key` , `col_char_10_not_null` , `col_char_10_not_null_key` , `col_char_1024` , `col_char_1024_key` , `col_char_1024_not_null` , `col_char_1024_not_null_key` , `col_int` , `col_int_key` , `col_int_not_null` , `col_int_not_null_key` , `col_bigint` , `col_bigint_key` , `col_bigint_not_null` , `col_bigint_not_null_key` , `col_enum` , `col_enum_key` , `col_enum_not_null` , `col_enum_not_null_key` , `col_text` , `col_text_key` , `col_text_not_null` , `col_text_not_null_key` FROM `bb` WHERE `col_int_not_null_key` IN (25) ORDER BY `col_bigint`,`col_bigint_key`,`col_bigint_not_null`,`col_bigint_not_null_key`,`col_char_10`,`col_char_1024`,`col_char_1024_key`,`col_char_1024_not_null`,`col_char_1024_not_null_key`,`col_char_10_key`,`col_char_10_not_null`,`col_char_10_not_null_key`,`col_enum`,`col_enum_key`,`col_enum_not_null`,`col_enum_not_null_key`,`col_int`,`col_int_key`,`col_int_not_null`,`col_int_not_null_key`,`col_text`,`col_text_key`,`col_text_not_null`,`col_text_not_null_key`,`pk` LIMIT 100 /*Generated by THREAD_ID 8*/ ;

 UPDATE `a` SET `col_int_not_null_key` = 5 WHERE `col_int` = 4 ORDER BY `col_bigint`,`col_bigint_key`,`col_bigint_not_null`,`col_bigint_not_null_key`,`col_char_10`,`col_char_1024`,`col_char_1024_key`,`col_char_1024_not_null`,`col_char_1024_not_null_key`,`col_char_10_key`,`col_char_10_not_null`,`col_char_10_not_null_key`,`col_enum`,`col_enum_key`,`col_enum_not_null`,`col_enum_not_null_key`,`col_int`,`col_int_key`,`col_int_not_null`,`col_int_not_null_key`,`col_text`,`col_text_key`,`col_text_not_null`,`col_text_not_null_key`,`pk` LIMIT 5 /*Generated by THREAD_ID 8*/ ;

 INSERT INTO `bb` ( `col_char_10` , `col_char_10_key` , `col_char_10_not_null` , `col_char_10_not_null_key` , `col_char_1024` , `col_char_1024_key` , `col_char_1024_not_null` , `col_char_1024_not_null_key` , `col_int` , `col_int_key` , `col_int_not_null` , `col_int_not_null_key` , `col_bigint` , `col_bigint_key` , `col_bigint_not_null` , `col_bigint_not_null_key` , `col_enum` , `col_enum_key` , `col_enum_not_null` , `col_enum_not_null_key` , `col_text` , `col_text_key` , `col_text_not_null` , `col_text_not_null_key` ) SELECT `col_char_10` , `col_char_10_key` , `col_char_10_not_null` , `col_char_10_not_null_key` , `col_char_1024` , `col_char_1024_key` , `col_char_1024_not_null` , `col_char_1024_not_null_key` , `col_int` , `col_int_key` , `col_int_not_null` , `col_int_not_null_key` , `col_bigint` , `col_bigint_key` , `col_bigint_not_null` , `col_bigint_not_null_key` , `col_enum` , `col_enum_key` , `col_enum_not_null` , `col_enum_not_null_key` , `col_text` , `col_text_key` , `col_text_not_null` , `col_text_not_null_key` FROM `bb` WHERE `col_text` IN ('KWYSM', 'v') ORDER BY `col_bigint`,`col_bigint_key`,`col_bigint_not_null`,`col_bigint_not_null_key`,`col_char_10`,`col_char_1024`,`col_char_1024_key`,`col_char_1024_not_null`,`col_char_1024_not_null_key`,`col_char_10_key`,`col_char_10_not_null`,`col_char_10_not_null_key`,`col_enum`,`col_enum_key`,`col_enum_not_null`,`col_enum_not_null_key`,`col_int`,`col_int_key`,`col_int_not_null`,`col_int_not_null_key`,`col_text`,`col_text_key`,`col_text_not_null`,`col_text_not_null_key`,`pk` LIMIT 10 /*Generated by THREAD_ID 8*/ ;

 SELECT X . `col_char_1024_not_null_key` FROM `cc` AS X LEFT JOIN `aa` AS Y USING ( `col_char_1024_not_null_key` ) WHERE X . `col_enum_not_null_key` IN ( 'y' , 'c' , 'u' , 3867344896 , 143 ) LIMIT 7 LOCK IN SHARE MODE /*Generated by THREAD_ID 8*/ ;

 DELETE FROM `cc` WHERE 0 BETWEEN 2 AND 8 ORDER BY `col_bigint`,`col_bigint_key`,`col_bigint_not_null`,`col_bigint_not_null_key`,`col_char_10`,`col_char_1024`,`col_char_1024_key`,`col_char_1024_not_null`,`col_char_1024_not_null_key`,`col_char_10_key`,`col_char_10_not_null`,`col_char_10_not_null_key`,`col_enum`,`col_enum_key`,`col_enum_not_null`,`col_enum_not_null_key`,`col_int`,`col_int_key`,`col_int_not_null`,`col_int_not_null_key`,`col_text`,`col_text_key`,`col_text_not_null`,`col_text_not_null_key`,`pk` LIMIT 4 /*Generated by THREAD_ID 8*/ ;

 SAVEPOINT A /*Generated by THREAD_ID 8*/ ;

 DELETE FROM `d` WHERE `pk` IN (7, 97) ORDER BY `col_bigint`,`col_bigint_key`,`col_bigint_not_null`,`col_bigint_not_null_key`,`col_char_10`,`col_char_1024`,`col_char_1024_key`,`col_char_1024_not_null`,`col_char_1024_not_null_key`,`col_char_10_key`,`col_char_10_not_null`,`col_char_10_not_null_key`,`col_enum`,`col_enum_key`,`col_enum_not_null`,`col_enum_not_null_key`,`col_int`,`col_int_key`,`col_int_not_null`,`col_int_not_null_key`,`col_text`,`col_text_key`,`col_text_not_null`,`col_text_not_null_key`,`pk` LIMIT 2 /*Generated by THREAD_ID 8*/ ;

 ROLLBACK /*Generated by THREAD_ID 8*/ ;

And the transaction log contents:

transaction_context {
  server_id: 1
  transaction_id: 322
  start_timestamp: 1290182174006346
  end_timestamp: 1290182174006588
}
statement {
  type: UPDATE
  start_timestamp: 1290182174006349
  end_timestamp: 1290182174006585
  sql: "UPDATE `a` SET `col_int_not_null_key` = 6 WHERE `col_char_1024` IN (\'a\') ORDER BY
`col_bigint`,`col_bigint_key`,`col_bigint_not_null`,`col_bigint_not_null_key`,`col_char_10`,
`col_char_1024`,`col_char_1024_key`,`col_char_1024_not_null`,`col_char_1024_not_null_key`,`c
ol_char_10_key`,`col_char_10_not_null`,`col_char_10_not_null_key`,`col_enum`,`col_enum_key`,
`col_enum_not_null`,`col_enum_not_null_key`,`col_int`,`col_int_key`,`col_int_not_null`,`col_
int_not_null_key`,`col_text`,`col_text_key`,`col_text_not_null`,`col_text_not_null_key`,`pk`
 LIMIT 5 /*Generated by THREAD_ID 8*/"
  update_header {
    table_metadata {
      schema_name: "test"
      table_name: "a"
    }
    key_field_metadata {
      type: INTEGER
      name: "pk"
    }
    set_field_metadata {
      type: INTEGER
      name: "col_int_not_null_key"
    }
  }
  update_data {
    segment_id: 1
    end_segment: true
    record {
      key_value: "139"
      after_value: "6"
      is_null: false
    }
    record {
      key_value: "65"
      after_value: "6"
      is_null: false
    }
  }
}
transaction_context {
  server_id: 1
  transaction_id: 325
  start_timestamp: 1290182174039853
  end_timestamp: 1290182174040457
}
statement {
  type: UPDATE
  start_timestamp: 1290182174039856
  end_timestamp: 1290182174040453
  sql: "UPDATE `a` SET `col_int_not_null_key` = 5 WHERE `col_int` = 4 ORDER BY `col_bigint`,`col_bigint_key`,`col_bigint_not_null`,`col_bigint_not_null_key`,`col_char_10`,`col_char_1024`,`col_char_1024_key`,`col_char_1024_not_null`,`col_char_1024_not_null_key`,`col_char_10_key`,`col_char_10_not_null`,`col_char_10_not_null_key`,`col_enum`,`col_enum_key`,`col_enum_not_null`,`col_enum_not_null_key`,`col_int`,`col_int_key`,`col_int_not_null`,`col_int_not_null_key`,`col_text`,`col_text_key`,`col_text_not_null`,`col_text_not_null_key`,`pk` LIMIT 5 /*Generated by THREAD_ID 8*/"
  update_header {
    table_metadata {
      schema_name: "test"
      table_name: "a"
    }
    key_field_metadata {
      type: INTEGER
      name: "pk"
    }
    set_field_metadata {
      type: INTEGER
      name: "col_int_not_null_key"
    }
  }
  update_data {
    segment_id: 1
    end_segment: true
    record {
      key_value: "66"
      after_value: "5"
      is_null: false
    }
    record {
      key_value: "224"
      after_value: "5"
      is_null: false
    }
    record {
      key_value: "46"
      after_value: "5"
      is_null: false
    }
    record {
      key_value: "128"
      after_value: "5"
      is_null: false
    }
    record {
      key_value: "270"
      after_value: "5"
      is_null: false
    }
  }
}