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)