branch: elpa/emacsql commit f179ba928a98a7a71db0c298f73205cd95eb9682 Author: Christopher Wellons <well...@nullprogram.com> Commit: Christopher Wellons <well...@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