add rowlock mode for improved scalability, but make it optional