/**
* Iterates over each of the clauses in a query looking for identifiers and
* quotes them
*
* @param Query $query The query to have its identifiers quoted
* @return Query
*/
public function quote(Query $query)
{
$binder = $query->valueBinder();
$query->valueBinder(false);
if ($query->type() === 'insert') {
$this->_quoteInsert($query);
} else {
$this->_quoteParts($query);
}
$query->traverseExpressions([$this, 'quoteExpression']);
$query->valueBinder($binder);
return $query;
}