You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by "Andrus Adamchik (Jira)" <ji...@apache.org> on 2026/09/12 17:58:00 UTC

[jira] [Closed] (CAY-3023) Replace QueryResult with a List of redesigned QueryResultItems

     [ https://issues.apache.org/jira/browse/CAY-3023?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrus Adamchik closed CAY-3023.
--------------------------------
    Resolution: Fixed

> Replace QueryResult with a List of redesigned QueryResultItems
> --------------------------------------------------------------
>
>                 Key: CAY-3023
>                 URL: https://issues.apache.org/jira/browse/CAY-3023
>             Project: Cayenne
>          Issue Type: Task
>            Reporter: Andrus Adamchik
>            Assignee: Andrus Adamchik
>            Priority: Major
>             Fix For: 5.0-M4
>
>
> QueryResult is a future replacement of QueryResponse and is already used by a number of queries. Let's replace QueryResult  with a List<QueryResultItem> and redesign items into a sealed interface that can be queries in a much easier way:
> {noformat}
> List<QueryResultItem> result = SQLExec.query(sql).execute(context);
> for (QueryResultItem item : result) {
>     switch (item) {
>         case QueryResultItem.Select<?> select -> process(select.objects());
>         case QueryResultItem.Update update -> process(update.counts());
>         case QueryResultItem.Iterator<?> iterator -> process(iterator.iterator());
>         case QueryResultItem.OutParameters out -> process(out.values());
>     }
> }
> {noformat}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)