Kohei Nozaki created MAILBOX-228: ------------------------------------ Summary: StoreMessageResultIterator returns only a part of messages with JPA backend on some databases Key: MAILBOX-228 URL: https://issues.apache.org/jira/browse/MAILBOX-228 Project: James Mailbox Issue Type: Bug Components: jpa Affects Versions: 0.5 Environment: James3 which acquired from SVN trunk on Feburuary 2015 PostgreSQL 9.2.6 Thunderbird 31.6.0
Reporter: Kohei Nozaki Consider you have following dataset. Query: {noformat} SELECT t0.mailbox_id, t0.mail_uid, t0.mail_is_answered, t0.mail_body_start_octet, t0.mail_content_octets_count, t0.mail_is_deleted, t0.mail_is_draft, t0.mail_is_flagged, t0.mail_date, t0.mail_mime_type, t0.mail_modseq, t0.mail_is_recent, t0.mail_is_seen, t0.mail_mime_subtype, t0.mail_textual_line_count FROM public.james_mail t0 WHERE (t0.mailbox_id = 1 AND t0.mail_uid >= 1 AND t0.mail_uid <= 18) LIMIT 200 {noformat} Result against the preceding query: {noformat} mailbox_id mail_uid mail_is_answered mail_body_start_octet mail_content_octets_count mail_is_deleted mail_is_draft mail_is_flagged mail_date mail_mime_type mail_modseq mail_is_recent mail_is_seen mail_mime_subtype mail_textual_line_count 1 1 false 1450 1464 false false false "2015-04-25 08:28:40.920000" text 4 false true plain 1 1 2 false 3536 4237 false false false "2015-04-25 09:56:13.350000" text 8 false true plain 23 1 3 false 4574 9174 false false false "2015-04-25 17:26:48.450000" multipart 12 false true alternative NULL 1 4 false 2901 3646 false false false "2015-04-26 06:28:19.710000" multipart 16 false true alternative NULL 1 6 false 1603 2645 false false false "2015-04-26 12:06:53.350000" text 22 false true plain 31 1 5 false 1603 2264 false false false "2015-04-26 12:06:53.350000" text 21 false true plain 22 1 17 false 1612 2509 false false false "2015-04-27 03:52:02.870000" text 64 false true plain 21 1 18 false 1605 2200 false false false "2015-04-27 04:14:57.180000" text 62 false true plain 20 1 7 false 1646 2572 false false false "2015-04-26 13:52:56.720000" text 41 false true plain 28 1 8 false 1645 2958 false false false "2015-04-26 13:58:01.320000" text 42 false true plain 34 1 9 false 1645 3093 false false false "2015-04-26 14:07:01.740000" text 43 false true plain 36 1 10 false 1603 2428 false false false "2015-04-26 14:25:03.150000" text 44 false true plain 27 1 11 false 1603 2483 false false false "2015-04-26 14:25:51.300000" text 45 false true plain 31 1 12 false 1603 2428 false false false "2015-04-26 14:31:57.130000" text 46 false true plain 27 1 13 false 1603 2459 false false false "2015-04-26 14:32:51.110000" text 47 false true plain 29 1 14 false 1604 2471 false false false "2015-04-26 14:49:51.700000" text 52 false true plain 29 1 15 false 1604 2490 false false false "2015-04-26 14:49:51.730000" text 53 false true plain 31 1 16 false 1646 3082 false false false "2015-04-26 18:24:56.440000" text 57 false true plain 38 {noformat} Note that the dataset doesn't ordered by mail_uid. with that dataset, the IMAP server returns following response: {noformat} 3 uid fetch 1:* (FLAGS) * 1 FETCH (FLAGS (\Seen NonJunk) UID 1) * 2 FETCH (FLAGS (\Seen NonJunk) UID 2) * 3 FETCH (FLAGS (\Seen NonJunk) UID 3) * 4 FETCH (FLAGS (\Seen NonJunk) UID 4) * 5 FETCH (FLAGS (\Seen NonJunk) UID 6) * 6 FETCH (FLAGS (\Seen NonJunk) UID 5) * 7 FETCH (FLAGS (\Seen) UID 17) * 8 FETCH (FLAGS (\Seen NonJunk) UID 18) 3 OK FETCH completed. {noformat} I believe the server should return all of dataset, but records that has mail_uid larger than 18 were skipped. -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org