[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/emacsql 84499878d0 081/427: Add :union, :union-all, :diffe
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/emacsql 84499878d0 081/427: Add :union, :union-all, :difference, and :except. |
Date: |
Tue, 13 Dec 2022 02:59:30 -0500 (EST) |
branch: elpa/emacsql
commit 84499878d0bc570d6fc3d2d9329041a41e2359ab
Author: Christopher Wellons <wellons@nullprogram.com>
Commit: Christopher Wellons <wellons@nullprogram.com>
Add :union, :union-all, :difference, and :except.
---
README.md | 8 ++++++++
emacsql.el | 12 ++++++++++++
2 files changed, 20 insertions(+)
diff --git a/README.md b/README.md
index 452faa7b90..7e232caa20 100644
--- a/README.md
+++ b/README.md
@@ -193,6 +193,14 @@ Provides `SET`.
[:update people :set [(= name "Ricky") (= salary 300000)] :where ...]
```
+#### :union, :union-all, :difference, :except
+
+Provides `UNION`, `UNION ALL`, `DIFFERENCE`, and `EXCEPT`.
+
+```el
+[:select * :from sales :union :select * :from accounting]
+```
+
### Templates
To make statement compilation faster, and to avoid making you build up
diff --git a/emacsql.el b/emacsql.el
index a3ea075d2d..4ba13c93c3 100644
--- a/emacsql.el
+++ b/emacsql.el
@@ -485,6 +485,18 @@ definitions for return from a `emacsql-defexpander'."
(vector (mapconcat (lambda (s) (combine (emacsql--expr s))) set ", "))
(list (combine (emacsql--expr set))))))
+(emacsql-defexpander :union ()
+ (list "UNION"))
+
+(emacsql-defexpander :union-all ()
+ (list "UNION ALL"))
+
+(emacsql-defexpander :intersect ()
+ (list "INTERSECT"))
+
+(emacsql-defexpander :except ()
+ (list "EXCEPT"))
+
(provide 'emacsql)
;;; emacsql.el ends here
- [nongnu] elpa/emacsql 36c6aae4b5 042/427: Drop raw select., (continued)
- [nongnu] elpa/emacsql 36c6aae4b5 042/427: Drop raw select., ELPA Syncer, 2022/12/13
- [nongnu] elpa/emacsql 77ae713186 046/427: Create table expander., ELPA Syncer, 2022/12/13
- [nongnu] elpa/emacsql e859204451 064/427: Flesh out more README., ELPA Syncer, 2022/12/13
- [nongnu] elpa/emacsql 35676bb560 065/427: Fix README examples., ELPA Syncer, 2022/12/13
- [nongnu] elpa/emacsql 847f3bd87f 078/427: Add new keywords to listing., ELPA Syncer, 2022/12/13
- [nongnu] elpa/emacsql a9b9d6bfc8 083/427: Fix typo in README., ELPA Syncer, 2022/12/13
- [nongnu] elpa/emacsql 29f65b3b8e 093/427: Update Windows statement in the README., ELPA Syncer, 2022/12/13
- [nongnu] elpa/emacsql b447994514 033/427: Change table type recommendation., ELPA Syncer, 2022/12/13
- [nongnu] elpa/emacsql 4fa57ba758 051/427: Fully drop named parsing., ELPA Syncer, 2022/12/13
- [nongnu] elpa/emacsql 7c572d688d 052/427: Fix % operator situation., ELPA Syncer, 2022/12/13
- [nongnu] elpa/emacsql 84499878d0 081/427: Add :union, :union-all, :difference, and :except.,
ELPA Syncer <=
- [nongnu] elpa/emacsql a1ce9f16f2 097/427: Add emacsql-with-connection back in., ELPA Syncer, 2022/12/13
- [nongnu] elpa/emacsql 7cfed08ab8 099/427: Add docstring to emacsql--log., ELPA Syncer, 2022/12/13
- [nongnu] elpa/emacsql da9797e948 098/427: Add a system-level test., ELPA Syncer, 2022/12/13
- [nongnu] elpa/emacsql bd6e02db55 104/427: Be much more strict with identifiers., ELPA Syncer, 2022/12/13
- [nongnu] elpa/emacsql 682c1816fb 111/427: Add optional font-locking., ELPA Syncer, 2022/12/13
- [nongnu] elpa/emacsql 3eb06cdd73 114/427: Add GROUP BY expander., ELPA Syncer, 2022/12/13
- [nongnu] elpa/emacsql e08094c78f 058/427: More precise parsing., ELPA Syncer, 2022/12/13
- [nongnu] elpa/emacsql b9599f1f41 066/427: Spelling error., ELPA Syncer, 2022/12/13
- [nongnu] elpa/emacsql f410b5d663 068/427: Fix spelling error., ELPA Syncer, 2022/12/13
- [nongnu] elpa/emacsql b3110c9fa9 018/427: Rename .sqlite to .db., ELPA Syncer, 2022/12/13