diff -r 7e851aa01499 -r 785fc49b0a55 src/StreamRelationalWriter.h --- a/src/StreamRelationalWriter.h Sat Oct 24 00:08:18 2020 +0200 +++ b/src/StreamRelationalWriter.h Sun Apr 11 17:27:12 2021 +0200 @@ -116,12 +116,14 @@ void writeAttribute(const string_t& value) override { if (currentColumn == 0) integerWriter.writeValue(output, DATA_PART_ROW); + // TODO: select writer for each attribute just once in startRelation() instead of looking it each time here writeString(value, columnTypes[currentColumn]); if (++currentColumn == columnCount) currentColumn = 0; } void writeAttribute(const void* value, const std::type_info& type) override { if (currentColumn == 0) integerWriter.writeValue(output, DATA_PART_ROW); + // TODO: select writer for each attribute just once in startRelation() instead of looking it each time here writeRaw(value, type, columnTypes[currentColumn]); if (++currentColumn == columnCount) currentColumn = 0; }