← Back to team overview

dhis2-users team mailing list archive

FW: Problem with Tracker program after updating to 2.20 stable

 

Hi Devs,

 

I have an urgent database issue which I have to resolve as this project is
implementing by Monday and my database is not running on 2.20 stable which I
need for the tracker capture app to load. Can someone please assist.

 

We have a database called ISHP which Erling has been helping us to set up
the Tracker capture app for implementation. 

Since the app could only connect to 2.20 we upgraded our training database
some time ago to 2.20 snapshot build revision 19527 and also kept the
program changes we made updated in 2.19 live version since we couldn't risk
updating a live database when we did not know what the implications would
be. 

 

We now wanting to update the 2.19 Live database to 2.20 which we did on our
development instance but get the following errors which does not allow us to


 

1.      access the program in the UI or via the tracker capture app (see
open program error log) The problem seems to be that the programtype in our
database is Integer while in other 2.20 instances it is char varying. The
update script from 2.19>2.20 does not contain anything changing this so how
do I deal with this please.

 

2.      analytics is failing due to fieldname error   (see detailed
analytics error log attached but here is a short version) The problem is
that the temp table has a fieldname called de instead of dx - again
something I don't know how it happens or how to fix

 

Caused by: org.springframework.jdbc.BadSqlGrammarException:
StatementCallback; bad SQL grammar [update analytics_temp_2015 set
"uidlevel1" = null,"uidlevel2" = null,"uidlevel3" = null,"uidlevel4" =
null,"uidlevel5" = null where level > 5 and de in ('jx6lCxe8gYy',
'cjA6JH0kC9B')]; nested exception is org.postgresql.util.PSQLException:
ERROR: column "de" does not exist

We checked our other 2.20 databases and the column name is dx but we don't
know how to fix this - please help!

 

The program we are accessing on 2.19, 2.20 stable and 2.20 snapshot Version:
Build revision: 19527 Build date: 2015-07-01 08:47 is all set up exactly the
same way and I don't see why one would be able to open the program, open
tracker capture in the UI and log in on tracker capture app only on the 2.20
snapshot version and not on 2.20 stable. Can you please assist us with what
is wrong?

 

 

Regards,

 

Elmarie Claasen

Hisp logo

Project Manager

Health Information Systems Program

Tel:      041-367 1027

Cell:     082 374 2209

E-mail:  <mailto:elmarie@xxxxxxxx> elmarie@xxxxxxxx

Skype:  elmarie.claasen52 

 

 

This message and any attachments are subject to a disclaimer published at
<http://www.hisp.org/policies.html#comms_disclaimer>
http://www.hisp.org/policies.html#comms_disclaimer .   Please read the
disclaimer before opening any attachment or taking any other action in terms
of this electronic transmission. 
If you cannot access the disclaimer, kindly send an email to
<mailto:disclaimer@xxxxxxxx> disclaimer@xxxxxxxx and a copy will be provided
to you. By replying to this e-mail or opening any attachment you agree to be
bound by the provisions of the disclaimer. 

 


-- 


*This message and any attachments are subject to a disclaimer published at 
http://www.hisp.org/policies.html#comms_disclaimer 
<http://www.hisp.org/policies.html#comms_disclaimer>.  Please read the 
disclaimer before opening any attachment or taking any other action in 
terms of this electronic transmission.  If you cannot access the 
disclaimer, kindly send an email to disclaimer@xxxxxxxx 
<disclaimer@xxxxxxxx> and a copy will be provided to you. By replying to 
this e-mail or opening any attachment you agree to be bound by the 
provisions of the disclaimer.*

PNG image

* INFO  2015-07-29 12:53:45,703 [Level: INFO, category: DATAMART, time: Wed Jul 29 12:53:45 SAST 2015, message: Analytics table update process started] (InMemoryNotifier.java [taskScheduler-2])
* INFO  2015-07-29 12:53:45,754 [Level: INFO, category: DATAMART, time: Wed Jul 29 12:53:45 SAST 2015, message: Updating resource tables] (InMemoryNotifier.java [taskScheduler-2])
* INFO  2015-07-29 12:53:45,773 Using 5 organisation unit levels for org unit structure table (DefaultResourceTableService.java [taskScheduler-2])
* INFO  2015-07-29 12:53:45,784 Create organisation unit structure table SQL: CREATE TABLE _orgunitstructure ( organisationunitid INTEGER NOT NULL PRIMARY KEY, organisationunituid CHARACTER(11), level INTEGER, "idlevel1" INTEGER, "uidlevel1" CHARACTER(11), "idlevel2" INTEGER, "uidlevel2" CHARACTER(11), "idlevel3" INTEGER, "uidlevel3" CHARACTER(11), "idlevel4" INTEGER, "uidlevel4" CHARACTER(11), "idlevel5" INTEGER, "uidlevel5" CHARACTER(11)); (JdbcResourceTableStore.java [taskScheduler-2])
* INFO  2015-07-29 12:53:47,319 Organisation unit structure table generated (DefaultResourceTableService.java [taskScheduler-2])
* INFO  2015-07-29 12:53:47,468 Create category option combo name table SQL: CREATE TABLE _categoryoptioncomboname ( categoryoptioncomboid INTEGER NOT NULL PRIMARY KEY, categoryoptioncomboname VARCHAR(250), approvallevel INTEGER ) (JdbcResourceTableStore.java [taskScheduler-2])
* INFO  2015-07-29 12:53:47,483 Category option combo name table generated (DefaultResourceTableService.java [taskScheduler-2])
* INFO  2015-07-29 12:53:47,559 Create category option group set table SQL: CREATE TABLE _categoryoptiongroupsetstructure ( categoryoptioncomboid INTEGER NOT NULL, PRIMARY KEY ( categoryoptioncomboid ) ) (JdbcResourceTableStore.java [taskScheduler-2])
* INFO  2015-07-29 12:53:47,561 Category option group set table generated (DefaultResourceTableService.java [taskScheduler-2])
* INFO  2015-07-29 12:53:47,567 Create data element group set table SQL: CREATE TABLE _dataelementgroupsetstructure ( dataelementid INTEGER NOT NULL, dataelementname VARCHAR (250), PRIMARY KEY ( dataelementid ) ) (JdbcResourceTableStore.java [taskScheduler-2])
* INFO  2015-07-29 12:53:47,568 Populate data element group set structure SQL: insert into _dataelementgroupsetstructure select d.dataelementid as dataelementid, d.name as dataelementname from dataelement d (JdbcResourceTableStore.java [taskScheduler-2])
* INFO  2015-07-29 12:53:47,569 Data element group set table generated (DefaultResourceTableService.java [taskScheduler-2])
* INFO  2015-07-29 12:53:47,574 Create indicator group set table SQL: CREATE TABLE _indicatorgroupsetstructure ( indicatorid INTEGER NOT NULL, indicatorname VARCHAR (250), PRIMARY KEY ( indicatorid ) ) (JdbcResourceTableStore.java [taskScheduler-2])
* INFO  2015-07-29 12:53:47,576 Populate indicator group set structure SQL: insert into _indicatorgroupsetstructure select i.indicatorid as indicatorid, i.name as indicatorname from indicator i (JdbcResourceTableStore.java [taskScheduler-2])
* INFO  2015-07-29 12:53:47,576 Indicator group set table generated (DefaultResourceTableService.java [taskScheduler-2])
* INFO  2015-07-29 12:53:47,585 Create organisation unit group set table SQL: CREATE TABLE _organisationunitgroupsetstructure ( organisationunitid INTEGER NOT NULL, organisationunitname VARCHAR (250), "OrgUnitOwnership" VARCHAR (250), "CkIy9PyAAsM" CHARACTER(11), "OrgUnitRuralUrban" VARCHAR (250), "nQoWiIYO3nt" CHARACTER(11), "OrgUnitType" VARCHAR (250), "BmSB4vqoDfI" CHARACTER(11), "QuintileClassification" VARCHAR (250), "IiDqF9APXUm" CHARACTER(11), PRIMARY KEY ( organisationunitid ) ) (JdbcResourceTableStore.java [taskScheduler-2])
* INFO  2015-07-29 12:53:47,588 Populate organisation unit group set structure SQL: insert into _organisationunitgroupsetstructure select ou.organisationunitid as organisationunitid, ou.name as organisationunitname, (select oug.name from orgunitgroup oug inner join orgunitgroupmembers ougm on ougm.orgunitgroupid = oug.orgunitgroupid inner join orgunitgroupsetmembers ougsm on ougsm.orgunitgroupid = ougm.orgunitgroupid and ougsm.orgunitgroupsetid = 23755 where ougm.organisationunitid = ou.organisationunitid limit 1) as "OrgUnitOwnership", (select oug.uid from orgunitgroup oug inner join orgunitgroupmembers ougm on ougm.orgunitgroupid = oug.orgunitgroupid inner join orgunitgroupsetmembers ougsm on ougsm.orgunitgroupid = ougm.orgunitgroupid and ougsm.orgunitgroupsetid = 23755 where ougm.organisationunitid = ou.organisationunitid limit 1) as "CkIy9PyAAsM", (select oug.name from orgunitgroup oug inner join orgunitgroupmembers ougm on ougm.orgunitgroupid = oug.orgunitgroupid inner join orgunitgroupsetmembers ougsm on ougsm.orgunitgroupid = ougm.orgunitgroupid and ougsm.orgunitgroupsetid = 23756 where ougm.organisationunitid = ou.organisationunitid limit 1) as "OrgUnitRuralUrban", (select oug.uid from orgunitgroup oug inner join orgunitgroupmembers ougm on ougm.orgunitgroupid = oug.orgunitgroupid inner join orgunitgroupsetmembers ougsm on ougsm.orgunitgroupid = ougm.orgunitgroupid and ougsm.orgunitgroupsetid = 23756 where ougm.organisationunitid = ou.organisationunitid limit 1) as "nQoWiIYO3nt", (select oug.name from orgunitgroup oug inner join orgunitgroupmembers ougm on ougm.orgunitgroupid = oug.orgunitgroupid inner join orgunitgroupsetmembers ougsm on ougsm.orgunitgroupid = ougm.orgunitgroupid and ougsm.orgunitgroupsetid = 23754 where ougm.organisationunitid = ou.organisationunitid limit 1) as "OrgUnitType", (select oug.uid from orgunitgroup oug inner join orgunitgroupmembers ougm on ougm.orgunitgroupid = oug.orgunitgroupid inner join orgunitgroupsetmembers ougsm on ougsm.orgunitgroupid = ougm.orgunitgroupid and ougsm.orgunitgroupsetid = 23754 where ougm.organisationunitid = ou.organisationunitid limit 1) as "BmSB4vqoDfI", (select oug.name from orgunitgroup oug inner join orgunitgroupmembers ougm on ougm.orgunitgroupid = oug.orgunitgroupid inner join orgunitgroupsetmembers ougsm on ougsm.orgunitgroupid = ougm.orgunitgroupid and ougsm.orgunitgroupsetid = 23757 where ougm.organisationunitid = ou.organisationunitid limit 1) as "QuintileClassification", (select oug.uid from orgunitgroup oug inner join orgunitgroupmembers ougm on ougm.orgunitgroupid = oug.orgunitgroupid inner join orgunitgroupsetmembers ougsm on ougsm.orgunitgroupid = ougm.orgunitgroupid and ougsm.orgunitgroupsetid = 23757 where ougm.organisationunitid = ou.organisationunitid limit 1) as "IiDqF9APXUm" from organisationunit ou (JdbcResourceTableStore.java [taskScheduler-2])
* INFO  2015-07-29 12:53:49,081 Organisation unit group set table generated (DefaultResourceTableService.java [taskScheduler-2])
* INFO  2015-07-29 12:53:49,097 Create category structure table SQL: CREATE TABLE _categorystructure ( categoryoptioncomboid INTEGER NOT NULL, categoryoptioncomboname VARCHAR (250), "Age" VARCHAR (250), "KNqu95ktPhC" CHARACTER(11), PRIMARY KEY ( categoryoptioncomboid ) ) (JdbcResourceTableStore.java [taskScheduler-2])
* INFO  2015-07-29 12:53:49,100 Populate category structure SQL: insert into _categorystructure select coc.categoryoptioncomboid as cocid, con.categoryoptioncomboname as cocname, (select co.name from categoryoptioncombos_categoryoptions cocco inner join dataelementcategoryoption co on cocco.categoryoptionid = co.categoryoptionid inner join categories_categoryoptions cco on co.categoryoptionid = cco.categoryoptionid where coc.categoryoptioncomboid = cocco.categoryoptioncomboid and cco.categoryid = 71780 limit 1) as "Age", (select co.uid from categoryoptioncombos_categoryoptions cocco inner join dataelementcategoryoption co on cocco.categoryoptionid = co.categoryoptionid inner join categories_categoryoptions cco on co.categoryoptionid = cco.categoryoptionid where coc.categoryoptioncomboid = cocco.categoryoptioncomboid and cco.categoryid = 71780 limit 1) as "KNqu95ktPhC" from categoryoptioncombo coc inner join _categoryoptioncomboname con on coc.categoryoptioncomboid = con.categoryoptioncomboid (JdbcResourceTableStore.java [taskScheduler-2])
* INFO  2015-07-29 12:53:49,101 Category table generated (DefaultResourceTableService.java [taskScheduler-2])
* INFO  2015-07-29 12:53:49,151 Create data element structure SQL: CREATE TABLE _dataelementstructure ( dataelementid INTEGER NOT NULL PRIMARY KEY, dataelementuid CHARACTER(11), dataelementname VARCHAR(250), datasetid INTEGER, datasetuid CHARACTER(11), datasetname VARCHAR(250), datasetapprovallevel INTEGER, periodtypeid INTEGER, periodtypename VARCHAR(250) ) (JdbcResourceTableStore.java [taskScheduler-2])
* INFO  2015-07-29 12:53:49,218 Data element table generated (DefaultResourceTableService.java [taskScheduler-2])
* INFO  2015-07-29 12:53:49,318 Create period structure SQL: CREATE TABLE _periodstructure (periodid INTEGER NOT NULL PRIMARY KEY, iso VARCHAR(15) NOT NULL, daysno INTEGER NOT NULL, "daily" VARCHAR(15), "weekly" VARCHAR(15), "monthly" VARCHAR(15), "bimonthly" VARCHAR(15), "quarterly" VARCHAR(15), "sixmonthly" VARCHAR(15), "sixmonthlyapril" VARCHAR(15), "yearly" VARCHAR(15), "financialapril" VARCHAR(15), "financialjuly" VARCHAR(15), "financialoct" VARCHAR(15)) (JdbcResourceTableStore.java [taskScheduler-2])
* INFO  2015-07-29 12:53:49,378 Date period table generated (DefaultResourceTableService.java [taskScheduler-2])
* INFO  2015-07-29 12:53:49,396 Create date period structure SQL: CREATE TABLE _dateperiodstructure (dateperiod DATE NOT NULL PRIMARY KEY, "daily" VARCHAR(15), "weekly" VARCHAR(15), "monthly" VARCHAR(15), "bimonthly" VARCHAR(15), "quarterly" VARCHAR(15), "sixmonthly" VARCHAR(15), "sixmonthlyapril" VARCHAR(15), "yearly" VARCHAR(15), "financialapril" VARCHAR(15), "financialjuly" VARCHAR(15), "financialoct" VARCHAR(15)) (JdbcResourceTableStore.java [taskScheduler-2])
* INFO  2015-07-29 12:53:53,109 Period table generated (DefaultResourceTableService.java [taskScheduler-2])
* INFO  2015-07-29 12:53:53,110 Create data element category option combo SQL: CREATE TABLE _dataelementcategoryoptioncombo (dataelementid INTEGER NOT NULL, dataelementuid VARCHAR(11) NOT NULL, categoryoptioncomboid INTEGER NOT NULL, categoryoptioncombouid VARCHAR(11) NOT NULL) (JdbcResourceTableStore.java [taskScheduler-2])
* INFO  2015-07-29 12:53:53,111 Insert data element category option combo SQL: insert into _dataelementcategoryoptioncombo (dataelementid, dataelementuid, categoryoptioncomboid, categoryoptioncombouid) select de.dataelementid as dataelementid, de.uid as dataelementuid, coc.categoryoptioncomboid as categoryoptioncomboid, coc.uid as categoryoptioncombouid from dataelement de join categorycombos_optioncombos cc on de.categorycomboid = cc.categorycomboid join categoryoptioncombo coc on cc.categoryoptioncomboid = coc.categoryoptioncomboid (JdbcResourceTableStore.java [taskScheduler-2])
* INFO  2015-07-29 12:53:53,112 Create data element category option combo index SQL: CREATE INDEX dataelement_categoryoptioncombo ON _dataelementcategoryoptioncombo (dataelementuid, categoryoptioncombouid) (JdbcResourceTableStore.java [taskScheduler-2])
* INFO  2015-07-29 12:53:53,114 Data element category option combo table generated (DefaultResourceTableService.java [taskScheduler-2])
* INFO  2015-07-29 12:53:53,183 [Level: INFO, category: DATAMART, time: Wed Jul 29 12:53:53 SAST 2015, message: Updating analytics tables] (InMemoryNotifier.java [taskScheduler-2])
* INFO  2015-07-29 12:53:53,185 Starting update, processes: 3, org unit levels: 5: 00:00:00.000 (Clock.java [taskScheduler-2])
* INFO  2015-07-29 12:53:53,192 Approval enabled: false (JdbcAnalyticsTableManager.java [taskScheduler-2])
* INFO  2015-07-29 12:53:53,192 Get tables using earliest: null (AbstractJdbcTableManager.java [taskScheduler-2])
* INFO  2015-07-29 12:53:53,288 Table update start: analytics, processes: 3, partitions: [analytics_2015], last years: null, earliest: null: 00:00:00.103 (Clock.java [taskScheduler-2])
* INFO  2015-07-29 12:53:53,288 [Level: INFO, category: DATAMART, time: Wed Jul 29 12:53:53 SAST 2015, message: Performing pre-create table work, processes: 3, org unit levels: 5] (InMemoryNotifier.java [taskScheduler-2])
* INFO  2015-07-29 12:53:53,289 Performed pre-create table work: 00:00:00.104 (Clock.java [taskScheduler-2])
* INFO  2015-07-29 12:53:53,289 [Level: INFO, category: DATAMART, time: Wed Jul 29 12:53:53 SAST 2015, message: Creating analytics tables] (InMemoryNotifier.java [taskScheduler-2])
* INFO  2015-07-29 12:53:53,293 Creating table: analytics_temp_2015, columns: 26 (JdbcAnalyticsTableManager.java [taskScheduler-2])
* INFO  2015-07-29 12:53:53,296 Created analytics tables: 00:00:00.111 (Clock.java [taskScheduler-2])
* INFO  2015-07-29 12:53:53,296 [Level: INFO, category: DATAMART, time: Wed Jul 29 12:53:53 SAST 2015, message: Populating analytics tables] (InMemoryNotifier.java [taskScheduler-2])
* INFO  2015-07-29 12:53:53,296 Populate table task number: 1 (DefaultAnalyticsTableService.java [taskScheduler-2])
* INFO  2015-07-29 12:53:55,304 Populated analytics_temp_2015, int: 2.00 seconds (AbstractJdbcTableManager.java [SimpleAsyncTaskExecutor-67])
* INFO  2015-07-29 12:53:55,324 Populated analytics_temp_2015, bool: 0.01 seconds (AbstractJdbcTableManager.java [SimpleAsyncTaskExecutor-67])
* INFO  2015-07-29 12:53:55,346 Populated analytics_temp_2015, bool: 0.02 seconds (AbstractJdbcTableManager.java [SimpleAsyncTaskExecutor-67])
* INFO  2015-07-29 12:53:55,358 Populated analytics_temp_2015, trueOnly: 0.01 seconds (AbstractJdbcTableManager.java [SimpleAsyncTaskExecutor-67])
* INFO  2015-07-29 12:53:55,373 Populated analytics_temp_2015, string: 0.01 seconds (AbstractJdbcTableManager.java [SimpleAsyncTaskExecutor-67])
* INFO  2015-07-29 12:53:55,374 Populated analytics tables: 00:00:02.189 (Clock.java [taskScheduler-2])
* INFO  2015-07-29 12:53:55,374 [Level: INFO, category: DATAMART, time: Wed Jul 29 12:53:55 SAST 2015, message: Applying aggregation levels] (InMemoryNotifier.java [taskScheduler-2])
* INFO  2015-07-29 12:53:55,380 [Level: ERROR, category: DATAMART, time: Wed Jul 29 12:53:55 SAST 2015, message: Process failed: Exception during execution] (InMemoryNotifier.java [taskScheduler-2])
* ERROR 2015-07-29 12:53:55,391 Unexpected error occurred in scheduled task. (TaskUtils.java [taskScheduler-2])
java.lang.RuntimeException: Exception during execution
	at org.hisp.dhis.commons.util.ConcurrentUtils.waitForCompletion(ConcurrentUtils.java:57)
	at org.hisp.dhis.analytics.table.DefaultAnalyticsTableService.applyAggregationLevels(DefaultAnalyticsTableService.java:244)
	at org.hisp.dhis.analytics.table.DefaultAnalyticsTableService.update(DefaultAnalyticsTableService.java:133)
	at org.hisp.dhis.analytics.table.scheduling.AnalyticsTableTask.run(AnalyticsTableTask.java:140)
	at org.hisp.dhis.scheduling.ScheduledTasks.run(ScheduledTasks.java:60)
	at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
Caused by: java.util.concurrent.ExecutionException: org.springframework.jdbc.BadSqlGrammarException: StatementCallback; bad SQL grammar [update analytics_temp_2015 set "uidlevel1" = null,"uidlevel2" = null,"uidlevel3" = null,"uidlevel4" = null,"uidlevel5" = null where level > 5 and de in ('jx6lCxe8gYy', 'cjA6JH0kC9B')]; nested exception is org.postgresql.util.PSQLException: ERROR: column "de" does not exist
  Position: 147
	at java.util.concurrent.FutureTask.report(FutureTask.java:122)
	at java.util.concurrent.FutureTask.get(FutureTask.java:192)
	at org.hisp.dhis.commons.util.ConcurrentUtils.waitForCompletion(ConcurrentUtils.java:53)
	... 12 more
Caused by: org.springframework.jdbc.BadSqlGrammarException: StatementCallback; bad SQL grammar [update analytics_temp_2015 set "uidlevel1" = null,"uidlevel2" = null,"uidlevel3" = null,"uidlevel4" = null,"uidlevel5" = null where level > 5 and de in ('jx6lCxe8gYy', 'cjA6JH0kC9B')]; nested exception is org.postgresql.util.PSQLException: ERROR: column "de" does not exist
  Position: 147
	at org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.doTranslate(SQLStateSQLExceptionTranslator.java:99)
	at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:73)
	at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)
	at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)
	at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:416)
	at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:440)
	at org.hisp.dhis.analytics.table.JdbcAnalyticsTableManager.applyAggregationLevels(JdbcAnalyticsTableManager.java:420)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
	at org.springframework.aop.interceptor.AsyncExecutionInterceptor$1.call(AsyncExecutionInterceptor.java:110)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	... 1 more
Caused by: org.postgresql.util.PSQLException: ERROR: column "de" does not exist
  Position: 147
	at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2198)
	at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1927)
	at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255)
	at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:561)
	at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:405)
	at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:397)
	at com.mchange.v2.c3p0.impl.NewProxyStatement.execute(NewProxyStatement.java:1006)
	at org.springframework.jdbc.core.JdbcTemplate$1ExecuteStatementCallback.doInStatement(JdbcTemplate.java:432)
	at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:405)
	... 12 more
* ERROR 2015-07-29 12:56:11,392 Error while executing action (ExceptionInterceptor.java [http-nio-8081-exec-6])
java.lang.IllegalArgumentException: No enum constant org.hisp.dhis.program.ProgramType.1
	at java.lang.Enum.valueOf(Enum.java:238)
	at org.hisp.dhis.hibernate.EnumUserType.nullSafeGet(EnumUserType.java:76)
	at org.hibernate.type.CustomType.nullSafeGet(CustomType.java:127)
	at org.hibernate.type.AbstractType.hydrate(AbstractType.java:106)
	at org.hibernate.persister.entity.AbstractEntityPersister.hydrate(AbstractEntityPersister.java:2924)
	at org.hibernate.loader.Loader.loadFromResultSet(Loader.java:1695)
	at org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1627)
	at org.hibernate.loader.Loader.getRow(Loader.java:1509)
	at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:719)
	at org.hibernate.loader.Loader.processResultSet(Loader.java:949)
	at org.hibernate.loader.Loader.doQuery(Loader.java:917)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:348)
	at org.hibernate.loader.Loader.doList(Loader.java:2550)
	at org.hibernate.loader.Loader.listUsingQueryCache(Loader.java:2395)
	at org.hibernate.loader.Loader.list(Loader.java:2358)
	at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:124)
	at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1623)
	at org.hibernate.internal.CriteriaImpl.list(CriteriaImpl.java:374)
	at org.hisp.dhis.common.hibernate.HibernateIdentifiableObjectStore.getAllOrderedName(HibernateIdentifiableObjectStore.java:285)
	at org.hisp.dhis.program.DefaultProgramService.getProgramsBetween(DefaultProgramService.java:251)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
	at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
	at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281)
	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
	at com.sun.proxy.$Proxy53.getProgramsBetween(Unknown Source)
	at org.hisp.dhis.trackedentity.action.program.GetProgramListAction.execute(GetProgramListAction.java:102)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:450)
	at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:289)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:252)
	at org.hisp.dhis.webportal.interceptor.XWorkPortalUserInterceptor.intercept(XWorkPortalUserInterceptor.java:91)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
	at org.hisp.dhis.webportal.interceptor.XWorkPortalModuleInterceptor.intercept(XWorkPortalModuleInterceptor.java:92)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
	at org.hisp.dhis.webportal.interceptor.XWorkPortalMenuInterceptor.intercept(XWorkPortalMenuInterceptor.java:100)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
	at org.hisp.dhis.webportal.interceptor.XWorkPortalParamsInterceptor.intercept(XWorkPortalParamsInterceptor.java:150)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
	at org.hisp.dhis.interceptor.ContextInterceptor.intercept(ContextInterceptor.java:83)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
	at org.hisp.dhis.interceptor.UserSettingInterceptor.intercept(UserSettingInterceptor.java:84)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
	at org.hisp.dhis.security.intercept.LoginInterceptor.intercept(LoginInterceptor.java:85)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
	at org.hisp.dhis.security.intercept.XWorkSecurityInterceptor.intercept(XWorkSecurityInterceptor.java:116)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
	at org.hisp.dhis.interceptor.SystemSettingInterceptor.intercept(SystemSettingInterceptor.java:138)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
	at org.hisp.dhis.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:139)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
	at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:254)
	at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
	at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:191)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
	at org.hisp.dhis.interceptor.ExceptionInterceptor.intercept(ExceptionInterceptor.java:113)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
	at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:54)
	at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:562)
	at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
	at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:99)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
	at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
	at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
	at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
	at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:154)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
	at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
	at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:150)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
	at org.hisp.dhis.security.filter.CorsFilter.doFilter(CorsFilter.java:93)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
	at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:199)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
	at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:199)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
	at org.hisp.dhis.security.filter.CustomAuthenticationFilter.doFilter(CustomAuthenticationFilter.java:64)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
	at org.springframework.security.oauth2.provider.authentication.OAuth2AuthenticationProcessingFilter.doFilter(OAuth2AuthenticationProcessingFilter.java:140)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
	at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
	at org.hisp.dhis.security.filter.AutomaticAccessFilter.doFilter(AutomaticAccessFilter.java:115)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
	at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:57)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
	at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:50)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
	at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
	at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
	at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344)
	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.springframework.orm.hibernate4.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:151)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:85)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:136)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:526)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:655)
	at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1566)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1523)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at org.apache.tomcat.util.threads.TaskThread$Wrappin

Follow ups