From 1dc30fa6d9bad7a4d787b40385fb2b107abc90d8 Mon Sep 17 00:00:00 2001
From: Gyeongmin Park <ddogi1513@naver.com>
Date: Fri, 6 Sep 2024 19:09:33 +0900
Subject: [PATCH 1/4] test

---
 src/com/walmartlabs/lacinia.clj          | 6 ++++--
 src/com/walmartlabs/lacinia/executor.clj | 4 +---
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/com/walmartlabs/lacinia.clj b/src/com/walmartlabs/lacinia.clj
index f3841642..fc261961 100644
--- a/src/com/walmartlabs/lacinia.clj
+++ b/src/com/walmartlabs/lacinia.clj
@@ -77,7 +77,7 @@
           :or {timeout-ms 0
                timeout-error {:message "Query execution timed out."}}} options
          context' (cond-> context
-                   (:analyze-query options) query-analyzer/enable-query-analyzer)
+                    (:analyze-query options) query-analyzer/enable-query-analyzer)
          execution-result (execute-parsed-query-async parsed-query variables context')
          result (do
                   (resolve/on-deliver! execution-result *result)
@@ -90,7 +90,9 @@
      (when (instance? Throwable result)
        (throw result))
 
-     result)))
+     (if (:analyze-query options)
+       (assoc-in result [:extensions :analysis] (query-analyzer/complexity-analysis parsed-query))
+       result))))
 
 (defn execute
   "Given a compiled schema and a query string, attempts to execute it.
diff --git a/src/com/walmartlabs/lacinia/executor.clj b/src/com/walmartlabs/lacinia/executor.clj
index 931cf2a3..4b8c6259 100644
--- a/src/com/walmartlabs/lacinia/executor.clj
+++ b/src/com/walmartlabs/lacinia/executor.clj
@@ -385,9 +385,7 @@
       (let [enabled-selections (remove :disabled? selections)
             *errors (atom [])
             *warnings (atom [])
-            *extensions (if (::query-analyzer/enable? context)
-                          (atom {:analysis (query-analyzer/complexity-analysis parsed-query)})
-                          (atom {}))
+            *extensions (atom {})
             *resolver-tracing (when (::tracing/enabled? context)
                                 (atom []))
             context' (assoc context constants/schema-key schema)

From afc195382a1f527a0ad51ef6a72d92d699aae6f0 Mon Sep 17 00:00:00 2001
From: Gyeongmin Park <ddogi1513@naver.com>
Date: Fri, 6 Sep 2024 19:19:47 +0900
Subject: [PATCH 2/4] test

---
 src/com/walmartlabs/lacinia.clj          | 4 +---
 src/com/walmartlabs/lacinia/executor.clj | 1 +
 2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/src/com/walmartlabs/lacinia.clj b/src/com/walmartlabs/lacinia.clj
index fc261961..d436692b 100644
--- a/src/com/walmartlabs/lacinia.clj
+++ b/src/com/walmartlabs/lacinia.clj
@@ -90,9 +90,7 @@
      (when (instance? Throwable result)
        (throw result))
 
-     (if (:analyze-query options)
-       (assoc-in result [:extensions :analysis] (query-analyzer/complexity-analysis parsed-query))
-       result))))
+     result)))
 
 (defn execute
   "Given a compiled schema and a query string, attempts to execute it.
diff --git a/src/com/walmartlabs/lacinia/executor.clj b/src/com/walmartlabs/lacinia/executor.clj
index 4b8c6259..f8b3394d 100644
--- a/src/com/walmartlabs/lacinia/executor.clj
+++ b/src/com/walmartlabs/lacinia/executor.clj
@@ -421,6 +421,7 @@
                                                                                          (::tracing/validation context)
                                                                                          @*resolver-tracing)
                                                                  errors (assoc :errors (distinct errors))
+                                                                 (and (nil? errors) (::query-analyzer/enable? context)) (assoc-in [:extension :analysis] (query-analyzer/complexity-analysis parsed-query))
                                                                  warnings (assoc-in [:extensions :warnings] (distinct warnings))))))))
                   (catch Throwable t
                     (resolve/deliver! result-promise t))))]

From 10e2d91153bf32aeef3b7af87d19e839054455bd Mon Sep 17 00:00:00 2001
From: Gyeongmin Park <ddogi1513@naver.com>
Date: Fri, 6 Sep 2024 19:22:01 +0900
Subject: [PATCH 3/4] nit

---
 src/com/walmartlabs/lacinia/executor.clj | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/com/walmartlabs/lacinia/executor.clj b/src/com/walmartlabs/lacinia/executor.clj
index f8b3394d..b3c47c36 100644
--- a/src/com/walmartlabs/lacinia/executor.clj
+++ b/src/com/walmartlabs/lacinia/executor.clj
@@ -421,7 +421,7 @@
                                                                                          (::tracing/validation context)
                                                                                          @*resolver-tracing)
                                                                  errors (assoc :errors (distinct errors))
-                                                                 (and (nil? errors) (::query-analyzer/enable? context)) (assoc-in [:extension :analysis] (query-analyzer/complexity-analysis parsed-query))
+                                                                 (and (nil? errors) (::query-analyzer/enable? context)) (assoc-in [:extensions :analysis] (query-analyzer/complexity-analysis parsed-query))
                                                                  warnings (assoc-in [:extensions :warnings] (distinct warnings))))))))
                   (catch Throwable t
                     (resolve/deliver! result-promise t))))]

From c77769adf116793475f7b80564cc3c99c5a0059a Mon Sep 17 00:00:00 2001
From: Gyeongmin Park <ddogi1513@naver.com>
Date: Fri, 6 Sep 2024 19:23:09 +0900
Subject: [PATCH 4/4] test

---
 src/com/walmartlabs/lacinia/executor.clj | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/com/walmartlabs/lacinia/executor.clj b/src/com/walmartlabs/lacinia/executor.clj
index b3c47c36..a83c2a91 100644
--- a/src/com/walmartlabs/lacinia/executor.clj
+++ b/src/com/walmartlabs/lacinia/executor.clj
@@ -412,6 +412,7 @@
                                            (let [errors (seq @*errors)
                                                  warnings (seq @*warnings)
                                                  extensions @*extensions]
+                                             (prn errors)
                                              (resolve/deliver! result-promise
                                                                (cond-> {:data (schema/collapse-nulls-in-map selected-data)}
                                                                  (seq extensions) (assoc :extensions extensions)
@@ -420,7 +421,7 @@
                                                                                          (::tracing/parsing parsed-query)
                                                                                          (::tracing/validation context)
                                                                                          @*resolver-tracing)
-                                                                 errors (assoc :errors (distinct errors))
+                                                                 errors (assoc :errors (distinct errors)) 
                                                                  (and (nil? errors) (::query-analyzer/enable? context)) (assoc-in [:extensions :analysis] (query-analyzer/complexity-analysis parsed-query))
                                                                  warnings (assoc-in [:extensions :warnings] (distinct warnings))))))))
                   (catch Throwable t