Changeset 61268 in vbox
- Timestamp:
- May 28, 2016 9:09:17 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/ValidationKit/testmanager/core/testresults.py
r61267 r61268 825 825 sTsNow = '\'%s\'::TIMESTAMP' % (tsNow,); # It's actually a string already. duh. 826 826 sRet = 'TestSets.tsCreated <= %s\n' \ 827 '% AND TestSets.tsCreated >= (%s - \'%s\'::interval - \'%u months\'::interval)\n' \828 '% AND (TestSets.tsDone IS NULL OR TestSets.tsDone >= (%s - \'%s\'::interval))\n' \827 '%s AND TestSets.tsCreated >= (%s - \'%s\'::interval - \'%u months\'::interval)\n' \ 828 '%s AND (TestSets.tsDone IS NULL OR TestSets.tsDone >= (%s - \'%s\'::interval))\n' \ 829 829 % ( sTsNow, 830 830 sExtraIndent, sTsNow, sInterval, cMonthsMourningPeriod, … … 1047 1047 ' AND TestGroups.tsEffective <= TestSets.tsCreated' 1048 1048 ' AND ' + self._getTimePeriodQueryPart(tsNow, sPeriod)) 1049 1050 1049 aaoRows = self._oDb.fetchAll() 1051 1050 aoRet = [] 1052 1051 for aoRow in aaoRows: 1053 ## @todo Need to take time into consideration. Will go belly up if we delete a testgroup.1054 1052 aoRet.append(TestGroupData().initFromDbRow(aoRow)) 1055 1056 1053 return aoRet 1057 1054 … … 1069 1066 ' AND Builds.tsEffective <= TestSets.tsCreated' 1070 1067 ' AND ' + self._getTimePeriodQueryPart(tsNow, sPeriod)) 1071 1072 1068 aaoRows = self._oDb.fetchAll() 1073 1069 aoRet = [] 1074 1070 for aoRow in aaoRows: 1075 1071 aoRet.append(BuildDataEx().initFromDbRow(aoRow)) 1076 1077 1072 return aoRet 1078 1073 … … 1085 1080 self._oDb.execute('SELECT TestBoxes.*\n' 1086 1081 'FROM TestBoxes,\n' 1087 ' ( SELECT TestBoxes.idTestBox AS idTestBox,\n' 1088 ' MAX(TestBoxes.idGenTestBox) AS idGenTestBox\n' 1089 ' FROM TestBoxes, TestSets\n' 1090 ' WHERE TestSets.idGenTestBox = TestBoxes.idGenTestBox\n' 1091 ' AND ' + self._getTimePeriodQueryPart(tsNow, sPeriod, ' ') + 1092 ' GROUP BY TestBoxes.idTestBox\n' 1093 ' ORDER BY TestBoxes.idTestBox\n' 1082 ' ( SELECT idTestBox AS idTestBox,\n' 1083 ' MAX(idGenTestBox) AS idGenTestBox\n' 1084 ' FROM TestSets\n' 1085 ' WHERE ' + self._getTimePeriodQueryPart(tsNow, sPeriod, ' ') + 1086 ' GROUP BY idTestBox\n' 1094 1087 ' ) AS TestBoxIDs\n' 1095 1088 'WHERE TestBoxes.idGenTestBox = TestBoxIDs.idGenTestBox\n' … … 1106 1099 """ 1107 1100 1108 self._oDb.execute('SELECT DISTINCT TestCases.idTestCase, TestCases.idGenTestCase, TestSets.tsConfig\n' 1109 'FROM TestCases, TestSets\n' 1110 'WHERE TestSets.idTestCase = TestCases.idTestCase\n' 1111 ' AND TestCases.tsExpire > TestSets.tsCreated\n' 1112 ' AND TestCases.tsEffective <= TestSets.tsCreated\n' 1113 ' AND ' + self._getTimePeriodQueryPart(tsNow, sPeriod) + 1114 'ORDER BY TestCases.idTestCase, TestCases.idGenTestCase DESC\n'); 1115 1116 aaoRows = self._oDb.fetchAll() 1117 aoRet = [] 1118 idPrevTestCase = -1; 1119 for aoRow in aaoRows: 1120 ## @todo reduce subqueries 1121 if aoRow[0] != idPrevTestCase: 1122 idPrevTestCase = aoRow[0]; 1123 aoRet.append(TestCaseData().initFromDbWithGenId(self._oDb, aoRow[1], aoRow[2])) 1124 1101 self._oDb.execute('SELECT TestCases.*\n' 1102 'FROM TestCases,\n' 1103 ' ( SELECT idTestCase AS idTestCase,\n' 1104 ' MAX(idGenTestCase) AS idGenTestCase\n' 1105 ' FROM TestSets\n' 1106 ' WHERE ' + self._getTimePeriodQueryPart(tsNow, sPeriod, ' ') + 1107 ' GROUP BY idTestCase\n' 1108 ' ) AS TestCasesIDs\n' 1109 'WHERE TestCases.idGenTestCase = TestCasesIDs.idGenTestCase\n' 1110 'ORDER BY TestCases.sName\n' ); 1111 aoRet = []; 1112 for aoRow in self._oDb.fetchAll(): 1113 aoRet.append(TestCaseData().initFromDbRow(aoRow)); 1125 1114 return aoRet 1126 1115 … … 1131 1120 """ 1132 1121 1133 self._oDb.execute('SELECT DISTINCT TestBoxes.idSchedGroup\n' 1134 'FROM TestBoxes, TestSets\n' 1135 'WHERE TestSets.idGenTestBox = TestBoxes.idGenTestBox\n' 1136 ' AND TestBoxes.tsExpire > TestSets.tsCreated\n' 1137 ' AND TestBoxes.tsEffective <= TestSets.tsCreated' 1138 ' AND ' + self._getTimePeriodQueryPart(tsNow, sPeriod)) 1139 1140 aiRows = self._oDb.fetchAll() 1122 self._oDb.execute('SELECT SchedGroups.*\n' 1123 'FROM SchedGroups,\n' 1124 ' ( SELECT TestBoxes.idSchedGroup AS idSchedGroup,\n' 1125 ' MAX(TestSets.tsCreated) AS tsNow\n' 1126 ' FROM TestSets,\n' 1127 ' TestBoxes\n' 1128 ' WHERE TestSets.idGenTestBox = TestBoxes.idGenTestBox\n' 1129 ' AND ' + self._getTimePeriodQueryPart(tsNow, sPeriod, ' ') + 1130 ' GROUP BY idSchedGroup\n' 1131 ' ) AS SchedGroupIDs\n' 1132 'WHERE SchedGroups.idSchedGroup = SchedGroupIDs.idSchedGroup\n' 1133 ' AND SchedGroups.tsExpire > SchedGroupIDs.tsNow\n' 1134 ' AND SchedGroups.tsEffective <= SchedGroupIDs.tsNow\n' 1135 'ORDER BY SchedGroups.sName\n' ); 1141 1136 aoRet = [] 1142 for iRow in aiRows: 1143 ## @todo reduce subqueries 1144 aoRet.append(SchedGroupData().initFromDbWithId(self._oDb, iRow)) 1145 1137 for aoRow in self._oDb.fetchAll(): 1138 aoRet.append(SchedGroupData().initFromDbRow(aoRow)); 1146 1139 return aoRet 1147 1140
Note:
See TracChangeset
for help on using the changeset viewer.