"you haven't included the mappings of the relevant classes, nor the JDOQL
for the query being invoked."

JDOQL?
SELECT 'au.com.scds.chats.dom.report.view.ActivityParticipantAttendance' AS
nucleus_type,a0.activityabbreviatedname,a0.activityname,a0.arrivingtransporttype,a0.attended,a0.birthdate,a0.departingtransporttype,a0.firstname,a0.minutesattended,a0.participantstatus,a0.regionname,a0.slk,a0.startdatetime,a0.surname
FROM activityparticipantattendance a0 WHERE a0.startdatetime >= <2016-01-01
00:00:00.0> AND a0.startdatetime < <2016-02-01 00:00:00.0> AND a0.attended
= <true> AND a0.regionname = <'SOUTH'>

class

https://github.com/Stephen-Cameron-Data-Services/isis-chats/blob/master/reports/src/main/java/au/com/scds/chats/dom/report/view/ActivityParticipantAttendance.java

On Fri, Jul 1, 2016 at 4:30 PM, Stephen Cameron <[email protected]>
wrote:

> Thanks Dan,
>
> I'll try a few of your suggestions, been meaning to try the type-safe
> queries.
>
>
>
>
>
>
> On Fri, Jul 1, 2016 at 4:19 PM, Dan Haywood <[email protected]>
> wrote:
>
>> It's a bit hard to comment on this in isolation; you haven't included the
>> mappings of the relevant classes, nor the JDOQL for the query being
>> invoked.
>>
>> Perhaps you could use the logging jdbc driver (see persistor.properties)
>> to
>> grab the SQL being submitted.
>>
>> Or, if you point at SQL Server (now on all platforms), then its Profiler
>> will let you grab the SQL from the server side.
>>
>> And finally, you might want to experiment with rewriting the query either
>> using DN's own query API or using the type-safe "Q*" queries, and submit
>> via IsisJdoSupport#getPersistenceManager().
>>
>> Meanwhile, if you could provide a test case of some sort and describe the
>> exact steps to reproduce the problem, I'll try to take a look over the
>> next
>> day or two.
>>
>> Thx
>> Dan
>>
>> PS: yes, I do agree that ORMs are great except when they aren't.
>>
>>
>>
>> On 1 July 2016 at 07:12, Stephen Cameron <[email protected]>
>> wrote:
>>
>> > Hi,
>> >
>> > I have an ViewModel based on a database view. The view returns an
>> ordered
>> > set of results, well it does at the database level.
>> >
>> > When I execute the same query via Isis and Datanucleus, I am seeing a
>> kind
>> > of corruption of the results where a small set of Date values is
>> different
>> > to what I see in the direct query on the view via MySQL Workbench.
>> >
>> > Below is some results from the code version to illustrate the problem:
>> >
>> > StyxValleyReserveFULL/clo,2016-01-11T09:00:00.000+11:00,Geard
>> > ,Graeme,2016-06-24,540
>> > StyxValleyReserveFULL/clo,2016-01-11T09:00:00.000+11:00,Hamilton
>> > ,Jane,1955-04-03,540
>> >
>> >
>> StyxValleyReserveFULL/clo,2016-01-11T09:00:00.000+11:00,Turner,Kathleen,1928-06-10,540
>> >
>> >
>> StyxValleyReserveFULL/clo,2016-01-11T09:00:00.000+11:00,Taylor,Rebel,1931-12-17,540
>> >
>> >
>> StyxValleyReserveFULL/clo,2016-01-11T09:00:00.000+11:00,Jacques,Marlene,1943-11-16,540
>> > StyxValleyReserveFULL/clo,2016-01-11T09:00:00.000+11:00,Healy
>> > ,Shirley,1936-03-14,540
>> > StyxValleyReserveFULL/clo,2016-01-11T09:00:00.000+11:00,Knight,Tony
>> > ,1943-01-09,540
>> > StyxValleyReserveFULL/clo,2016-01-11T09:00:00.000+11:00,Van de
>> > Vusse,Mathilda,1931-09-14,540
>> >
>> >
>> StyxValleyReserveFULL/clo,2016-01-11T09:00:00.000+11:00,Johnston,Priscilla,1942-12-16,540
>> > ArtGroup,2016-01-13T09:30:00.000+11:00,Rozynski,Noella,1933-12-25,240
>> > ArtGroup,2016-01-20T09:30:00.000+11:00,Huigsloot,Betty,1934-05-07,240
>> > ArtGroup,2016-01-27T09:30:00.000+11:00,Knight,Tony ,1943-01-09,210
>> > ArtGroup,2016-01-13T09:30:00.000+11:00,Blackley,Shirley,1937-12-07,240
>> > ArtGroup,2016-01-13T09:30:00.000+11:00,Wilson,Margaret,1931-04-11,210
>> > ArtGroup,2016-01-13T09:30:00.000+11:00,Johnson,Tara,1934-02-06,210
>> >
>> ArtGroup,2016-01-27T09:30:00.000+11:00,Brownlow,Jacqueline,1950-07-22,210
>> > ArtGroup,2016-01-27T09:30:00.000+11:00,Cracknell,Anne,1936-08-09,210
>> > ArtGroup,2016-01-13T09:30:00.000+11:00,UNKNOWN113,UNKNOWN,2016-06-24,210
>> > SouthArmPeninsulaBusTripF,2016-01-14T09:00:00.000+11:00,Houlgrave
>> > ,Keryl,1945-10-02,480
>> >
>> >
>> SouthArmPeninsulaBusTripF,2016-01-14T09:00:00.000+11:00,Butler,Steve,1957-04-06,480
>> >
>> >
>> SouthArmPeninsulaBusTripF,2016-01-14T09:00:00.000+11:00,Smith,Joyce,1926-07-26,480
>> >
>> >
>> SouthArmPeninsulaBusTripF,2016-01-14T09:00:00.000+11:00,Wagner,Lorelies,1937-11-12,480
>> >
>> >
>> SouthArmPeninsulaBusTripF,2016-01-14T09:00:00.000+11:00,Sargent,Merle,1935-10-12,480
>> >
>> >
>> SouthArmPeninsulaBusTripF,2016-01-14T09:00:00.000+11:00,Morice,Ann,1940-04-10,480
>> >
>> >
>> SouthArmPeninsulaBusTripF,2016-01-14T09:00:00.000+11:00,Evans,Jean,1927-12-22,480
>> >
>> >
>> SouthArmPeninsulaBusTripF,2016-01-14T09:00:00.000+11:00,Klein,Helga,1938-09-05,480
>> > SouthArmPeninsulaBusTripF,2016-01-14T09:00:00.000+11:00,Klein,Bill
>> > (Helmut),1938-08-25,480
>> >
>> >
>> SouthArmPeninsulaBusTripF,2016-01-14T09:00:00.000+11:00,Scheepers,Froukje,1934-05-22,480
>> >
>> >
>> SouthArmPeninsulaBusTripF,2016-01-14T09:00:00.000+11:00,Brown,Derek,1936-04-01,480
>> >
>> > The same set of results via query
>> >
>> > StyxValleyReserveFULL/clo 2016-01-11 09:00:00 Geard Graeme 2016-06-24
>> 540
>> > StyxValleyReserveFULL/clo 2016-01-11 09:00:00 Hamilton Jane 1955-04-03
>> 540
>> > StyxValleyReserveFULL/clo 2016-01-11 09:00:00 Turner Kathleen 1928-06-10
>> > 540
>> > StyxValleyReserveFULL/clo 2016-01-11 09:00:00 Taylor Rebel 1931-12-17
>> 540
>> > StyxValleyReserveFULL/clo 2016-01-11 09:00:00 Jacques Marlene 1943-11-16
>> > 540
>> > StyxValleyReserveFULL/clo 2016-01-11 09:00:00 Healy Shirley 1936-03-14
>> 540
>> > StyxValleyReserveFULL/clo 2016-01-11 09:00:00 Knight Tony 1943-01-09 540
>> > StyxValleyReserveFULL/clo 2016-01-11 09:00:00 Van de Vusse Mathilda
>> > 1931-09-14 540
>> > StyxValleyReserveFULL/clo 2016-01-11 09:00:00 Johnston Priscilla
>> 1942-12-16
>> > 540
>> > ArtGroup 2016-01-13 09:30:00 Rozynski Noella 1933-12-25 240
>> > ArtGroup 2016-01-13 09:30:00 Huigsloot Betty 1934-05-07 240
>> > ArtGroup 2016-01-13 09:30:00 Knight Tony 1943-01-09 210
>> > ArtGroup 2016-01-13 09:30:00 Blackley Shirley 1937-12-07 240
>> > ArtGroup 2016-01-13 09:30:00 Wilson Margaret 1931-04-11 210
>> > ArtGroup 2016-01-13 09:30:00 Johnson Tara 1934-02-06 210
>> > ArtGroup 2016-01-13 09:30:00 Brownlow Jacqueline 1950-07-22 210
>> > ArtGroup 2016-01-13 09:30:00 Cracknell Anne 1936-08-09 210
>> > ArtGroup 2016-01-13 09:30:00 UNKNOWN113 UNKNOWN 2016-06-24 210
>> > SouthArmPeninsulaBusTripF 2016-01-14 09:00:00 Houlgrave Keryl 1945-10-02
>> > 480
>> > SouthArmPeninsulaBusTripF 2016-01-14 09:00:00 Butler Steve 1957-04-06
>> 480
>> > SouthArmPeninsulaBusTripF 2016-01-14 09:00:00 Smith Joyce 1926-07-26 480
>> > SouthArmPeninsulaBusTripF 2016-01-14 09:00:00 Wagner Lorelies 1937-11-12
>> > 480
>> > SouthArmPeninsulaBusTripF 2016-01-14 09:00:00 Sargent Merle 1935-10-12
>> 480
>> > SouthArmPeninsulaBusTripF 2016-01-14 09:00:00 Morice Ann 1940-04-10 480
>> > SouthArmPeninsulaBusTripF 2016-01-14 09:00:00 Evans Jean 1927-12-22 480
>> > SouthArmPeninsulaBusTripF 2016-01-14 09:00:00 Klein Helga 1938-09-05 480
>> > SouthArmPeninsulaBusTripF 2016-01-14 09:00:00 Klein Bill (Helmut)
>> > 1938-08-25
>> > 480
>> > SouthArmPeninsulaBusTripF 2016-01-14 09:00:00 Scheepers Froukje
>> 1934-05-22
>> > 480
>> > SouthArmPeninsulaBusTripF 2016-01-14 09:00:00 Brown Derek 1936-04-01 480
>> > As you can see, the dates (second column) for the ArtGroup are sometimes
>> > wrong.
>> >
>> > This is the only date column in the view so I cannot have picked the
>> wrong
>> > one!
>> >
>> > The code that generates the results is as follows:
>> >
>> >         List<ActivityParticipantAttendance> attendances =
>> > repository.allMatches(new QueryDefault(
>> >                 ActivityParticipantAttendance.class,
>> > "allParticipantActivityForPeriodAndRegion", "startDateTime",
>> >                 this.startDateTime, "endDateTime", this.endDateTime,
>> > "attended", true, "region", this.regionName));
>> >         for (ActivityParticipantAttendance attend : attendances) {
>> >
>> >
>> >
>> System.out.print(attend.getActivityAbbreviatedName()+","+attend.getStartDateTime()+",");
>> > System.out.print(attend.getSurname()+ "," + attend.getFirstName()+"," +
>> > attend.getBirthDate()+",");
>> > System.out.println(attend.getMinutesAttended());
>> >
>> > ...
>> >
>> > }
>> >
>> > This is kind of bizarre you will agree.
>> >
>> > The joys of ORM continue.
>> >
>> > Having puzzled  at this for most of today, any insights, or
>> commiseration,
>> > welcomed.
>> >
>> > Steve
>> >
>>
>
>

Reply via email to