void fillCoverageMetadataTable(TeLayer* layer, std::string& metadataTableName, const std::string& coverageId, std::vector<TeCoverageDimension>& dimensions) { TeDatabase* db = layer->database(); if (!db->tableExist(metadataTableName)) { createCoverageMetadataTable(layer, metadataTableName); } for (std::vector<TeCoverageDimension>::iterator it = dimensions.begin(); it != dimensions.end(); it++) { const std::string& coverageIdStr = coverageId; const std::string dimensionIdStr = Te2String(it->dimension_id); const std::string dataTypeStr = Te2String(static_cast<TeDataType>(it->type)); const std::string& nameStr = it->name; std::string sqlInsert = "INSERT INTO " + metadataTableName + " (coverage_id, dimension_id, data_type, name) VALUES ('" + coverageIdStr + "', '" + dimensionIdStr + "', '" + dataTypeStr + "', '" + nameStr + "')"; if (!db->execute(sqlInsert)) { std::string errorMsg = "Couldn't insert values to metadata table '" + metadataTableName + "'."; throw TeException(UNKNOWN_ERROR_TYPE, errorMsg, false); } } }