src/AttributeFinder.h
branchv_0
changeset 29 6f15f18d2abf
parent 24 4353cd19a6b5
child 32 bccda5688d71
--- a/src/AttributeFinder.h	Mon Nov 11 14:42:13 2019 +0100
+++ b/src/AttributeFinder.h	Sat Jan 11 00:56:51 2020 +0100
@@ -53,7 +53,7 @@
 	 */
 	virtual void writeEmptyField(RelationalWriter* writer, const RequestedField& field) {
 		// TODO: better handling of null values (when null values are supported by the format specification)
-		for (AttributeMetadata m : toMetadata(field)) {
+		for (AttributeMetadata m : toMetadata(writer, field)) {
 			switch (m.typeId) {
 				case TypeId::BOOLEAN:
 					writer->writeAttribute(L"false");
@@ -75,10 +75,11 @@
 	/**
 	 * Single requested fields might generate multiple attributes in the relation.
 	 * But usually it is 1:1.
+	 * @param writer can be used for TypeId coversion from string_t
 	 * @param field requested field from the user (usually from CLI arguments)
 	 * @return attribute metadata to be used in the RelationalWriter.startRelation()
 	 */
-	virtual vector<AttributeMetadata> toMetadata(const RequestedField& field) = 0;
+	virtual vector<AttributeMetadata> toMetadata(RelationalWriter* writer, const RequestedField& field) = 0;
 
 	/**
 	 * Writing of the record for current file is starting.