private function appendQueryToStack($cql, array $values)
{
$valuesModified = false;
foreach ($values as $key => $value) {
if (is_string($key) && isset($this->batchQueryData[$key])) {
$newFieldName = $key . self::POSTFIX_DUPLICATE_QUERY_VARIABLE;
$cql = str_replace(":{$key}", ":{$newFieldName}", $cql);
unset($values[$key]);
$values[$newFieldName] = $value;
$valuesModified = true;
}
}
if ($valuesModified) {
// Retry
$this->appendQueryToStack($cql, $values);
} else {
$this->batchQuery .= rtrim($cql, ';') . ";\n";
$this->batchQueryData = array_merge($this->batchQueryData, $values);
}
}