From 57675528b59ba6f614bd48bb0c94affbd7c8cb8b Mon Sep 17 00:00:00 2001 From: Darin Kelkhoff Date: Tue, 27 Jun 2023 14:53:35 -0500 Subject: [PATCH] Set query stat first result time immediately after loop (as well as inside rs loop) in case no results found (is this why we have the slow fed-ex cache use-cases?) --- .../backend/module/rdbms/actions/RDBMSAggregateAction.java | 5 +++++ .../qqq/backend/module/rdbms/actions/RDBMSCountAction.java | 4 ++-- .../qqq/backend/module/rdbms/actions/RDBMSQueryAction.java | 5 +++++ 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/qqq-backend-module-rdbms/src/main/java/com/kingsrook/qqq/backend/module/rdbms/actions/RDBMSAggregateAction.java b/qqq-backend-module-rdbms/src/main/java/com/kingsrook/qqq/backend/module/rdbms/actions/RDBMSAggregateAction.java index 8e786242..641990e6 100644 --- a/qqq-backend-module-rdbms/src/main/java/com/kingsrook/qqq/backend/module/rdbms/actions/RDBMSAggregateAction.java +++ b/qqq-backend-module-rdbms/src/main/java/com/kingsrook/qqq/backend/module/rdbms/actions/RDBMSAggregateAction.java @@ -142,6 +142,11 @@ public class RDBMSAggregateAction extends AbstractRDBMSAction implements Aggrega } } + ///////////////////////////////////////////////////////////////// + // in case there were no results, set the firstResultTime here // + ///////////////////////////////////////////////////////////////// + setQueryStatFirstResultTime(); + }), params); } diff --git a/qqq-backend-module-rdbms/src/main/java/com/kingsrook/qqq/backend/module/rdbms/actions/RDBMSCountAction.java b/qqq-backend-module-rdbms/src/main/java/com/kingsrook/qqq/backend/module/rdbms/actions/RDBMSCountAction.java index 64676fc9..e49cdc27 100644 --- a/qqq-backend-module-rdbms/src/main/java/com/kingsrook/qqq/backend/module/rdbms/actions/RDBMSCountAction.java +++ b/qqq-backend-module-rdbms/src/main/java/com/kingsrook/qqq/backend/module/rdbms/actions/RDBMSCountAction.java @@ -88,8 +88,6 @@ public class RDBMSCountAction extends AbstractRDBMSAction implements CountInterf { if(resultSet.next()) { - setQueryStatFirstResultTime(); - rs.setCount(resultSet.getInt("record_count")); if(BooleanUtils.isTrue(countInput.getIncludeDistinctCount())) @@ -98,6 +96,8 @@ public class RDBMSCountAction extends AbstractRDBMSAction implements CountInterf } } + setQueryStatFirstResultTime(); + }), params); logSQL(sql, params, mark); diff --git a/qqq-backend-module-rdbms/src/main/java/com/kingsrook/qqq/backend/module/rdbms/actions/RDBMSQueryAction.java b/qqq-backend-module-rdbms/src/main/java/com/kingsrook/qqq/backend/module/rdbms/actions/RDBMSQueryAction.java index dd674763..19e7ef76 100644 --- a/qqq-backend-module-rdbms/src/main/java/com/kingsrook/qqq/backend/module/rdbms/actions/RDBMSQueryAction.java +++ b/qqq-backend-module-rdbms/src/main/java/com/kingsrook/qqq/backend/module/rdbms/actions/RDBMSQueryAction.java @@ -183,6 +183,11 @@ public class RDBMSQueryAction extends AbstractRDBMSAction implements QueryInterf } } + ///////////////////////////////////////////////////////////////// + // in case there were no results, set the firstResultTime here // + ///////////////////////////////////////////////////////////////// + setQueryStatFirstResultTime(); + }), params); logSQL(sql, params, mark);