• Nirbhay Choubey's avatar
    MDEV-10235: Deadlock in CREATE TABLE .. AS SELECT .. if result set is empty in Galera · 90f222ea
    Nirbhay Choubey authored
    In CTAS, handlers get registered under statement transaction
    (st_transactions::stmt), while ha_fake_trx_id(), used by CTAS,
    looked under standard transaction (st_transactions::all) for
    registered handlers, and thus it failed to grab a fake transaction
    ID. As a result, with no valid transaction ID, wsrep commit failed
    with an error.
    
    ha_fake_trx_id() now looks for handlers registered under 'stmt'
    in case 'all' is empty. Also modified the logic to print warning
    only once if none of the registered handlers have fake_trx_id.
    90f222ea
binlog_format.test 1.5 KB