diff options
| author | Lars Ingebrigtsen <larsi@gnus.org> | 2021-12-13 06:08:09 +0100 |
|---|---|---|
| committer | Lars Ingebrigtsen <larsi@gnus.org> | 2021-12-13 06:08:09 +0100 |
| commit | 9ce0fe5ef4d6e9c3dcd69237e0b5bb3fd46ee7da (patch) | |
| tree | f7fa90b7e601558dc3caa0bb1c46deb88b199b2d /src | |
| parent | c86b86f9a9ee3c42aed9ede794e8c3e19ce35ec5 (diff) | |
Add a new `sqlite-pragma' command
* doc/lispref/text.texi (Database): Document it.
* src/sqlite.c (Fsqlite_pragma): Add a separate command for
pragmas. These can be done via sqlite-execute, but it's less
confusing to have them in a separate command.
Diffstat (limited to 'src')
| -rw-r--r-- | src/sqlite.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/sqlite.c b/src/sqlite.c index 38e939cd84a..4968ce3f690 100644 --- a/src/sqlite.c +++ b/src/sqlite.c @@ -574,6 +574,17 @@ DEFUN ("sqlite-rollback", Fsqlite_rollback, Ssqlite_rollback, 1, 1, 0, return sqlite_exec (XSQLITE (db)->db, "rollback"); } +DEFUN ("sqlite-pragma", Fsqlite_pragma, Ssqlite_pragma, 2, 2, 0, + doc: /* Execute PRAGMA in DB. */) + (Lisp_Object db, Lisp_Object pragma) +{ + check_sqlite (db, false); + CHECK_STRING (pragma); + + return sqlite_exec (XSQLITE (db)->db, + SSDATA (concat2 (build_string ("PRAGMA "), pragma))); +} + #ifdef HAVE_SQLITE3_LOAD_EXTENSION DEFUN ("sqlite-load-extension", Fsqlite_load_extension, Ssqlite_load_extension, 2, 2, 0, @@ -689,6 +700,7 @@ syms_of_sqlite (void) defsubr (&Ssqlite_transaction); defsubr (&Ssqlite_commit); defsubr (&Ssqlite_rollback); + defsubr (&Ssqlite_pragma); #ifdef HAVE_SQLITE3_LOAD_EXTENSION defsubr (&Ssqlite_load_extension); #endif |
