Fix PVS check

This commit is contained in:
Kruglov Pavel 2021-11-02 15:05:59 +03:00 committed by GitHub
parent 1f8535c02b
commit 3b12c54bf9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -285,7 +285,7 @@ ReturnType SerializationNullable::deserializeTextEscapedImpl(IColumn & column, R
template<typename ReturnType, bool escaped>
ReturnType SerializationNullable::deserializeTextEscapedAndRawImpl(IColumn & column, ReadBuffer & istr, const FormatSettings & settings,
const SerializationPtr & nested)
const SerializationPtr & nested_serialization)
{
const String & null_representation = settings.tsv.null_representation;
@ -293,14 +293,14 @@ ReturnType SerializationNullable::deserializeTextEscapedAndRawImpl(IColumn & col
if (istr.eof() || (!null_representation.empty() && *istr.position() != null_representation[0]))
{
/// This is not null, surely.
return safeDeserialize<ReturnType>(column, *nested,
return safeDeserialize<ReturnType>(column, *nested_serialization,
[] { return false; },
[&nested, &istr, &settings] (IColumn & nested_column)
[&nested_serialization, &istr, &settings] (IColumn & nested_column)
{
if constexpr (escaped)
nested->deserializeTextEscaped(nested_column, istr, settings);
nested_serialization->deserializeTextEscaped(nested_column, istr, settings);
else
nested->deserializeTextRaw(nested_column, istr, settings);
nested_serialization->deserializeTextRaw(nested_column, istr, settings);
});
}
@ -315,14 +315,14 @@ ReturnType SerializationNullable::deserializeTextEscapedAndRawImpl(IColumn & col
istr.position() = pos;
return false;
};
auto deserialize_nested = [&nested, &settings, &istr] (IColumn & nested_column)
auto deserialize_nested = [&nested_serialization, &settings, &istr] (IColumn & nested_column)
{
if constexpr (escaped)
nested->deserializeTextEscaped(nested_column, istr, settings);
nested_serialization->deserializeTextEscaped(nested_column, istr, settings);
else
nested->deserializeTextRaw(nested_column, istr, settings);
nested_serialization->deserializeTextRaw(nested_column, istr, settings);
};
return safeDeserialize<ReturnType>(column, *nested, check_for_null, deserialize_nested);
return safeDeserialize<ReturnType>(column, *nested_serialization, check_for_null, deserialize_nested);
}
/// We don't have enough data in buffer to check if it's a null.
@ -340,13 +340,13 @@ ReturnType SerializationNullable::deserializeTextEscapedAndRawImpl(IColumn & col
return false;
};
auto deserialize_nested = [&nested, &settings, &buf, &null_representation, &istr] (IColumn & nested_column)
auto deserialize_nested = [&nested_serialization, &settings, &buf, &null_representation, &istr] (IColumn & nested_column)
{
auto * pos = buf.position();
if constexpr (escaped)
nested->deserializeTextEscaped(nested_column, buf, settings);
nested_serialization->deserializeTextEscaped(nested_column, buf, settings);
else
nested->deserializeTextRaw(nested_column, buf, settings);
nested_serialization->deserializeTextRaw(nested_column, buf, settings);
/// Check that we don't have any unread data in PeekableReadBuffer own memory.
if (likely(!buf.hasUnreadData()))
return;
@ -361,9 +361,9 @@ ReturnType SerializationNullable::deserializeTextEscapedAndRawImpl(IColumn & col
WriteBufferFromOwnString parsed_value;
if constexpr (escaped)
nested->serializeTextEscaped(nested_column, nested_column.size() - 1, parsed_value, settings);
nested_serialization->serializeTextEscaped(nested_column, nested_column.size() - 1, parsed_value, settings);
else
nested->serializeTextRaw(nested_column, nested_column.size() - 1, parsed_value, settings);
nested_serialization->serializeTextRaw(nested_column, nested_column.size() - 1, parsed_value, settings);
throw DB::ParsingException("Error while parsing \"" + std::string(pos, buf.buffer().end()) + std::string(istr.position(), std::min(size_t(10), istr.available())) + "\" as Nullable"
+ " at position " + std::to_string(istr.count()) + ": got \"" + std::string(pos, buf.position() - pos)
+ "\", which was deserialized as \""
@ -371,7 +371,7 @@ ReturnType SerializationNullable::deserializeTextEscapedAndRawImpl(IColumn & col
ErrorCodes::CANNOT_READ_ALL_DATA);
};
return safeDeserialize<ReturnType>(column, *nested, check_for_null, deserialize_nested);
return safeDeserialize<ReturnType>(column, *nested_serialization, check_for_null, deserialize_nested);
}
void SerializationNullable::serializeTextQuoted(const IColumn & column, size_t row_num, WriteBuffer & ostr, const FormatSettings & settings) const
@ -456,15 +456,15 @@ void SerializationNullable::deserializeTextCSV(IColumn & column, ReadBuffer & is
template<typename ReturnType>
ReturnType SerializationNullable::deserializeTextCSVImpl(IColumn & column, ReadBuffer & istr, const FormatSettings & settings,
const SerializationPtr & nested)
const SerializationPtr & nested_serialization)
{
const String & null_representation = settings.csv.null_representation;
if (istr.eof() || (!null_representation.empty() && *istr.position() != null_representation[0]))
{
/// This is not null, surely.
return safeDeserialize<ReturnType>(column, *nested,
return safeDeserialize<ReturnType>(column, *nested_serialization,
[] { return false; },
[&nested, &istr, &settings] (IColumn & nested_column) { nested->deserializeTextCSV(nested_column, istr, settings); });
[&nested_serialization, &istr, &settings] (IColumn & nested_column) { nested->deserializeTextCSV(nested_column, istr, settings); });
}
/// Check if we have enough data in buffer to check if it's a null.
@ -478,11 +478,11 @@ ReturnType SerializationNullable::deserializeTextCSVImpl(IColumn & column, ReadB
istr.position() = pos;
return false;
};
auto deserialize_nested = [&nested, &settings, &istr] (IColumn & nested_column)
auto deserialize_nested = [&nested_serialization, &settings, &istr] (IColumn & nested_column)
{
nested->deserializeTextCSV(nested_column, istr, settings);
nested_serialization->deserializeTextCSV(nested_column, istr, settings);
};
return safeDeserialize<ReturnType>(column, *nested, check_for_null, deserialize_nested);
return safeDeserialize<ReturnType>(column, *nested_serialization, check_for_null, deserialize_nested);
}
/// We don't have enough data in buffer to check if it's a null.
@ -500,10 +500,10 @@ ReturnType SerializationNullable::deserializeTextCSVImpl(IColumn & column, ReadB
return false;
};
auto deserialize_nested = [&nested, &settings, &buf, &null_representation, &istr] (IColumn & nested_column)
auto deserialize_nested = [&nested_serialization, &settings, &buf, &null_representation, &istr] (IColumn & nested_column)
{
auto * pos = buf.position();
nested->deserializeTextCSV(nested_column, buf, settings);
nested_serialization->deserializeTextCSV(nested_column, buf, settings);
/// Check that we don't have any unread data in PeekableReadBuffer own memory.
if (likely(!buf.hasUnreadData()))
return;
@ -518,7 +518,7 @@ ReturnType SerializationNullable::deserializeTextCSVImpl(IColumn & column, ReadB
"for large input.", ErrorCodes::CANNOT_READ_ALL_DATA);
WriteBufferFromOwnString parsed_value;
nested->serializeTextCSV(nested_column, nested_column.size() - 1, parsed_value, settings);
nested_serialization->serializeTextCSV(nested_column, nested_column.size() - 1, parsed_value, settings);
throw DB::ParsingException("Error while parsing \"" + std::string(pos, buf.buffer().end()) + std::string(istr.position(), std::min(size_t(10), istr.available())) + "\" as Nullable"
+ " at position " + std::to_string(istr.count()) + ": got \"" + std::string(pos, buf.position() - pos)
+ "\", which was deserialized as \""
@ -526,7 +526,7 @@ ReturnType SerializationNullable::deserializeTextCSVImpl(IColumn & column, ReadB
ErrorCodes::CANNOT_READ_ALL_DATA);
};
return safeDeserialize<ReturnType>(column, *nested, check_for_null, deserialize_nested);
return safeDeserialize<ReturnType>(column, *nested_serialization, check_for_null, deserialize_nested);
}
void SerializationNullable::serializeText(const IColumn & column, size_t row_num, WriteBuffer & ostr, const FormatSettings & settings) const