From 837ee0299a4bbd81afc8c8ddfbe9e5cfeda80d22 Mon Sep 17 00:00:00 2001 From: Jeremy Penner Date: Mon, 28 Mar 2022 11:27:09 -0400 Subject: [PATCH] return full analysis --- waltz/sqlog.fnl | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/waltz/sqlog.fnl b/waltz/sqlog.fnl index 64e48d8..8778936 100644 --- a/waltz/sqlog.fnl +++ b/waltz/sqlog.fnl @@ -203,7 +203,8 @@ (let [analysis (new-analysis)] (each [_ literal (ipairs [...])] (self:analyze-literal analysis literal)) (set analysis.selection (icollect [_ varname (ipairs analysis.variables)] [:as (. analysis.variable-mapping varname) varname])) - [(.. (self:gen-with-rules analysis) (self:gen-select analysis)) analysis.constants])) + (set analysis.query (.. (self:gen-with-rules analysis) (self:gen-select analysis))) + analysis)) (fn Sqlog.insert [self head ...] (match head @@ -215,8 +216,10 @@ (match param [:var :_] nil expr [:as expr (. columns icolumn)]))) - [(.. (self:gen-with-rules analysis) "INSERT INTO " name " (" (cat analysis.selection ", " #(match $1 [:as _ column] column)) ") " (self:gen-select analysis)) - analysis.constants]) + (set analysis.query (.. (self:gen-with-rules analysis) + "INSERT INTO " name " (" (cat analysis.selection ", " #(match $1 [:as _ column] column)) ") " + (self:gen-select analysis))) + analysis) _ (error (.. "Expected literal, got " (fv head))))) (fn Sqlog.delete [self head ...] @@ -225,8 +228,8 @@ (let [analysis (new-analysis)] (each [_ literal (ipairs [head ...])] (self:analyze-literal analysis literal)) (set analysis.selection [[:as [:rowid 1] :_rowid_]]) - [(.. (self:gen-with-rules analysis) "DELETE FROM " name " WHERE _rowid_ IN (" (self:gen-select analysis) ")") - analysis.constants]) + (set analysis.query (.. (self:gen-with-rules analysis) "DELETE FROM " name " WHERE _rowid_ IN (" (self:gen-select analysis) ")")) + analysis) _ (error (.. "Expected literal, got " (fv head))))) (fn Sqlog.update [self newhead head ...] @@ -239,7 +242,8 @@ (match param [:var :_] nil expr [:set (. columns icolumn) expr]))) - [(.. (self:gen-with-rules analysis) (self:gen-update analysis)) analysis.constants]))) + (set analysis.query (.. (self:gen-with-rules analysis) (self:gen-update analysis))) + analysis))) Sqlog