src/StreamRelationalReader.h
branchv_0
changeset 26 019edca46769
parent 25 fc0d05b72214
child 28 c9e03557c1e1
--- a/src/StreamRelationalReader.h	Sat Sep 15 23:22:50 2018 +0200
+++ b/src/StreamRelationalReader.h	Sun Sep 16 00:42:42 2018 +0200
@@ -5,6 +5,7 @@
 #include <vector>
 
 #include <relpipe/protocol/constants.h>
+#include <memory>
 
 #include "../include/relpipe/reader/typedefs.h"
 #include "../include/relpipe/reader/RelationalReader.h"
@@ -25,6 +26,8 @@
 
 using StringHandler = relpipe::reader::handlers::RelationalReaderStringHadler;
 using ValuesHandler = relpipe::reader::handlers::RelationalReaderValueHadler;
+using AttributeMetadata = relpipe::reader::handlers::AttributeMetadata;
+using AttributeMetadataPrivate = relpipe::reader::handlers::AttributeMetadataPrivate;
 
 class StreamRelationalReader : public RelationalReader {
 private:
@@ -51,7 +54,7 @@
 	 */
 	std::vector<TypeId> columnTypes;
 	std::vector<string_t> columnNames;
-	std::vector<handlers::AttributeMetadata> columns;
+	std::vector<AttributeMetadata> columns;
 
 	/**
 	 * TODO: remove?
@@ -158,7 +161,7 @@
 					columnTypes.push_back(typeId);
 
 					// put together names, type ids and type codes:
-					columns.push_back(handlers::AttributeMetadata(new handlers::AttributeMetadataPrivate({columnNames[i], columnTypes[i], typeCode})));
+					columns.push_back(std::shared_ptr<AttributeMetadataPrivate>(new AttributeMetadataPrivate({columnNames[i], columnTypes[i], typeCode})));
 				}
 
 				for (StringHandler* handler : stringHandlers) handler->startRelation(tableName, columns);