src/StreamRelationalWriter.h
branchv_0
changeset 52 785fc49b0a55
parent 47 77fbaccdeea4
child 58 25c1ff79297c
equal deleted inserted replaced
51:7e851aa01499 52:785fc49b0a55
   114 
   114 
   115 	}
   115 	}
   116 
   116 
   117 	void writeAttribute(const string_t& value) override {
   117 	void writeAttribute(const string_t& value) override {
   118 		if (currentColumn == 0) integerWriter.writeValue(output, DATA_PART_ROW);
   118 		if (currentColumn == 0) integerWriter.writeValue(output, DATA_PART_ROW);
       
   119 		// TODO: select writer for each attribute just once in startRelation() instead of looking it each time here
   119 		writeString(value, columnTypes[currentColumn]);
   120 		writeString(value, columnTypes[currentColumn]);
   120 		if (++currentColumn == columnCount) currentColumn = 0;
   121 		if (++currentColumn == columnCount) currentColumn = 0;
   121 	}
   122 	}
   122 
   123 
   123 	void writeAttribute(const void* value, const std::type_info& type) override {
   124 	void writeAttribute(const void* value, const std::type_info& type) override {
   124 		if (currentColumn == 0) integerWriter.writeValue(output, DATA_PART_ROW);
   125 		if (currentColumn == 0) integerWriter.writeValue(output, DATA_PART_ROW);
       
   126 		// TODO: select writer for each attribute just once in startRelation() instead of looking it each time here
   125 		writeRaw(value, type, columnTypes[currentColumn]);
   127 		writeRaw(value, type, columnTypes[currentColumn]);
   126 		if (++currentColumn == columnCount) currentColumn = 0;
   128 		if (++currentColumn == columnCount) currentColumn = 0;
   127 	}
   129 	}
   128 
   130 
   129 };
   131 };