include/RelationalWriter.h
branchv_0
changeset 13 e7234dd45166
parent 11 27bc67e7c80f
child 14 733334eca89b
equal deleted inserted replaced
12:640e88aedf8f 13:e7234dd45166
     2 
     2 
     3 #include <string>
     3 #include <string>
     4 #include <iostream>
     4 #include <iostream>
     5 #include <vector>
     5 #include <vector>
     6 
     6 
     7 #include "../include/typedefs.h"
     7 #include "typedefs.h"
       
     8 #include "TypeId.h"
     8 
     9 
     9 namespace relpipe {
    10 namespace relpipe {
    10 namespace writer {
    11 namespace writer {
    11 
    12 
    12 class RelationalWriter {
    13 class RelationalWriter {
    16 
    17 
    17 	virtual integer_t toTypeId(const string_t typeCode) = 0;
    18 	virtual integer_t toTypeId(const string_t typeCode) = 0;
    18 
    19 
    19 	virtual string_t toTypeCode(const integer_t typeId) = 0;
    20 	virtual string_t toTypeCode(const integer_t typeId) = 0;
    20 
    21 
    21 	virtual void startRelation(string_t name, std::vector<std::pair<string_t, string_t>> attributes, boolean_t writeHeader) = 0;
    22 	virtual void startRelation(string_t name, std::vector<std::pair<string_t, TypeId>> attributes, boolean_t writeHeader) = 0;
    22 
    23 
    23 	virtual void writeRecord(std::vector<string_t> attributes) = 0;
    24 	virtual void writeRecord(std::vector<string_t> attributes) = 0;
    24 
    25 
    25 	static RelationalWriter* create(std::ostream &output);
    26 	static RelationalWriter* create(std::ostream &output);
    26 };
    27 };