src/Configuration.h
branchv_0
changeset 15 051e58022783
parent 14 82bd0f57a889
child 16 2dcc22b7a424
equal deleted inserted replaced
14:82bd0f57a889 15:051e58022783
    47 	relpipe::writer::string_t relation;
    47 	relpipe::writer::string_t relation;
    48 	relpipe::writer::string_t guileBeforeRecords;
    48 	relpipe::writer::string_t guileBeforeRecords;
    49 	relpipe::writer::string_t guileAfterRecords;
    49 	relpipe::writer::string_t guileAfterRecords;
    50 	relpipe::writer::string_t guileForEach;
    50 	relpipe::writer::string_t guileForEach;
    51 	relpipe::writer::string_t guileWhere;
    51 	relpipe::writer::string_t guileWhere;
       
    52 
    52 	/**
    53 	/**
    53 	 * If true, Guile code will be executed, but no output will be generated.
    54 	 * If true, Guile code will be executed, but no output will be generated.
    54 	 */
    55 	 */
    55 	bool drop = false;
    56 	bool drop = false;
       
    57 
    56 	/**
    58 	/**
    57 	 * Variable definitions for this relation.
    59 	 * Variable definitions for this relation.
    58 	 * Can be used as a safe way for passing parameters from the outside environment.
    60 	 * Can be used as a safe way for passing parameters from the outside environment.
    59 	 * See also Configuration::definitions (can be overridden by relation's definitions)
    61 	 * See also Configuration::definitions (can be overridden by relation's definitions)
    60 	 */
    62 	 */
    61 	std::vector<DefinitionRecipe> definitions;
    63 	std::vector<DefinitionRecipe> definitions;
       
    64 
    62 	/**
    65 	/**
    63 	 * If empty, output relation will have same metadata as the input relation.
    66 	 * If empty, output relation will have same metadata as the input relation.
    64 	 */
    67 	 */
    65 	std::vector<relpipe::writer::AttributeMetadata> writerMetadata;
    68 	std::vector<relpipe::writer::AttributeMetadata> writerMetadata;
       
    69 
       
    70 	/**
       
    71 	 * Whether original attributes should be appended to those specified using --output-attribute
       
    72 	 */
       
    73 	bool inputAttributesAppend = false;
       
    74 
       
    75 	/**
       
    76 	 * Whether original attributes should be prepended to those specified using --output-attribute
       
    77 	 */
       
    78 	bool inputAttributesPrepend = false;
    66 };
    79 };
    67 
    80 
    68 class Configuration {
    81 class Configuration {
    69 public:
    82 public:
       
    83 
    70 	vector<RelationConfiguration> relationConfigurations;
    84 	vector<RelationConfiguration> relationConfigurations;
    71 	/**
    85 	/**
    72 	 * Global definitions for all relations.
    86 	 * Global definitions for all relations.
    73 	 * Can be used as a safe way for passing parameters from the outside environment.
    87 	 * Can be used as a safe way for passing parameters from the outside environment.
    74 	 * See also RelationConfiguration::definitions
    88 	 * See also RelationConfiguration::definitions