improve sql parser