src/Configuration.h
branchv_0
changeset 13 c9fece435aa2
parent 12 7977c1bdba1f
child 14 82bd0f57a889
equal deleted inserted replaced
12:7977c1bdba1f 13:c9fece435aa2
    54 	 */
    54 	 */
    55 	bool drop = false;
    55 	bool drop = false;
    56 	/**
    56 	/**
    57 	 * Variable definitions for this relation.
    57 	 * Variable definitions for this relation.
    58 	 * Can be used as a safe way for passing parameters from the outside environment.
    58 	 * 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)
    59 	 */
    60 	 */
    60 	std::vector<DefinitionRecipe> definitions;
    61 	std::vector<DefinitionRecipe> definitions;
    61 	/**
    62 	/**
    62 	 * If empty, output relation will have same metadata as the input relation.
    63 	 * If empty, output relation will have same metadata as the input relation.
    63 	 */
    64 	 */
    65 };
    66 };
    66 
    67 
    67 class Configuration {
    68 class Configuration {
    68 public:
    69 public:
    69 	vector<RelationConfiguration> relationConfigurations;
    70 	vector<RelationConfiguration> relationConfigurations;
       
    71 	/**
       
    72 	 * Global definitions for all relations.
       
    73 	 * Can be used as a safe way for passing parameters from the outside environment.
       
    74 	 * See also RelationConfiguration::definitions
       
    75 	 */
       
    76 	std::vector<DefinitionRecipe> definitions;
    70 
    77 
    71 	// TODO: --define – global definitions (for all relations)?
       
    72 	// TODO: --relation … --drop – will execute --for-each, but no output will be generated for this relation
    78 	// TODO: --relation … --drop – will execute --for-each, but no output will be generated for this relation
    73 	// TODO: --create t2 3 a integer b boolean '…guile…' – allow creating new relations? Or allow calling startRelation() and attribute() from Guile?
    79 	// TODO: --create t2 3 a integer b boolean '…guile…' – allow creating new relations? Or allow calling startRelation() and attribute() from Guile?
    74 
    80 
    75 	virtual ~Configuration() {
    81 	virtual ~Configuration() {
    76 	}
    82 	}