@Gassim I am currently experiencing this problem nested exception is org.postgresql.util.PSQLException: ERROR: date/time field value out of range: "0000-11-30"
I did all the data cleaning for all the dates as discussed in the JIRA.
This is version 2.39.4, Build revision 94310fb
Below is a full error log
[
INSERT INTO analytics_enrollment_temp_kieuz3dtepm
(
"uidlevel1",
"uidlevel2",
"uidlevel3",
"uidlevel4",
"uidlevel5",
"uidlevel6",
"uidlevel7",
"daily",
"weekly",
"weeklywednesday",
"weeklythursday",
"weeklysaturday",
"weeklysunday",
"biweekly",
"monthly",
"bimonthly",
"quarterly",
"quarterlynov",
"sixmonthly",
"sixmonthlyapril",
"sixmonthlynov",
"yearly",
"financialapril",
"financialjuly",
"financialoct",
"financialnov",
"XlWhhCvkNhv",
"plbdIxS05ws",
"g3QoANebtvt",
"NUuUjfCQqj3",
"P9lfonpL2dg",
"X6HKRWOowJw",
"JfKaih9Kvrb",
"CqooW7qp7Lh",
"pi",
"enrollmentdate",
"incidentdate",
"completeddate",
"lastupdated",
"storedby",
"createdbyusername",
"createdbyname",
"createdbylastname",
"createdbydisplayname",
"lastupdatedbyusername",
"lastupdatedbyname",
"lastupdatedbylastname",
"lastupdatedbydisplayname",
"enrollmentstatus",
"longitude",
"latitude",
"ou",
"ouname",
"oucode",
"oulevel",
"pigeometry",
"registrationou",
"tei",
"teigeometry"
)
SELECT ous."uidlevel1",
ous."uidlevel2",
ous."uidlevel3",
ous."uidlevel4",
ous."uidlevel5",
ous."uidlevel6",
ous."uidlevel7",
dps."daily",
dps."weekly",
dps."weeklywednesday",
dps."weeklythursday",
dps."weeklysaturday",
dps."weeklysunday",
dps."biweekly",
dps."monthly",
dps."bimonthly",
dps."quarterly",
dps."quarterlynov",
dps."sixmonthly",
dps."sixmonthlyapril",
dps."sixmonthlynov",
dps."yearly",
dps."financialapril",
dps."financialjuly",
dps."financialoct",
dps."financialnov",
(
SELECT value
FROM trackedentityattributevalue
WHERE trackedentityinstanceid=pi.trackedentityinstanceid
AND trackedentityattributeid=36597) AS "XlWhhCvkNhv",
(
SELECT value
FROM trackedentityattributevalue
WHERE trackedentityinstanceid=pi.trackedentityinstanceid
AND trackedentityattributeid=36599) AS "plbdIxS05ws",
(
SELECT value
FROM trackedentityattributevalue
WHERE trackedentityinstanceid=pi.trackedentityinstanceid
AND trackedentityattributeid=36592) AS "g3QoANebtvt",
(
SELECT cast(value AS timestamp)
FROM trackedentityattributevalue
WHERE trackedentityinstanceid=pi.trackedentityinstanceid
AND trackedentityattributeid=36595
AND value ~* '^\d{4}-\d{2}-\d{2}(\s|T)?((\d{2}:)(\d{2}:)?(\d{2}))?(|.(\d{3})|.(\d{3})Z)?$') AS "NUuUjfCQqj3",
(
SELECT value
FROM trackedentityattributevalue
WHERE trackedentityinstanceid=pi.trackedentityinstanceid
AND trackedentityattributeid=36593) AS "P9lfonpL2dg",
(
SELECT value
FROM trackedentityattributevalue
WHERE trackedentityinstanceid=pi.trackedentityinstanceid
AND trackedentityattributeid=36598) AS "X6HKRWOowJw",
(
SELECT value
FROM trackedentityattributevalue
WHERE trackedentityinstanceid=pi.trackedentityinstanceid
AND trackedentityattributeid=36594) AS "JfKaih9Kvrb",
(
SELECT value
FROM trackedentityattributevalue
WHERE trackedentityinstanceid=pi.trackedentityinstanceid
AND trackedentityattributeid=36596) AS "CqooW7qp7Lh",
pi.UID,
pi.enrollmentdate,
pi.incidentdate,
CASE pi.status
WHEN 'COMPLETED' THEN pi.enddate
END,
pi.lastupdated,
pi.storedby,
pi.createdbyuserinfo ->> 'username' AS createdbyusername,
pi.createdbyuserinfo ->> 'firstName' AS createdbyname,
pi.createdbyuserinfo ->> 'surname' AS createdbylastname,
CASE
WHEN coalesce(trim(pi.createdbyuserinfo ->> 'surname'), '') = ''
AND coalesce(trim(pi.createdbyuserinfo ->> 'firstName'), '') = ''
AND coalesce(trim(pi.createdbyuserinfo ->> 'username'), '') = '' THEN NULL
WHEN coalesce(trim(pi.createdbyuserinfo ->> 'surname'), '') = ''
AND coalesce(trim(pi.createdbyuserinfo ->> 'firstName'), '') = ''
AND coalesce(trim(pi.createdbyuserinfo ->> 'username'), '') <> '' THEN trim(pi.createdbyuserinfo ->> 'username')
WHEN coalesce(trim(pi.createdbyuserinfo ->> 'surname'), '') = ''
AND coalesce(trim(pi.createdbyuserinfo ->> 'firstName'), '') <> ''
AND coalesce(trim(pi.createdbyuserinfo ->> 'username'), '') = '' THEN trim(pi.createdbyuserinfo ->> 'firstName')
WHEN coalesce(trim(pi.createdbyuserinfo ->> 'surname'), '') <> ''
AND coalesce(trim(pi.createdbyuserinfo ->> 'firstName'), '') = ''
AND coalesce(trim(pi.createdbyuserinfo ->> 'username'), '') = '' THEN trim(pi.createdbyuserinfo ->> 'surname')
WHEN coalesce(trim(pi.createdbyuserinfo ->> 'surname'), '') <> ''
AND coalesce(trim(pi.createdbyuserinfo ->> 'firstName'), '') <> ''
AND coalesce(trim(pi.createdbyuserinfo ->> 'username'), '') = '' THEN concat(trim(pi.createdbyuserinfo ->> 'surname'), ', ', trim(pi.createdbyuserinfo ->> 'firstName'))
WHEN coalesce(trim(pi.createdbyuserinfo ->> 'surname'), '') = ''
AND coalesce(trim(pi.createdbyuserinfo ->> 'firstName'), '') <> ''
AND coalesce(trim(pi.createdbyuserinfo ->> 'username'), '') <> '' THEN concat(trim(pi.createdbyuserinfo ->> 'firstName'), ' (', trim(pi.createdbyuserinfo ->> 'username'), ')')
WHEN coalesce(trim(pi.createdbyuserinfo ->> 'surname'), '') <> ''
AND coalesce(trim(pi.createdbyuserinfo ->> 'firstName'), '') = ''
AND coalesce(trim(pi.createdbyuserinfo ->> 'username'), '') <> '' THEN concat(trim(pi.createdbyuserinfo ->> 'surname'), ' (', trim(pi.createdbyuserinfo ->> 'username'), ')')
ELSE concat(trim(pi.createdbyuserinfo ->> 'surname'), ', ', trim(pi.createdbyuserinfo ->> 'firstName'), ' (', trim(pi.createdbyuserinfo ->> 'username'), ')')
END AS createdbydisplayname,
pi.lastupdatedbyuserinfo ->> 'username' AS lastupdatedbyusername,
pi.lastupdatedbyuserinfo ->> 'firstName' AS lastupdatedbyname,
pi.lastupdatedbyuserinfo ->> 'surname' AS lastupdatedbylastname,
CASE
WHEN coalesce(trim(pi.lastupdatedbyuserinfo ->> 'surname'), '') = ''
AND coalesce(trim(pi.lastupdatedbyuserinfo ->> 'firstName'), '') = ''
AND coalesce(trim(pi.lastupdatedbyuserinfo ->> 'username'), '') = '' THEN NULL
WHEN coalesce(trim(pi.lastupdatedbyuserinfo ->> 'surname'), '') = ''
AND coalesce(trim(pi.lastupdatedbyuserinfo ->> 'firstName'), '') = ''
AND coalesce(trim(pi.lastupdatedbyuserinfo ->> 'username'), '') <> '' THEN trim(pi.lastupdatedbyuserinfo ->> 'username')
WHEN coalesce(trim(pi.lastupdatedbyuserinfo ->> 'surname'), '') = ''
AND coalesce(trim(pi.lastupdatedbyuserinfo ->> 'firstName'), '') <> ''
AND coalesce(trim(pi.lastupdatedbyuserinfo ->> 'username'), '') = '' THEN trim(pi.lastupdatedbyuserinfo ->> 'firstName')
WHEN coalesce(trim(pi.lastupdatedbyuserinfo ->> 'surname'), '') <> ''
AND coalesce(trim(pi.lastupdatedbyuserinfo ->> 'firstName'), '') = ''
AND coalesce(trim(pi.lastupdatedbyuserinfo ->> 'username'), '') = '' THEN trim(pi.lastupdatedbyuserinfo ->> 'surname')
WHEN coalesce(trim(pi.lastupdatedbyuserinfo ->> 'surname'), '') <> ''
AND coalesce(trim(pi.lastupdatedbyuserinfo ->> 'firstName'), '') <> ''
AND coalesce(trim(pi.lastupdatedbyuserinfo ->> 'username'), '') = '' THEN concat(trim(pi.lastupdatedbyuserinfo ->> 'surname'), ', ', trim(pi.lastupdatedbyuserinfo ->> 'firstName'))
WHEN coalesce(trim(pi.lastupdatedbyuserinfo ->> 'surname'), '') = ''
AND coalesce(trim(pi.lastupdatedbyuserinfo ->> 'firstName'), '') <> ''
AND coalesce(trim(pi.lastupdatedbyuserinfo ->> 'username'), '') <> '' THEN concat(trim(pi.lastupdatedbyuserinfo ->> 'firstName'), ' (', trim(pi.lastupdatedbyuserinfo ->> 'username'), ')')
WHEN coalesce(trim(pi.lastupdatedbyuserinfo ->> 'surname'), '') <> ''
AND coalesce(trim(pi.lastupdatedbyuserinfo ->> 'firstName'), '') = ''
AND coalesce(trim(pi.lastupdatedbyuserinfo ->> 'username'), '') <> '' THEN concat(trim(pi.lastupdatedbyuserinfo ->> 'surname'), ' (', trim(pi.lastupdatedbyuserinfo ->> 'username'), ')')
ELSE concat(trim(pi.lastupdatedbyuserinfo ->> 'surname'), ', ', trim(pi.lastupdatedbyuserinfo ->> 'firstName'), ' (', trim(pi.lastupdatedbyuserinfo ->> 'username'), ')')
END AS lastupdatedbydisplayname,
pi.status,
CASE
WHEN 'POINT' = geometrytype(pi.geometry) THEN st_x(pi.geometry)
ELSE NULL
END,
CASE
WHEN 'POINT' = geometrytype(pi.geometry) THEN st_y(pi.geometry)
ELSE NULL
END,
ou.UID,
ou.name,
ou.code,
ous.LEVEL,
pi.geometry,
coalesce(registrationou.UID,ou.UID),
tei.UID,
tei.geometry
FROM programinstance pi
inner join program pr
ON pi.programid=pr.programid
left join trackedentityinstance tei
ON pi.trackedentityinstanceid=tei.trackedentityinstanceid
AND tei.deleted IS FALSE
left join organisationunit registrationou
ON tei.organisationunitid=registrationou.organisationunitid
inner join organisationunit ou
ON pi.organisationunitid=ou.organisationunitid
left join _orgunitstructure ous
ON pi.organisationunitid=ous.organisationunitid
left join _organisationunitgroupsetstructure ougs
ON pi.organisationunitid=ougs.organisationunitid
AND (
cast(date_trunc('month', pi.enrollmentdate) AS DATE)=ougs.startdate
OR ougs.startdate IS NULL)
left join _dateperiodstructure dps
ON cast(pi.enrollmentdate AS DATE)=dps.dateperiod
WHERE pr.programid=36633
AND pi.organisationunitid IS NOT NULL
AND pi.lastupdated <= '2024-01-05T18:32:47' a[
INSERT INTO analytics_enrollment_temp_kieuz3dtepm
(
"uidlevel1",
"uidlevel2",
"uidlevel3",
"uidlevel4",
"uidlevel5",
"uidlevel6",
"uidlevel7",
"daily",
"weekly",
"weeklywednesday",
"weeklythursday",
"weeklysaturday",
"weeklysunday",
"biweekly",
"monthly",
"bimonthly",
"quarterly",
"quarterlynov",
"sixmonthly",
"sixmonthlyapril",
"sixmonthlynov",
"yearly",
"financialapril",
"financialjuly",
"financialoct",
"financialnov",
"XlWhhCvkNhv",
"plbdIxS05ws",
"g3QoANebtvt",
"NUuUjfCQqj3",
"P9lfonpL2dg",
"X6HKRWOowJw",
"JfKaih9Kvrb",
"CqooW7qp7Lh",
"pi",
"enrollmentdate",
"incidentdate",
"completeddate",
"lastupdated",
"storedby",
"createdbyusername",
"createdbyname",
"createdbylastname",
"createdbydisplayname",
"lastupdatedbyusername",
"lastupdatedbyname",
"lastupdatedbylastname",
"lastupdatedbydisplayname",
"enrollmentstatus",
"longitude",
"latitude",
"ou",
"ouname",
"oucode",
"oulevel",
"pigeometry",
"registrationou",
"tei",
"teigeometry"
)
SELECT ous."uidlevel1",
ous."uidlevel2",
ous."uidlevel3",
ous."uidlevel4",
ous."uidlevel5",
ous."uidlevel6",
ous."uidlevel7",
dps."daily",
dps."weekly",
dps."weeklywednesday",
dps."weeklythursday",
dps."weeklysaturday",
dps."weeklysunday",
dps."biweekly",
dps."monthly",
dps."bimonthly",
dps."quarterly",
dps."quarterlynov",
dps."sixmonthly",
dps."sixmonthlyapril",
dps."sixmonthlynov",
dps."yearly",
dps."financialapril",
dps."financialjuly",
dps."financialoct",
dps."financialnov",
(
SELECT value
FROM trackedentityattributevalue
WHERE trackedentityinstanceid=pi.trackedentityinstanceid
AND trackedentityattributeid=36597) AS "XlWhhCvkNhv",
(
SELECT value
FROM trackedentityattributevalue
WHERE trackedentityinstanceid=pi.trackedentityinstanceid
AND trackedentityattributeid=36599) AS "plbdIxS05ws",
(
SELECT value
FROM trackedentityattributevalue
WHERE trackedentityinstanceid=pi.trackedentityinstanceid
AND trackedentityattributeid=36592) AS "g3QoANebtvt",
(
SELECT cast(value AS timestamp)
FROM trackedentityattributevalue
WHERE trackedentityinstanceid=pi.trackedentityinstanceid
AND trackedentityattributeid=36595
AND value ~* '^\d{4}-\d{2}-\d{2}(\s|T)?((\d{2}:)(\d{2}:)?(\d{2}))?(|.(\d{3})|.(\d{3})Z)?$') AS "NUuUjfCQqj3",
(
SELECT value
FROM trackedentityattributevalue
WHERE trackedentityinstanceid=pi.trackedentityinstanceid
AND trackedentityattributeid=36593) AS "P9lfonpL2dg",
(
SELECT value
FROM trackedentityattributevalue
WHERE trackedentityinstanceid=pi.trackedentityinstanceid
AND trackedentityattributeid=36598) AS "X6HKRWOowJw",
(
SELECT value
FROM trackedentityattributevalue
WHERE trackedentityinstanceid=pi.trackedentityinstanceid
AND trackedentityattributeid=36594) AS "JfKaih9Kvrb",
(
SELECT value
FROM trackedentityattributevalue
WHERE trackedentityinstanceid=pi.trackedentityinstanceid
AND trackedentityattributeid=36596) AS "CqooW7qp7Lh",
pi.UID,
pi.enrollmentdate,
pi.incidentdate,
CASE pi.status
WHEN 'COMPLETED' THEN pi.enddate
END,
pi.lastupdated,
pi.storedby,
pi.createdbyuserinfo ->> 'username' AS createdbyusername,
pi.createdbyuserinfo ->> 'firstName' AS createdbyname,
pi.createdbyuserinfo ->> 'surname' AS createdbylastname,
CASE
WHEN coalesce(trim(pi.createdbyuserinfo ->> 'surname'), '') = ''
AND coalesce(trim(pi.createdbyuserinfo ->> 'firstName'), '') = ''
AND coalesce(trim(pi.createdbyuserinfo ->> 'username'), '') = '' THEN NULL
WHEN coalesce(trim(pi.createdbyuserinfo ->> 'surname'), '') = ''
AND coalesce(trim(pi.createdbyuserinfo ->> 'firstName'), '') = ''
AND coalesce(trim(pi.createdbyuserinfo ->> 'username'), '') <> '' THEN trim(pi.createdbyuserinfo ->> 'username')
WHEN coalesce(trim(pi.createdbyuserinfo ->> 'surname'), '') = ''
AND coalesce(trim(pi.createdbyuserinfo ->> 'firstName'), '') <> ''
AND coalesce(trim(pi.createdbyuserinfo ->> 'username'), '') = '' THEN trim(pi.createdbyuserinfo ->> 'firstName')
WHEN coalesce(trim(pi.createdbyuserinfo ->> 'surname'), '') <> ''
AND coalesce(trim(pi.createdbyuserinfo ->> 'firstName'), '') = ''
AND coalesce(trim(pi.createdbyuserinfo ->> 'username'), '') = '' THEN trim(pi.createdbyuserinfo ->> 'surname')
WHEN coalesce(trim(pi.createdbyuserinfo ->> 'surname'), '') <> ''
AND coalesce(trim(pi.createdbyuserinfo ->> 'firstName'), '') <> ''
AND coalesce(trim(pi.createdbyuserinfo ->> 'username'), '') = '' THEN concat(trim(pi.createdbyuserinfo ->> 'surname'), ', ', trim(pi.createdbyuserinfo ->> 'firstName'))
WHEN coalesce(trim(pi.createdbyuserinfo ->> 'surname'), '') = ''
AND coalesce(trim(pi.createdbyuserinfo ->> 'firstName'), '') <> ''
AND coalesce(trim(pi.createdbyuserinfo ->> 'username'), '') <> '' THEN concat(trim(pi.createdbyuserinfo ->> 'firstName'), ' (', trim(pi.createdbyuserinfo ->> 'username'), ')')
WHEN coalesce(trim(pi.createdbyuserinfo ->> 'surname'), '') <> ''
AND coalesce(trim(pi.createdbyuserinfo ->> 'firstName'), '') = ''
AND coalesce(trim(pi.createdbyuserinfo ->> 'username'), '') <> '' THEN concat(trim(pi.createdbyuserinfo ->> 'surname'), ' (', trim(pi.createdbyuserinfo ->> 'username'), ')')
ELSE concat(trim(pi.createdbyuserinfo ->> 'surname'), ', ', trim(pi.createdbyuserinfo ->> 'firstName'), ' (', trim(pi.createdbyuserinfo ->> 'username'), ')')
END AS createdbydisplayname,
pi.lastupdatedbyuserinfo ->> 'username' AS lastupdatedbyusername,
pi.lastupdatedbyuserinfo ->> 'firstName' AS lastupdatedbyname,
pi.lastupdatedbyuserinfo ->> 'surname' AS lastupdatedbylastname,
CASE
WHEN coalesce(trim(pi.lastupdatedbyuserinfo ->> 'surname'), '') = ''
AND coalesce(trim(pi.lastupdatedbyuserinfo ->> 'firstName'), '') = ''
AND coalesce(trim(pi.lastupdatedbyuserinfo ->> 'username'), '') = '' THEN NULL
WHEN coalesce(trim(pi.lastupdatedbyuserinfo ->> 'surname'), '') = ''
AND coalesce(trim(pi.lastupdatedbyuserinfo ->> 'firstName'), '') = ''
AND coalesce(trim(pi.lastupdatedbyuserinfo ->> 'username'), '') <> '' THEN trim(pi.lastupdatedbyuserinfo ->> 'username')
WHEN coalesce(trim(pi.lastupdatedbyuserinfo ->> 'surname'), '') = ''
AND coalesce(trim(pi.lastupdatedbyuserinfo ->> 'firstName'), '') <> ''
AND coalesce(trim(pi.lastupdatedbyuserinfo ->> 'username'), '') = '' THEN trim(pi.lastupdatedbyuserinfo ->> 'firstName')
WHEN coalesce(trim(pi.lastupdatedbyuserinfo ->> 'surname'), '') <> ''
AND coalesce(trim(pi.lastupdatedbyuserinfo ->> 'firstName'), '') = ''
AND coalesce(trim(pi.lastupdatedbyuserinfo ->> 'username'), '') = '' THEN trim(pi.lastupdatedbyuserinfo ->> 'surname')
WHEN coalesce(trim(pi.lastupdatedbyuserinfo ->> 'surname'), '') <> ''
AND coalesce(trim(pi.lastupdatedbyuserinfo ->> 'firstName'), '') <> ''
AND coalesce(trim(pi.lastupdatedbyuserinfo ->> 'username'), '') = '' THEN concat(trim(pi.lastupdatedbyuserinfo ->> 'surname'), ', ', trim(pi.lastupdatedbyuserinfo ->> 'firstName'))
WHEN coalesce(trim(pi.lastupdatedbyuserinfo ->> 'surname'), '') = ''
AND coalesce(trim(pi.lastupdatedbyuserinfo ->> 'firstName'), '') <> ''
AND coalesce(trim(pi.lastupdatedbyuserinfo ->> 'username'), '') <> '' THEN concat(trim(pi.lastupdatedbyuserinfo ->> 'firstName'), ' (', trim(pi.lastupdatedbyuserinfo ->> 'username'), ')')
WHEN coalesce(trim(pi.lastupdatedbyuserinfo ->> 'surname'), '') <> ''
AND coalesce(trim(pi.lastupdatedbyuserinfo ->> 'firstName'), '') = ''
AND coalesce(trim(pi.lastupdatedbyuserinfo ->> 'username'), '') <> '' THEN concat(trim(pi.lastupdatedbyuserinfo ->> 'surname'), ' (', trim(pi.lastupdatedbyuserinfo ->> 'username'), ')')
ELSE concat(trim(pi.lastupdatedbyuserinfo ->> 'surname'), ', ', trim(pi.lastupdatedbyuserinfo ->> 'firstName'), ' (', trim(pi.lastupdatedbyuserinfo ->> 'username'), ')')
END AS lastupdatedbydisplayname,
pi.status,
CASE
WHEN 'POINT' = geometrytype(pi.geometry) THEN st_x(pi.geometry)
ELSE NULL
END,
CASE
WHEN 'POINT' = geometrytype(pi.geometry) THEN st_y(pi.geometry)
ELSE NULL
END,
ou.UID,
ou.name,
ou.code,
ous.LEVEL,
pi.geometry,
coalesce(registrationou.UID,ou.UID),
tei.UID,
tei.geometry
FROM programinstance pi
inner join program pr
ON pi.programid=pr.programid
left join trackedentityinstance tei
ON pi.trackedentityinstanceid=tei.trackedentityinstanceid
AND tei.deleted IS FALSE
left join organisationunit registrationou
ON tei.organisationunitid=registrationou.organisationunitid
inner join organisationunit ou
ON pi.organisationunitid=ou.organisationunitid
left join _orgunitstructure ous
ON pi.organisationunitid=ous.organisationunitid
left join _organisationunitgroupsetstructure ougs
ON pi.organisationunitid=ougs.organisationunitid
AND (
cast(date_trunc('month', pi.enrollmentdate) AS DATE)=ougs.startdate
OR ougs.startdate IS NULL)
left join _dateperiodstructure dps
ON cast(pi.enrollmentdate AS DATE)=dps.dateperiod
WHERE pr.programid=36633
AND pi.organisationunitid IS NOT NULL
AND pi.lastupdated <= '2024-01-05T18:32:47'
AND pi.incidentdate IS NOT NULL
AND pi.deleted IS FALSE ];d pi.incidentdate IS NOT NULL
AND
pi.deleted
IS
FALSE ];
nested exception is org.postgresql.util.PSQLException: ERROR: date/time field value out of range: "0000-11-30"`
I have searched for that date - I cant find it.