emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/emacsql f179ba928a 047/427: Add :drop-table expander.


From: ELPA Syncer
Subject: [nongnu] elpa/emacsql f179ba928a 047/427: Add :drop-table expander.
Date: Tue, 13 Dec 2022 02:59:26 -0500 (EST)

branch: elpa/emacsql
commit f179ba928a98a7a71db0c298f73205cd95eb9682
Author: Christopher Wellons <wellons@nullprogram.com>
Commit: Christopher Wellons <wellons@nullprogram.com>

    Add :drop-table expander.
---
 emacsql-tests.el | 4 +++-
 emacsql.el       | 9 ++++-----
 2 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/emacsql-tests.el b/emacsql-tests.el
index f27fd23860..63ba565522 100644
--- a/emacsql-tests.el
+++ b/emacsql-tests.el
@@ -50,4 +50,6 @@
   (emacsql-tests-query [:select * :from employees :where (< salary 50000)] ()
                        "SELECT * FROM employees WHERE salary < 50000;")
   (emacsql-tests-query [:create-table foo [a b c]] ()
-                       "CREATE TABLE foo (a, b, c);"))
+                       "CREATE TABLE foo (a, b, c);")
+  (emacsql-tests-query [:drop-table $1] '(foo)
+                       "DROP TABLE foo;"))
diff --git a/emacsql.el b/emacsql.el
index be59bc2977..97d2638a52 100644
--- a/emacsql.el
+++ b/emacsql.el
@@ -265,11 +265,6 @@ If NAMED is non-nil, don't include column names."
              (emacsql-escape table)
              (emacsql--schema-to-string schema)))))
 
-(defun emacsql-drop (conn table)
-  "Drop TABLE from CONN."
-  (emacsql-with-errors conn
-    (emacsql--send conn (format "DROP TABLE %s;" (emacsql-escape table)))))
-
 (defun emacsql-escape-value (value)
   "Escape VALUE for sending to SQLite."
   (let ((print-escape-newlines t))
@@ -416,6 +411,10 @@ definitions for return from a `emacsql-defexpander'."
     (format "%s (%s)" (var table :identifier)
             (emacsql--schema-to-string schema))))
 
+(emacsql-defexpander :drop-table (table)
+  (emacsql-with-vars "DROP TABLE "
+    (var table :identifier)))
+
 (provide 'emacsql)
 
 ;;; emacsql.el ends here



reply via email to

[Prev in Thread] Current Thread [Next in Thread]