Default Role Implementation

You probably need (here and above) the same incantation that `SET PASSWORD` has:

    lex->autocommit= TRUE;
    if (lex->sphead)
      lex->sphead->m_flags|= sp_head::HAS_SET_AUTOCOMMIT_STMT;

this was added (checking bzr history) in 2007 with the comment
> Bug#30904 SET PASSWORD statement is non-transactional
> 
> The SET PASSWORD statement is non-transactional (no explicit transaction
> boundaries) in nature and hence is forbidden inside stored functions and
> triggers, but it weren't being effectively forbidden.
> 
> The implemented fix is to issue a implicit commit with every SET PASSWORD
> statement, effectively prohibiting these statements in stored functions
> and triggers. 

I believe this all applies to SET DEFAULT ROLE as well.