=== modified file 'dhis-2/dhis-services/dhis-service-administration/src/main/java/org/hisp/dhis/resourcetable/DefaultResourceTableService.java' --- dhis-2/dhis-services/dhis-service-administration/src/main/java/org/hisp/dhis/resourcetable/DefaultResourceTableService.java 2014-11-11 09:12:38 +0000 +++ dhis-2/dhis-services/dhis-service-administration/src/main/java/org/hisp/dhis/resourcetable/DefaultResourceTableService.java 2014-12-15 18:08:16 +0000 @@ -148,6 +148,8 @@ { int maxLevel = organisationUnitService.getMaxOfOrganisationUnitLevels(); + log.info( "Using " + maxLevel + " organisation unit levels for org unit structure table" ); + resourceTableStore.createOrganisationUnitStructure( maxLevel ); List batchArgs = new ArrayList<>(); === modified file 'dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/table/DefaultAnalyticsTableService.java' --- dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/table/DefaultAnalyticsTableService.java 2014-11-24 15:41:33 +0000 +++ dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/table/DefaultAnalyticsTableService.java 2014-12-15 18:08:16 +0000 @@ -99,8 +99,9 @@ public void update( Integer lastYears, TaskId taskId ) { int processNo = getProcessNo(); + int orgUnitLevelNo = organisationUnitService.getMaxOfOrganisationUnitLevels(); - Clock clock = new Clock().startClock().logTime( "Starting update, no of processes: " + processNo ); + Clock clock = new Clock().startClock().logTime( "Starting update, processes: " + processNo + ", org unit levels: " + orgUnitLevelNo ); String validState = tableManager.validState(); @@ -113,7 +114,7 @@ final List tables = tableManager.getTables( lastYears ); clock.logTime( "Partition tables: " + tables + ", last years: " + lastYears ); - notifier.notify( taskId, "Creating analytics tables, processes: " + processNo ); + notifier.notify( taskId, "Creating analytics tables, processes: " + processNo + ", org unit levels: " + orgUnitLevelNo ); createTables( tables ); === modified file 'dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/table/JdbcAnalyticsTableManager.java' --- dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/table/JdbcAnalyticsTableManager.java 2014-11-24 15:19:53 +0000 +++ dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/table/JdbcAnalyticsTableManager.java 2014-12-15 18:08:16 +0000 @@ -213,12 +213,13 @@ "left join _categoryoptiongroupsetstructure cogs on dv.attributeoptioncomboid=cogs.categoryoptioncomboid " + "left join _categorystructure dcs on dv.categoryoptioncomboid=dcs.categoryoptioncomboid " + "left join _categorystructure acs on dv.attributeoptioncomboid=acs.categoryoptioncomboid " + + "left join _periodstructure ps on dv.periodid=ps.periodid " + "left join _orgunitstructure ous on dv.sourceid=ous.organisationunitid " + - "left join _periodstructure ps on dv.periodid=ps.periodid " + - "left join dataelement de on dv.dataelementid=de.dataelementid " + - "left join _dataelementstructure des on de.dataelementid = des.dataelementid " + - "left join categoryoptioncombo co on dv.categoryoptioncomboid=co.categoryoptioncomboid " + - "left join period pe on dv.periodid=pe.periodid " + + "left join _dataelementstructure des on dv.dataelementid = des.dataelementid " + + "inner join dataelement de on dv.dataelementid=de.dataelementid " + + "inner join categoryoptioncombo co on dv.categoryoptioncomboid=co.categoryoptioncomboid " + + "inner join period pe on dv.periodid=pe.periodid " + + "inner join organisationunit ou on dv.sourceid=ou.organisationunitid " + "where de.valuetype = '" + valueType + "' " + "and de.domaintype = 'AGGREGATE' " + "and pe.startdate >= '" + start + "' " + @@ -325,7 +326,7 @@ String[] de = { quote( "de" ), "character(11) not null", "de.uid" }; String[] co = { quote( "co" ), "character(11) not null", "co.uid" }; - String[] ou = { quote( "ou" ), "character(11) not null", "ous.organisationunituid" }; + String[] ou = { quote( "ou" ), "character(11) not null", "ou.uid" }; String[] level = { quote( "level" ), "integer", "ous.level" }; columns.addAll( Arrays.asList( de, co, ou, level ) );