• Marko Mäkelä's avatar
    MDEV-14824 Assertion `!trx_is_started(trx)' failed in innobase_start_trx_and_assign_read_view · 773c3ceb
    Marko Mäkelä authored
    In CREATE SEQUENCE or CREATE TEMPORARY SEQUENCE, we should not start
    an InnoDB transaction for inserting the sequence status record into
    the underlying no-rollback table. Because we did this, a debug assertion
    failure would fail in START TRANSACTION WITH CONSISTENT SNAPSHOT after
    CREATE TEMPORARY SEQUENCE was executed.
    
    row_ins_step(): Do not start the transaction. Let the caller do that.
    
    que_thr_step(): Start the transaction before calling row_ins_step().
    
    row_ins_clust_index_entry(): Skip locking and undo logging for no-rollback
    tables, even for temporary no-rollback tables.
    
    row_ins_index_entry(): Allow trx->id==0 for no-rollback tables.
    
    row_insert_for_mysql(): Do not start a transaction for no-rollback tables.
    773c3ceb
row0ins.cc 104 KB