MCPcopy Create free account
hub / github.com/NatLabRockies/OpenStudio / retrieveDataDictionary

Method retrieveDataDictionary

src/utilities/sql/SqlFile_Impl.cpp:800–878  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

798 }
799
800 void SqlFile_Impl::retrieveDataDictionary() {
801 std::string table;
802 std::string name;
803 std::string keyValue;
804 std::string units;
805 std::string rf;
806
807 if (m_db) {
808 int dictionaryIndex;
809 int code;
810
811 std::stringstream s;
812 sqlite3_stmt* sqlStmtPtr;
813 std::map<int, std::string> envPeriods;
814 std::map<int, std::string>::iterator envPeriodsItr;
815
816 s << "SELECT EnvironmentPeriodIndex, EnvironmentName FROM EnvironmentPeriods";
817 sqlite3_prepare_v2(m_db, s.str().c_str(), -1, &sqlStmtPtr, nullptr);
818 code = sqlite3_step(sqlStmtPtr);
819 while (code == SQLITE_ROW) {
820 std::string queryEnvPeriod = boost::to_upper_copy(columnText(sqlite3_column_text(sqlStmtPtr, 1)));
821 envPeriods.insert(std::pair<int, std::string>(sqlite3_column_int(sqlStmtPtr, 0), queryEnvPeriod));
822 code = sqlite3_step(sqlStmtPtr);
823 }
824 sqlite3_finalize(sqlStmtPtr);
825
826 s.str("");
827 s << "SELECT ReportMeterDataDictionaryIndex, VariableName, KeyValue, ReportingFrequency, VariableUnits";
828 s << " FROM ReportMeterDataDictionary";
829 code = sqlite3_prepare_v2(m_db, s.str().c_str(), -1, &sqlStmtPtr, nullptr);
830
831 table = "ReportMeterData";
832
833 code = sqlite3_step(sqlStmtPtr);
834 while (code == SQLITE_ROW) {
835 dictionaryIndex = sqlite3_column_int(sqlStmtPtr, 0);
836 name = columnText(sqlite3_column_text(sqlStmtPtr, 1));
837 keyValue = columnText(sqlite3_column_text(sqlStmtPtr, 2));
838 rf = columnText(sqlite3_column_text(sqlStmtPtr, 3));
839 units = columnText(sqlite3_column_text(sqlStmtPtr, 4));
840
841 for (envPeriodsItr = envPeriods.begin(); envPeriodsItr != envPeriods.end(); ++envPeriodsItr) {
842 std::string queryEnvPeriod = boost::to_upper_copy(envPeriodsItr->second);
843 m_dataDictionary.insert(DataDictionaryItem(dictionaryIndex, envPeriodsItr->first, name, keyValue, queryEnvPeriod, rf, units, table));
844 LOG(Trace, "Creating data dictionary item " << dictionaryIndex << ", " << (*envPeriodsItr).first << ", " << name << ", " << keyValue << ", "
845 << queryEnvPeriod << ", " << rf << ", " << units << ", " << table << ".");
846 }
847
848 code = sqlite3_step(sqlStmtPtr);
849 }
850 sqlite3_finalize(sqlStmtPtr);
851
852 s.str("");
853 s << "SELECT ReportVariableDatadictionaryIndex, VariableName, KeyValue, ReportingFrequency, VariableUnits";
854 s << " FROM ReportVariableDatadictionary";
855 code = sqlite3_prepare_v2(m_db, s.str().c_str(), -1, &sqlStmtPtr, nullptr);
856
857 table = "ReportVariableData";

Callers

nothing calls this directly

Calls 6

DataDictionaryItemFunction · 0.85
beginMethod · 0.80
columnTextFunction · 0.70
strMethod · 0.45
insertMethod · 0.45
endMethod · 0.45

Tested by

no test coverage detected