[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/emacsql 616dde3752 361/427: An identifier named * means se
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/emacsql 616dde3752 361/427: An identifier named * means select all columns (#19) |
Date: |
Tue, 13 Dec 2022 03:00:05 -0500 (EST) |
branch: elpa/emacsql
commit 616dde37524f47246bbb161f20d3f5f090f10fbf
Author: Jonas Bernoulli <jonas@bernoul.li>
Commit: Christopher Wellons <wellons@nullprogram.com>
An identifier named * means select all columns (#19)
For example:
(emacsql conn [:select $i1 :from table] '*)
Compiles to this SQL expression:
SELECT * FROM table;
Previously this compiled to:
SELECT "*" FROM table;
Which means to literally select the "*" column. That would be an insane
schema.
---
emacsql-compiler.el | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/emacsql-compiler.el b/emacsql-compiler.el
index 3267d18118..2885152c44 100644
--- a/emacsql-compiler.el
+++ b/emacsql-compiler.el
@@ -62,8 +62,11 @@
(not (or (symbolp identifier)
(vectorp identifier))))
(emacsql-error "Invalid identifier: %S" identifier))
- (if (vectorp identifier)
- (mapconcat #'emacsql-escape-identifier identifier ", ")
+ (cond
+ ((vectorp identifier)
+ (mapconcat #'emacsql-escape-identifier identifier ", "))
+ ((eq identifier '*) "*")
+ (t
(let ((name (symbol-name identifier)))
(if (string-match-p ":" name)
(mapconcat #'emacsql-escape-identifier
@@ -74,7 +77,7 @@
(string-match-p "^[0-9$]" print)
(emacsql-reserved-p print))
(emacsql-quote-identifier print)
- print))))))
+ print)))))))
(defun emacsql-escape-scalar (value)
"Escape VALUE for sending to SQLite."
- [nongnu] elpa/emacsql 3176aeee61 345/427: Use elisp--preceding-sexp if available, (continued)
- [nongnu] elpa/emacsql 3176aeee61 345/427: Use elisp--preceding-sexp if available, ELPA Syncer, 2022/12/13
- [nongnu] elpa/emacsql 327b09b4b9 348/427: Add support for raw strings and raw parameters (#26, #28)., ELPA Syncer, 2022/12/13
- [nongnu] elpa/emacsql c93f52159f 347/427: Bump to version 2.0.2., ELPA Syncer, 2022/12/13
- [nongnu] elpa/emacsql e91bac3a20 350/427: Add cl-generic require to emacsql.el (#32)., ELPA Syncer, 2022/12/13
- [nongnu] elpa/emacsql b65c5b03d5 351/427: Fix up Cask file., ELPA Syncer, 2022/12/13
- [nongnu] elpa/emacsql e3bc9b105f 354/427: Finish removing Cask, including updating the README, ELPA Syncer, 2022/12/13
- [nongnu] elpa/emacsql 83a278aa6b 356/427: Remove trailing &key in method definition, ELPA Syncer, 2022/12/13
- [nongnu] elpa/emacsql 67ca8124bc 425/427: make: Suppress warning about obsolete autoload package, ELPA Syncer, 2022/12/13
- [nongnu] elpa/emacsql e318a6c8f6 426/427: Add new SQLite back-ends, ELPA Syncer, 2022/12/13
- [nongnu] elpa/emacsql 9f0a19280c 296/427: Enhance emacsql-with-transaction to retry., ELPA Syncer, 2022/12/13
- [nongnu] elpa/emacsql 616dde3752 361/427: An identifier named * means select all columns (#19),
ELPA Syncer <=
- [nongnu] elpa/emacsql 5da614bc9b 359/427: Drop finalizer use and explicitely depend on Emacs 25, ELPA Syncer, 2022/12/13
- [nongnu] elpa/emacsql 3b70e8f5dd 366/427: Add support for NUL characters in strings (fixes #42), ELPA Syncer, 2022/12/13
- [nongnu] elpa/emacsql 75ac0448a5 364/427: Add support for DISTINCT in aggregate functions (#41), ELPA Syncer, 2022/12/13
- [nongnu] elpa/emacsql 8c46fb2c1e 286/427: Drop argument count check since it's wrong., ELPA Syncer, 2022/12/13
- [nongnu] elpa/emacsql 641338533c 331/427: Just build SQLite on first connection., ELPA Syncer, 2022/12/13
- [nongnu] elpa/emacsql 56a2882936 333/427: Update README for Melpa changes., ELPA Syncer, 2022/12/13
- [nongnu] elpa/emacsql 1b37570bf5 352/427: Fix up the Makefile., ELPA Syncer, 2022/12/13
- [nongnu] elpa/emacsql 2e9e2d6ba1 390/427: Fix SQL truncated when print-level or print-length are changed, ELPA Syncer, 2022/12/13
- [nongnu] elpa/emacsql 50b139443b 414/427: make: Fix compiling and cleaning tests, ELPA Syncer, 2022/12/13
- [nongnu] elpa/emacsql 4fe4413994 420/427: Re-indent some data so that machine and human can agree, ELPA Syncer, 2022/12/13