message: CSV reader: only remove escapes and copy string if there are actually escapes in the string
diff: @@ -309,6 +309,9 @@ void BufferedCSVReader::AddValue(char *str_val, index_t length, index_t &column,
  if (info.null_str == str_val && !info.force_not_null[column]) {
  parse_chunk.data[column].nullmask[row_entry] = true;
  } else {
  + auto &v = parse_chunk.data[column];
  + auto parse_data = ((const char **)v.data);
  + if (escape_positions.size() > 0) {
  // optionally remove escape(s)
  string new_val = "";
  for (const char *val = str_val; *val; val++) {
  @@ -325,16 +328,16 @@ void BufferedCSVReader::AddValue(char *str_val, index_t length, index_t &column,
  }
  pos++;
  }
  - while (!escape_positions.empty()) {
  - escape_positions.pop();
  + escape_positions = std::queue<index_t>();
  + parse_data[row_entry] = v.string_heap.AddString(new_val.c_str());
  + } else {
  + parse_data[row_entry] = str_val;
  }
  +
  // test for valid utf-8 string
  - if (!Value::IsUTF8String(new_val.c_str())) {
  + if (!Value::IsUTF8String(parse_data[row_entry])) {
  throw ParserException("Error on line %lld: file is not valid UTF8", linenr);
  }
  -
  - auto &v = parse_chunk.data[column];
  - ((const char **)v.data)[row_entry] = v.string_heap.AddString(new_val.c_str());
  }
  // move to the next column
  