UsingList usingList = processProtocol(action.request) ;
// If the dsg is transactional, then we can parse and execute the update in a streaming fashion.
// If it isn't, we need to read the entire update request before performing any updates, because
// we have to attempt to make the request atomic in the face of malformed queries
UpdateRequest req = null ;
if (!action.isTransactional())
{
try {
// TODO implement a spill-to-disk version of this
req = UpdateFactory.read(usingList, input, UpdateParseBase, Syntax.syntaxARQ);