add TX_NEW, and protect TX from nesting
changed my mind, SELECT must be in TX