|
160 | 160 | (let [result (if query |
161 | 161 | (xtdb/query node txs) |
162 | 162 | (xtdb/submit! node txs {:system-time system-time})) |
163 | | - elapsed-ms (Math/round (/ (- (System/nanoTime) start-time) 1000000.0))] |
164 | | - (if query |
165 | | - (assoc {} :result result :timing-ms elapsed-ms) |
166 | | - (assoc result :timing-ms elapsed-ms))) |
| 163 | + elapsed-ms (Math/round (/ (- (System/nanoTime) start-time) 1000000.0)) |
| 164 | + formatted-result (if query |
| 165 | + (if (and (= "xtql" tx-type) (every? map? result)) |
| 166 | + (if (empty? result) |
| 167 | + [[]] |
| 168 | + (let [ks (keys (apply merge result))] |
| 169 | + (into [(vec ks)] |
| 170 | + (mapv (fn [row] |
| 171 | + (mapv #(util/transform-dates-to-sql (get row %)) ks)) |
| 172 | + result)))) |
| 173 | + result) |
| 174 | + [[]])] |
| 175 | + [{:result formatted-result :timing-ms elapsed-ms}]) |
167 | 176 | (catch Throwable ex |
168 | 177 | (let [elapsed-ms (Math/round (/ (- (System/nanoTime) start-time) 1000000.0))] |
169 | 178 | (log/error "Exception while running transaction" (ex-message ex)) |
170 | | - {:error {:message (ex-message ex) |
171 | | - :exception (.getClass ex) |
172 | | - :data (ex-data ex)} |
173 | | - :timing-ms elapsed-ms}))))) |
| 179 | + [{:error {:message (ex-message ex) |
| 180 | + :exception (.getClass ex) |
| 181 | + :data (ex-data ex)} |
| 182 | + :timing-ms elapsed-ms}]))))) |
174 | 183 | tx-batches))] |
175 | 184 | (log/info "run!-tx-res" tx-results) |
176 | 185 | tx-results)) |
|
215 | 224 | (reset! tx-in-progress? true)) |
216 | 225 | (try |
217 | 226 | (let [[rs warnings] (xtdb/jdbc-execute! conn statement) |
218 | | - res (xform-result rs)] |
| 227 | + is-dml? (dml? (first statement)) |
| 228 | + res (if is-dml? [[]] (xform-result rs))] |
219 | 229 | (when is-commit? |
220 | 230 | (reset! tx-in-progress? false)) |
221 | 231 | (log/info :run-with-jdbc-conn-warnings warnings) |
222 | 232 | (if skip-result? |
223 | | - nil ;; Return nil for auto-added BEGIN/COMMIT |
| 233 | + nil |
224 | 234 | {:result res |
225 | 235 | :warnings warnings})) |
226 | 236 | (catch Exception ex |
|
252 | 262 | (fn [node] |
253 | 263 | (if (#{"sql-v2" "sql"} tx-type) |
254 | 264 | (run!-with-jdbc-conn node tx-batches) |
255 | | - (let [res (run!-tx node tx-type tx-batches)] |
256 | | - (log/debug "run!!" res) |
257 | | - (mapv util/map-results->rows res)))))) |
| 265 | + (run!-tx node tx-type tx-batches))))) |
258 | 266 |
|
259 | 267 | (defn docs-run!! |
260 | 268 | "Given transaction batches and a query from the docs, will return the query |
|
0 commit comments