| ofs | hex dump | ascii |
|---|
| 0000 | 65 6d 61 63 73 71 6c 2d 34 2e 33 2e 31 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | emacsql-4.3.1/.................. |
| 0020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0060 | 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 | ....0000755.0000000.0000000.0000 |
| 0080 | 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 31 36 30 33 00 20 35 00 00 00 | 0000000.00000000000.011603..5... |
| 00a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 00c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 00e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0100 | 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .ustar...root................... |
| 0120 | 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .........root................... |
| 0140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 01a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 01c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 01e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0200 | 65 6d 61 63 73 71 6c 2d 34 2e 33 2e 31 2f 65 6d 61 63 73 71 6c 2d 63 6f 6d 70 69 6c 65 72 2e 65 | emacsql-4.3.1/emacsql-compiler.e |
| 0220 | 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | l............................... |
| 0240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0260 | 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 | ....0000644.0000000.0000000.0000 |
| 0280 | 30 30 35 33 33 31 34 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 35 33 37 30 00 20 30 00 00 00 | 0053314.00000000000.015370..0... |
| 02a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 02c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 02e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0300 | 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .ustar...root................... |
| 0320 | 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .........root................... |
| 0340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 03a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 03c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 03e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0400 | 3b 3b 3b 20 65 6d 61 63 73 71 6c 2d 63 6f 6d 70 69 6c 65 72 2e 65 6c 20 2d 2d 2d 20 53 2d 65 78 | ;;;.emacsql-compiler.el.---.S-ex |
| 0420 | 70 72 65 73 73 69 6f 6e 20 53 51 4c 20 63 6f 6d 70 69 6c 65 72 20 20 2d 2a 2d 20 6c 65 78 69 63 | pression.SQL.compiler..-*-.lexic |
| 0440 | 61 6c 2d 62 69 6e 64 69 6e 67 3a 74 20 2d 2a 2d 0a 0a 3b 3b 20 54 68 69 73 20 69 73 20 66 72 65 | al-binding:t.-*-..;;.This.is.fre |
| 0460 | 65 20 61 6e 64 20 75 6e 65 6e 63 75 6d 62 65 72 65 64 20 73 6f 66 74 77 61 72 65 20 72 65 6c 65 | e.and.unencumbered.software.rele |
| 0480 | 61 73 65 64 20 69 6e 74 6f 20 74 68 65 20 70 75 62 6c 69 63 20 64 6f 6d 61 69 6e 2e 0a 0a 3b 3b | ased.into.the.public.domain...;; |
| 04a0 | 20 41 75 74 68 6f 72 3a 20 43 68 72 69 73 74 6f 70 68 65 72 20 57 65 6c 6c 6f 6e 73 20 3c 77 65 | .Author:.Christopher.Wellons.<we |
| 04c0 | 6c 6c 6f 6e 73 40 6e 75 6c 6c 70 72 6f 67 72 61 6d 2e 63 6f 6d 3e 0a 3b 3b 20 4d 61 69 6e 74 61 | llons@nullprogram.com>.;;.Mainta |
| 04e0 | 69 6e 65 72 3a 20 4a 6f 6e 61 73 20 42 65 72 6e 6f 75 6c 6c 69 20 3c 65 6d 61 63 73 2e 65 6d 61 | iner:.Jonas.Bernoulli.<emacs.ema |
| 0500 | 63 73 71 6c 40 6a 6f 6e 61 73 2e 62 65 72 6e 6f 75 6c 6c 69 2e 64 65 76 3e 0a 0a 3b 3b 20 53 50 | csql@jonas.bernoulli.dev>..;;.SP |
| 0520 | 44 58 2d 4c 69 63 65 6e 73 65 2d 49 64 65 6e 74 69 66 69 65 72 3a 20 55 6e 6c 69 63 65 6e 73 65 | DX-License-Identifier:.Unlicense |
| 0540 | 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b 20 54 68 69 73 20 6c 69 62 72 61 | ..;;;.Commentary:..;;.This.libra |
| 0560 | 72 79 20 70 72 6f 76 69 64 65 73 20 73 75 70 70 6f 72 74 20 66 6f 72 20 63 6f 6d 70 69 6c 69 6e | ry.provides.support.for.compilin |
| 0580 | 67 20 53 2d 65 78 70 72 65 73 73 69 6f 6e 73 20 74 6f 20 53 51 4c 2e 0a 0a 3b 3b 3b 20 43 6f 64 | g.S-expressions.to.SQL...;;;.Cod |
| 05a0 | 65 3a 0a 0a 28 72 65 71 75 69 72 65 20 27 63 6c 2d 6c 69 62 29 0a 0a 28 65 76 61 6c 2d 77 68 65 | e:..(require.'cl-lib)..(eval-whe |
| 05c0 | 6e 2d 63 6f 6d 70 69 6c 65 20 28 72 65 71 75 69 72 65 20 27 73 75 62 72 2d 78 29 29 0a 0a 3b 3b | n-compile.(require.'subr-x))..;; |
| 05e0 | 3b 20 45 72 72 6f 72 20 73 79 6d 62 6f 6c 73 0a 0a 28 64 65 66 6d 61 63 72 6f 20 65 6d 61 63 73 | ;.Error.symbols..(defmacro.emacs |
| 0600 | 71 6c 2d 64 65 66 65 72 72 6f 72 20 28 73 79 6d 62 6f 6c 20 70 61 72 65 6e 74 73 20 6d 65 73 73 | ql-deferror.(symbol.parents.mess |
| 0620 | 61 67 65 29 0a 20 20 22 44 65 66 69 6e 65 73 20 61 20 6e 65 77 20 65 72 72 6f 72 20 73 79 6d 62 | age)..."Defines.a.new.error.symb |
| 0640 | 6f 6c 20 66 6f 72 20 45 6d 61 63 53 51 4c 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 | ol.for.EmacSQL."...(declare.(ind |
| 0660 | 65 6e 74 20 32 29 29 0a 20 20 28 6c 65 74 20 28 28 63 6f 6e 64 69 74 69 6f 6e 73 20 28 63 6c 2d | ent.2))...(let.((conditions.(cl- |
| 0680 | 72 65 6d 6f 76 65 2d 64 75 70 6c 69 63 61 74 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | remove-duplicates............... |
| 06a0 | 20 20 20 20 20 20 20 28 61 70 70 65 6e 64 20 70 61 72 65 6e 74 73 20 28 6c 69 73 74 20 73 79 6d | .......(append.parents.(list.sym |
| 06c0 | 62 6f 6c 20 27 65 6d 61 63 73 71 6c 2d 65 72 72 6f 72 20 27 65 72 72 6f 72 29 29 29 29 29 0a 20 | bol.'emacsql-error.'error))))).. |
| 06e0 | 20 20 20 60 28 70 72 6f 67 31 20 27 2c 73 79 6d 62 6f 6c 0a 20 20 20 20 20 20 20 28 70 75 74 20 | ...`(prog1.',symbol........(put. |
| 0700 | 27 2c 73 79 6d 62 6f 6c 20 27 65 72 72 6f 72 2d 63 6f 6e 64 69 74 69 6f 6e 73 20 27 2c 63 6f 6e | ',symbol.'error-conditions.',con |
| 0720 | 64 69 74 69 6f 6e 73 29 0a 20 20 20 20 20 20 20 28 70 75 74 20 27 2c 73 79 6d 62 6f 6c 20 27 65 | ditions)........(put.',symbol.'e |
| 0740 | 72 72 6f 72 2d 6d 65 73 73 61 67 65 20 2c 6d 65 73 73 61 67 65 29 29 29 29 0a 0a 28 65 6d 61 63 | rror-message.,message))))..(emac |
| 0760 | 73 71 6c 2d 64 65 66 65 72 72 6f 72 20 65 6d 61 63 73 71 6c 2d 65 72 72 6f 72 20 28 29 20 3b 3b | sql-deferror.emacsql-error.().;; |
| 0780 | 20 70 61 72 65 6e 74 20 63 6f 6e 64 69 74 69 6f 6e 20 66 6f 72 20 61 6c 6c 20 6f 74 68 65 72 73 | .parent.condition.for.all.others |
| 07a0 | 0a 20 20 22 45 6d 61 63 53 51 4c 20 68 61 64 20 61 6e 20 75 6e 68 61 6e 64 6c 65 64 20 63 6f 6e | ..."EmacSQL.had.an.unhandled.con |
| 07c0 | 64 69 74 69 6f 6e 22 29 0a 0a 28 65 6d 61 63 73 71 6c 2d 64 65 66 65 72 72 6f 72 20 65 6d 61 63 | dition")..(emacsql-deferror.emac |
| 07e0 | 73 71 6c 2d 73 79 6e 74 61 78 20 28 29 20 22 49 6e 76 61 6c 69 64 20 53 51 4c 20 73 74 61 74 65 | sql-syntax.()."Invalid.SQL.state |
| 0800 | 6d 65 6e 74 22 29 0a 28 65 6d 61 63 73 71 6c 2d 64 65 66 65 72 72 6f 72 20 65 6d 61 63 73 71 6c | ment").(emacsql-deferror.emacsql |
| 0820 | 2d 69 6e 74 65 72 6e 61 6c 20 28 29 20 22 49 6e 74 65 72 6e 61 6c 20 65 72 72 6f 72 22 29 0a 28 | -internal.()."Internal.error").( |
| 0840 | 65 6d 61 63 73 71 6c 2d 64 65 66 65 72 72 6f 72 20 65 6d 61 63 73 71 6c 2d 6c 6f 63 6b 65 64 20 | emacsql-deferror.emacsql-locked. |
| 0860 | 28 29 20 22 44 61 74 61 62 61 73 65 20 6c 6f 63 6b 65 64 22 29 0a 28 65 6d 61 63 73 71 6c 2d 64 | ()."Database.locked").(emacsql-d |
| 0880 | 65 66 65 72 72 6f 72 20 65 6d 61 63 73 71 6c 2d 66 61 74 61 6c 20 28 29 20 22 46 61 74 61 6c 20 | eferror.emacsql-fatal.()."Fatal. |
| 08a0 | 65 72 72 6f 72 22 29 0a 28 65 6d 61 63 73 71 6c 2d 64 65 66 65 72 72 6f 72 20 65 6d 61 63 73 71 | error").(emacsql-deferror.emacsq |
| 08c0 | 6c 2d 6d 65 6d 6f 72 79 20 28 29 20 22 4f 75 74 20 6f 66 20 6d 65 6d 6f 72 79 22 29 0a 28 65 6d | l-memory.()."Out.of.memory").(em |
| 08e0 | 61 63 73 71 6c 2d 64 65 66 65 72 72 6f 72 20 65 6d 61 63 73 71 6c 2d 63 6f 72 72 75 70 74 69 6f | acsql-deferror.emacsql-corruptio |
| 0900 | 6e 20 28 29 20 22 44 61 74 61 62 61 73 65 20 63 6f 72 72 75 70 74 65 64 22 29 0a 28 65 6d 61 63 | n.()."Database.corrupted").(emac |
| 0920 | 73 71 6c 2d 64 65 66 65 72 72 6f 72 20 65 6d 61 63 73 71 6c 2d 61 63 63 65 73 73 20 28 29 20 22 | sql-deferror.emacsql-access.()." |
| 0940 | 44 61 74 61 62 61 73 65 20 61 63 63 65 73 73 20 65 72 72 6f 72 22 29 0a 28 65 6d 61 63 73 71 6c | Database.access.error").(emacsql |
| 0960 | 2d 64 65 66 65 72 72 6f 72 20 65 6d 61 63 73 71 6c 2d 74 69 6d 65 6f 75 74 20 28 29 20 22 51 75 | -deferror.emacsql-timeout.()."Qu |
| 0980 | 65 72 79 20 74 69 6d 65 6f 75 74 20 65 72 72 6f 72 22 29 0a 28 65 6d 61 63 73 71 6c 2d 64 65 66 | ery.timeout.error").(emacsql-def |
| 09a0 | 65 72 72 6f 72 20 65 6d 61 63 73 71 6c 2d 77 61 72 6e 69 6e 67 20 28 29 20 22 57 61 72 6e 69 6e | error.emacsql-warning.()."Warnin |
| 09c0 | 67 20 6d 65 73 73 61 67 65 22 29 0a 0a 28 64 65 66 75 6e 20 65 6d 61 63 73 71 6c 2d 65 72 72 6f | g.message")..(defun.emacsql-erro |
| 09e0 | 72 20 28 66 6f 72 6d 61 74 20 26 72 65 73 74 20 61 72 67 73 29 0a 20 20 22 4c 69 6b 65 20 60 65 | r.(format.&rest.args)..."Like.`e |
| 0a00 | 72 72 6f 72 27 2c 20 62 75 74 20 73 69 67 6e 61 6c 20 61 6e 20 65 6d 61 63 73 71 6c 2d 73 79 6e | rror',.but.signal.an.emacsql-syn |
| 0a20 | 74 61 78 20 63 6f 6e 64 69 74 69 6f 6e 2e 22 0a 20 20 28 73 69 67 6e 61 6c 20 27 65 6d 61 63 73 | tax.condition."...(signal.'emacs |
| 0a40 | 71 6c 2d 73 79 6e 74 61 78 20 28 6c 69 73 74 20 28 61 70 70 6c 79 20 23 27 66 6f 72 6d 61 74 20 | ql-syntax.(list.(apply.#'format. |
| 0a60 | 66 6f 72 6d 61 74 20 61 72 67 73 29 29 29 29 0a 0a 3b 3b 3b 20 45 73 63 61 70 69 6e 67 20 66 75 | format.args))))..;;;.Escaping.fu |
| 0a80 | 6e 63 74 69 6f 6e 73 0a 0a 28 64 65 66 76 61 72 20 65 6d 61 63 73 71 6c 2d 72 65 73 65 72 76 65 | nctions..(defvar.emacsql-reserve |
| 0aa0 | 64 20 28 6d 61 6b 65 2d 68 61 73 68 2d 74 61 62 6c 65 20 3a 74 65 73 74 20 27 65 71 75 61 6c 29 | d.(make-hash-table.:test.'equal) |
| 0ac0 | 0a 20 20 22 43 6f 6c 6c 65 63 74 69 6f 6e 20 6f 66 20 61 6c 6c 20 6b 6e 6f 77 6e 20 72 65 73 65 | ..."Collection.of.all.known.rese |
| 0ae0 | 72 76 65 64 20 77 6f 72 64 73 2c 20 75 73 65 64 20 66 6f 72 20 65 73 63 61 70 69 6e 67 2e 22 29 | rved.words,.used.for.escaping.") |
| 0b00 | 0a 0a 28 64 65 66 75 6e 20 65 6d 61 63 73 71 6c 2d 72 65 67 69 73 74 65 72 2d 72 65 73 65 72 76 | ..(defun.emacsql-register-reserv |
| 0b20 | 65 64 20 28 73 65 71 29 0a 20 20 22 52 65 67 69 73 74 65 72 20 73 65 71 75 65 6e 63 65 20 6f 66 | ed.(seq)..."Register.sequence.of |
| 0b40 | 20 6b 65 79 77 6f 72 64 73 20 61 73 20 72 65 73 65 72 76 65 64 20 77 6f 72 64 73 2c 20 72 65 74 | .keywords.as.reserved.words,.ret |
| 0b60 | 75 72 6e 69 6e 67 20 53 45 51 2e 22 0a 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 77 6f 72 64 | urning.SEQ."...(cl-loop.for.word |
| 0b80 | 20 62 65 69 6e 67 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 73 65 71 0a 20 20 20 20 20 | .being.the.elements.of.seq...... |
| 0ba0 | 20 20 20 20 20 20 64 6f 20 28 73 65 74 66 20 28 67 65 74 68 61 73 68 20 28 75 70 63 61 73 65 20 | ......do.(setf.(gethash.(upcase. |
| 0bc0 | 28 66 6f 72 6d 61 74 20 22 25 73 22 20 77 6f 72 64 29 29 20 65 6d 61 63 73 71 6c 2d 72 65 73 65 | (format."%s".word)).emacsql-rese |
| 0be0 | 72 76 65 64 29 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 66 69 6e 61 6c 6c 79 20 28 63 6c 2d | rved).t)............finally.(cl- |
| 0c00 | 72 65 74 75 72 6e 20 73 65 71 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6d 61 63 73 71 6c 2d 72 65 | return.seq)))..(defun.emacsql-re |
| 0c20 | 73 65 72 76 65 64 2d 70 20 28 6e 61 6d 65 29 0a 20 20 22 52 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e | served-p.(name)..."Returns.non-n |
| 0c40 | 69 6c 20 69 66 20 73 74 72 69 6e 67 20 4e 41 4d 45 20 69 73 20 61 20 53 51 4c 20 6b 65 79 77 6f | il.if.string.NAME.is.a.SQL.keywo |
| 0c60 | 72 64 2e 22 0a 20 20 28 67 65 74 68 61 73 68 20 28 75 70 63 61 73 65 20 6e 61 6d 65 29 20 65 6d | rd."...(gethash.(upcase.name).em |
| 0c80 | 61 63 73 71 6c 2d 72 65 73 65 72 76 65 64 29 29 0a 0a 28 64 65 66 75 6e 20 65 6d 61 63 73 71 6c | acsql-reserved))..(defun.emacsql |
| 0ca0 | 2d 71 75 6f 74 65 2d 73 63 61 6c 61 72 20 28 73 74 72 69 6e 67 29 0a 20 20 22 53 69 6e 67 6c 65 | -quote-scalar.(string)..."Single |
| 0cc0 | 2d 71 75 6f 74 65 20 28 73 63 61 6c 61 72 29 20 53 54 52 49 4e 47 20 66 6f 72 20 75 73 65 20 69 | -quote.(scalar).STRING.for.use.i |
| 0ce0 | 6e 20 61 20 53 51 4c 20 65 78 70 72 65 73 73 69 6f 6e 2e 22 0a 20 20 28 77 69 74 68 2d 74 65 6d | n.a.SQL.expression."...(with-tem |
| 0d00 | 70 2d 62 75 66 66 65 72 0a 20 20 20 20 28 69 6e 73 65 72 74 20 73 74 72 69 6e 67 29 0a 20 20 20 | p-buffer.....(insert.string).... |
| 0d20 | 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 28 77 68 | .(goto-char.(point-min)).....(wh |
| 0d40 | 69 6c 65 20 28 72 65 2d 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 20 22 27 22 20 6e 69 6c 20 74 | ile.(re-search-forward."'".nil.t |
| 0d60 | 29 0a 20 20 20 20 20 20 28 72 65 70 6c 61 63 65 2d 6d 61 74 63 68 20 22 27 27 22 29 29 0a 20 20 | ).......(replace-match."''"))... |
| 0d80 | 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 28 69 | ..(goto-char.(point-min)).....(i |
| 0da0 | 6e 73 65 72 74 20 22 27 22 29 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 | nsert."'").....(goto-char.(point |
| 0dc0 | 2d 6d 61 78 29 29 0a 20 20 20 20 28 69 6e 73 65 72 74 20 22 27 22 29 0a 20 20 20 20 28 62 75 66 | -max)).....(insert."'").....(buf |
| 0de0 | 66 65 72 2d 73 74 72 69 6e 67 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6d 61 63 73 71 6c 2d 71 75 | fer-string)))..(defun.emacsql-qu |
| 0e00 | 6f 74 65 2d 63 68 61 72 61 63 74 65 72 20 28 63 29 0a 20 20 22 53 69 6e 67 6c 65 2d 71 75 6f 74 | ote-character.(c)..."Single-quot |
| 0e20 | 65 20 63 68 61 72 61 63 74 65 72 20 43 20 66 6f 72 20 75 73 65 20 69 6e 20 61 20 53 51 4c 20 65 | e.character.C.for.use.in.a.SQL.e |
| 0e40 | 78 70 72 65 73 73 69 6f 6e 2e 22 0a 20 20 28 69 66 20 28 63 68 61 72 2d 65 71 75 61 6c 20 63 20 | xpression."...(if.(char-equal.c. |
| 0e60 | 3f 27 29 0a 20 20 20 20 20 20 22 27 27 27 27 22 0a 20 20 20 20 28 66 6f 72 6d 61 74 20 22 27 25 | ?')......."''''".....(format."'% |
| 0e80 | 63 27 22 20 63 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6d 61 63 73 71 6c 2d 71 75 6f 74 65 2d 69 | c'".c)))..(defun.emacsql-quote-i |
| 0ea0 | 64 65 6e 74 69 66 69 65 72 20 28 73 74 72 69 6e 67 29 0a 20 20 22 44 6f 75 62 6c 65 2d 71 75 6f | dentifier.(string)..."Double-quo |
| 0ec0 | 74 65 20 28 69 64 65 6e 74 69 66 69 65 72 29 20 53 54 52 49 4e 47 20 66 6f 72 20 75 73 65 20 69 | te.(identifier).STRING.for.use.i |
| 0ee0 | 6e 20 61 20 53 51 4c 20 65 78 70 72 65 73 73 69 6f 6e 2e 22 0a 20 20 28 66 6f 72 6d 61 74 20 22 | n.a.SQL.expression."...(format." |
| 0f00 | 5c 22 25 73 5c 22 22 20 28 72 65 70 6c 61 63 65 2d 72 65 67 65 78 70 2d 69 6e 2d 73 74 72 69 6e | \"%s\"".(replace-regexp-in-strin |
| 0f20 | 67 20 22 5c 22 22 20 22 5c 22 5c 22 22 20 73 74 72 69 6e 67 29 29 29 0a 0a 28 64 65 66 75 6e 20 | g."\""."\"\"".string)))..(defun. |
| 0f40 | 65 6d 61 63 73 71 6c 2d 65 73 63 61 70 65 2d 69 64 65 6e 74 69 66 69 65 72 20 28 69 64 65 6e 74 | emacsql-escape-identifier.(ident |
| 0f60 | 69 66 69 65 72 29 0a 20 20 22 45 73 63 61 70 65 20 61 6e 20 69 64 65 6e 74 69 66 69 65 72 2c 20 | ifier)..."Escape.an.identifier,. |
| 0f80 | 69 66 20 6e 65 65 64 65 64 2c 20 66 6f 72 20 53 51 4c 2e 22 0a 20 20 28 77 68 65 6e 20 28 6f 72 | if.needed,.for.SQL."...(when.(or |
| 0fa0 | 20 28 6e 75 6c 6c 20 69 64 65 6e 74 69 66 69 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 | .(null.identifier).............( |
| 0fc0 | 6b 65 79 77 6f 72 64 70 20 69 64 65 6e 74 69 66 69 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 | keywordp.identifier)............ |
| 0fe0 | 20 28 6e 6f 74 20 28 6f 72 20 28 73 79 6d 62 6f 6c 70 20 69 64 65 6e 74 69 66 69 65 72 29 0a 20 | .(not.(or.(symbolp.identifier).. |
| 1000 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 65 63 74 6f 72 70 20 69 64 65 | ....................(vectorp.ide |
| 1020 | 6e 74 69 66 69 65 72 29 29 29 29 0a 20 20 20 20 28 65 6d 61 63 73 71 6c 2d 65 72 72 6f 72 20 22 | ntifier)))).....(emacsql-error." |
| 1040 | 49 6e 76 61 6c 69 64 20 69 64 65 6e 74 69 66 69 65 72 3a 20 25 53 22 20 69 64 65 6e 74 69 66 69 | Invalid.identifier:.%S".identifi |
| 1060 | 65 72 29 29 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 28 76 65 63 74 6f 72 70 20 69 64 65 6e 74 69 | er))...(cond....((vectorp.identi |
| 1080 | 66 69 65 72 29 0a 20 20 20 20 28 6d 61 70 63 6f 6e 63 61 74 20 23 27 65 6d 61 63 73 71 6c 2d 65 | fier).....(mapconcat.#'emacsql-e |
| 10a0 | 73 63 61 70 65 2d 69 64 65 6e 74 69 66 69 65 72 20 69 64 65 6e 74 69 66 69 65 72 20 22 2c 20 22 | scape-identifier.identifier.",." |
| 10c0 | 29 29 0a 20 20 20 28 28 65 71 20 69 64 65 6e 74 69 66 69 65 72 20 27 2a 29 20 22 2a 22 29 0a 20 | ))....((eq.identifier.'*)."*").. |
| 10e0 | 20 20 28 74 0a 20 20 20 20 28 6c 65 74 20 28 28 6e 61 6d 65 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d | ..(t.....(let.((name.(symbol-nam |
| 1100 | 65 20 69 64 65 6e 74 69 66 69 65 72 29 29 29 0a 20 20 20 20 20 20 28 69 66 20 28 73 74 72 69 6e | e.identifier))).......(if.(strin |
| 1120 | 67 2d 6d 61 74 63 68 2d 70 20 22 3a 22 20 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d | g-match-p.":".name)...........(m |
| 1140 | 61 70 63 6f 6e 63 61 74 20 23 27 65 6d 61 63 73 71 6c 2d 65 73 63 61 70 65 2d 69 64 65 6e 74 69 | apconcat.#'emacsql-escape-identi |
| 1160 | 66 69 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 61 | fier......................(mapca |
| 1180 | 72 20 23 27 69 6e 74 65 72 6e 20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 20 6e 61 6d 65 20 22 3a | r.#'intern.(split-string.name.": |
| 11a0 | 22 29 29 20 22 2e 22 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 70 72 69 6e 74 20 28 72 | ")).".").........(let.((print.(r |
| 11c0 | 65 70 6c 61 63 65 2d 72 65 67 65 78 70 2d 69 6e 2d 73 74 72 69 6e 67 20 22 2d 22 20 22 5f 22 20 | eplace-regexp-in-string."-"."_". |
| 11e0 | 28 66 6f 72 6d 61 74 20 22 25 53 22 20 69 64 65 6e 74 69 66 69 65 72 29 29 29 0a 20 20 20 20 20 | (format."%S".identifier)))...... |
| 1200 | 20 20 20 20 20 20 20 20 20 28 73 70 65 63 69 61 6c 20 22 5b 5d 2d 5c 30 30 30 2d 5c 30 34 30 21 | .........(special."[]-\000-\040! |
| 1220 | 5c 22 23 25 26 27 28 29 2a 2b 2c 2e 2f 3a 3b 3c 3d 3e 3f 40 5b 5c 5c 5e 60 7b 7c 7d 7e 5c 31 37 | \"#%&'()*+,./:;<=>?@[\\^`{|}~\17 |
| 1240 | 37 5d 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 6f 72 20 28 73 74 72 69 6e 67 2d | 7]"))...........(if.(or.(string- |
| 1260 | 6d 61 74 63 68 2d 70 20 73 70 65 63 69 61 6c 20 70 72 69 6e 74 29 0a 20 20 20 20 20 20 20 20 20 | match-p.special.print).......... |
| 1280 | 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 22 5e 5b 30 2d 39 24 | .........(string-match-p."^[0-9$ |
| 12a0 | 5d 22 20 70 72 69 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6d 61 | ]".print)...................(ema |
| 12c0 | 63 73 71 6c 2d 72 65 73 65 72 76 65 64 2d 70 20 70 72 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 | csql-reserved-p.print))......... |
| 12e0 | 20 20 20 20 20 20 28 65 6d 61 63 73 71 6c 2d 71 75 6f 74 65 2d 69 64 65 6e 74 69 66 69 65 72 20 | ......(emacsql-quote-identifier. |
| 1300 | 70 72 69 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 72 69 6e 74 29 29 29 29 29 29 29 0a | print).............print))))))). |
| 1320 | 0a 28 64 65 66 76 61 72 20 70 72 69 6e 74 2d 65 73 63 61 70 65 2d 63 6f 6e 74 72 6f 6c 2d 63 68 | .(defvar.print-escape-control-ch |
| 1340 | 61 72 61 63 74 65 72 73 29 0a 0a 28 64 65 66 75 6e 20 65 6d 61 63 73 71 6c 2d 65 73 63 61 70 65 | aracters)..(defun.emacsql-escape |
| 1360 | 2d 73 63 61 6c 61 72 20 28 76 61 6c 75 65 29 0a 20 20 22 45 73 63 61 70 65 20 56 41 4c 55 45 20 | -scalar.(value)..."Escape.VALUE. |
| 1380 | 66 6f 72 20 73 65 6e 64 69 6e 67 20 74 6f 20 53 51 4c 69 74 65 2e 22 0a 20 20 28 6c 65 74 20 28 | for.sending.to.SQLite."...(let.( |
| 13a0 | 28 70 72 69 6e 74 2d 65 73 63 61 70 65 2d 6e 65 77 6c 69 6e 65 73 20 74 29 0a 20 20 20 20 20 20 | (print-escape-newlines.t)....... |
| 13c0 | 20 20 28 70 72 69 6e 74 2d 65 73 63 61 70 65 2d 63 6f 6e 74 72 6f 6c 2d 63 68 61 72 61 63 74 65 | ..(print-escape-control-characte |
| 13e0 | 72 73 20 74 29 29 0a 20 20 20 20 28 63 6f 6e 64 20 28 28 6e 75 6c 6c 20 76 61 6c 75 65 29 20 22 | rs.t)).....(cond.((null.value)." |
| 1400 | 4e 55 4c 4c 22 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 6e 75 6d 62 65 72 70 20 76 61 6c 75 65 | NULL")...........((numberp.value |
| 1420 | 29 20 28 70 72 69 6e 31 2d 74 6f 2d 73 74 72 69 6e 67 20 76 61 6c 75 65 29 29 0a 20 20 20 20 20 | ).(prin1-to-string.value))...... |
| 1440 | 20 20 20 20 20 28 28 65 6d 61 63 73 71 6c 2d 71 75 6f 74 65 2d 73 63 61 6c 61 72 20 28 70 72 69 | .....((emacsql-quote-scalar.(pri |
| 1460 | 6e 31 2d 74 6f 2d 73 74 72 69 6e 67 20 76 61 6c 75 65 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e | n1-to-string.value))))))..(defun |
| 1480 | 20 65 6d 61 63 73 71 6c 2d 65 73 63 61 70 65 2d 72 61 77 20 28 76 61 6c 75 65 29 0a 20 20 22 45 | .emacsql-escape-raw.(value)..."E |
| 14a0 | 73 63 61 70 65 20 56 41 4c 55 45 20 66 6f 72 20 73 65 6e 64 69 6e 67 20 74 6f 20 53 51 4c 69 74 | scape.VALUE.for.sending.to.SQLit |
| 14c0 | 65 2e 22 0a 20 20 28 63 6f 6e 64 20 28 28 6e 75 6c 6c 20 76 61 6c 75 65 29 20 22 4e 55 4c 4c 22 | e."...(cond.((null.value)."NULL" |
| 14e0 | 29 0a 20 20 20 20 20 20 20 20 28 28 73 74 72 69 6e 67 70 20 76 61 6c 75 65 29 20 28 65 6d 61 63 | ).........((stringp.value).(emac |
| 1500 | 73 71 6c 2d 71 75 6f 74 65 2d 73 63 61 6c 61 72 20 76 61 6c 75 65 29 29 0a 20 20 20 20 20 20 20 | sql-quote-scalar.value))........ |
| 1520 | 20 28 28 65 72 72 6f 72 20 22 45 78 70 65 63 74 65 64 20 73 74 72 69 6e 67 20 6f 72 20 6e 69 6c | .((error."Expected.string.or.nil |
| 1540 | 22 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6d 61 63 73 71 6c 2d 65 73 63 61 70 65 2d 76 65 63 | "))))..(defun.emacsql-escape-vec |
| 1560 | 74 6f 72 20 28 76 65 63 74 6f 72 29 0a 20 20 22 45 6e 63 6f 64 65 20 56 45 43 54 4f 52 20 69 6e | tor.(vector)..."Encode.VECTOR.in |
| 1580 | 74 6f 20 61 20 53 51 4c 20 76 65 63 74 6f 72 20 73 63 61 6c 61 72 2e 22 0a 20 20 28 63 6c 2d 74 | to.a.SQL.vector.scalar."...(cl-t |
| 15a0 | 79 70 65 63 61 73 65 20 76 65 63 74 6f 72 0a 20 20 20 20 28 6e 75 6c 6c 20 20 20 28 65 6d 61 63 | ypecase.vector.....(null...(emac |
| 15c0 | 73 71 6c 2d 65 72 72 6f 72 20 22 45 6d 70 74 79 20 53 51 4c 20 76 65 63 74 6f 72 20 65 78 70 72 | sql-error."Empty.SQL.vector.expr |
| 15e0 | 65 73 73 69 6f 6e 22 29 29 0a 20 20 20 20 28 6c 69 73 74 20 20 20 28 6d 61 70 63 6f 6e 63 61 74 | ession")).....(list...(mapconcat |
| 1600 | 20 23 27 65 6d 61 63 73 71 6c 2d 65 73 63 61 70 65 2d 76 65 63 74 6f 72 20 76 65 63 74 6f 72 20 | .#'emacsql-escape-vector.vector. |
| 1620 | 22 2c 20 22 29 29 0a 20 20 20 20 28 76 65 63 74 6f 72 20 28 63 6f 6e 63 61 74 20 22 28 22 20 28 | ",.")).....(vector.(concat."(".( |
| 1640 | 6d 61 70 63 6f 6e 63 61 74 20 23 27 65 6d 61 63 73 71 6c 2d 65 73 63 61 70 65 2d 73 63 61 6c 61 | mapconcat.#'emacsql-escape-scala |
| 1660 | 72 20 76 65 63 74 6f 72 20 22 2c 20 22 29 20 22 29 22 29 29 0a 20 20 20 20 28 6f 74 68 65 72 77 | r.vector.",.").")")).....(otherw |
| 1680 | 69 73 65 20 28 65 6d 61 63 73 71 6c 2d 65 72 72 6f 72 20 22 49 6e 76 61 6c 69 64 20 76 65 63 74 | ise.(emacsql-error."Invalid.vect |
| 16a0 | 6f 72 20 25 53 22 20 76 65 63 74 6f 72 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6d 61 63 73 71 | or.%S".vector))))..(defun.emacsq |
| 16c0 | 6c 2d 65 73 63 61 70 65 2d 66 6f 72 6d 61 74 20 28 74 68 69 6e 67 29 0a 20 20 22 45 73 63 61 70 | l-escape-format.(thing)..."Escap |
| 16e0 | 65 20 54 48 49 4e 47 20 66 6f 72 20 75 73 65 20 61 73 20 61 20 60 66 6f 72 6d 61 74 27 20 73 70 | e.THING.for.use.as.a.`format'.sp |
| 1700 | 65 63 2e 22 0a 20 20 28 72 65 70 6c 61 63 65 2d 72 65 67 65 78 70 2d 69 6e 2d 73 74 72 69 6e 67 | ec."...(replace-regexp-in-string |
| 1720 | 20 22 25 22 20 22 25 25 22 20 74 68 69 6e 67 29 29 0a 0a 3b 3b 3b 20 53 63 68 65 6d 61 20 63 6f | ."%"."%%".thing))..;;;.Schema.co |
| 1740 | 6d 70 69 6c 65 72 0a 0a 28 64 65 66 76 61 72 20 65 6d 61 63 73 71 6c 2d 74 79 70 65 2d 6d 61 70 | mpiler..(defvar.emacsql-type-map |
| 1760 | 0a 20 20 27 28 28 69 6e 74 65 67 65 72 20 22 26 49 4e 54 45 47 45 52 22 29 0a 20 20 20 20 28 66 | ...'((integer."&INTEGER").....(f |
| 1780 | 6c 6f 61 74 20 22 26 52 45 41 4c 22 29 0a 20 20 20 20 28 6f 62 6a 65 63 74 20 22 26 54 45 58 54 | loat."&REAL").....(object."&TEXT |
| 17a0 | 22 29 0a 20 20 20 20 28 6e 69 6c 20 22 26 4e 4f 4e 45 22 29 29 0a 20 20 22 41 6e 20 61 6c 69 73 | ").....(nil."&NONE"))..."An.alis |
| 17c0 | 74 20 6d 61 70 70 69 6e 67 20 45 6d 61 63 53 51 4c 20 74 79 70 65 73 20 74 6f 20 53 51 4c 20 74 | t.mapping.EmacSQL.types.to.SQL.t |
| 17e0 | 79 70 65 73 2e 22 29 0a 0a 28 64 65 66 75 6e 20 65 6d 61 63 73 71 6c 2d 2d 66 72 6f 6d 2d 6b 65 | ypes.")..(defun.emacsql--from-ke |
| 1800 | 79 77 6f 72 64 20 28 6b 65 79 77 6f 72 64 29 0a 20 20 22 43 6f 6e 76 65 72 74 20 4b 45 59 57 4f | yword.(keyword)..."Convert.KEYWO |
| 1820 | 52 44 20 69 6e 74 6f 20 53 51 4c 2e 22 0a 20 20 28 6c 65 74 20 28 28 6e 61 6d 65 20 28 73 75 62 | RD.into.SQL."...(let.((name.(sub |
| 1840 | 73 74 72 69 6e 67 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 6b 65 79 77 6f 72 64 29 20 31 29 29 | string.(symbol-name.keyword).1)) |
| 1860 | 29 0a 20 20 20 20 28 75 70 63 61 73 65 20 28 72 65 70 6c 61 63 65 2d 72 65 67 65 78 70 2d 69 6e | ).....(upcase.(replace-regexp-in |
| 1880 | 2d 73 74 72 69 6e 67 20 22 2d 22 20 22 20 22 20 6e 61 6d 65 29 29 29 29 0a 0a 28 64 65 66 75 6e | -string."-".".".name))))..(defun |
| 18a0 | 20 65 6d 61 63 73 71 6c 2d 2d 70 72 65 70 61 72 65 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 28 63 | .emacsql--prepare-constraints.(c |
| 18c0 | 6f 6e 73 74 72 61 69 6e 74 73 29 0a 20 20 22 43 6f 6d 70 69 6c 65 20 43 4f 4e 53 54 52 41 49 4e | onstraints)..."Compile.CONSTRAIN |
| 18e0 | 54 53 20 69 6e 74 6f 20 61 20 70 61 72 74 69 61 6c 20 53 51 4c 20 65 78 70 72 65 73 73 69 6f 6e | TS.into.a.partial.SQL.expression |
| 1900 | 2e 22 0a 20 20 28 6d 61 70 63 6f 6e 63 61 74 0a 20 20 20 23 27 69 64 65 6e 74 69 74 79 0a 20 20 | ."...(mapconcat....#'identity... |
| 1920 | 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 63 6f 6e 73 74 72 61 69 6e 74 20 69 6e 20 63 6f 6e 73 | .(cl-loop.for.constraint.in.cons |
| 1940 | 74 72 61 69 6e 74 73 20 63 6f 6c 6c 65 63 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d | traints.collect.............(cl- |
| 1960 | 74 79 70 65 63 61 73 65 20 63 6f 6e 73 74 72 61 69 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 | typecase.constraint............. |
| 1980 | 20 20 28 6e 75 6c 6c 20 22 4e 55 4c 4c 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6b | ..(null."NULL")...............(k |
| 19a0 | 65 79 77 6f 72 64 20 28 65 6d 61 63 73 71 6c 2d 2d 66 72 6f 6d 2d 6b 65 79 77 6f 72 64 20 63 6f | eyword.(emacsql--from-keyword.co |
| 19c0 | 6e 73 74 72 61 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 79 6d 62 6f 6c | nstraint))...............(symbol |
| 19e0 | 20 28 65 6d 61 63 73 71 6c 2d 65 73 63 61 70 65 2d 69 64 65 6e 74 69 66 69 65 72 20 63 6f 6e 73 | .(emacsql-escape-identifier.cons |
| 1a00 | 74 72 61 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 65 63 74 6f 72 20 28 | traint))...............(vector.( |
| 1a20 | 66 6f 72 6d 61 74 20 22 28 25 73 29 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | format."(%s)"................... |
| 1a40 | 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 6f 6e 63 61 74 0a 20 20 20 20 20 20 20 20 20 | ............(mapconcat.......... |
| 1a60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 27 65 6d 61 63 73 71 6c 2d | ......................#'emacsql- |
| 1a80 | 65 73 63 61 70 65 2d 69 64 65 6e 74 69 66 69 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | escape-identifier............... |
| 1aa0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 72 61 69 6e 74 0a 20 20 20 20 | .................constraint..... |
| 1ac0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2c 20 22 29 | ...........................",.") |
| 1ae0 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 66 6f 72 6d 61 74 20 22 | ))...............(list.(format." |
| 1b00 | 28 25 73 29 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | (%s)"........................... |
| 1b20 | 20 20 28 63 61 72 20 28 65 6d 61 63 73 71 6c 2d 2d 2a 65 78 70 72 20 63 6f 6e 73 74 72 61 69 6e | ..(car.(emacsql--*expr.constrain |
| 1b40 | 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 74 68 65 72 77 69 73 65 0a 20 | t))))...............(otherwise.. |
| 1b60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6d 61 63 73 71 6c 2d 65 73 63 61 70 65 2d 73 63 | ..............(emacsql-escape-sc |
| 1b80 | 61 6c 61 72 20 63 6f 6e 73 74 72 61 69 6e 74 29 29 29 29 0a 20 20 20 22 20 22 29 29 0a 0a 28 64 | alar.constraint))))...."."))..(d |
| 1ba0 | 65 66 75 6e 20 65 6d 61 63 73 71 6c 2d 2d 70 72 65 70 61 72 65 2d 63 6f 6c 75 6d 6e 20 28 63 6f | efun.emacsql--prepare-column.(co |
| 1bc0 | 6c 75 6d 6e 29 0a 20 20 22 43 6f 6e 76 65 72 74 20 43 4f 4c 55 4d 4e 20 69 6e 74 6f 20 61 20 70 | lumn)..."Convert.COLUMN.into.a.p |
| 1be0 | 61 72 74 69 61 6c 20 53 51 4c 20 73 74 72 69 6e 67 2e 22 0a 20 20 28 6d 61 70 63 6f 6e 63 61 74 | artial.SQL.string."...(mapconcat |
| 1c00 | 0a 20 20 20 23 27 69 64 65 6e 74 69 74 79 0a 20 20 20 28 63 6c 2d 65 74 79 70 65 63 61 73 65 20 | ....#'identity....(cl-etypecase. |
| 1c20 | 63 6f 6c 75 6d 6e 0a 20 20 20 20 20 28 73 79 6d 62 6f 6c 20 28 6c 69 73 74 20 28 65 6d 61 63 73 | column......(symbol.(list.(emacs |
| 1c40 | 71 6c 2d 65 73 63 61 70 65 2d 69 64 65 6e 74 69 66 69 65 72 20 63 6f 6c 75 6d 6e 29 0a 20 20 20 | ql-escape-identifier.column).... |
| 1c60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 64 72 20 28 61 73 73 6f 63 20 6e 69 6c | ................(cadr.(assoc.nil |
| 1c80 | 20 65 6d 61 63 73 71 6c 2d 74 79 70 65 2d 6d 61 70 29 29 29 29 0a 20 20 20 20 20 28 6c 69 73 74 | .emacsql-type-map))))......(list |
| 1ca0 | 20 28 63 6c 2d 64 65 73 74 72 75 63 74 75 72 69 6e 67 2d 62 69 6e 64 20 28 6e 61 6d 65 20 2e 20 | .(cl-destructuring-bind.(name... |
| 1cc0 | 63 6f 6e 73 74 72 61 69 6e 74 73 29 20 63 6f 6c 75 6d 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 | constraints).column............. |
| 1ce0 | 20 28 63 6c 2d 64 65 6c 65 74 65 2d 69 66 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 | .(cl-delete-if...............(la |
| 1d00 | 6d 62 64 61 20 28 73 29 20 28 7a 65 72 6f 70 20 28 6c 65 6e 67 74 68 20 73 29 29 29 0a 20 20 20 | mbda.(s).(zerop.(length.s))).... |
| 1d20 | 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 65 6d 61 63 73 71 6c 2d 65 73 63 61 70 65 | ...........(list.(emacsql-escape |
| 1d40 | 2d 69 64 65 6e 74 69 66 69 65 72 20 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | -identifier.name)............... |
| 1d60 | 20 20 20 20 20 20 28 69 66 20 28 6d 65 6d 62 65 72 20 28 63 61 72 20 63 6f 6e 73 74 72 61 69 6e | ......(if.(member.(car.constrain |
| 1d80 | 74 73 29 20 27 28 69 6e 74 65 67 65 72 20 66 6c 6f 61 74 20 6f 62 6a 65 63 74 29 29 0a 20 20 20 | ts).'(integer.float.object)).... |
| 1da0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 64 72 20 28 61 73 73 6f | .....................(cadr.(asso |
| 1dc0 | 63 20 28 70 6f 70 20 63 6f 6e 73 74 72 61 69 6e 74 73 29 20 65 6d 61 63 73 71 6c 2d 74 79 70 65 | c.(pop.constraints).emacsql-type |
| 1de0 | 2d 6d 61 70 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 | -map)).......................(ca |
| 1e00 | 64 72 20 28 61 73 73 6f 63 20 6e 69 6c 20 65 6d 61 63 73 71 6c 2d 74 79 70 65 2d 6d 61 70 29 29 | dr.(assoc.nil.emacsql-type-map)) |
| 1e20 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6d 61 63 73 71 6c 2d 2d | ).....................(emacsql-- |
| 1e40 | 70 72 65 70 61 72 65 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 63 6f 6e 73 74 72 61 69 6e 74 73 29 | prepare-constraints.constraints) |
| 1e60 | 29 29 29 29 29 0a 20 20 20 22 20 22 29 29 0a 0a 28 64 65 66 75 6e 20 65 6d 61 63 73 71 6c 2d 70 | )))))...."."))..(defun.emacsql-p |
| 1e80 | 72 65 70 61 72 65 2d 73 63 68 65 6d 61 20 28 73 63 68 65 6d 61 29 0a 20 20 22 43 6f 6d 70 69 6c | repare-schema.(schema)..."Compil |
| 1ea0 | 65 20 53 43 48 45 4d 41 20 69 6e 74 6f 20 61 20 53 51 4c 20 73 74 72 69 6e 67 2e 22 0a 20 20 28 | e.SCHEMA.into.a.SQL.string."...( |
| 1ec0 | 69 66 20 28 76 65 63 74 6f 72 70 20 73 63 68 65 6d 61 29 0a 20 20 20 20 20 20 28 65 6d 61 63 73 | if.(vectorp.schema).......(emacs |
| 1ee0 | 71 6c 2d 70 72 65 70 61 72 65 2d 73 63 68 65 6d 61 20 28 6c 69 73 74 20 73 63 68 65 6d 61 29 29 | ql-prepare-schema.(list.schema)) |
| 1f00 | 0a 20 20 20 20 28 63 6c 2d 64 65 73 74 72 75 63 74 75 72 69 6e 67 2d 62 69 6e 64 20 28 63 6f 6c | .....(cl-destructuring-bind.(col |
| 1f20 | 75 6d 6e 73 20 2e 20 63 6f 6e 73 74 72 61 69 6e 74 73 29 20 73 63 68 65 6d 61 0a 20 20 20 20 20 | umns...constraints).schema...... |
| 1f40 | 20 28 6d 61 70 63 6f 6e 63 61 74 0a 20 20 20 20 20 20 20 23 27 69 64 65 6e 74 69 74 79 0a 20 20 | .(mapconcat........#'identity... |
| 1f60 | 20 20 20 20 20 28 6e 63 6f 6e 63 0a 20 20 20 20 20 20 20 20 28 6d 61 70 63 61 72 20 23 27 65 6d | .....(nconc.........(mapcar.#'em |
| 1f80 | 61 63 73 71 6c 2d 2d 70 72 65 70 61 72 65 2d 63 6f 6c 75 6d 6e 20 63 6f 6c 75 6d 6e 73 29 0a 20 | acsql--prepare-column.columns).. |
| 1fa0 | 20 20 20 20 20 20 20 28 6d 61 70 63 61 72 20 23 27 65 6d 61 63 73 71 6c 2d 2d 70 72 65 70 61 72 | .......(mapcar.#'emacsql--prepar |
| 1fc0 | 65 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 63 6f 6e 73 74 72 61 69 6e 74 73 29 29 0a 20 20 20 20 | e-constraints.constraints))..... |
| 1fe0 | 20 20 20 22 2c 20 22 29 29 29 29 0a 0a 3b 3b 3b 20 53 74 61 74 65 6d 65 6e 74 20 63 6f 6d 70 69 | ...",."))))..;;;.Statement.compi |
| 2000 | 6c 61 74 69 6f 6e 0a 0a 28 64 65 66 76 61 72 20 65 6d 61 63 73 71 6c 2d 70 72 65 70 61 72 65 2d | lation..(defvar.emacsql-prepare- |
| 2020 | 63 61 63 68 65 20 28 6d 61 6b 65 2d 68 61 73 68 2d 74 61 62 6c 65 20 3a 74 65 73 74 20 27 65 71 | cache.(make-hash-table.:test.'eq |
| 2040 | 75 61 6c 20 3a 77 65 61 6b 6e 65 73 73 20 27 6b 65 79 29 0a 20 20 22 43 61 63 68 65 20 75 73 65 | ual.:weakness.'key)..."Cache.use |
| 2060 | 64 20 74 6f 20 6d 65 6d 6f 69 7a 65 20 60 65 6d 61 63 73 71 6c 2d 70 72 65 70 61 72 65 27 2e 22 | d.to.memoize.`emacsql-prepare'." |
| 2080 | 29 0a 0a 28 64 65 66 76 61 72 20 65 6d 61 63 73 71 6c 2d 2d 76 61 72 73 20 28 29 0a 20 20 22 55 | )..(defvar.emacsql--vars.()..."U |
| 20a0 | 73 65 64 20 77 69 74 68 69 6e 20 60 65 6d 61 63 73 71 6c 2d 77 69 74 68 2d 70 61 72 61 6d 73 27 | sed.within.`emacsql-with-params' |
| 20c0 | 20 74 6f 20 63 6f 6c 6c 65 63 74 20 70 61 72 61 6d 65 74 65 72 73 2e 22 29 0a 0a 28 64 65 66 75 | .to.collect.parameters.")..(defu |
| 20e0 | 6e 20 65 6d 61 63 73 71 6c 2d 73 71 6c 2d 70 20 28 74 68 69 6e 67 29 0a 20 20 22 52 65 74 75 72 | n.emacsql-sql-p.(thing)..."Retur |
| 2100 | 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 54 48 49 4e 47 20 6c 6f 6f 6b 73 20 6c 69 6b 65 20 61 20 | n.non-nil.if.THING.looks.like.a. |
| 2120 | 70 72 65 70 61 72 65 64 20 73 74 61 74 65 6d 65 6e 74 2e 22 0a 20 20 28 61 6e 64 20 28 76 65 63 | prepared.statement."...(and.(vec |
| 2140 | 74 6f 72 70 20 74 68 69 6e 67 29 20 28 3e 20 28 6c 65 6e 67 74 68 20 74 68 69 6e 67 29 20 30 29 | torp.thing).(>.(length.thing).0) |
| 2160 | 20 28 6b 65 79 77 6f 72 64 70 20 28 61 72 65 66 20 74 68 69 6e 67 20 30 29 29 29 29 0a 0a 28 64 | .(keywordp.(aref.thing.0))))..(d |
| 2180 | 65 66 75 6e 20 65 6d 61 63 73 71 6c 2d 70 61 72 61 6d 20 28 74 68 69 6e 67 29 0a 20 20 22 52 65 | efun.emacsql-param.(thing)..."Re |
| 21a0 | 74 75 72 6e 20 74 68 65 20 69 6e 64 65 78 20 61 6e 64 20 74 79 70 65 20 6f 66 20 54 48 49 4e 47 | turn.the.index.and.type.of.THING |
| 21c0 | 2c 20 6f 72 20 6e 69 6c 20 69 66 20 54 48 49 4e 47 20 69 73 20 6e 6f 74 20 61 20 70 61 72 61 6d | ,.or.nil.if.THING.is.not.a.param |
| 21e0 | 65 74 65 72 2e 0a 41 20 70 61 72 61 6d 65 74 65 72 20 69 73 20 61 20 73 79 6d 62 6f 6c 20 74 68 | eter..A.parameter.is.a.symbol.th |
| 2200 | 61 74 20 6c 6f 6f 6b 73 20 6c 69 6b 65 20 24 69 31 2c 20 24 73 32 2c 20 24 76 33 2c 20 65 74 63 | at.looks.like.$i1,.$s2,.$v3,.etc |
| 2220 | 2e 20 54 68 65 0a 6c 65 74 74 65 72 20 72 65 66 65 72 73 20 74 6f 20 74 68 65 20 74 79 70 65 3a | ..The.letter.refers.to.the.type: |
| 2240 | 20 69 64 65 6e 74 69 66 69 65 72 20 28 69 29 2c 20 73 63 61 6c 61 72 20 28 73 29 2c 0a 76 65 63 | .identifier.(i),.scalar.(s),.vec |
| 2260 | 74 6f 72 20 28 76 29 2c 20 72 61 77 20 73 74 72 69 6e 67 20 28 72 29 2c 20 73 63 68 65 6d 61 20 | tor.(v),.raw.string.(r),.schema. |
| 2280 | 28 53 29 2e 22 0a 20 20 28 61 6e 64 20 28 73 79 6d 62 6f 6c 70 20 74 68 69 6e 67 29 0a 20 20 20 | (S)."...(and.(symbolp.thing).... |
| 22a0 | 20 20 20 20 28 6c 65 74 20 28 28 6e 61 6d 65 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 74 68 69 | ....(let.((name.(symbol-name.thi |
| 22c0 | 6e 67 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 | ng)))..........(and.(string-matc |
| 22e0 | 68 2d 70 20 22 5e 5c 5c 24 5b 69 73 76 72 53 5d 5b 30 2d 39 5d 2b 24 22 20 6e 61 6d 65 29 0a 20 | h-p."^\\$[isvrS][0-9]+$".name).. |
| 2300 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 28 31 2d 20 28 72 65 61 64 20 28 73 75 | .............(cons.(1-.(read.(su |
| 2320 | 62 73 74 72 69 6e 67 20 6e 61 6d 65 20 32 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | bstring.name.2)))............... |
| 2340 | 20 20 20 20 20 20 28 63 6c 2d 65 63 61 73 65 20 28 61 72 65 66 20 6e 61 6d 65 20 31 29 0a 20 20 | ......(cl-ecase.(aref.name.1)... |
| 2360 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3f 69 20 3a 69 64 65 6e 74 69 66 | ....................(?i.:identif |
| 2380 | 69 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3f 73 20 3a | ier).......................(?s.: |
| 23a0 | 73 63 61 6c 61 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3f | scalar).......................(? |
| 23c0 | 76 20 3a 76 65 63 74 6f 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | v.:vector)...................... |
| 23e0 | 20 28 3f 72 20 3a 72 61 77 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .(?r.:raw)...................... |
| 2400 | 20 28 3f 53 20 3a 73 63 68 65 6d 61 29 29 29 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 65 | .(?S.:schema)))))))..(defmacro.e |
| 2420 | 6d 61 63 73 71 6c 2d 77 69 74 68 2d 70 61 72 61 6d 73 20 28 70 72 65 66 69 78 20 26 72 65 73 74 | macsql-with-params.(prefix.&rest |
| 2440 | 20 62 6f 64 79 29 0a 20 20 22 45 76 61 6c 75 61 74 65 20 42 4f 44 59 2c 20 63 6f 6c 6c 65 63 74 | .body)..."Evaluate.BODY,.collect |
| 2460 | 69 6e 67 20 70 61 72 61 6d 65 74 65 72 73 2e 0a 50 72 6f 76 69 64 65 64 20 6c 6f 63 61 6c 20 66 | ing.parameters..Provided.local.f |
| 2480 | 75 6e 63 74 69 6f 6e 73 3a 20 60 70 61 72 61 6d 27 2c 20 60 69 64 65 6e 74 69 66 69 65 72 27 2c | unctions:.`param',.`identifier', |
| 24a0 | 20 60 73 63 61 6c 61 72 27 2c 20 60 72 61 77 27 2c 0a 60 73 76 65 63 74 6f 72 27 2c 20 60 65 78 | .`scalar',.`raw',.`svector',.`ex |
| 24c0 | 70 72 27 2c 20 60 73 75 62 73 71 6c 27 2c 20 61 6e 64 20 60 63 6f 6d 62 69 6e 65 27 2e 20 20 42 | pr',.`subsql',.and.`combine'...B |
| 24e0 | 4f 44 59 20 73 68 6f 75 6c 64 20 72 65 74 75 72 6e 20 61 0a 73 74 72 69 6e 67 2c 20 77 68 69 63 | ODY.should.return.a.string,.whic |
| 2500 | 68 20 77 69 6c 6c 20 62 65 20 63 6f 6d 62 69 6e 65 64 20 77 69 74 68 20 76 61 72 69 61 62 6c 65 | h.will.be.combined.with.variable |
| 2520 | 20 64 65 66 69 6e 69 74 69 6f 6e 73 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e | .definitions."...(declare.(inden |
| 2540 | 74 20 31 29 29 0a 20 20 60 28 6c 65 74 20 28 28 65 6d 61 63 73 71 6c 2d 2d 76 61 72 73 20 28 29 | t.1))...`(let.((emacsql--vars.() |
| 2560 | 29 29 0a 20 20 20 20 20 28 63 6c 2d 66 6c 65 74 2a 20 28 28 63 6f 6d 62 69 6e 65 20 28 70 72 65 | ))......(cl-flet*.((combine.(pre |
| 2580 | 70 61 72 65 64 29 20 28 65 6d 61 63 73 71 6c 2d 2d 2a 63 6f 6d 62 69 6e 65 20 70 72 65 70 61 72 | pared).(emacsql--*combine.prepar |
| 25a0 | 65 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 61 72 61 6d 20 28 74 68 69 | ed)).................(param.(thi |
| 25c0 | 6e 67 29 20 28 65 6d 61 63 73 71 6c 2d 2d 21 70 61 72 61 6d 20 74 68 69 6e 67 29 29 0a 20 20 20 | ng).(emacsql--!param.thing)).... |
| 25e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 64 65 6e 74 69 66 69 65 72 20 28 74 68 69 6e 67 29 | .............(identifier.(thing) |
| 2600 | 20 28 65 6d 61 63 73 71 6c 2d 2d 21 70 61 72 61 6d 20 74 68 69 6e 67 20 3a 69 64 65 6e 74 69 66 | .(emacsql--!param.thing.:identif |
| 2620 | 69 65 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 63 61 6c 61 72 20 28 74 | ier)).................(scalar.(t |
| 2640 | 68 69 6e 67 29 20 28 65 6d 61 63 73 71 6c 2d 2d 21 70 61 72 61 6d 20 74 68 69 6e 67 20 3a 73 63 | hing).(emacsql--!param.thing.:sc |
| 2660 | 61 6c 61 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 77 20 28 74 68 69 | alar)).................(raw.(thi |
| 2680 | 6e 67 29 20 28 65 6d 61 63 73 71 6c 2d 2d 21 70 61 72 61 6d 20 74 68 69 6e 67 20 3a 72 61 77 29 | ng).(emacsql--!param.thing.:raw) |
| 26a0 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 76 65 63 74 6f 72 20 28 74 68 69 6e | ).................(svector.(thin |
| 26c0 | 67 29 20 28 63 6f 6d 62 69 6e 65 20 28 65 6d 61 63 73 71 6c 2d 2d 2a 76 65 63 74 6f 72 20 74 68 | g).(combine.(emacsql--*vector.th |
| 26e0 | 69 6e 67 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 78 70 72 20 28 74 68 | ing))).................(expr.(th |
| 2700 | 69 6e 67 29 20 28 63 6f 6d 62 69 6e 65 20 28 65 6d 61 63 73 71 6c 2d 2d 2a 65 78 70 72 20 74 68 | ing).(combine.(emacsql--*expr.th |
| 2720 | 69 6e 67 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 75 62 73 71 6c 20 28 | ing))).................(subsql.( |
| 2740 | 74 68 69 6e 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 | thing)...................(format |
| 2760 | 20 22 28 25 73 29 22 20 28 63 6f 6d 62 69 6e 65 20 28 65 6d 61 63 73 71 6c 2d 70 72 65 70 61 72 | ."(%s)".(combine.(emacsql-prepar |
| 2780 | 65 20 74 68 69 6e 67 29 29 29 29 29 0a 20 20 20 20 20 20 20 28 63 6f 6e 73 20 28 63 6f 6e 63 61 | e.thing)))))........(cons.(conca |
| 27a0 | 74 20 2c 70 72 65 66 69 78 20 28 70 72 6f 67 6e 20 2c 40 62 6f 64 79 29 29 20 65 6d 61 63 73 71 | t.,prefix.(progn.,@body)).emacsq |
| 27c0 | 6c 2d 2d 76 61 72 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6d 61 63 73 71 6c 2d 2d 21 70 61 | l--vars))))..(defun.emacsql--!pa |
| 27e0 | 72 61 6d 20 28 74 68 69 6e 67 20 26 6f 70 74 69 6f 6e 61 6c 20 6b 69 6e 64 29 0a 20 20 22 50 61 | ram.(thing.&optional.kind)..."Pa |
| 2800 | 72 73 65 2c 20 65 73 63 61 70 65 2c 20 61 6e 64 20 73 74 6f 72 65 20 54 48 49 4e 47 2e 0a 49 66 | rse,.escape,.and.store.THING..If |
| 2820 | 20 6f 70 74 69 6f 6e 61 6c 20 4b 49 4e 44 20 69 73 20 6e 6f 74 20 73 70 65 63 69 66 69 65 64 2c | .optional.KIND.is.not.specified, |
| 2840 | 20 74 68 65 6e 20 74 72 79 20 74 6f 20 67 75 65 73 73 20 69 74 2e 0a 4f 6e 6c 79 20 75 73 65 20 | .then.try.to.guess.it..Only.use. |
| 2860 | 77 69 74 68 69 6e 20 60 65 6d 61 63 73 71 6c 2d 77 69 74 68 2d 70 61 72 61 6d 73 27 21 22 0a 20 | within.`emacsql-with-params'!".. |
| 2880 | 20 28 63 6c 2d 66 6c 65 74 20 28 28 63 68 65 63 6b 20 28 70 61 72 61 6d 29 0a 20 20 20 20 20 20 | .(cl-flet.((check.(param)....... |
| 28a0 | 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 6b 69 6e 64 20 28 6e 6f 74 20 28 65 71 | ........(when.(and.kind.(not.(eq |
| 28c0 | 20 6b 69 6e 64 20 28 63 64 72 20 70 61 72 61 6d 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 | .kind.(cdr.param))))............ |
| 28e0 | 20 20 20 20 20 28 65 6d 61 63 73 71 6c 2d 65 72 72 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 | .....(emacsql-error............. |
| 2900 | 20 20 20 20 20 22 49 6e 76 61 6c 69 64 20 70 61 72 61 6d 65 74 65 72 20 74 79 70 65 20 25 73 2c | ....."Invalid.parameter.type.%s, |
| 2920 | 20 65 78 70 65 63 74 69 6e 67 20 25 73 22 20 74 68 69 6e 67 20 6b 69 6e 64 29 29 29 29 0a 20 20 | .expecting.%s".thing.kind))))... |
| 2940 | 20 20 28 6c 65 74 20 28 28 70 61 72 61 6d 20 28 65 6d 61 63 73 71 6c 2d 70 61 72 61 6d 20 74 68 | ..(let.((param.(emacsql-param.th |
| 2960 | 69 6e 67 29 29 29 0a 20 20 20 20 20 20 28 69 66 20 28 6e 75 6c 6c 20 70 61 72 61 6d 29 0a 20 20 | ing))).......(if.(null.param)... |
| 2980 | 20 20 20 20 20 20 20 20 28 65 6d 61 63 73 71 6c 2d 65 73 63 61 70 65 2d 66 6f 72 6d 61 74 0a 20 | ........(emacsql-escape-format.. |
| 29a0 | 20 20 20 20 20 20 20 20 20 20 28 69 66 20 6b 69 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ..........(if.kind.............. |
| 29c0 | 20 20 28 63 6c 2d 63 61 73 65 20 6b 69 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ..(cl-case.kind................. |
| 29e0 | 20 28 3a 69 64 65 6e 74 69 66 69 65 72 20 28 65 6d 61 63 73 71 6c 2d 65 73 63 61 70 65 2d 69 64 | .(:identifier.(emacsql-escape-id |
| 2a00 | 65 6e 74 69 66 69 65 72 20 74 68 69 6e 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | entifier.thing))................ |
| 2a20 | 20 20 28 3a 73 63 61 6c 61 72 20 28 65 6d 61 63 73 71 6c 2d 65 73 63 61 70 65 2d 73 63 61 6c 61 | ..(:scalar.(emacsql-escape-scala |
| 2a40 | 72 20 74 68 69 6e 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3a 76 65 63 | r.thing))..................(:vec |
| 2a60 | 74 6f 72 20 28 65 6d 61 63 73 71 6c 2d 65 73 63 61 70 65 2d 76 65 63 74 6f 72 20 74 68 69 6e 67 | tor.(emacsql-escape-vector.thing |
| 2a80 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3a 72 61 77 20 28 65 6d 61 63 73 | ))..................(:raw.(emacs |
| 2aa0 | 71 6c 2d 65 73 63 61 70 65 2d 72 61 77 20 74 68 69 6e 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 | ql-escape-raw.thing))........... |
| 2ac0 | 20 20 20 20 20 20 20 28 3a 73 63 68 65 6d 61 20 28 65 6d 61 63 73 71 6c 2d 70 72 65 70 61 72 65 | .......(:schema.(emacsql-prepare |
| 2ae0 | 2d 73 63 68 65 6d 61 20 74 68 69 6e 67 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 | -schema.thing)))..............(i |
| 2b00 | 66 20 28 61 6e 64 20 28 6e 6f 74 20 28 6e 75 6c 6c 20 74 68 69 6e 67 29 29 0a 20 20 20 20 20 20 | f.(and.(not.(null.thing))....... |
| 2b20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 6b 65 79 77 6f 72 64 70 20 74 | ................(not.(keywordp.t |
| 2b40 | 68 69 6e 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 79 | hing)).......................(sy |
| 2b60 | 6d 62 6f 6c 70 20 74 68 69 6e 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | mbolp.thing))..................( |
| 2b80 | 65 6d 61 63 73 71 6c 2d 65 73 63 61 70 65 2d 69 64 65 6e 74 69 66 69 65 72 20 74 68 69 6e 67 29 | emacsql-escape-identifier.thing) |
| 2ba0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6d 61 63 73 71 6c 2d 65 73 63 61 70 65 2d | ................(emacsql-escape- |
| 2bc0 | 73 63 61 6c 61 72 20 74 68 69 6e 67 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 70 72 6f 67 31 20 | scalar.thing)))).........(prog1. |
| 2be0 | 28 69 66 20 28 65 71 20 28 63 64 72 20 70 61 72 61 6d 29 20 3a 73 63 68 65 6d 61 29 20 22 28 25 | (if.(eq.(cdr.param).:schema)."(% |
| 2c00 | 73 29 22 20 22 25 73 22 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 68 65 63 6b 20 70 61 72 61 6d | s)"."%s")...........(check.param |
| 2c20 | 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 65 6d 61 63 73 71 6c 2d 2d 76 61 72 73 20 | )...........(setq.emacsql--vars. |
| 2c40 | 28 6e 63 6f 6e 63 20 65 6d 61 63 73 71 6c 2d 2d 76 61 72 73 20 28 6c 69 73 74 20 70 61 72 61 6d | (nconc.emacsql--vars.(list.param |
| 2c60 | 29 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6d 61 63 73 71 6c 2d 2d 2a 76 65 63 74 6f | ))))))))..(defun.emacsql--*vecto |
| 2c80 | 72 20 28 76 65 63 74 6f 72 29 0a 20 20 22 50 72 65 70 61 72 65 20 56 45 43 54 4f 52 2e 22 0a 20 | r.(vector)..."Prepare.VECTOR.".. |
| 2ca0 | 20 28 65 6d 61 63 73 71 6c 2d 77 69 74 68 2d 70 61 72 61 6d 73 20 22 22 0a 20 20 20 20 28 63 6c | .(emacsql-with-params."".....(cl |
| 2cc0 | 2d 74 79 70 65 63 61 73 65 20 76 65 63 74 6f 72 0a 20 20 20 20 20 20 28 73 79 6d 62 6f 6c 20 28 | -typecase.vector.......(symbol.( |
| 2ce0 | 65 6d 61 63 73 71 6c 2d 2d 21 70 61 72 61 6d 20 76 65 63 74 6f 72 20 3a 76 65 63 74 6f 72 29 29 | emacsql--!param.vector.:vector)) |
| 2d00 | 0a 20 20 20 20 20 20 28 6c 69 73 74 20 28 6d 61 70 63 6f 6e 63 61 74 20 23 27 73 76 65 63 74 6f | .......(list.(mapconcat.#'svecto |
| 2d20 | 72 20 76 65 63 74 6f 72 20 22 2c 20 22 29 29 0a 20 20 20 20 20 20 28 76 65 63 74 6f 72 20 28 66 | r.vector.",.")).......(vector.(f |
| 2d40 | 6f 72 6d 61 74 20 22 28 25 73 29 22 20 28 6d 61 70 63 6f 6e 63 61 74 20 23 27 73 63 61 6c 61 72 | ormat."(%s)".(mapconcat.#'scalar |
| 2d60 | 20 76 65 63 74 6f 72 20 22 2c 20 22 29 29 29 0a 20 20 20 20 20 20 28 6f 74 68 65 72 77 69 73 65 | .vector.",."))).......(otherwise |
| 2d80 | 20 28 65 6d 61 63 73 71 6c 2d 65 72 72 6f 72 20 22 49 6e 76 61 6c 69 64 20 76 65 63 74 6f 72 3a | .(emacsql-error."Invalid.vector: |
| 2da0 | 20 25 53 22 20 76 65 63 74 6f 72 29 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 65 6d 61 63 | .%S".vector)))))..(defmacro.emac |
| 2dc0 | 73 71 6c 2d 2d 67 65 6e 65 72 61 74 65 2d 6f 70 2d 6c 6f 6f 6b 75 70 2d 64 65 66 75 6e 20 28 6e | sql--generate-op-lookup-defun.(n |
| 2de0 | 61 6d 65 20 6f 70 65 72 61 74 6f 72 2d 70 72 65 63 65 64 65 6e 63 65 2d 67 72 6f 75 70 73 29 0a | ame.operator-precedence-groups). |
| 2e00 | 20 20 22 47 65 6e 65 72 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 6c 6f 6f 6b 20 75 70 20 | .."Generate.function.to.look.up. |
| 2e20 | 70 72 65 64 65 66 69 6e 65 64 20 53 51 4c 20 6f 70 65 72 61 74 6f 72 20 6d 65 74 61 64 61 74 61 | predefined.SQL.operator.metadata |
| 2e40 | 2e 0a 0a 54 68 65 20 67 65 6e 65 72 61 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 62 6f 75 | ...The.generated.function.is.bou |
| 2e60 | 6e 64 20 74 6f 20 4e 41 4d 45 20 61 6e 64 20 61 63 63 65 70 74 73 20 74 77 6f 0a 61 72 67 75 6d | nd.to.NAME.and.accepts.two.argum |
| 2e80 | 65 6e 74 73 2c 20 4f 50 45 52 41 54 4f 52 2d 4e 41 4d 45 20 61 6e 64 20 4f 50 45 52 41 54 4f 52 | ents,.OPERATOR-NAME.and.OPERATOR |
| 2ea0 | 2d 41 52 47 55 4d 45 4e 54 2d 43 4f 55 4e 54 2e 0a 4f 50 45 52 41 54 4f 52 2d 50 52 45 43 45 44 | -ARGUMENT-COUNT..OPERATOR-PRECED |
| 2ec0 | 45 4e 43 45 2d 47 52 4f 55 50 53 20 73 68 6f 75 6c 64 20 62 65 20 61 20 6e 75 6d 62 65 72 20 6f | ENCE-GROUPS.should.be.a.number.o |
| 2ee0 | 66 20 6c 69 73 74 73 20 63 6f 6e 74 61 69 6e 69 6e 67 0a 6f 70 65 72 61 74 6f 72 73 20 67 72 6f | f.lists.containing.operators.gro |
| 2f00 | 75 70 65 64 20 62 79 20 6f 70 65 72 61 74 6f 72 20 70 72 65 63 65 64 65 6e 63 65 20 28 69 6e 20 | uped.by.operator.precedence.(in. |
| 2f20 | 6f 72 64 65 72 20 6f 66 20 70 72 65 63 65 64 65 6e 63 65 0a 66 72 6f 6d 20 68 69 67 68 65 73 74 | order.of.precedence.from.highest |
| 2f40 | 20 74 6f 20 6c 6f 77 65 73 74 29 2e 20 20 41 20 73 69 6e 67 6c 65 20 6f 70 65 72 61 74 6f 72 20 | .to.lowest)...A.single.operator. |
| 2f60 | 69 73 20 72 65 70 72 65 73 65 6e 74 65 64 20 62 79 20 61 0a 6c 69 73 74 20 6f 66 20 61 74 20 6c | is.represented.by.a.list.of.at.l |
| 2f80 | 65 61 73 74 20 74 77 6f 20 65 6c 65 6d 65 6e 74 73 3a 20 6f 70 65 72 61 74 6f 72 20 6e 61 6d 65 | east.two.elements:.operator.name |
| 2fa0 | 20 28 73 79 6d 62 6f 6c 29 20 61 6e 64 0a 6f 70 65 72 61 74 6f 72 20 61 72 69 74 79 20 28 3a 75 | .(symbol).and.operator.arity.(:u |
| 2fc0 | 6e 61 72 79 20 6f 72 20 3a 62 69 6e 61 72 79 29 2e 20 20 4f 70 74 69 6f 6e 61 6c 6c 79 20 61 20 | nary.or.:binary)...Optionally.a. |
| 2fe0 | 63 75 73 74 6f 6d 0a 65 78 70 72 65 73 73 69 6f 6e 20 63 61 6e 20 62 65 20 69 6e 63 6c 75 64 65 | custom.expression.can.be.include |
| 3000 | 64 2c 20 77 68 69 63 68 20 64 65 66 69 6e 65 73 20 68 6f 77 20 74 68 65 20 6f 70 65 72 61 74 6f | d,.which.defines.how.the.operato |
| 3020 | 72 20 69 73 0a 65 78 70 61 6e 64 65 64 20 69 6e 74 6f 20 61 6e 20 53 51 4c 20 65 78 70 72 65 73 | r.is.expanded.into.an.SQL.expres |
| 3040 | 73 69 6f 6e 20 28 74 68 65 72 65 20 61 72 65 20 74 77 6f 20 64 65 66 61 75 6c 74 73 2c 20 6f 6e | sion.(there.are.two.defaults,.on |
| 3060 | 65 20 66 6f 72 0a 3a 75 6e 61 72 79 20 61 6e 64 20 6f 6e 65 20 66 6f 72 20 3a 62 69 6e 61 72 79 | e.for.:unary.and.one.for.:binary |
| 3080 | 20 6f 70 65 72 61 74 6f 72 73 29 2e 0a 0a 41 6e 20 65 78 61 6d 70 6c 65 20 66 6f 72 20 4f 50 45 | .operators)...An.example.for.OPE |
| 30a0 | 52 41 54 4f 52 2d 50 52 45 43 45 44 45 4e 43 45 2d 47 52 4f 55 50 53 3a 0a 5c 28 28 28 2b 20 3a | RATOR-PRECEDENCE-GROUPS:.\(((+.: |
| 30c0 | 75 6e 61 72 79 20 28 5c 22 2b 5c 22 20 3a 6f 70 65 72 61 6e 64 29 29 20 28 2d 20 3a 75 6e 61 72 | unary.(\"+\".:operand)).(-.:unar |
| 30e0 | 79 20 28 5c 22 2d 5c 22 20 3a 6f 70 65 72 61 6e 64 29 29 29 0a 20 28 28 2b 20 3a 62 69 6e 61 72 | y.(\"-\".:operand)))..((+.:binar |
| 3100 | 79 29 20 28 2d 20 3a 62 69 6e 61 72 79 29 29 29 22 0a 20 20 60 28 64 65 66 75 6e 20 2c 6e 61 6d | y).(-.:binary)))"...`(defun.,nam |
| 3120 | 65 20 28 6f 70 65 72 61 74 6f 72 2d 6e 61 6d 65 20 6f 70 65 72 61 74 6f 72 2d 61 72 67 75 6d 65 | e.(operator-name.operator-argume |
| 3140 | 6e 74 2d 63 6f 75 6e 74 29 0a 20 20 20 20 20 22 4c 6f 6f 6b 20 75 70 20 70 72 65 64 65 66 69 6e | nt-count)......"Look.up.predefin |
| 3160 | 65 64 20 53 51 4c 20 6f 70 65 72 61 74 6f 72 20 6d 65 74 61 64 61 74 61 2e 0a 53 65 65 20 60 65 | ed.SQL.operator.metadata..See.`e |
| 3180 | 6d 61 63 73 71 6c 2d 2d 67 65 6e 65 72 61 74 65 2d 6f 70 2d 6c 6f 6f 6b 75 70 2d 64 65 66 75 6e | macsql--generate-op-lookup-defun |
| 31a0 | 27 20 66 6f 72 20 64 65 74 61 69 6c 73 2e 22 0a 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 | '.for.details."......(cond...... |
| 31c0 | 20 2c 40 28 63 6c 2d 6c 6f 6f 70 0a 20 20 20 20 20 20 20 20 20 66 6f 72 20 70 72 65 63 65 64 65 | .,@(cl-loop..........for.precede |
| 31e0 | 6e 63 65 2d 76 61 6c 75 65 20 66 72 6f 6d 20 31 0a 20 20 20 20 20 20 20 20 20 66 6f 72 20 70 72 | nce-value.from.1..........for.pr |
| 3200 | 65 63 65 64 65 6e 63 65 2d 67 72 6f 75 70 20 69 6e 20 28 72 65 76 65 72 73 65 20 6f 70 65 72 61 | ecedence-group.in.(reverse.opera |
| 3220 | 74 6f 72 2d 70 72 65 63 65 64 65 6e 63 65 2d 67 72 6f 75 70 73 29 0a 20 20 20 20 20 20 20 20 20 | tor-precedence-groups).......... |
| 3240 | 61 70 70 65 6e 64 20 28 63 6c 2d 6c 6f 6f 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | append.(cl-loop................. |
| 3260 | 20 66 6f 72 20 28 6f 70 2d 6e 61 6d 65 20 61 72 69 74 79 20 63 75 73 74 6f 6d 2d 65 78 70 72 29 | .for.(op-name.arity.custom-expr) |
| 3280 | 20 69 6e 20 70 72 65 63 65 64 65 6e 63 65 2d 67 72 6f 75 70 0a 20 20 20 20 20 20 20 20 20 20 20 | .in.precedence-group............ |
| 32a0 | 20 20 20 20 20 20 66 6f 72 20 73 71 6c 2d 6e 61 6d 65 20 3d 20 28 75 70 63 61 73 65 20 28 73 79 | ......for.sql-name.=.(upcase.(sy |
| 32c0 | 6d 62 6f 6c 2d 6e 61 6d 65 20 6f 70 2d 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | mbol-name.op-name))............. |
| 32e0 | 20 20 20 20 20 66 6f 72 20 73 71 6c 2d 65 78 70 72 20 3d 0a 20 20 20 20 20 20 20 20 20 20 20 20 | .....for.sql-expr.=............. |
| 3300 | 20 20 20 20 20 28 6f 72 20 63 75 73 74 6f 6d 2d 65 78 70 72 0a 20 20 20 20 20 20 20 20 20 20 20 | .....(or.custom-expr............ |
| 3320 | 20 20 20 20 20 20 20 20 20 20 28 70 63 61 73 65 20 61 72 69 74 79 0a 20 20 20 20 20 20 20 20 20 | ..........(pcase.arity.......... |
| 3340 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3a 75 6e 61 72 79 20 60 28 2c 73 71 6c 2d 6e 61 6d | ..............(:unary.`(,sql-nam |
| 3360 | 65 20 22 20 22 20 3a 6f 70 65 72 61 6e 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | e.".".:operand))................ |
| 3380 | 20 20 20 20 20 20 20 20 28 3a 62 69 6e 61 72 79 20 60 28 3a 6f 70 65 72 61 6e 64 20 22 20 22 20 | ........(:binary.`(:operand.".". |
| 33a0 | 2c 73 71 6c 2d 6e 61 6d 65 20 22 20 22 20 3a 6f 70 65 72 61 6e 64 29 29 29 29 0a 0a 20 20 20 20 | ,sql-name.".".:operand))))...... |
| 33c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6c 65 63 74 20 28 6c 69 73 74 20 60 28 61 6e 64 | .............collect.(list.`(and |
| 33e0 | 20 28 65 71 20 6f 70 65 72 61 74 6f 72 2d 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | .(eq.operator-name.............. |
| 3400 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 71 75 6f | ............................(quo |
| 3420 | 74 65 20 2c 6f 70 2d 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | te.,op-name))................... |
| 3440 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 69 66 20 28 65 71 20 61 72 69 74 | ...................,(if.(eq.arit |
| 3460 | 79 20 3a 75 6e 61 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | y.:unary)....................... |
| 3480 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 65 71 6c 20 6f 70 65 72 61 74 | ....................`(eql.operat |
| 34a0 | 6f 72 2d 61 72 67 75 6d 65 6e 74 2d 63 6f 75 6e 74 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 | or-argument-count.1)............ |
| 34c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 3e | .............................`(> |
| 34e0 | 3d 20 6f 70 65 72 61 74 6f 72 2d 61 72 67 75 6d 65 6e 74 2d 63 6f 75 6e 74 20 32 29 29 29 0a 20 | =.operator-argument-count.2))).. |
| 3500 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 | ..............................`( |
| 3520 | 6c 69 73 74 20 27 2c 73 71 6c 2d 65 78 70 72 20 2c 61 72 69 74 79 20 2c 70 72 65 63 65 64 65 6e | list.',sql-expr.,arity.,preceden |
| 3540 | 63 65 2d 76 61 6c 75 65 29 29 29 29 0a 20 20 20 20 20 20 28 74 20 28 6c 69 73 74 20 6e 69 6c 20 | ce-value)))).......(t.(list.nil. |
| 3560 | 6e 69 6c 20 6e 69 6c 29 29 29 29 29 0a 0a 28 65 6d 61 63 73 71 6c 2d 2d 67 65 6e 65 72 61 74 65 | nil.nil)))))..(emacsql--generate |
| 3580 | 2d 6f 70 2d 6c 6f 6f 6b 75 70 2d 64 65 66 75 6e 0a 20 65 6d 61 63 73 71 6c 2d 2d 67 65 74 2d 6f | -op-lookup-defun..emacsql--get-o |
| 35a0 | 70 0a 20 28 28 28 7e 20 3a 75 6e 61 72 79 20 28 22 7e 22 20 3a 6f 70 65 72 61 6e 64 29 29 29 0a | p..(((~.:unary.("~".:operand))). |
| 35c0 | 20 20 28 28 63 6f 6c 6c 61 74 65 20 3a 62 69 6e 61 72 79 29 29 0a 20 20 28 28 7c 7c 20 3a 62 69 | ..((collate.:binary))...((||.:bi |
| 35e0 | 6e 61 72 79 29 29 0a 20 20 28 28 2a 20 3a 62 69 6e 61 72 79 29 20 28 2f 20 3a 62 69 6e 61 72 79 | nary))...((*.:binary).(/.:binary |
| 3600 | 29 20 28 25 20 3a 62 69 6e 61 72 79 29 29 0a 20 20 28 28 2b 20 3a 75 6e 61 72 79 20 28 22 2b 22 | ).(%.:binary))...((+.:unary.("+" |
| 3620 | 20 3a 6f 70 65 72 61 6e 64 29 29 20 28 2d 20 3a 75 6e 61 72 79 20 28 22 2d 22 20 3a 6f 70 65 72 | .:operand)).(-.:unary.("-".:oper |
| 3640 | 61 6e 64 29 29 29 0a 20 20 28 28 2b 20 3a 62 69 6e 61 72 79 29 20 28 2d 20 3a 62 69 6e 61 72 79 | and)))...((+.:binary).(-.:binary |
| 3660 | 29 29 0a 20 20 28 28 26 20 3a 62 69 6e 61 72 79 29 20 28 7c 20 3a 62 69 6e 61 72 79 29 20 28 3c | ))...((&.:binary).(|.:binary).(< |
| 3680 | 3c 20 3a 62 69 6e 61 72 79 29 20 28 3e 3e 20 3a 62 69 6e 61 72 79 29 29 0a 20 20 28 28 65 73 63 | <.:binary).(>>.:binary))...((esc |
| 36a0 | 61 70 65 20 3a 62 69 6e 61 72 79 20 28 3a 6f 70 65 72 61 6e 64 20 22 20 45 53 43 41 50 45 20 22 | ape.:binary.(:operand.".ESCAPE." |
| 36c0 | 20 3a 6f 70 65 72 61 6e 64 29 29 29 0a 20 20 28 28 3c 20 3a 62 69 6e 61 72 79 29 20 28 3c 3d 20 | .:operand)))...((<.:binary).(<=. |
| 36e0 | 3a 62 69 6e 61 72 79 29 20 28 3e 20 3a 62 69 6e 61 72 79 29 20 28 3e 3d 20 3a 62 69 6e 61 72 79 | :binary).(>.:binary).(>=.:binary |
| 3700 | 29 29 0a 0a 20 20 28 3b 3b 54 4f 44 4f 3f 20 28 62 65 74 77 65 65 6e 20 3a 62 69 6e 61 72 79 29 | ))....(;;TODO?.(between.:binary) |
| 3720 | 20 28 6e 6f 74 2d 62 65 74 77 65 65 6e 20 3a 62 69 6e 61 72 79 29 0a 20 20 20 28 69 73 20 3a 62 | .(not-between.:binary)....(is.:b |
| 3740 | 69 6e 61 72 79 29 20 28 69 73 2d 6e 6f 74 20 3a 62 69 6e 61 72 79 20 28 3a 6f 70 65 72 61 6e 64 | inary).(is-not.:binary.(:operand |
| 3760 | 20 22 20 49 53 20 4e 4f 54 20 22 20 3a 6f 70 65 72 61 6e 64 29 29 0a 20 20 20 28 6d 61 74 63 68 | .".IS.NOT.".:operand))....(match |
| 3780 | 20 3a 62 69 6e 61 72 79 29 20 28 6e 6f 74 2d 6d 61 74 63 68 20 3a 62 69 6e 61 72 79 20 28 3a 6f | .:binary).(not-match.:binary.(:o |
| 37a0 | 70 65 72 61 6e 64 20 22 20 4e 4f 54 20 4d 41 54 43 48 20 22 20 3a 6f 70 65 72 61 6e 64 29 29 0a | perand.".NOT.MATCH.".:operand)). |
| 37c0 | 20 20 20 28 6c 69 6b 65 20 3a 62 69 6e 61 72 79 29 20 28 6e 6f 74 2d 6c 69 6b 65 20 3a 62 69 6e | ...(like.:binary).(not-like.:bin |
| 37e0 | 61 72 79 20 28 3a 6f 70 65 72 61 6e 64 20 20 22 20 4e 4f 54 20 4c 49 4b 45 20 22 20 3a 6f 70 65 | ary.(:operand..".NOT.LIKE.".:ope |
| 3800 | 72 61 6e 64 29 29 0a 20 20 20 28 69 6e 20 3a 62 69 6e 61 72 79 29 20 28 6e 6f 74 2d 69 6e 20 3a | rand))....(in.:binary).(not-in.: |
| 3820 | 62 69 6e 61 72 79 20 28 3a 6f 70 65 72 61 6e 64 20 22 20 4e 4f 54 20 49 4e 20 22 20 3a 6f 70 65 | binary.(:operand.".NOT.IN.".:ope |
| 3840 | 72 61 6e 64 29 29 0a 20 20 20 28 69 73 6e 75 6c 6c 20 3a 75 6e 61 72 79 20 28 3a 6f 70 65 72 61 | rand))....(isnull.:unary.(:opera |
| 3860 | 6e 64 20 22 20 49 53 4e 55 4c 4c 22 29 29 0a 20 20 20 28 6e 6f 74 6e 75 6c 6c 20 3a 75 6e 61 72 | nd.".ISNULL"))....(notnull.:unar |
| 3880 | 79 20 28 3a 6f 70 65 72 61 6e 64 20 22 20 4e 4f 54 4e 55 4c 4c 22 29 29 0a 20 20 20 28 3d 20 3a | y.(:operand.".NOTNULL"))....(=.: |
| 38a0 | 62 69 6e 61 72 79 29 20 28 3d 3d 20 3a 62 69 6e 61 72 79 29 0a 20 20 20 28 21 3d 20 3a 62 69 6e | binary).(==.:binary)....(!=.:bin |
| 38c0 | 61 72 79 29 20 28 3c 3e 20 3a 62 69 6e 61 72 79 29 0a 20 20 20 28 67 6c 6f 62 20 3a 62 69 6e 61 | ary).(<>.:binary)....(glob.:bina |
| 38e0 | 72 79 29 20 28 6e 6f 74 2d 67 6c 6f 62 20 3a 62 69 6e 61 72 79 20 28 3a 6f 70 65 72 61 6e 64 20 | ry).(not-glob.:binary.(:operand. |
| 3900 | 22 20 4e 4f 54 20 47 4c 4f 42 20 22 20 3a 6f 70 65 72 61 6e 64 29 29 0a 20 20 20 28 72 65 67 65 | ".NOT.GLOB.".:operand))....(rege |
| 3920 | 78 70 20 3a 62 69 6e 61 72 79 29 20 28 6e 6f 74 2d 72 65 67 65 78 70 20 3a 62 69 6e 61 72 79 20 | xp.:binary).(not-regexp.:binary. |
| 3940 | 28 3a 6f 70 65 72 61 6e 64 20 22 20 4e 4f 54 20 52 45 47 45 58 50 20 22 20 3a 6f 70 65 72 61 6e | (:operand.".NOT.REGEXP.".:operan |
| 3960 | 64 29 29 29 0a 0a 20 20 28 28 6e 6f 74 20 3a 75 6e 61 72 79 29 29 0a 20 20 28 28 61 6e 64 20 3a | d)))....((not.:unary))...((and.: |
| 3980 | 62 69 6e 61 72 79 29 29 0a 20 20 28 28 6f 72 20 3a 62 69 6e 61 72 79 29 29 29 29 0a 0a 28 64 65 | binary))...((or.:binary))))..(de |
| 39a0 | 66 75 6e 20 65 6d 61 63 73 71 6c 2d 2d 65 78 70 61 6e 64 2d 66 6f 72 6d 61 74 2d 73 74 72 69 6e | fun.emacsql--expand-format-strin |
| 39c0 | 67 20 28 6f 70 20 65 78 70 72 20 61 72 69 74 79 20 61 72 67 75 6d 65 6e 74 2d 63 6f 75 6e 74 29 | g.(op.expr.arity.argument-count) |
| 39e0 | 0a 20 20 22 43 72 65 61 74 65 20 66 6f 72 6d 61 74 2d 73 74 72 69 6e 67 20 66 6f 72 20 61 6e 20 | ..."Create.format-string.for.an. |
| 3a00 | 53 51 4c 20 6f 70 65 72 61 74 6f 72 2e 0a 54 68 65 20 66 6f 72 6d 61 74 2d 73 74 72 69 6e 67 20 | SQL.operator..The.format-string. |
| 3a20 | 72 65 74 75 72 6e 65 64 20 69 73 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 62 65 20 75 73 65 64 20 | returned.is.intended.to.be.used. |
| 3a40 | 77 69 74 68 20 60 66 6f 72 6d 61 74 27 0a 74 6f 20 63 72 65 61 74 65 20 61 6e 20 53 51 4c 20 65 | with.`format'.to.create.an.SQL.e |
| 3a60 | 78 70 72 65 73 73 69 6f 6e 2e 22 0a 20 20 28 61 6e 64 20 65 78 70 72 0a 20 20 20 20 20 20 20 28 | xpression."...(and.expr........( |
| 3a80 | 63 6c 2d 6c 61 62 65 6c 73 20 28 28 72 65 70 6c 61 63 65 2d 6f 70 65 72 61 6e 64 20 28 78 29 20 | cl-labels.((replace-operand.(x). |
| 3aa0 | 28 69 66 20 28 65 71 20 78 20 3a 6f 70 65 72 61 6e 64 29 20 22 25 73 22 20 78 29 29 0a 20 20 20 | (if.(eq.x.:operand)."%s".x)).... |
| 3ac0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 6f 2d 66 6f 72 6d 61 74 2d 73 74 72 69 6e | ................(to-format-strin |
| 3ae0 | 67 20 28 65 29 20 28 6d 61 70 63 6f 6e 63 61 74 20 23 27 72 65 70 6c 61 63 65 2d 6f 70 65 72 61 | g.(e).(mapconcat.#'replace-opera |
| 3b00 | 6e 64 20 65 20 22 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 | nd.e."")))..........(cond....... |
| 3b20 | 20 20 20 20 28 28 61 6e 64 20 28 65 71 20 61 72 69 74 79 20 3a 75 6e 61 72 79 29 20 28 65 71 6c | ....((and.(eq.arity.:unary).(eql |
| 3b40 | 20 61 72 67 75 6d 65 6e 74 2d 63 6f 75 6e 74 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 | .argument-count.1))............( |
| 3b60 | 74 6f 2d 66 6f 72 6d 61 74 2d 73 74 72 69 6e 67 20 65 78 70 72 29 29 0a 20 20 20 20 20 20 20 20 | to-format-string.expr))......... |
| 3b80 | 20 20 28 28 61 6e 64 20 28 65 71 20 61 72 69 74 79 20 3a 62 69 6e 61 72 79 29 20 28 3e 3d 20 61 | ..((and.(eq.arity.:binary).(>=.a |
| 3ba0 | 72 67 75 6d 65 6e 74 2d 63 6f 75 6e 74 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 | rgument-count.2))............(le |
| 3bc0 | 74 20 28 28 72 65 73 75 6c 74 20 28 72 65 76 65 72 73 65 20 65 78 70 72 29 29 29 0a 20 20 20 20 | t.((result.(reverse.expr)))..... |
| 3be0 | 20 20 20 20 20 20 20 20 20 28 64 6f 74 69 6d 65 73 20 28 5f 20 28 2d 20 61 72 67 75 6d 65 6e 74 | .........(dotimes.(_.(-.argument |
| 3c00 | 2d 63 6f 75 6e 74 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 | -count.2))................(setq. |
| 3c20 | 72 65 73 75 6c 74 20 28 6e 63 6f 6e 63 20 28 72 65 76 65 72 73 65 20 65 78 70 72 29 20 28 63 64 | result.(nconc.(reverse.expr).(cd |
| 3c40 | 72 20 72 65 73 75 6c 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 6f 2d 66 6f | r.result))))..............(to-fo |
| 3c60 | 72 6d 61 74 2d 73 74 72 69 6e 67 20 28 6e 72 65 76 65 72 73 65 20 72 65 73 75 6c 74 29 29 29 29 | rmat-string.(nreverse.result)))) |
| 3c80 | 0a 20 20 20 20 20 20 20 20 20 20 28 74 20 28 65 6d 61 63 73 71 6c 2d 65 72 72 6f 72 20 22 57 72 | ...........(t.(emacsql-error."Wr |
| 3ca0 | 6f 6e 67 20 6e 75 6d 62 65 72 20 6f 66 20 6f 70 65 72 61 6e 64 73 20 66 6f 72 20 25 73 22 20 6f | ong.number.of.operands.for.%s".o |
| 3cc0 | 70 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6d 61 63 73 71 6c 2d 2d 67 65 74 2d 6f 70 2d | p))))))..(defun.emacsql--get-op- |
| 3ce0 | 69 6e 66 6f 20 28 6f 70 20 61 72 67 75 6d 65 6e 74 2d 63 6f 75 6e 74 20 70 61 72 65 6e 74 2d 70 | info.(op.argument-count.parent-p |
| 3d00 | 72 65 63 65 64 65 6e 63 65 2d 76 61 6c 75 65 29 0a 20 20 22 4c 6f 6f 6b 75 70 20 53 51 4c 20 6f | recedence-value)..."Lookup.SQL.o |
| 3d20 | 70 65 72 61 74 6f 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 66 6f 72 20 67 65 6e 65 72 61 74 69 | perator.information.for.generati |
| 3d40 | 6e 67 20 61 6e 20 53 51 4c 20 65 78 70 72 65 73 73 69 6f 6e 2e 0a 52 65 74 75 72 6e 73 20 74 68 | ng.an.SQL.expression..Returns.th |
| 3d60 | 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6d 75 6c 74 69 70 6c 65 20 76 61 6c 75 65 73 20 77 68 65 6e | e.following.multiple.values.when |
| 3d80 | 20 61 6e 20 6f 70 65 72 61 74 6f 72 20 63 61 6e 20 62 65 0a 69 64 65 6e 74 69 66 69 65 64 3a 20 | .an.operator.can.be.identified:. |
| 3da0 | 61 20 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 20 28 73 65 65 20 60 65 6d 61 63 73 71 6c 2d 2d 65 | a.format.string.(see.`emacsql--e |
| 3dc0 | 78 70 61 6e 64 2d 66 6f 72 6d 61 74 2d 73 74 72 69 6e 67 27 29 0a 61 6e 64 20 61 20 70 72 65 63 | xpand-format-string').and.a.prec |
| 3de0 | 65 64 65 6e 63 65 20 76 61 6c 75 65 2e 20 20 49 66 20 50 41 52 45 4e 54 2d 50 52 45 43 45 44 45 | edence.value...If.PARENT-PRECEDE |
| 3e00 | 4e 43 45 2d 56 41 4c 55 45 20 69 73 20 67 72 65 61 74 65 72 20 6f 72 0a 65 71 75 61 6c 20 74 6f | NCE-VALUE.is.greater.or.equal.to |
| 3e20 | 20 74 68 65 20 69 64 65 6e 74 69 66 69 65 64 20 6f 70 65 72 61 74 6f 72 27 73 20 70 72 65 63 65 | .the.identified.operator's.prece |
| 3e40 | 64 65 6e 63 65 2c 20 74 68 65 6e 20 74 68 65 20 66 6f 72 6d 61 74 0a 73 74 72 69 6e 67 20 72 65 | dence,.then.the.format.string.re |
| 3e60 | 74 75 72 6e 65 64 20 69 73 20 77 72 61 70 70 65 64 20 77 69 74 68 20 70 61 72 65 6e 74 68 65 73 | turned.is.wrapped.with.parenthes |
| 3e80 | 65 73 2e 22 0a 20 20 28 63 6c 2d 64 65 73 74 72 75 63 74 75 72 69 6e 67 2d 62 69 6e 64 20 28 66 | es."...(cl-destructuring-bind.(f |
| 3ea0 | 6f 72 6d 61 74 2d 73 74 72 69 6e 67 20 61 72 69 74 79 20 70 72 65 63 65 64 65 6e 63 65 2d 76 61 | ormat-string.arity.precedence-va |
| 3ec0 | 6c 75 65 29 0a 20 20 20 20 20 20 28 65 6d 61 63 73 71 6c 2d 2d 67 65 74 2d 6f 70 20 6f 70 20 61 | lue).......(emacsql--get-op.op.a |
| 3ee0 | 72 67 75 6d 65 6e 74 2d 63 6f 75 6e 74 29 0a 20 20 20 20 28 6c 65 74 20 28 28 65 78 70 61 6e 64 | rgument-count).....(let.((expand |
| 3f00 | 65 64 2d 66 6f 72 6d 61 74 2d 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 28 65 6d 61 | ed-format-string............(ema |
| 3f20 | 63 73 71 6c 2d 2d 65 78 70 61 6e 64 2d 66 6f 72 6d 61 74 2d 73 74 72 69 6e 67 0a 20 20 20 20 20 | csql--expand-format-string...... |
| 3f40 | 20 20 20 20 20 20 20 6f 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 6d 61 74 2d 73 74 72 | .......op.............format-str |
| 3f60 | 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 72 69 74 79 0a 20 20 20 20 20 20 20 20 20 20 | ing.............arity........... |
| 3f80 | 20 20 61 72 67 75 6d 65 6e 74 2d 63 6f 75 6e 74 29 29 29 0a 20 20 20 20 20 20 28 63 6c 2d 76 61 | ..argument-count))).......(cl-va |
| 3fa0 | 6c 75 65 73 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 6e | lues.(cond...................((n |
| 3fc0 | 75 6c 6c 20 66 6f 72 6d 61 74 2d 73 74 72 69 6e 67 29 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 | ull.format-string).nil)......... |
| 3fe0 | 20 20 20 20 20 20 20 20 20 20 28 28 3e 3d 20 70 61 72 65 6e 74 2d 70 72 65 63 65 64 65 6e 63 65 | ..........((>=.parent-precedence |
| 4000 | 2d 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 | -value........................pr |
| 4020 | 65 63 65 64 65 6e 63 65 2d 76 61 6c 75 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ecedence-value)................. |
| 4040 | 20 20 20 28 66 6f 72 6d 61 74 20 22 28 25 73 29 22 20 65 78 70 61 6e 64 65 64 2d 66 6f 72 6d 61 | ...(format."(%s)".expanded-forma |
| 4060 | 74 2d 73 74 72 69 6e 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 20 | t-string))...................(t. |
| 4080 | 65 78 70 61 6e 64 65 64 2d 66 6f 72 6d 61 74 2d 73 74 72 69 6e 67 29 29 0a 20 20 20 20 20 20 20 | expanded-format-string))........ |
| 40a0 | 20 20 20 20 20 20 20 20 20 20 70 72 65 63 65 64 65 6e 63 65 2d 76 61 6c 75 65 29 29 29 29 0a 0a | ..........precedence-value)))).. |
| 40c0 | 28 64 65 66 75 6e 20 65 6d 61 63 73 71 6c 2d 2d 2a 65 78 70 72 20 28 65 78 70 72 20 26 6f 70 74 | (defun.emacsql--*expr.(expr.&opt |
| 40e0 | 69 6f 6e 61 6c 20 70 61 72 65 6e 74 2d 70 72 65 63 65 64 65 6e 63 65 2d 76 61 6c 75 65 29 0a 20 | ional.parent-precedence-value).. |
| 4100 | 20 22 45 78 70 61 6e 64 20 45 58 50 52 20 72 65 63 75 72 73 69 76 65 6c 79 2e 22 0a 20 20 28 65 | ."Expand.EXPR.recursively."...(e |
| 4120 | 6d 61 63 73 71 6c 2d 77 69 74 68 2d 70 61 72 61 6d 73 20 22 22 0a 20 20 20 20 28 63 6f 6e 64 0a | macsql-with-params."".....(cond. |
| 4140 | 20 20 20 20 20 28 28 65 6d 61 63 73 71 6c 2d 73 71 6c 2d 70 20 65 78 70 72 29 20 28 73 75 62 73 | .....((emacsql-sql-p.expr).(subs |
| 4160 | 71 6c 20 65 78 70 72 29 29 0a 20 20 20 20 20 28 28 76 65 63 74 6f 72 70 20 65 78 70 72 29 20 28 | ql.expr))......((vectorp.expr).( |
| 4180 | 73 76 65 63 74 6f 72 20 65 78 70 72 29 29 0a 20 20 20 20 20 28 28 61 74 6f 6d 20 65 78 70 72 29 | svector.expr))......((atom.expr) |
| 41a0 | 20 28 70 61 72 61 6d 20 65 78 70 72 29 29 0a 20 20 20 20 20 28 28 63 6c 2d 64 65 73 74 72 75 63 | .(param.expr))......((cl-destruc |
| 41c0 | 74 75 72 69 6e 67 2d 62 69 6e 64 20 28 6f 70 20 2e 20 61 72 67 73 29 20 65 78 70 72 0a 20 20 20 | turing-bind.(op...args).expr.... |
| 41e0 | 20 20 20 20 20 28 63 6c 2d 6d 75 6c 74 69 70 6c 65 2d 76 61 6c 75 65 2d 62 69 6e 64 20 28 66 6f | .....(cl-multiple-value-bind.(fo |
| 4200 | 72 6d 61 74 2d 73 74 72 69 6e 67 20 70 72 65 63 65 64 65 6e 63 65 2d 76 61 6c 75 65 29 0a 20 20 | rmat-string.precedence-value)... |
| 4220 | 20 20 20 20 20 20 20 20 20 20 28 65 6d 61 63 73 71 6c 2d 2d 67 65 74 2d 6f 70 2d 69 6e 66 6f 20 | ..........(emacsql--get-op-info. |
| 4240 | 6f 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | op.............................. |
| 4260 | 20 20 20 20 20 28 6c 65 6e 67 74 68 20 61 72 67 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | .....(length.args).............. |
| 4280 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 70 61 72 65 6e 74 2d | .....................(or.parent- |
| 42a0 | 70 72 65 63 65 64 65 6e 63 65 2d 76 61 6c 75 65 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 | precedence-value.0))...........( |
| 42c0 | 63 6c 2d 66 6c 65 74 20 28 28 72 65 63 75 72 20 28 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | cl-flet.((recur.(n)............. |
| 42e0 | 20 20 20 20 20 20 20 20 20 20 28 63 6f 6d 62 69 6e 65 20 28 65 6d 61 63 73 71 6c 2d 2d 2a 65 78 | ..........(combine.(emacsql--*ex |
| 4300 | 70 72 20 28 6e 74 68 20 6e 20 61 72 67 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | pr.(nth.n.args)................. |
| 4320 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | ...............................( |
| 4340 | 6f 72 20 70 72 65 63 65 64 65 6e 63 65 2d 76 61 6c 75 65 20 30 29 29 29 29 0a 20 20 20 20 20 20 | or.precedence-value.0))))....... |
| 4360 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 70 73 20 28 6f 70 29 0a 20 20 20 20 20 20 20 | ..............(nops.(op)........ |
| 4380 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6d 61 63 73 71 6c 2d 65 72 72 6f 72 20 22 57 | ...............(emacsql-error."W |
| 43a0 | 72 6f 6e 67 20 6e 75 6d 62 65 72 20 6f 66 20 6f 70 65 72 61 6e 64 73 20 66 6f 72 20 25 73 22 20 | rong.number.of.operands.for.%s". |
| 43c0 | 6f 70 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 63 61 73 65 20 6f 70 0a 20 20 | op))).............(cl-case.op... |
| 43e0 | 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 53 70 65 63 69 61 6c 20 63 61 73 65 73 20 3c 3d 20 | ............;;.Special.cases.<=. |
| 4400 | 3e 3d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 3c 3d 20 3e 3d 29 0a 20 20 20 20 20 20 | >=...............((<=.>=)....... |
| 4420 | 20 20 20 20 20 20 20 20 20 28 63 6c 2d 63 61 73 65 20 28 6c 65 6e 67 74 68 20 61 72 67 73 29 0a | .........(cl-case.(length.args). |
| 4440 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 32 20 28 66 6f 72 6d 61 74 20 66 6f 72 6d | .................(2.(format.form |
| 4460 | 61 74 2d 73 74 72 69 6e 67 20 28 72 65 63 75 72 20 30 29 20 28 72 65 63 75 72 20 31 29 29 29 0a | at-string.(recur.0).(recur.1))). |
| 4480 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 33 20 28 66 6f 72 6d 61 74 20 28 69 66 20 | .................(3.(format.(if. |
| 44a0 | 28 3e 3d 20 28 6f 72 20 70 61 72 65 6e 74 2d 70 72 65 63 65 64 65 6e 63 65 2d 76 61 6c 75 65 20 | (>=.(or.parent-precedence-value. |
| 44c0 | 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | 0).............................. |
| 44e0 | 20 20 20 20 20 20 20 70 72 65 63 65 64 65 6e 63 65 2d 76 61 6c 75 65 29 0a 20 20 20 20 20 20 20 | .......precedence-value)........ |
| 4500 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 28 25 73 20 42 45 | ........................."(%s.BE |
| 4520 | 54 57 45 45 4e 20 25 73 20 41 4e 44 20 25 73 29 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | TWEEN.%s.AND.%s)"............... |
| 4540 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 25 73 20 42 45 54 57 45 45 4e 20 25 73 20 41 | ................"%s.BETWEEN.%s.A |
| 4560 | 4e 44 20 25 73 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ND.%s")......................... |
| 4580 | 20 20 20 20 28 72 65 63 75 72 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ....(recur.1)................... |
| 45a0 | 20 20 20 20 20 20 20 20 20 20 28 72 65 63 75 72 20 28 69 66 20 28 65 71 20 6f 70 20 27 3e 3d 29 | ..........(recur.(if.(eq.op.'>=) |
| 45c0 | 20 32 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .2.0)).......................... |
| 45e0 | 20 20 20 28 72 65 63 75 72 20 28 69 66 20 28 65 71 20 6f 70 20 27 3e 3d 29 20 30 20 32 29 29 29 | ...(recur.(if.(eq.op.'>=).0.2))) |
| 4600 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 74 68 65 72 77 69 73 65 20 28 6e | )..................(otherwise.(n |
| 4620 | 6f 70 73 20 6f 70 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 65 6e 66 6f | ops.op))))...............;;.enfo |
| 4640 | 72 63 65 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 20 74 6f 20 62 65 20 61 20 63 68 61 72 | rce.second.argument.to.be.a.char |
| 4660 | 61 63 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 65 73 63 61 70 65 29 0a 20 20 | acter...............((escape)... |
| 4680 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 73 65 63 6f 6e 64 2d 61 72 67 20 28 | .............(let.((second-arg.( |
| 46a0 | 63 61 64 72 20 61 72 67 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 | cadr.args)))..................(c |
| 46c0 | 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 6e 6f 74 20 28 3d 20 32 | ond...................((not.(=.2 |
| 46e0 | 20 28 6c 65 6e 67 74 68 20 61 72 67 73 29 29 29 20 28 6e 6f 70 73 20 6f 70 29 29 0a 20 20 20 20 | .(length.args))).(nops.op))..... |
| 4700 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 6e 6f 74 20 28 63 68 61 72 61 63 74 65 72 70 20 | ..............((not.(characterp. |
| 4720 | 73 65 63 6f 6e 64 2d 61 72 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | second-arg)).................... |
| 4740 | 28 65 6d 61 63 73 71 6c 2d 65 72 72 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | (emacsql-error.................. |
| 4760 | 20 20 20 22 53 65 63 6f 6e 64 20 6f 70 65 72 61 6e 64 20 6f 66 20 65 73 63 61 70 65 20 68 61 73 | ..."Second.operand.of.escape.has |
| 4780 | 20 74 6f 20 62 65 20 61 20 63 68 61 72 61 63 74 65 72 2c 20 67 6f 74 20 25 73 22 0a 20 20 20 20 | .to.be.a.character,.got.%s"..... |
| 47a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 63 6f 6e 64 2d 61 72 67 29 29 0a 20 20 20 | ................second-arg)).... |
| 47c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 20 28 66 6f 72 6d 61 74 20 66 6f 72 6d 61 74 | ...............(t.(format.format |
| 47e0 | 2d 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | -string......................... |
| 4800 | 20 20 20 20 20 28 72 65 63 75 72 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .....(recur.0).................. |
| 4820 | 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6d 61 63 73 71 6c 2d 71 75 6f 74 65 2d 63 68 61 72 61 | ............(emacsql-quote-chara |
| 4840 | 63 74 65 72 20 73 65 63 6f 6e 64 2d 61 72 67 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 | cter.second-arg))))))........... |
| 4860 | 20 20 20 20 3b 3b 20 4f 72 64 65 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 | ....;;.Ordering...............(( |
| 4880 | 61 73 63 20 64 65 73 63 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 | asc.desc)................(format |
| 48a0 | 20 22 25 73 20 25 73 22 20 28 72 65 63 75 72 20 30 29 20 28 75 70 63 61 73 65 20 28 73 79 6d 62 | ."%s.%s".(recur.0).(upcase.(symb |
| 48c0 | 6f 6c 2d 6e 61 6d 65 20 6f 70 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 | ol-name.op))))...............;;. |
| 48e0 | 53 70 65 63 69 61 6c 20 63 61 73 65 20 71 75 6f 74 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | Special.case.quote.............. |
| 4900 | 20 28 28 71 75 6f 74 65 29 20 28 6c 65 74 20 28 28 61 72 67 20 28 6e 74 68 20 30 20 61 72 67 73 | .((quote).(let.((arg.(nth.0.args |
| 4920 | 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 | )))..........................(if |
| 4940 | 20 28 73 74 72 69 6e 67 70 20 61 72 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .(stringp.arg).................. |
| 4960 | 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 77 20 61 72 67 29 0a 20 20 20 20 20 20 20 20 20 20 | ............(raw.arg)........... |
| 4980 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 63 61 6c 61 72 20 61 72 67 29 29 29 29 | .................(scalar.arg)))) |
| 49a0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 53 70 65 63 69 61 6c 20 63 61 73 65 20 66 | ...............;;.Special.case.f |
| 49c0 | 75 6e 63 61 6c 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 66 75 6e 63 61 6c 6c 29 0a | uncall...............((funcall). |
| 49e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 25 73 28 25 73 29 22 20 | ...............(format."%s(%s)". |
| 4a00 | 28 72 65 63 75 72 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | (recur.0)....................... |
| 4a20 | 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | .(cond.........................( |
| 4a40 | 28 61 6e 64 20 28 3d 20 32 20 28 6c 65 6e 67 74 68 20 61 72 67 73 29 29 0a 20 20 20 20 20 20 20 | (and.(=.2.(length.args))........ |
| 4a60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 71 20 27 2a 20 28 6e | .......................(eq.'*.(n |
| 4a80 | 74 68 20 31 20 61 72 67 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | th.1.args))).................... |
| 4aa0 | 20 20 20 20 20 20 22 2a 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ......"*")...................... |
| 4ac0 | 20 20 20 28 28 61 6e 64 20 28 3d 20 33 20 28 6c 65 6e 67 74 68 20 61 72 67 73 29 29 0a 20 20 20 | ...((and.(=.3.(length.args)).... |
| 4ae0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 71 20 3a | ...........................(eq.: |
| 4b00 | 64 69 73 74 69 6e 63 74 20 28 6e 74 68 20 31 20 61 72 67 73 29 29 0a 20 20 20 20 20 20 20 20 20 | distinct.(nth.1.args)).......... |
| 4b20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 44 49 | .....................(format."DI |
| 4b40 | 53 54 49 4e 43 54 20 25 73 22 20 28 72 65 63 75 72 20 32 29 29 29 29 0a 20 20 20 20 20 20 20 20 | STINCT.%s".(recur.2))))......... |
| 4b60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 6d 61 70 63 6f 6e 63 61 74 0a 20 20 20 20 | ................((mapconcat..... |
| 4b80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 27 72 65 63 75 72 20 28 63 | ......................#'recur.(c |
| 4ba0 | 6c 2d 6c 6f 6f 70 20 66 6f 72 20 69 20 66 72 6f 6d 20 31 20 62 65 6c 6f 77 20 28 6c 65 6e 67 74 | l-loop.for.i.from.1.below.(lengt |
| 4bc0 | 68 20 61 72 67 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | h.args)......................... |
| 4be0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6c 65 63 74 20 69 29 0a 20 20 | ...................collect.i)... |
| 4c00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2c 20 22 29 29 29 29 | ........................",.")))) |
| 4c20 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 47 75 65 73 73 0a 20 20 20 20 20 20 20 | )...............;;.Guess........ |
| 4c40 | 20 20 20 20 20 20 20 28 6f 74 68 65 72 77 69 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .......(otherwise............... |
| 4c60 | 20 28 6c 65 74 20 28 28 61 72 67 2d 69 6e 64 69 63 65 73 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 | .(let.((arg-indices.(cl-loop.for |
| 4c80 | 20 69 20 66 72 6f 6d 20 30 20 62 65 6c 6f 77 20 28 6c 65 6e 67 74 68 20 61 72 67 73 29 20 63 6f | .i.from.0.below.(length.args).co |
| 4ca0 | 6c 6c 65 63 74 20 69 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 | llect.i)))..................(if. |
| 4cc0 | 66 6f 72 6d 61 74 2d 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | format-string................... |
| 4ce0 | 20 20 20 28 61 70 70 6c 79 20 23 27 66 6f 72 6d 61 74 20 66 6f 72 6d 61 74 2d 73 74 72 69 6e 67 | ...(apply.#'format.format-string |
| 4d00 | 20 28 6d 61 70 63 61 72 20 23 27 72 65 63 75 72 20 61 72 67 2d 69 6e 64 69 63 65 73 29 29 0a 20 | .(mapcar.#'recur.arg-indices)).. |
| 4d20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 6f 6e 63 61 74 0a 20 20 20 | ..................(mapconcat.... |
| 4d40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 27 72 65 63 75 72 20 28 63 6c 2d 6c 6f 6f | .................#'recur.(cl-loo |
| 4d60 | 70 20 66 6f 72 20 69 20 66 72 6f 6d 20 30 20 62 65 6c 6f 77 20 28 6c 65 6e 67 74 68 20 61 72 67 | p.for.i.from.0.below.(length.arg |
| 4d80 | 73 29 20 63 6f 6c 6c 65 63 74 20 69 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | s).collect.i)................... |
| 4da0 | 20 20 28 66 6f 72 6d 61 74 20 22 20 25 73 20 22 20 28 75 70 63 61 73 65 20 28 73 79 6d 62 6f 6c | ..(format.".%s.".(upcase.(symbol |
| 4dc0 | 2d 6e 61 6d 65 20 6f 70 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 | -name.op)))))))))))))))..(defun. |
| 4de0 | 65 6d 61 63 73 71 6c 2d 2d 2a 69 64 65 6e 74 73 20 28 69 64 65 6e 74 73 29 0a 20 20 22 52 65 61 | emacsql--*idents.(idents)..."Rea |
| 4e00 | 64 20 69 6e 20 61 20 76 65 63 74 6f 72 20 6f 66 20 49 44 45 4e 54 53 20 69 64 65 6e 74 69 66 69 | d.in.a.vector.of.IDENTS.identifi |
| 4e20 | 65 72 73 2c 20 6f 72 20 6a 75 73 74 20 61 6e 20 73 69 6e 67 6c 65 20 69 64 65 6e 74 69 66 69 65 | ers,.or.just.an.single.identifie |
| 4e40 | 72 2e 22 0a 20 20 28 65 6d 61 63 73 71 6c 2d 77 69 74 68 2d 70 61 72 61 6d 73 20 22 22 0a 20 20 | r."...(emacsql-with-params.""... |
| 4e60 | 20 20 28 6d 61 70 63 6f 6e 63 61 74 20 23 27 65 78 70 72 20 69 64 65 6e 74 73 20 22 2c 20 22 29 | ..(mapconcat.#'expr.idents.",.") |
| 4e80 | 29 29 0a 0a 28 64 65 66 75 6e 20 65 6d 61 63 73 71 6c 2d 2d 2a 63 6f 6d 62 69 6e 65 20 28 70 72 | ))..(defun.emacsql--*combine.(pr |
| 4ea0 | 65 70 61 72 65 64 29 0a 20 20 22 41 70 70 65 6e 64 20 70 61 72 61 6d 65 74 65 72 73 20 66 72 6f | epared)..."Append.parameters.fro |
| 4ec0 | 6d 20 50 52 45 50 41 52 45 44 20 74 6f 20 60 65 6d 61 63 73 71 6c 2d 2d 76 61 72 73 27 2c 20 72 | m.PREPARED.to.`emacsql--vars',.r |
| 4ee0 | 65 74 75 72 6e 20 74 68 65 20 73 74 72 69 6e 67 2e 0a 4f 6e 6c 79 20 75 73 65 20 77 69 74 68 69 | eturn.the.string..Only.use.withi |
| 4f00 | 6e 20 60 65 6d 61 63 73 71 6c 2d 77 69 74 68 2d 70 61 72 61 6d 73 27 21 22 0a 20 20 28 63 6c 2d | n.`emacsql-with-params'!"...(cl- |
| 4f20 | 64 65 73 74 72 75 63 74 75 72 69 6e 67 2d 62 69 6e 64 20 28 73 74 72 69 6e 67 20 2e 20 76 61 72 | destructuring-bind.(string...var |
| 4f40 | 73 29 20 70 72 65 70 61 72 65 64 0a 20 20 20 20 28 73 65 74 71 20 65 6d 61 63 73 71 6c 2d 2d 76 | s).prepared.....(setq.emacsql--v |
| 4f60 | 61 72 73 20 28 6e 63 6f 6e 63 20 65 6d 61 63 73 71 6c 2d 2d 76 61 72 73 20 76 61 72 73 29 29 0a | ars.(nconc.emacsql--vars.vars)). |
| 4f80 | 20 20 20 20 73 74 72 69 6e 67 29 29 0a 0a 28 64 65 66 75 6e 20 65 6d 61 63 73 71 6c 2d 70 72 65 | ....string))..(defun.emacsql-pre |
| 4fa0 | 70 61 72 65 2d 2d 73 74 72 69 6e 67 20 28 73 74 72 69 6e 67 29 0a 20 20 22 43 72 65 61 74 65 20 | pare--string.(string)..."Create. |
| 4fc0 | 61 20 70 72 65 70 61 72 65 64 20 73 74 61 74 65 6d 65 6e 74 20 66 72 6f 6d 20 53 54 52 49 4e 47 | a.prepared.statement.from.STRING |
| 4fe0 | 2e 22 0a 20 20 28 65 6d 61 63 73 71 6c 2d 77 69 74 68 2d 70 61 72 61 6d 73 20 22 22 0a 20 20 20 | ."...(emacsql-with-params."".... |
| 5000 | 20 28 72 65 70 6c 61 63 65 2d 72 65 67 65 78 70 2d 69 6e 2d 73 74 72 69 6e 67 0a 20 20 20 20 20 | .(replace-regexp-in-string...... |
| 5020 | 22 5c 5c 24 5b 69 73 76 5d 5b 30 2d 39 5d 2b 22 20 28 6c 61 6d 62 64 61 20 28 76 29 20 28 70 61 | "\\$[isv][0-9]+".(lambda.(v).(pa |
| 5040 | 72 61 6d 20 28 69 6e 74 65 72 6e 20 76 29 29 29 20 73 74 72 69 6e 67 29 29 29 0a 0a 28 64 65 66 | ram.(intern.v))).string)))..(def |
| 5060 | 75 6e 20 65 6d 61 63 73 71 6c 2d 70 72 65 70 61 72 65 2d 2d 73 65 78 70 20 28 73 65 78 70 29 0a | un.emacsql-prepare--sexp.(sexp). |
| 5080 | 20 20 22 43 72 65 61 74 65 20 61 20 70 72 65 70 61 72 65 64 20 73 74 61 74 65 6d 65 6e 74 20 66 | .."Create.a.prepared.statement.f |
| 50a0 | 72 6f 6d 20 53 45 58 50 2e 22 0a 20 20 28 65 6d 61 63 73 71 6c 2d 77 69 74 68 2d 70 61 72 61 6d | rom.SEXP."...(emacsql-with-param |
| 50c0 | 73 20 22 22 0a 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 77 69 74 68 20 69 74 65 6d 73 20 3d 20 28 | s."".....(cl-loop.with.items.=.( |
| 50e0 | 63 6c 2d 63 6f 65 72 63 65 20 73 65 78 70 20 27 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 | cl-coerce.sexp.'list)........... |
| 5100 | 20 20 20 61 6e 64 20 6c 61 73 74 20 3d 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 77 | ...and.last.=.nil..............w |
| 5120 | 68 69 6c 65 20 28 6e 6f 74 20 28 6e 75 6c 6c 20 69 74 65 6d 73 29 29 0a 20 20 20 20 20 20 20 20 | hile.(not.(null.items))......... |
| 5140 | 20 20 20 20 20 66 6f 72 20 69 74 65 6d 20 3d 20 28 70 6f 70 20 69 74 65 6d 73 29 0a 20 20 20 20 | .....for.item.=.(pop.items)..... |
| 5160 | 20 20 20 20 20 20 20 20 20 63 6f 6c 6c 65 63 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 | .........collect..............(c |
| 5180 | 6c 2d 74 79 70 65 63 61 73 65 20 69 74 65 6d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | l-typecase.item................( |
| 51a0 | 6b 65 79 77 6f 72 64 20 28 69 66 20 28 65 71 20 3a 76 61 6c 75 65 73 20 69 74 65 6d 29 0a 20 20 | keyword.(if.(eq.:values.item)... |
| 51c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 | ..........................(conca |
| 51e0 | 74 20 22 56 41 4c 55 45 53 20 22 20 28 73 76 65 63 74 6f 72 20 28 70 6f 70 20 69 74 65 6d 73 29 | t."VALUES.".(svector.(pop.items) |
| 5200 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6d | ))...........................(em |
| 5220 | 61 63 73 71 6c 2d 2d 66 72 6f 6d 2d 6b 65 79 77 6f 72 64 20 69 74 65 6d 29 29 29 0a 20 20 20 20 | acsql--from-keyword.item)))..... |
| 5240 | 20 20 20 20 20 20 20 20 20 20 20 28 73 79 6d 62 6f 6c 20 28 69 66 20 28 65 71 20 69 74 65 6d 20 | ...........(symbol.(if.(eq.item. |
| 5260 | 27 2a 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 | '*)............................" |
| 5280 | 2a 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 61 72 | *"..........................(par |
| 52a0 | 61 6d 20 69 74 65 6d 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 65 63 74 6f | am.item)))................(vecto |
| 52c0 | 72 20 28 69 66 20 28 65 6d 61 63 73 71 6c 2d 73 71 6c 2d 70 20 69 74 65 6d 29 0a 20 20 20 20 20 | r.(if.(emacsql-sql-p.item)...... |
| 52e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 75 62 73 71 6c 20 69 74 | ......................(subsql.it |
| 5300 | 65 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 | em)..........................(le |
| 5320 | 74 20 28 28 69 64 65 6e 74 73 20 28 63 6f 6d 62 69 6e 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 | t.((idents.(combine............. |
| 5340 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6d 61 | ............................(ema |
| 5360 | 63 73 71 6c 2d 2d 2a 69 64 65 6e 74 73 20 69 74 65 6d 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 | csql--*idents.item)))).......... |
| 5380 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 6b 65 79 77 6f 72 64 70 20 | ..................(if.(keywordp. |
| 53a0 | 6c 61 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | last)........................... |
| 53c0 | 20 20 20 20 20 69 64 65 6e 74 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .....idents..................... |
| 53e0 | 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 28 25 73 29 22 20 69 64 65 6e 74 73 29 29 | .........(format."(%s)".idents)) |
| 5400 | 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 69 66 20 28 76 65 | )))................(list.(if.(ve |
| 5420 | 63 74 6f 72 70 20 28 63 61 72 20 69 74 65 6d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ctorp.(car.item))............... |
| 5440 | 20 20 20 20 20 20 20 20 20 20 20 28 65 6d 61 63 73 71 6c 2d 65 73 63 61 70 65 2d 66 6f 72 6d 61 | ...........(emacsql-escape-forma |
| 5460 | 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 | t...........................(for |
| 5480 | 6d 61 74 20 22 28 25 73 29 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | mat."(%s)"...................... |
| 54a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6d 61 63 73 71 6c 2d 70 72 65 70 61 72 65 2d 73 63 | .............(emacsql-prepare-sc |
| 54c0 | 68 65 6d 61 20 69 74 65 6d 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | hema.item))).................... |
| 54e0 | 20 20 20 20 28 63 6f 6d 62 69 6e 65 20 28 65 6d 61 63 73 71 6c 2d 2d 2a 65 78 70 72 20 69 74 65 | ....(combine.(emacsql--*expr.ite |
| 5500 | 6d 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 74 68 65 72 77 69 73 65 0a | m))))................(otherwise. |
| 5520 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6d 61 63 73 71 6c 2d 65 73 63 61 70 65 2d | ................(emacsql-escape- |
| 5540 | 66 6f 72 6d 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6d 61 63 73 71 6c | format..................(emacsql |
| 5560 | 2d 65 73 63 61 70 65 2d 73 63 61 6c 61 72 20 69 74 65 6d 29 29 29 29 0a 20 20 20 20 20 20 20 20 | -escape-scalar.item))))......... |
| 5580 | 20 20 20 20 20 69 6e 74 6f 20 70 61 72 74 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 20 | .....into.parts..............do. |
| 55a0 | 28 73 65 74 71 20 6c 61 73 74 20 69 74 65 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 66 69 | (setq.last.item)..............fi |
| 55c0 | 6e 61 6c 6c 79 20 28 63 6c 2d 72 65 74 75 72 6e 20 28 73 74 72 69 6e 67 2d 6a 6f 69 6e 20 70 61 | nally.(cl-return.(string-join.pa |
| 55e0 | 72 74 73 20 22 20 22 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6d 61 63 73 71 6c 2d 70 72 65 | rts.".")))))..(defun.emacsql-pre |
| 5600 | 70 61 72 65 20 28 73 71 6c 29 0a 20 20 22 45 78 70 61 6e 64 20 53 51 4c 20 28 73 74 72 69 6e 67 | pare.(sql)..."Expand.SQL.(string |
| 5620 | 20 6f 72 20 73 65 78 70 29 20 69 6e 74 6f 20 61 20 70 72 65 70 61 72 65 64 20 73 74 61 74 65 6d | .or.sexp).into.a.prepared.statem |
| 5640 | 65 6e 74 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 63 61 63 68 65 20 65 6d 61 63 73 71 6c 2d 70 72 | ent."...(let*.((cache.emacsql-pr |
| 5660 | 65 70 61 72 65 2d 63 61 63 68 65 29 0a 20 20 20 20 20 20 20 20 20 28 6b 65 79 20 28 63 6f 6e 73 | epare-cache)..........(key.(cons |
| 5680 | 20 65 6d 61 63 73 71 6c 2d 74 79 70 65 2d 6d 61 70 20 73 71 6c 29 29 29 0a 20 20 20 20 28 6f 72 | .emacsql-type-map.sql))).....(or |
| 56a0 | 20 28 67 65 74 68 61 73 68 20 6b 65 79 20 63 61 63 68 65 29 0a 20 20 20 20 20 20 20 20 28 73 65 | .(gethash.key.cache).........(se |
| 56c0 | 74 66 20 28 67 65 74 68 61 73 68 20 6b 65 79 20 63 61 63 68 65 29 0a 20 20 20 20 20 20 20 20 20 | tf.(gethash.key.cache).......... |
| 56e0 | 20 20 20 20 20 28 69 66 20 28 73 74 72 69 6e 67 70 20 73 71 6c 29 0a 20 20 20 20 20 20 20 20 20 | .....(if.(stringp.sql).......... |
| 5700 | 20 20 20 20 20 20 20 20 20 28 65 6d 61 63 73 71 6c 2d 70 72 65 70 61 72 65 2d 2d 73 74 72 69 6e | .........(emacsql-prepare--strin |
| 5720 | 67 20 73 71 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6d 61 63 73 71 6c 2d | g.sql).................(emacsql- |
| 5740 | 70 72 65 70 61 72 65 2d 2d 73 65 78 70 20 73 71 6c 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 | prepare--sexp.sql))))))..(defun. |
| 5760 | 65 6d 61 63 73 71 6c 2d 66 6f 72 6d 61 74 20 28 65 78 70 61 6e 73 69 6f 6e 20 26 72 65 73 74 20 | emacsql-format.(expansion.&rest. |
| 5780 | 61 72 67 73 29 0a 20 20 22 46 69 6c 6c 20 69 6e 20 74 68 65 20 76 61 72 69 61 62 6c 65 73 20 45 | args)..."Fill.in.the.variables.E |
| 57a0 | 58 50 41 4e 53 49 4f 4e 20 77 69 74 68 20 41 52 47 53 2e 22 0a 20 20 28 63 6c 2d 64 65 73 74 72 | XPANSION.with.ARGS."...(cl-destr |
| 57c0 | 75 63 74 75 72 69 6e 67 2d 62 69 6e 64 20 28 66 6f 72 6d 61 74 20 2e 20 76 61 72 73 29 20 65 78 | ucturing-bind.(format...vars).ex |
| 57e0 | 70 61 6e 73 69 6f 6e 0a 20 20 20 20 28 6c 65 74 20 28 28 70 72 69 6e 74 2d 6c 65 76 65 6c 20 6e | pansion.....(let.((print-level.n |
| 5800 | 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 72 69 6e 74 2d 6c 65 6e 67 74 68 20 6e 69 6c 29 | il)...........(print-length.nil) |
| 5820 | 29 0a 20 20 20 20 20 20 28 61 70 70 6c 79 20 23 27 66 6f 72 6d 61 74 20 66 6f 72 6d 61 74 0a 20 | ).......(apply.#'format.format.. |
| 5840 | 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 28 69 20 2e 20 6b 69 | ............(cl-loop.for.(i...ki |
| 5860 | 6e 64 29 20 69 6e 20 76 61 72 73 20 63 6f 6c 6c 65 63 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 | nd).in.vars.collect............. |
| 5880 | 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 74 68 69 6e 67 20 28 6e 74 68 20 69 20 61 72 | ..........(let.((thing.(nth.i.ar |
| 58a0 | 67 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 | gs))).........................(c |
| 58c0 | 6c 2d 63 61 73 65 20 6b 69 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | l-case.kind..................... |
| 58e0 | 20 20 20 20 20 20 28 3a 69 64 65 6e 74 69 66 69 65 72 20 28 65 6d 61 63 73 71 6c 2d 65 73 63 61 | ......(:identifier.(emacsql-esca |
| 5900 | 70 65 2d 69 64 65 6e 74 69 66 69 65 72 20 74 68 69 6e 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 | pe-identifier.thing))........... |
| 5920 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3a 73 63 61 6c 61 72 20 28 65 6d 61 63 73 71 | ................(:scalar.(emacsq |
| 5940 | 6c 2d 65 73 63 61 70 65 2d 73 63 61 6c 61 72 20 74 68 69 6e 67 29 29 0a 20 20 20 20 20 20 20 20 | l-escape-scalar.thing))......... |
| 5960 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3a 76 65 63 74 6f 72 20 28 65 6d 61 63 | ..................(:vector.(emac |
| 5980 | 73 71 6c 2d 65 73 63 61 70 65 2d 76 65 63 74 6f 72 20 74 68 69 6e 67 29 29 0a 20 20 20 20 20 20 | sql-escape-vector.thing))....... |
| 59a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3a 72 61 77 20 28 65 6d 61 63 73 | ....................(:raw.(emacs |
| 59c0 | 71 6c 2d 65 73 63 61 70 65 2d 72 61 77 20 74 68 69 6e 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 | ql-escape-raw.thing))........... |
| 59e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3a 73 63 68 65 6d 61 20 28 65 6d 61 63 73 71 | ................(:schema.(emacsq |
| 5a00 | 6c 2d 70 72 65 70 61 72 65 2d 73 63 68 65 6d 61 20 74 68 69 6e 67 29 29 0a 20 20 20 20 20 20 20 | l-prepare-schema.thing))........ |
| 5a20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 74 68 65 72 77 69 73 65 0a 20 20 | ...................(otherwise... |
| 5a40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6d 61 63 73 71 | .........................(emacsq |
| 5a60 | 6c 2d 65 72 72 6f 72 20 22 49 6e 76 61 6c 69 64 20 76 61 72 20 74 79 70 65 20 25 53 22 20 6b 69 | l-error."Invalid.var.type.%S".ki |
| 5a80 | 6e 64 29 29 29 29 29 29 29 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 65 6d 61 63 73 71 6c 2d 63 | nd)))))))))..(provide.'emacsql-c |
| 5aa0 | 6f 6d 70 69 6c 65 72 29 0a 0a 3b 3b 3b 20 65 6d 61 63 73 71 6c 2d 63 6f 6d 70 69 6c 65 72 2e 65 | ompiler)..;;;.emacsql-compiler.e |
| 5ac0 | 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | l.ends.here..................... |
| 5ae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5b00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5b20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5b40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5b60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5b80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5ba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5bc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5be0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5c00 | 65 6d 61 63 73 71 6c 2d 34 2e 33 2e 31 2f 65 6d 61 63 73 71 6c 2d 73 71 6c 69 74 65 2d 6d 6f 64 | emacsql-4.3.1/emacsql-sqlite-mod |
| 5c20 | 75 6c 65 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ule.el.......................... |
| 5c40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5c60 | 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 | ....0000644.0000000.0000000.0000 |
| 5c80 | 30 30 30 36 37 31 31 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 33 34 31 00 20 30 00 00 00 | 0006711.00000000000.016341..0... |
| 5ca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5cc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5ce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5d00 | 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .ustar...root................... |
| 5d20 | 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .........root................... |
| 5d40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5d60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5d80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5da0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5dc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5de0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5e00 | 3b 3b 3b 20 65 6d 61 63 73 71 6c 2d 73 71 6c 69 74 65 2d 6d 6f 64 75 6c 65 2e 65 6c 20 2d 2d 2d | ;;;.emacsql-sqlite-module.el.--- |
| 5e20 | 20 45 6d 61 63 53 51 4c 20 62 61 63 6b 2d 65 6e 64 20 66 6f 72 20 53 51 4c 69 74 65 20 75 73 69 | .EmacSQL.back-end.for.SQLite.usi |
| 5e40 | 6e 67 20 61 20 6d 6f 64 75 6c 65 20 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67 | ng.a.module..-*-.lexical-binding |
| 5e60 | 3a 74 20 2d 2a 2d 0a 0a 3b 3b 20 54 68 69 73 20 69 73 20 66 72 65 65 20 61 6e 64 20 75 6e 65 6e | :t.-*-..;;.This.is.free.and.unen |
| 5e80 | 63 75 6d 62 65 72 65 64 20 73 6f 66 74 77 61 72 65 20 72 65 6c 65 61 73 65 64 20 69 6e 74 6f 20 | cumbered.software.released.into. |
| 5ea0 | 74 68 65 20 70 75 62 6c 69 63 20 64 6f 6d 61 69 6e 2e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 4a | the.public.domain...;;.Author:.J |
| 5ec0 | 6f 6e 61 73 20 42 65 72 6e 6f 75 6c 6c 69 20 3c 65 6d 61 63 73 2e 65 6d 61 63 73 71 6c 40 6a 6f | onas.Bernoulli.<emacs.emacsql@jo |
| 5ee0 | 6e 61 73 2e 62 65 72 6e 6f 75 6c 6c 69 2e 64 65 76 3e 0a 3b 3b 20 4d 61 69 6e 74 61 69 6e 65 72 | nas.bernoulli.dev>.;;.Maintainer |
| 5f00 | 3a 20 4a 6f 6e 61 73 20 42 65 72 6e 6f 75 6c 6c 69 20 3c 65 6d 61 63 73 2e 65 6d 61 63 73 71 6c | :.Jonas.Bernoulli.<emacs.emacsql |
| 5f20 | 40 6a 6f 6e 61 73 2e 62 65 72 6e 6f 75 6c 6c 69 2e 64 65 76 3e 0a 0a 3b 3b 20 53 50 44 58 2d 4c | @jonas.bernoulli.dev>..;;.SPDX-L |
| 5f40 | 69 63 65 6e 73 65 2d 49 64 65 6e 74 69 66 69 65 72 3a 20 55 6e 6c 69 63 65 6e 73 65 0a 0a 3b 3b | icense-Identifier:.Unlicense..;; |
| 5f60 | 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b 20 54 68 69 73 20 6c 69 62 72 61 72 79 20 70 | ;.Commentary:..;;.This.library.p |
| 5f80 | 72 6f 76 69 64 65 73 20 61 6e 20 45 6d 61 63 53 51 4c 20 62 61 63 6b 2d 65 6e 64 20 66 6f 72 20 | rovides.an.EmacSQL.back-end.for. |
| 5fa0 | 53 51 4c 69 74 65 2c 20 77 68 69 63 68 20 75 73 65 73 0a 3b 3b 20 74 68 65 20 45 6d 61 63 73 20 | SQLite,.which.uses.;;.the.Emacs. |
| 5fc0 | 6d 6f 64 75 6c 65 20 70 72 6f 76 69 64 65 64 20 62 79 20 74 68 65 20 60 73 71 6c 69 74 65 33 27 | module.provided.by.the.`sqlite3' |
| 5fe0 | 20 70 61 63 6b 61 67 65 2e 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28 72 65 71 75 69 72 65 20 27 | .package...;;;.Code:..(require.' |
| 6000 | 65 6d 61 63 73 71 6c 2d 73 71 6c 69 74 65 29 0a 0a 28 72 65 71 75 69 72 65 20 27 73 71 6c 69 74 | emacsql-sqlite)..(require.'sqlit |
| 6020 | 65 33 20 6e 69 6c 20 74 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 73 71 6c 69 | e3.nil.t).(declare-function.sqli |
| 6040 | 74 65 33 2d 6f 70 65 6e 20 22 65 78 74 3a 73 71 6c 69 74 65 33 2d 61 70 69 22 29 0a 28 64 65 63 | te3-open."ext:sqlite3-api").(dec |
| 6060 | 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 73 71 6c 69 74 65 33 2d 65 78 65 63 20 22 65 78 74 3a | lare-function.sqlite3-exec."ext: |
| 6080 | 73 71 6c 69 74 65 33 2d 61 70 69 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 | sqlite3-api").(declare-function. |
| 60a0 | 73 71 6c 69 74 65 33 2d 63 6c 6f 73 65 20 22 65 78 74 3a 73 71 6c 69 74 65 33 2d 61 70 69 22 29 | sqlite3-close."ext:sqlite3-api") |
| 60c0 | 0a 28 64 65 66 76 61 72 20 73 71 6c 69 74 65 2d 6f 70 65 6e 2d 72 65 61 64 77 72 69 74 65 29 0a | .(defvar.sqlite-open-readwrite). |
| 60e0 | 28 64 65 66 76 61 72 20 73 71 6c 69 74 65 2d 6f 70 65 6e 2d 63 72 65 61 74 65 29 0a 0a 28 65 6d | (defvar.sqlite-open-create)..(em |
| 6100 | 61 63 73 71 6c 2d 72 65 67 69 73 74 65 72 2d 72 65 73 65 72 76 65 64 20 65 6d 61 63 73 71 6c 2d | acsql-register-reserved.emacsql- |
| 6120 | 73 71 6c 69 74 65 2d 72 65 73 65 72 76 65 64 29 0a 0a 28 64 65 66 63 6c 61 73 73 20 65 6d 61 63 | sqlite-reserved)..(defclass.emac |
| 6140 | 73 71 6c 2d 73 71 6c 69 74 65 2d 6d 6f 64 75 6c 65 2d 63 6f 6e 6e 65 63 74 69 6f 6e 20 28 65 6d | sql-sqlite-module-connection.(em |
| 6160 | 61 63 73 71 6c 2d 2d 73 71 6c 69 74 65 2d 62 61 73 65 29 20 28 29 0a 20 20 22 41 20 63 6f 6e 6e | acsql--sqlite-base).()..."A.conn |
| 6180 | 65 63 74 69 6f 6e 20 74 6f 20 61 20 53 51 4c 69 74 65 20 64 61 74 61 62 61 73 65 20 75 73 69 6e | ection.to.a.SQLite.database.usin |
| 61a0 | 67 20 61 20 6d 6f 64 75 6c 65 2e 22 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 69 6e 69 | g.a.module.")..(cl-defmethod.ini |
| 61c0 | 74 69 61 6c 69 7a 65 2d 69 6e 73 74 61 6e 63 65 20 3a 61 66 74 65 72 0a 20 20 28 28 63 6f 6e 6e | tialize-instance.:after...((conn |
| 61e0 | 65 63 74 69 6f 6e 20 65 6d 61 63 73 71 6c 2d 73 71 6c 69 74 65 2d 6d 6f 64 75 6c 65 2d 63 6f 6e | ection.emacsql-sqlite-module-con |
| 6200 | 6e 65 63 74 69 6f 6e 29 20 26 72 65 73 74 20 5f 29 0a 20 20 28 72 65 71 75 69 72 65 20 28 71 75 | nection).&rest._)...(require.(qu |
| 6220 | 6f 74 65 20 73 71 6c 69 74 65 33 29 29 0a 20 20 28 6f 73 65 74 20 63 6f 6e 6e 65 63 74 69 6f 6e | ote.sqlite3))...(oset.connection |
| 6240 | 20 68 61 6e 64 6c 65 0a 20 20 20 20 20 20 20 20 28 73 71 6c 69 74 65 33 2d 6f 70 65 6e 20 28 6f | .handle.........(sqlite3-open.(o |
| 6260 | 72 20 28 6f 72 65 66 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 66 69 6c 65 29 20 22 3a 6d 65 6d 6f 72 | r.(oref.connection.file).":memor |
| 6280 | 79 3a 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 71 6c 69 74 | y:").......................sqlit |
| 62a0 | 65 2d 6f 70 65 6e 2d 72 65 61 64 77 72 69 74 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | e-open-readwrite................ |
| 62c0 | 20 20 20 20 20 20 20 73 71 6c 69 74 65 2d 6f 70 65 6e 2d 63 72 65 61 74 65 29 29 0a 20 20 28 65 | .......sqlite-open-create))...(e |
| 62e0 | 6d 61 63 73 71 6c 2d 73 71 6c 69 74 65 2d 73 65 74 2d 62 75 73 79 2d 74 69 6d 65 6f 75 74 20 63 | macsql-sqlite-set-busy-timeout.c |
| 6300 | 6f 6e 6e 65 63 74 69 6f 6e 29 0a 20 20 28 65 6d 61 63 73 71 6c 20 63 6f 6e 6e 65 63 74 69 6f 6e | onnection)...(emacsql.connection |
| 6320 | 20 5b 3a 70 72 61 67 6d 61 20 28 3d 20 66 6f 72 65 69 67 6e 2d 6b 65 79 73 20 6f 6e 29 5d 29 0a | .[:pragma.(=.foreign-keys.on)]). |
| 6340 | 20 20 28 65 6d 61 63 73 71 6c 2d 72 65 67 69 73 74 65 72 20 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 | ..(emacsql-register.connection)) |
| 6360 | 0a 0a 28 63 6c 2d 64 65 66 75 6e 20 65 6d 61 63 73 71 6c 2d 73 71 6c 69 74 65 2d 6d 6f 64 75 6c | ..(cl-defun.emacsql-sqlite-modul |
| 6380 | 65 20 28 66 69 6c 65 20 26 6b 65 79 20 64 65 62 75 67 29 0a 20 20 22 4f 70 65 6e 20 61 20 63 6f | e.(file.&key.debug)..."Open.a.co |
| 63a0 | 6e 6e 65 63 74 65 64 20 74 6f 20 64 61 74 61 62 61 73 65 20 73 74 6f 72 65 64 20 69 6e 20 46 49 | nnected.to.database.stored.in.FI |
| 63c0 | 4c 45 2e 0a 49 66 20 46 49 4c 45 20 69 73 20 6e 69 6c 20 75 73 65 20 61 6e 20 69 6e 2d 6d 65 6d | LE..If.FILE.is.nil.use.an.in-mem |
| 63e0 | 6f 72 79 20 64 61 74 61 62 61 73 65 2e 0a 0a 3a 64 65 62 75 67 20 4c 4f 47 20 2d 2d 20 57 68 65 | ory.database...:debug.LOG.--.Whe |
| 6400 | 6e 20 6e 6f 6e 2d 6e 69 6c 2c 20 6c 6f 67 20 61 6c 6c 20 53 51 4c 69 74 65 20 63 6f 6d 6d 61 6e | n.non-nil,.log.all.SQLite.comman |
| 6420 | 64 73 20 74 6f 20 61 20 6c 6f 67 0a 62 75 66 66 65 72 2e 20 20 54 68 69 73 20 69 73 20 66 6f 72 | ds.to.a.log.buffer...This.is.for |
| 6440 | 20 64 65 62 75 67 67 69 6e 67 20 70 75 72 70 6f 73 65 73 2e 22 0a 20 20 28 6c 65 74 20 28 28 63 | .debugging.purposes."...(let.((c |
| 6460 | 6f 6e 6e 65 63 74 69 6f 6e 20 28 6d 61 6b 65 2d 69 6e 73 74 61 6e 63 65 20 23 27 65 6d 61 63 73 | onnection.(make-instance.#'emacs |
| 6480 | 71 6c 2d 73 71 6c 69 74 65 2d 6d 6f 64 75 6c 65 2d 63 6f 6e 6e 65 63 74 69 6f 6e 0a 20 20 20 20 | ql-sqlite-module-connection..... |
| 64a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a | ...............................: |
| 64c0 | 66 69 6c 65 20 66 69 6c 65 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 64 65 62 75 67 0a 20 20 20 | file.file))).....(when.debug.... |
| 64e0 | 20 20 20 28 65 6d 61 63 73 71 6c 2d 65 6e 61 62 6c 65 2d 64 65 62 75 67 67 69 6e 67 20 63 6f 6e | ...(emacsql-enable-debugging.con |
| 6500 | 6e 65 63 74 69 6f 6e 29 29 0a 20 20 20 20 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 0a 0a 28 63 6c 2d | nection)).....connection))..(cl- |
| 6520 | 64 65 66 6d 65 74 68 6f 64 20 65 6d 61 63 73 71 6c 2d 6c 69 76 65 2d 70 20 28 28 63 6f 6e 6e 65 | defmethod.emacsql-live-p.((conne |
| 6540 | 63 74 69 6f 6e 20 65 6d 61 63 73 71 6c 2d 73 71 6c 69 74 65 2d 6d 6f 64 75 6c 65 2d 63 6f 6e 6e | ction.emacsql-sqlite-module-conn |
| 6560 | 65 63 74 69 6f 6e 29 29 0a 20 20 28 61 6e 64 20 28 6f 72 65 66 20 63 6f 6e 6e 65 63 74 69 6f 6e | ection))...(and.(oref.connection |
| 6580 | 20 68 61 6e 64 6c 65 29 20 74 29 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 65 6d 61 63 | .handle).t))..(cl-defmethod.emac |
| 65a0 | 73 71 6c 2d 63 6c 6f 73 65 20 28 28 63 6f 6e 6e 65 63 74 69 6f 6e 20 65 6d 61 63 73 71 6c 2d 73 | sql-close.((connection.emacsql-s |
| 65c0 | 71 6c 69 74 65 2d 6d 6f 64 75 6c 65 2d 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 0a 20 20 28 73 71 6c | qlite-module-connection))...(sql |
| 65e0 | 69 74 65 33 2d 63 6c 6f 73 65 20 28 6f 72 65 66 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 68 61 6e 64 | ite3-close.(oref.connection.hand |
| 6600 | 6c 65 29 29 0a 20 20 28 6f 73 65 74 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 68 61 6e 64 6c 65 20 6e | le))...(oset.connection.handle.n |
| 6620 | 69 6c 29 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 65 6d 61 63 73 71 6c 2d 73 65 6e 64 | il))..(cl-defmethod.emacsql-send |
| 6640 | 2d 6d 65 73 73 61 67 65 0a 20 20 28 28 63 6f 6e 6e 65 63 74 69 6f 6e 20 65 6d 61 63 73 71 6c 2d | -message...((connection.emacsql- |
| 6660 | 73 71 6c 69 74 65 2d 6d 6f 64 75 6c 65 2d 63 6f 6e 6e 65 63 74 69 6f 6e 29 20 6d 65 73 73 61 67 | sqlite-module-connection).messag |
| 6680 | 65 29 0a 20 20 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 65 72 72 0a 20 20 20 20 20 20 28 | e)...(condition-case.err.......( |
| 66a0 | 6c 65 74 20 28 28 69 6e 63 6c 75 64 65 2d 68 65 61 64 65 72 20 65 6d 61 63 73 71 6c 2d 69 6e 63 | let.((include-header.emacsql-inc |
| 66c0 | 6c 75 64 65 2d 68 65 61 64 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 72 6f 77 73 20 28 | lude-header).............(rows.( |
| 66e0 | 29 29 29 0a 20 20 20 20 20 20 20 20 28 73 71 6c 69 74 65 33 2d 65 78 65 63 20 28 6f 72 65 66 20 | ))).........(sqlite3-exec.(oref. |
| 6700 | 63 6f 6e 6e 65 63 74 69 6f 6e 20 68 61 6e 64 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | connection.handle).............. |
| 6720 | 20 20 20 20 20 20 20 20 20 6d 65 73 73 61 67 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .........message................ |
| 6740 | 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 5f 20 72 6f 77 20 68 65 61 64 65 72 29 0a 20 20 | .......(lambda.(_.row.header)... |
| 6760 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 69 6e 63 6c | ......................(when.incl |
| 6780 | 75 64 65 2d 68 65 61 64 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ude-header...................... |
| 67a0 | 20 20 20 20 20 28 70 75 73 68 20 68 65 61 64 65 72 20 72 6f 77 73 29 0a 20 20 20 20 20 20 20 20 | .....(push.header.rows)......... |
| 67c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 69 6e 63 6c 75 64 65 2d | ..................(setq.include- |
| 67e0 | 68 65 61 64 65 72 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | header.nil)).................... |
| 6800 | 20 20 20 20 20 28 70 75 73 68 20 28 6d 61 70 63 61 6e 20 28 6c 61 6d 62 64 61 20 28 63 6f 6c 29 | .....(push.(mapcan.(lambda.(col) |
| 6820 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 6840 | 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .........(cond.................. |
| 6860 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 6e 75 6c 6c 20 63 | ........................((null.c |
| 6880 | 6f 6c 29 20 20 20 20 20 28 6c 69 73 74 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ol).....(list.nil))............. |
| 68a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 65 | .............................((e |
| 68c0 | 71 75 61 6c 20 63 6f 6c 20 22 22 29 20 28 6c 69 73 74 20 22 22 29 29 0a 20 20 20 20 20 20 20 20 | qual.col."").(list.""))......... |
| 68e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 6900 | 20 28 28 65 6d 61 63 73 71 6c 2d 73 71 6c 69 74 65 2d 72 65 61 64 2d 63 6f 6c 75 6d 6e 20 63 6f | .((emacsql-sqlite-read-column.co |
| 6920 | 6c 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | l))))........................... |
| 6940 | 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 77 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ............row)................ |
| 6960 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 77 73 29 29 29 0a 20 20 20 20 20 20 20 20 28 | ...............rows))).........( |
| 6980 | 6e 72 65 76 65 72 73 65 20 72 6f 77 73 29 29 0a 20 20 20 20 28 28 64 62 2d 65 72 72 6f 72 20 73 | nreverse.rows)).....((db-error.s |
| 69a0 | 71 6c 2d 65 72 72 6f 72 29 0a 20 20 20 20 20 28 70 63 61 73 65 2d 6c 65 74 2a 20 28 28 60 28 2c | ql-error)......(pcase-let*.((`(, |
| 69c0 | 5f 20 2c 65 72 72 6d 73 67 20 2c 65 72 72 63 6f 64 65 29 20 65 72 72 29 0a 20 20 20 20 20 20 20 | _.,errmsg.,errcode).err)........ |
| 69e0 | 20 20 20 20 20 20 20 20 20 20 20 28 60 28 2c 5f 20 2c 5f 20 2c 73 69 67 6e 61 6c 20 2c 65 72 72 | ...........(`(,_.,_.,signal.,err |
| 6a00 | 73 74 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 73 73 71 20 65 72 | str)....................(assq.er |
| 6a20 | 72 63 6f 64 65 20 65 6d 61 63 73 71 6c 2d 73 71 6c 69 74 65 2d 65 72 72 6f 72 2d 63 6f 64 65 73 | rcode.emacsql-sqlite-error-codes |
| 6a40 | 29 29 29 0a 20 20 20 20 20 20 20 28 73 69 67 6e 61 6c 20 28 6f 72 20 73 69 67 6e 61 6c 20 27 65 | )))........(signal.(or.signal.'e |
| 6a60 | 6d 61 63 73 71 6c 2d 65 72 72 6f 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 | macsql-error)................(li |
| 6a80 | 73 74 20 65 72 72 6d 73 67 20 65 72 72 63 6f 64 65 20 6e 69 6c 20 65 72 72 73 74 72 29 29 29 29 | st.errmsg.errcode.nil.errstr)))) |
| 6aa0 | 0a 20 20 20 20 28 65 72 72 6f 72 0a 20 20 20 20 20 28 73 69 67 6e 61 6c 20 27 65 6d 61 63 73 71 | .....(error......(signal.'emacsq |
| 6ac0 | 6c 2d 65 72 72 6f 72 20 28 63 64 72 20 65 72 72 29 29 29 29 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 | l-error.(cdr.err)))))..(cl-defme |
| 6ae0 | 74 68 6f 64 20 65 6d 61 63 73 71 6c 20 28 28 63 6f 6e 6e 65 63 74 69 6f 6e 20 65 6d 61 63 73 71 | thod.emacsql.((connection.emacsq |
| 6b00 | 6c 2d 73 71 6c 69 74 65 2d 6d 6f 64 75 6c 65 2d 63 6f 6e 6e 65 63 74 69 6f 6e 29 20 73 71 6c 20 | l-sqlite-module-connection).sql. |
| 6b20 | 26 72 65 73 74 20 61 72 67 73 29 0a 20 20 28 65 6d 61 63 73 71 6c 2d 73 65 6e 64 2d 6d 65 73 73 | &rest.args)...(emacsql-send-mess |
| 6b40 | 61 67 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 28 61 70 70 6c 79 20 23 27 65 6d 61 63 73 71 6c 2d | age.connection.(apply.#'emacsql- |
| 6b60 | 63 6f 6d 70 69 6c 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 73 71 6c 20 61 72 67 73 29 29 29 0a 0a | compile.connection.sql.args))).. |
| 6b80 | 28 70 72 6f 76 69 64 65 20 27 65 6d 61 63 73 71 6c 2d 73 71 6c 69 74 65 2d 6d 6f 64 75 6c 65 29 | (provide.'emacsql-sqlite-module) |
| 6ba0 | 0a 0a 3b 3b 3b 20 65 6d 61 63 73 71 6c 2d 73 71 6c 69 74 65 2d 6d 6f 64 75 6c 65 2e 65 6c 20 65 | ..;;;.emacsql-sqlite-module.el.e |
| 6bc0 | 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | nds.here........................ |
| 6be0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6c00 | 65 6d 61 63 73 71 6c 2d 34 2e 33 2e 31 2f 65 6d 61 63 73 71 6c 2d 73 71 6c 69 74 65 2e 65 6c 00 | emacsql-4.3.1/emacsql-sqlite.el. |
| 6c20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6c40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6c60 | 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 | ....0000644.0000000.0000000.0000 |
| 6c80 | 30 30 33 31 35 37 31 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 35 30 36 30 00 20 30 00 00 00 | 0031571.00000000000.015060..0... |
| 6ca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6cc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6ce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6d00 | 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .ustar...root................... |
| 6d20 | 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .........root................... |
| 6d40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6d60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6d80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6da0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6dc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6de0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6e00 | 3b 3b 3b 20 65 6d 61 63 73 71 6c 2d 73 71 6c 69 74 65 2e 65 6c 20 2d 2d 2d 20 43 6f 64 65 20 75 | ;;;.emacsql-sqlite.el.---.Code.u |
| 6e20 | 73 65 64 20 62 79 20 62 6f 74 68 20 53 51 4c 69 74 65 20 62 61 63 6b 2d 65 6e 64 73 20 20 2d 2a | sed.by.both.SQLite.back-ends..-* |
| 6e40 | 2d 20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67 3a 74 20 2d 2a 2d 0a 0a 3b 3b 20 54 68 69 73 | -.lexical-binding:t.-*-..;;.This |
| 6e60 | 20 69 73 20 66 72 65 65 20 61 6e 64 20 75 6e 65 6e 63 75 6d 62 65 72 65 64 20 73 6f 66 74 77 61 | .is.free.and.unencumbered.softwa |
| 6e80 | 72 65 20 72 65 6c 65 61 73 65 64 20 69 6e 74 6f 20 74 68 65 20 70 75 62 6c 69 63 20 64 6f 6d 61 | re.released.into.the.public.doma |
| 6ea0 | 69 6e 2e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 4a 6f 6e 61 73 20 42 65 72 6e 6f 75 6c 6c 69 20 | in...;;.Author:.Jonas.Bernoulli. |
| 6ec0 | 3c 65 6d 61 63 73 2e 65 6d 61 63 73 71 6c 40 6a 6f 6e 61 73 2e 62 65 72 6e 6f 75 6c 6c 69 2e 64 | <emacs.emacsql@jonas.bernoulli.d |
| 6ee0 | 65 76 3e 0a 3b 3b 20 4d 61 69 6e 74 61 69 6e 65 72 3a 20 4a 6f 6e 61 73 20 42 65 72 6e 6f 75 6c | ev>.;;.Maintainer:.Jonas.Bernoul |
| 6f00 | 6c 69 20 3c 65 6d 61 63 73 2e 65 6d 61 63 73 71 6c 40 6a 6f 6e 61 73 2e 62 65 72 6e 6f 75 6c 6c | li.<emacs.emacsql@jonas.bernoull |
| 6f20 | 69 2e 64 65 76 3e 0a 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d 49 64 65 6e 74 69 66 69 | i.dev>..;;.SPDX-License-Identifi |
| 6f40 | 65 72 3a 20 55 6e 6c 69 63 65 6e 73 65 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a | er:.Unlicense..;;;.Commentary:.. |
| 6f60 | 3b 3b 20 54 68 69 73 20 6c 69 62 72 61 72 79 20 63 6f 6e 74 61 69 6e 73 20 63 6f 64 65 20 74 68 | ;;.This.library.contains.code.th |
| 6f80 | 61 74 20 69 73 20 75 73 65 64 20 62 79 20 62 6f 74 68 20 53 51 4c 69 74 65 20 62 61 63 6b 2d 65 | at.is.used.by.both.SQLite.back-e |
| 6fa0 | 6e 64 73 2e 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28 72 65 71 75 69 72 65 20 27 65 6d 61 63 73 | nds...;;;.Code:..(require.'emacs |
| 6fc0 | 71 6c 29 0a 0a 3b 3b 3b 20 42 61 73 65 20 63 6c 61 73 73 0a 0a 28 64 65 66 63 6c 61 73 73 20 65 | ql)..;;;.Base.class..(defclass.e |
| 6fe0 | 6d 61 63 73 71 6c 2d 2d 73 71 6c 69 74 65 2d 62 61 73 65 20 28 65 6d 61 63 73 71 6c 2d 63 6f 6e | macsql--sqlite-base.(emacsql-con |
| 7000 | 6e 65 63 74 69 6f 6e 29 0a 20 20 28 28 66 69 6c 65 20 3a 69 6e 69 74 61 72 67 20 3a 66 69 6c 65 | nection)...((file.:initarg.:file |
| 7020 | 0a 20 20 20 20 20 20 20 20 20 3a 69 6e 69 74 66 6f 72 6d 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 | ..........:initform.nil......... |
| 7040 | 20 3a 74 79 70 65 20 28 6f 72 20 6e 75 6c 6c 20 73 74 72 69 6e 67 29 0a 20 20 20 20 20 20 20 20 | .:type.(or.null.string)......... |
| 7060 | 20 3a 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 22 44 61 74 61 62 61 73 65 20 66 69 6c 65 20 6e | .:documentation."Database.file.n |
| 7080 | 61 6d 65 2e 22 29 0a 20 20 20 28 74 79 70 65 73 20 3a 61 6c 6c 6f 63 61 74 69 6f 6e 20 3a 63 6c | ame.")....(types.:allocation.:cl |
| 70a0 | 61 73 73 0a 20 20 20 20 20 20 20 20 20 20 3a 72 65 61 64 65 72 20 65 6d 61 63 73 71 6c 2d 74 79 | ass...........:reader.emacsql-ty |
| 70c0 | 70 65 73 0a 20 20 20 20 20 20 20 20 20 20 3a 69 6e 69 74 66 6f 72 6d 20 27 28 28 69 6e 74 65 67 | pes...........:initform.'((integ |
| 70e0 | 65 72 20 22 49 4e 54 45 47 45 52 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | er."INTEGER")................... |
| 7100 | 20 20 20 20 28 66 6c 6f 61 74 20 22 52 45 41 4c 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ....(float."REAL").............. |
| 7120 | 20 20 20 20 20 20 20 20 20 28 6f 62 6a 65 63 74 20 22 54 45 58 54 22 29 0a 20 20 20 20 20 20 20 | .........(object."TEXT")........ |
| 7140 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 69 6c 20 6e 69 6c 29 29 29 29 0a 20 20 3a 61 | ...............(nil.nil))))...:a |
| 7160 | 62 73 74 72 61 63 74 20 74 29 0a 0a 3b 3b 3b 20 43 6f 6e 73 74 61 6e 74 73 0a 0a 28 64 65 66 63 | bstract.t)..;;;.Constants..(defc |
| 7180 | 6f 6e 73 74 20 65 6d 61 63 73 71 6c 2d 73 71 6c 69 74 65 2d 72 65 73 65 72 76 65 64 0a 20 20 27 | onst.emacsql-sqlite-reserved...' |
| 71a0 | 28 20 41 42 4f 52 54 20 41 43 54 49 4f 4e 20 41 44 44 20 41 46 54 45 52 20 41 4c 4c 20 41 4c 54 | (.ABORT.ACTION.ADD.AFTER.ALL.ALT |
| 71c0 | 45 52 20 41 4e 41 4c 59 5a 45 20 41 4e 44 20 41 53 20 41 53 43 20 41 54 54 41 43 48 0a 20 20 20 | ER.ANALYZE.AND.AS.ASC.ATTACH.... |
| 71e0 | 20 20 41 55 54 4f 49 4e 43 52 45 4d 45 4e 54 20 42 45 46 4f 52 45 20 42 45 47 49 4e 20 42 45 54 | ..AUTOINCREMENT.BEFORE.BEGIN.BET |
| 7200 | 57 45 45 4e 20 42 59 20 43 41 53 43 41 44 45 20 43 41 53 45 20 43 41 53 54 20 43 48 45 43 4b 0a | WEEN.BY.CASCADE.CASE.CAST.CHECK. |
| 7220 | 20 20 20 20 20 43 4f 4c 4c 41 54 45 20 43 4f 4c 55 4d 4e 20 43 4f 4d 4d 49 54 20 43 4f 4e 46 4c | .....COLLATE.COLUMN.COMMIT.CONFL |
| 7240 | 49 43 54 20 43 4f 4e 53 54 52 41 49 4e 54 20 43 52 45 41 54 45 20 43 52 4f 53 53 0a 20 20 20 20 | ICT.CONSTRAINT.CREATE.CROSS..... |
| 7260 | 20 43 55 52 52 45 4e 54 5f 44 41 54 45 20 43 55 52 52 45 4e 54 5f 54 49 4d 45 20 43 55 52 52 45 | .CURRENT_DATE.CURRENT_TIME.CURRE |
| 7280 | 4e 54 5f 54 49 4d 45 53 54 41 4d 50 20 44 41 54 41 42 41 53 45 20 44 45 46 41 55 4c 54 0a 20 20 | NT_TIMESTAMP.DATABASE.DEFAULT... |
| 72a0 | 20 20 20 44 45 46 45 52 52 41 42 4c 45 20 44 45 46 45 52 52 45 44 20 44 45 4c 45 54 45 20 44 45 | ...DEFERRABLE.DEFERRED.DELETE.DE |
| 72c0 | 53 43 20 44 45 54 41 43 48 20 44 49 53 54 49 4e 43 54 20 44 52 4f 50 20 45 41 43 48 20 45 4c 53 | SC.DETACH.DISTINCT.DROP.EACH.ELS |
| 72e0 | 45 20 45 4e 44 0a 20 20 20 20 20 45 53 43 41 50 45 20 45 58 43 45 50 54 20 45 58 43 4c 55 53 49 | E.END......ESCAPE.EXCEPT.EXCLUSI |
| 7300 | 56 45 20 45 58 49 53 54 53 20 45 58 50 4c 41 49 4e 20 46 41 49 4c 20 46 4f 52 20 46 4f 52 45 49 | VE.EXISTS.EXPLAIN.FAIL.FOR.FOREI |
| 7320 | 47 4e 20 46 52 4f 4d 20 46 55 4c 4c 0a 20 20 20 20 20 47 4c 4f 42 20 47 52 4f 55 50 20 48 41 56 | GN.FROM.FULL......GLOB.GROUP.HAV |
| 7340 | 49 4e 47 20 49 46 20 49 47 4e 4f 52 45 20 49 4d 4d 45 44 49 41 54 45 20 49 4e 20 49 4e 44 45 58 | ING.IF.IGNORE.IMMEDIATE.IN.INDEX |
| 7360 | 20 49 4e 44 45 58 45 44 20 49 4e 49 54 49 41 4c 4c 59 0a 20 20 20 20 20 49 4e 4e 45 52 20 49 4e | .INDEXED.INITIALLY......INNER.IN |
| 7380 | 53 45 52 54 20 49 4e 53 54 45 41 44 20 49 4e 54 45 52 53 45 43 54 20 49 4e 54 4f 20 49 53 20 49 | SERT.INSTEAD.INTERSECT.INTO.IS.I |
| 73a0 | 53 4e 55 4c 4c 20 4a 4f 49 4e 20 4b 45 59 20 4c 45 46 54 20 4c 49 4b 45 0a 20 20 20 20 20 4c 49 | SNULL.JOIN.KEY.LEFT.LIKE......LI |
| 73c0 | 4d 49 54 20 4d 41 54 43 48 20 4e 41 54 55 52 41 4c 20 4e 4f 20 4e 4f 54 20 4e 4f 54 4e 55 4c 4c | MIT.MATCH.NATURAL.NO.NOT.NOTNULL |
| 73e0 | 20 4e 55 4c 4c 20 4f 46 20 4f 46 46 53 45 54 20 4f 4e 20 4f 52 20 4f 52 44 45 52 0a 20 20 20 20 | .NULL.OF.OFFSET.ON.OR.ORDER..... |
| 7400 | 20 4f 55 54 45 52 20 50 4c 41 4e 20 50 52 41 47 4d 41 20 50 52 49 4d 41 52 59 20 51 55 45 52 59 | .OUTER.PLAN.PRAGMA.PRIMARY.QUERY |
| 7420 | 20 52 41 49 53 45 20 52 45 43 55 52 53 49 56 45 20 52 45 46 45 52 45 4e 43 45 53 20 52 45 47 45 | .RAISE.RECURSIVE.REFERENCES.REGE |
| 7440 | 58 50 0a 20 20 20 20 20 52 45 49 4e 44 45 58 20 52 45 4c 45 41 53 45 20 52 45 4e 41 4d 45 20 52 | XP......REINDEX.RELEASE.RENAME.R |
| 7460 | 45 50 4c 41 43 45 20 52 45 53 54 52 49 43 54 20 52 49 47 48 54 20 52 4f 4c 4c 42 41 43 4b 20 52 | EPLACE.RESTRICT.RIGHT.ROLLBACK.R |
| 7480 | 4f 57 0a 20 20 20 20 20 53 41 56 45 50 4f 49 4e 54 20 53 45 4c 45 43 54 20 53 45 54 20 54 41 42 | OW......SAVEPOINT.SELECT.SET.TAB |
| 74a0 | 4c 45 20 54 45 4d 50 20 54 45 4d 50 4f 52 41 52 59 20 54 48 45 4e 20 54 4f 20 54 52 41 4e 53 41 | LE.TEMP.TEMPORARY.THEN.TO.TRANSA |
| 74c0 | 43 54 49 4f 4e 0a 20 20 20 20 20 54 52 49 47 47 45 52 20 55 4e 49 4f 4e 20 55 4e 49 51 55 45 20 | CTION......TRIGGER.UNION.UNIQUE. |
| 74e0 | 55 50 44 41 54 45 20 55 53 49 4e 47 20 56 41 43 55 55 4d 20 56 41 4c 55 45 53 20 56 49 45 57 20 | UPDATE.USING.VACUUM.VALUES.VIEW. |
| 7500 | 56 49 52 54 55 41 4c 20 57 48 45 4e 0a 20 20 20 20 20 57 48 45 52 45 20 57 49 54 48 20 57 49 54 | VIRTUAL.WHEN......WHERE.WITH.WIT |
| 7520 | 48 4f 55 54 29 0a 20 20 22 4c 69 73 74 20 6f 66 20 61 6c 6c 20 6f 66 20 53 51 4c 69 74 65 27 73 | HOUT)..."List.of.all.of.SQLite's |
| 7540 | 20 72 65 73 65 72 76 65 64 20 77 6f 72 64 73 2e 0a 41 6c 73 6f 20 73 65 65 20 68 74 74 70 3a 2f | .reserved.words..Also.see.http:/ |
| 7560 | 2f 77 77 77 2e 73 71 6c 69 74 65 2e 6f 72 67 2f 6c 61 6e 67 5f 6b 65 79 77 6f 72 64 73 2e 68 74 | /www.sqlite.org/lang_keywords.ht |
| 7580 | 6d 6c 2e 22 29 0a 0a 28 64 65 66 63 6f 6e 73 74 20 65 6d 61 63 73 71 6c 2d 73 71 6c 69 74 65 2d | ml.")..(defconst.emacsql-sqlite- |
| 75a0 | 65 72 72 6f 72 2d 63 6f 64 65 73 0a 20 20 27 28 28 31 20 20 53 51 4c 49 54 45 5f 45 52 52 4f 52 | error-codes...'((1..SQLITE_ERROR |
| 75c0 | 20 20 20 20 20 20 65 6d 61 63 73 71 6c 2d 65 72 72 6f 72 20 20 20 20 20 20 22 53 51 4c 20 6c 6f | ......emacsql-error......"SQL.lo |
| 75e0 | 67 69 63 20 65 72 72 6f 72 22 29 0a 20 20 20 20 28 32 20 20 53 51 4c 49 54 45 5f 49 4e 54 45 52 | gic.error").....(2..SQLITE_INTER |
| 7600 | 4e 41 4c 20 20 20 65 6d 61 63 73 71 6c 2d 69 6e 74 65 72 6e 61 6c 20 20 20 6e 69 6c 29 0a 20 20 | NAL...emacsql-internal...nil)... |
| 7620 | 20 20 28 33 20 20 53 51 4c 49 54 45 5f 50 45 52 4d 20 20 20 20 20 20 20 65 6d 61 63 73 71 6c 2d | ..(3..SQLITE_PERM.......emacsql- |
| 7640 | 61 63 63 65 73 73 20 20 20 20 20 22 61 63 63 65 73 73 20 70 65 72 6d 69 73 73 69 6f 6e 20 64 65 | access....."access.permission.de |
| 7660 | 6e 69 65 64 22 29 0a 20 20 20 20 28 34 20 20 53 51 4c 49 54 45 5f 41 42 4f 52 54 20 20 20 20 20 | nied").....(4..SQLITE_ABORT..... |
| 7680 | 20 65 6d 61 63 73 71 6c 2d 65 72 72 6f 72 20 20 20 20 20 20 22 71 75 65 72 79 20 61 62 6f 72 74 | .emacsql-error......"query.abort |
| 76a0 | 65 64 22 29 0a 20 20 20 20 28 35 20 20 53 51 4c 49 54 45 5f 42 55 53 59 20 20 20 20 20 20 20 65 | ed").....(5..SQLITE_BUSY.......e |
| 76c0 | 6d 61 63 73 71 6c 2d 6c 6f 63 6b 65 64 20 20 20 20 20 22 64 61 74 61 62 61 73 65 20 69 73 20 6c | macsql-locked....."database.is.l |
| 76e0 | 6f 63 6b 65 64 22 29 0a 20 20 20 20 28 36 20 20 53 51 4c 49 54 45 5f 4c 4f 43 4b 45 44 20 20 20 | ocked").....(6..SQLITE_LOCKED... |
| 7700 | 20 20 65 6d 61 63 73 71 6c 2d 6c 6f 63 6b 65 64 20 20 20 20 20 22 64 61 74 61 62 61 73 65 20 74 | ..emacsql-locked....."database.t |
| 7720 | 61 62 6c 65 20 69 73 20 6c 6f 63 6b 65 64 22 29 0a 20 20 20 20 28 37 20 20 53 51 4c 49 54 45 5f | able.is.locked").....(7..SQLITE_ |
| 7740 | 4e 4f 4d 45 4d 20 20 20 20 20 20 65 6d 61 63 73 71 6c 2d 6d 65 6d 6f 72 79 20 20 20 20 20 22 6f | NOMEM......emacsql-memory....."o |
| 7760 | 75 74 20 6f 66 20 6d 65 6d 6f 72 79 22 29 0a 20 20 20 20 28 38 20 20 53 51 4c 49 54 45 5f 52 45 | ut.of.memory").....(8..SQLITE_RE |
| 7780 | 41 44 4f 4e 4c 59 20 20 20 65 6d 61 63 73 71 6c 2d 61 63 63 65 73 73 20 20 20 20 20 22 61 74 74 | ADONLY...emacsql-access....."att |
| 77a0 | 65 6d 70 74 20 74 6f 20 77 72 69 74 65 20 61 20 72 65 61 64 6f 6e 6c 79 20 64 61 74 61 62 61 73 | empt.to.write.a.readonly.databas |
| 77c0 | 65 22 29 0a 20 20 20 20 28 39 20 20 53 51 4c 49 54 45 5f 49 4e 54 45 52 52 55 50 54 20 20 65 6d | e").....(9..SQLITE_INTERRUPT..em |
| 77e0 | 61 63 73 71 6c 2d 65 72 72 6f 72 20 20 20 20 20 20 22 69 6e 74 65 72 72 75 70 74 65 64 22 29 0a | acsql-error......"interrupted"). |
| 7800 | 20 20 20 20 28 31 30 20 53 51 4c 49 54 45 5f 49 4f 45 52 52 20 20 20 20 20 20 65 6d 61 63 73 71 | ....(10.SQLITE_IOERR......emacsq |
| 7820 | 6c 2d 61 63 63 65 73 73 20 20 20 20 20 22 64 69 73 6b 20 49 2f 4f 20 65 72 72 6f 72 22 29 0a 20 | l-access....."disk.I/O.error").. |
| 7840 | 20 20 20 28 31 31 20 53 51 4c 49 54 45 5f 43 4f 52 52 55 50 54 20 20 20 20 65 6d 61 63 73 71 6c | ...(11.SQLITE_CORRUPT....emacsql |
| 7860 | 2d 63 6f 72 72 75 70 74 69 6f 6e 20 22 64 61 74 61 62 61 73 65 20 64 69 73 6b 20 69 6d 61 67 65 | -corruption."database.disk.image |
| 7880 | 20 69 73 20 6d 61 6c 66 6f 72 6d 65 64 22 29 0a 20 20 20 20 28 31 32 20 53 51 4c 49 54 45 5f 4e | .is.malformed").....(12.SQLITE_N |
| 78a0 | 4f 54 46 4f 55 4e 44 20 20 20 65 6d 61 63 73 71 6c 2d 65 72 72 6f 72 20 20 20 20 20 20 22 75 6e | OTFOUND...emacsql-error......"un |
| 78c0 | 6b 6e 6f 77 6e 20 6f 70 65 72 61 74 69 6f 6e 22 29 0a 20 20 20 20 28 31 33 20 53 51 4c 49 54 45 | known.operation").....(13.SQLITE |
| 78e0 | 5f 46 55 4c 4c 20 20 20 20 20 20 20 65 6d 61 63 73 71 6c 2d 61 63 63 65 73 73 20 20 20 20 20 22 | _FULL.......emacsql-access....." |
| 7900 | 64 61 74 61 62 61 73 65 20 6f 72 20 64 69 73 6b 20 69 73 20 66 75 6c 6c 22 29 0a 20 20 20 20 28 | database.or.disk.is.full").....( |
| 7920 | 31 34 20 53 51 4c 49 54 45 5f 43 41 4e 54 4f 50 45 4e 20 20 20 65 6d 61 63 73 71 6c 2d 61 63 63 | 14.SQLITE_CANTOPEN...emacsql-acc |
| 7940 | 65 73 73 20 20 20 20 20 22 75 6e 61 62 6c 65 20 74 6f 20 6f 70 65 6e 20 64 61 74 61 62 61 73 65 | ess....."unable.to.open.database |
| 7960 | 20 66 69 6c 65 22 29 0a 20 20 20 20 28 31 35 20 53 51 4c 49 54 45 5f 50 52 4f 54 4f 43 4f 4c 20 | .file").....(15.SQLITE_PROTOCOL. |
| 7980 | 20 20 65 6d 61 63 73 71 6c 2d 61 63 63 65 73 73 20 20 20 20 20 22 6c 6f 63 6b 69 6e 67 20 70 72 | ..emacsql-access....."locking.pr |
| 79a0 | 6f 74 6f 63 6f 6c 22 29 0a 20 20 20 20 28 31 36 20 53 51 4c 49 54 45 5f 45 4d 50 54 59 20 20 20 | otocol").....(16.SQLITE_EMPTY... |
| 79c0 | 20 20 20 65 6d 61 63 73 71 6c 2d 63 6f 72 72 75 70 74 69 6f 6e 20 6e 69 6c 29 0a 20 20 20 20 28 | ...emacsql-corruption.nil).....( |
| 79e0 | 31 37 20 53 51 4c 49 54 45 5f 53 43 48 45 4d 41 20 20 20 20 20 65 6d 61 63 73 71 6c 2d 65 72 72 | 17.SQLITE_SCHEMA.....emacsql-err |
| 7a00 | 6f 72 20 20 20 20 20 20 22 64 61 74 61 62 61 73 65 20 73 63 68 65 6d 61 20 68 61 73 20 63 68 61 | or......"database.schema.has.cha |
| 7a20 | 6e 67 65 64 22 29 0a 20 20 20 20 28 31 38 20 53 51 4c 49 54 45 5f 54 4f 4f 42 49 47 20 20 20 20 | nged").....(18.SQLITE_TOOBIG.... |
| 7a40 | 20 65 6d 61 63 73 71 6c 2d 65 72 72 6f 72 20 20 20 20 20 20 22 73 74 72 69 6e 67 20 6f 72 20 62 | .emacsql-error......"string.or.b |
| 7a60 | 6c 6f 62 20 74 6f 6f 20 62 69 67 22 29 0a 20 20 20 20 28 31 39 20 53 51 4c 49 54 45 5f 43 4f 4e | lob.too.big").....(19.SQLITE_CON |
| 7a80 | 53 54 52 41 49 4e 54 20 65 6d 61 63 73 71 6c 2d 63 6f 6e 73 74 72 61 69 6e 74 20 22 63 6f 6e 73 | STRAINT.emacsql-constraint."cons |
| 7aa0 | 74 72 61 69 6e 74 20 66 61 69 6c 65 64 22 29 0a 20 20 20 20 28 32 30 20 53 51 4c 49 54 45 5f 4d | traint.failed").....(20.SQLITE_M |
| 7ac0 | 49 53 4d 41 54 43 48 20 20 20 65 6d 61 63 73 71 6c 2d 65 72 72 6f 72 20 20 20 20 20 20 22 64 61 | ISMATCH...emacsql-error......"da |
| 7ae0 | 74 61 74 79 70 65 20 6d 69 73 6d 61 74 63 68 22 29 0a 20 20 20 20 28 32 31 20 53 51 4c 49 54 45 | tatype.mismatch").....(21.SQLITE |
| 7b00 | 5f 4d 49 53 55 53 45 20 20 20 20 20 65 6d 61 63 73 71 6c 2d 65 72 72 6f 72 20 20 20 20 20 20 22 | _MISUSE.....emacsql-error......" |
| 7b20 | 62 61 64 20 70 61 72 61 6d 65 74 65 72 20 6f 72 20 6f 74 68 65 72 20 41 50 49 20 6d 69 73 75 73 | bad.parameter.or.other.API.misus |
| 7b40 | 65 22 29 0a 20 20 20 20 28 32 32 20 53 51 4c 49 54 45 5f 4e 4f 4c 46 53 20 20 20 20 20 20 65 6d | e").....(22.SQLITE_NOLFS......em |
| 7b60 | 61 63 73 71 6c 2d 65 72 72 6f 72 20 20 20 20 20 20 22 6c 61 72 67 65 20 66 69 6c 65 20 73 75 70 | acsql-error......"large.file.sup |
| 7b80 | 70 6f 72 74 20 69 73 20 64 69 73 61 62 6c 65 64 22 29 0a 20 20 20 20 28 32 33 20 53 51 4c 49 54 | port.is.disabled").....(23.SQLIT |
| 7ba0 | 45 5f 41 55 54 48 20 20 20 20 20 20 20 65 6d 61 63 73 71 6c 2d 61 63 63 65 73 73 20 20 20 20 20 | E_AUTH.......emacsql-access..... |
| 7bc0 | 22 61 75 74 68 6f 72 69 7a 61 74 69 6f 6e 20 64 65 6e 69 65 64 22 29 0a 20 20 20 20 28 32 34 20 | "authorization.denied").....(24. |
| 7be0 | 53 51 4c 49 54 45 5f 46 4f 52 4d 41 54 20 20 20 20 20 65 6d 61 63 73 71 6c 2d 63 6f 72 72 75 70 | SQLITE_FORMAT.....emacsql-corrup |
| 7c00 | 74 69 6f 6e 20 6e 69 6c 29 0a 20 20 20 20 28 32 35 20 53 51 4c 49 54 45 5f 52 41 4e 47 45 20 20 | tion.nil).....(25.SQLITE_RANGE.. |
| 7c20 | 20 20 20 20 65 6d 61 63 73 71 6c 2d 65 72 72 6f 72 20 20 20 20 20 20 22 63 6f 6c 75 6d 6e 20 69 | ....emacsql-error......"column.i |
| 7c40 | 6e 64 65 78 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 22 29 0a 20 20 20 20 28 32 36 20 53 51 4c 49 | ndex.out.of.range").....(26.SQLI |
| 7c60 | 54 45 5f 4e 4f 54 41 44 42 20 20 20 20 20 65 6d 61 63 73 71 6c 2d 63 6f 72 72 75 70 74 69 6f 6e | TE_NOTADB.....emacsql-corruption |
| 7c80 | 20 22 66 69 6c 65 20 69 73 20 6e 6f 74 20 61 20 64 61 74 61 62 61 73 65 22 29 0a 20 20 20 20 28 | ."file.is.not.a.database").....( |
| 7ca0 | 32 37 20 53 51 4c 49 54 45 5f 4e 4f 54 49 43 45 20 20 20 20 20 65 6d 61 63 73 71 6c 2d 77 61 72 | 27.SQLITE_NOTICE.....emacsql-war |
| 7cc0 | 6e 69 6e 67 20 20 20 20 22 6e 6f 74 69 66 69 63 61 74 69 6f 6e 20 6d 65 73 73 61 67 65 22 29 0a | ning...."notification.message"). |
| 7ce0 | 20 20 20 20 28 32 38 20 53 51 4c 49 54 45 5f 57 41 52 4e 49 4e 47 20 20 20 20 65 6d 61 63 73 71 | ....(28.SQLITE_WARNING....emacsq |
| 7d00 | 6c 2d 77 61 72 6e 69 6e 67 20 20 20 20 22 77 61 72 6e 69 6e 67 20 6d 65 73 73 61 67 65 22 29 29 | l-warning...."warning.message")) |
| 7d20 | 0a 20 20 22 41 6c 69 73 74 20 6d 61 70 70 69 6e 67 20 53 51 4c 69 74 65 20 65 72 72 6f 72 20 63 | ..."Alist.mapping.SQLite.error.c |
| 7d40 | 6f 64 65 73 20 74 6f 20 45 6d 61 63 53 51 4c 20 63 6f 6e 64 69 74 69 6f 6e 73 2e 0a 45 6c 65 6d | odes.to.EmacSQL.conditions..Elem |
| 7d60 | 65 6e 74 73 20 68 61 76 65 20 74 68 65 20 66 6f 72 6d 20 28 45 52 52 43 4f 44 45 20 53 59 4d 42 | ents.have.the.form.(ERRCODE.SYMB |
| 7d80 | 4f 4c 49 43 2d 4e 41 4d 45 20 45 4d 41 43 53 51 4c 2d 45 52 52 4f 52 0a 45 52 52 53 54 52 29 2e | OLIC-NAME.EMACSQL-ERROR.ERRSTR). |
| 7da0 | 20 20 41 6c 73 6f 20 73 65 65 20 68 74 74 70 73 3a 2f 2f 77 77 77 2e 73 71 6c 69 74 65 2e 6f 72 | ..Also.see.https://www.sqlite.or |
| 7dc0 | 67 2f 72 65 73 63 6f 64 65 2e 68 74 6d 6c 2e 22 29 0a 0a 3b 3b 3b 20 56 61 72 69 61 62 6c 65 73 | g/rescode.html.")..;;;.Variables |
| 7de0 | 0a 0a 28 64 65 66 76 61 72 20 65 6d 61 63 73 71 6c 2d 69 6e 63 6c 75 64 65 2d 68 65 61 64 65 72 | ..(defvar.emacsql-include-header |
| 7e00 | 20 6e 69 6c 0a 20 20 22 57 68 65 74 68 65 72 20 74 6f 20 69 6e 63 6c 75 64 65 20 6e 61 6d 65 73 | .nil..."Whether.to.include.names |
| 7e20 | 20 6f 66 20 63 6f 6c 75 6d 6e 73 20 61 73 20 61 6e 20 61 64 64 69 74 69 6f 6e 61 6c 20 72 6f 77 | .of.columns.as.an.additional.row |
| 7e40 | 2e 0a 4e 65 76 65 72 20 65 6e 61 62 6c 65 20 74 68 69 73 20 67 6c 6f 62 61 6c 6c 79 2c 20 6f 6e | ..Never.enable.this.globally,.on |
| 7e60 | 6c 79 20 6c 65 74 2d 62 69 6e 64 20 69 74 20 61 72 6f 75 6e 64 20 63 61 6c 6c 73 20 74 6f 20 60 | ly.let-bind.it.around.calls.to.` |
| 7e80 | 65 6d 61 63 73 71 6c 27 2e 0a 43 75 72 72 65 6e 74 6c 79 20 6f 6e 6c 79 20 73 75 70 70 6f 72 74 | emacsql'..Currently.only.support |
| 7ea0 | 65 64 20 62 79 20 60 65 6d 61 63 73 71 6c 2d 73 71 6c 69 74 65 2d 62 75 69 6c 74 69 6e 2d 63 6f | ed.by.`emacsql-sqlite-builtin-co |
| 7ec0 | 6e 6e 65 63 74 69 6f 6e 27 20 61 6e 64 0a 60 65 6d 61 63 73 71 6c 2d 73 71 6c 69 74 65 2d 6d 6f | nnection'.and.`emacsql-sqlite-mo |
| 7ee0 | 64 75 6c 65 2d 63 6f 6e 6e 65 63 74 69 6f 6e 27 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 65 6d 61 | dule-connection'.")..(defvar.ema |
| 7f00 | 63 73 71 6c 2d 73 71 6c 69 74 65 2d 62 75 73 79 2d 74 69 6d 65 6f 75 74 20 32 30 0a 20 20 22 53 | csql-sqlite-busy-timeout.20..."S |
| 7f20 | 65 63 6f 6e 64 73 20 74 6f 20 77 61 69 74 20 77 68 65 6e 20 74 72 79 69 6e 67 20 74 6f 20 61 63 | econds.to.wait.when.trying.to.ac |
| 7f40 | 63 65 73 73 20 61 20 74 61 62 6c 65 20 62 6c 6f 63 6b 65 64 20 62 79 20 61 6e 6f 74 68 65 72 20 | cess.a.table.blocked.by.another. |
| 7f60 | 70 72 6f 63 65 73 73 2e 0a 53 65 65 20 68 74 74 70 73 3a 2f 2f 77 77 77 2e 73 71 6c 69 74 65 2e | process..See.https://www.sqlite. |
| 7f80 | 6f 72 67 2f 63 33 72 65 66 2f 62 75 73 79 5f 74 69 6d 65 6f 75 74 2e 68 74 6d 6c 2e 22 29 0a 0a | org/c3ref/busy_timeout.html.").. |
| 7fa0 | 3b 3b 3b 20 55 74 69 6c 69 74 69 65 73 0a 0a 28 64 65 66 75 6e 20 65 6d 61 63 73 71 6c 2d 73 71 | ;;;.Utilities..(defun.emacsql-sq |
| 7fc0 | 6c 69 74 65 2d 63 6f 6e 6e 65 63 74 69 6f 6e 20 28 76 61 72 69 61 62 6c 65 20 66 69 6c 65 20 26 | lite-connection.(variable.file.& |
| 7fe0 | 6f 70 74 69 6f 6e 61 6c 20 73 65 74 75 70 20 75 73 65 2d 6d 6f 64 75 6c 65 29 0a 20 20 22 52 65 | optional.setup.use-module)..."Re |
| 8000 | 74 75 72 6e 20 74 68 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 73 74 6f 72 65 64 20 69 6e 20 56 41 | turn.the.connection.stored.in.VA |
| 8020 | 52 49 41 42 4c 45 20 74 6f 20 74 68 65 20 64 61 74 61 62 61 73 65 20 69 6e 20 46 49 4c 45 2e 0a | RIABLE.to.the.database.in.FILE.. |
| 8040 | 0a 49 66 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 56 41 52 49 41 42 4c 45 20 69 73 20 61 20 6c | .If.the.value.of.VARIABLE.is.a.l |
| 8060 | 69 76 65 20 64 61 74 61 62 61 73 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 2c 20 72 65 74 75 72 6e 20 | ive.database.connection,.return. |
| 8080 | 74 68 61 74 2e 0a 0a 4f 74 68 65 72 77 69 73 65 20 6f 70 65 6e 20 61 20 6e 65 77 20 63 6f 6e 6e | that...Otherwise.open.a.new.conn |
| 80a0 | 65 63 74 69 6f 6e 20 74 6f 20 74 68 65 20 64 61 74 61 62 61 73 65 20 69 6e 20 46 49 4c 45 20 61 | ection.to.the.database.in.FILE.a |
| 80c0 | 6e 64 20 73 74 6f 72 65 20 74 68 65 0a 63 6f 6e 6e 65 63 74 69 6f 6e 20 69 6e 20 56 41 52 49 41 | nd.store.the.connection.in.VARIA |
| 80e0 | 42 4c 45 2c 20 62 65 66 6f 72 65 20 72 65 74 75 72 6e 69 6e 67 20 69 74 2e 20 20 49 66 20 46 49 | BLE,.before.returning.it...If.FI |
| 8100 | 4c 45 20 69 73 20 6e 69 6c 2c 20 75 73 65 20 61 6e 0a 69 6e 2d 6d 65 6d 6f 72 79 20 64 61 74 61 | LE.is.nil,.use.an.in-memory.data |
| 8120 | 62 61 73 65 2e 20 20 41 6c 77 61 79 73 20 65 6e 61 62 6c 65 20 73 75 70 70 6f 72 74 20 66 6f 72 | base...Always.enable.support.for |
| 8140 | 20 66 6f 72 65 69 67 6e 20 6b 65 79 20 63 6f 6e 73 74 72 61 69 6e 73 2e 0a 49 66 20 6f 70 74 69 | .foreign.key.constrains..If.opti |
| 8160 | 6f 6e 61 6c 20 53 45 54 55 50 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 69 74 20 6d 75 73 74 20 62 | onal.SETUP.is.non-nil,.it.must.b |
| 8180 | 65 20 61 20 66 75 6e 63 74 69 6f 6e 2c 20 77 68 69 63 68 20 74 61 6b 65 73 20 74 68 65 0a 63 6f | e.a.function,.which.takes.the.co |
| 81a0 | 6e 6e 65 63 74 69 6f 6e 20 61 73 20 6f 6e 6c 79 20 61 72 67 75 6d 65 6e 74 2e 20 20 54 68 69 73 | nnection.as.only.argument...This |
| 81c0 | 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 69 6e 69 74 69 61 6c | .function.can.be.used.to.initial |
| 81e0 | 69 7a 65 0a 74 61 62 6c 65 73 2c 20 66 6f 72 20 65 78 61 6d 70 6c 65 2e 0a 0a 49 66 20 6f 70 74 | ize.tables,.for.example...If.opt |
| 8200 | 69 6f 6e 61 6c 20 55 53 45 2d 4d 4f 44 55 4c 45 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 65 | ional.USE-MODULE.is.non-nil,.the |
| 8220 | 6e 20 75 73 65 20 74 68 65 20 65 78 74 65 72 6e 61 6c 20 6d 6f 64 75 6c 65 20 65 76 65 6e 0a 77 | n.use.the.external.module.even.w |
| 8240 | 68 65 6e 20 45 6d 61 63 73 20 77 61 73 20 62 75 69 6c 74 20 77 69 74 68 20 53 51 4c 69 74 65 20 | hen.Emacs.was.built.with.SQLite. |
| 8260 | 73 75 70 70 6f 72 74 2e 20 20 54 68 69 73 20 69 73 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 74 | support...This.is.intended.for.t |
| 8280 | 65 73 74 69 6e 67 0a 70 75 72 70 6f 73 65 73 2e 22 0a 20 20 28 6f 72 20 28 6c 65 74 20 28 28 63 | esting.purposes."...(or.(let.((c |
| 82a0 | 6f 6e 6e 65 63 74 69 6f 6e 20 28 73 79 6d 62 6f 6c 2d 76 61 6c 75 65 20 76 61 72 69 61 62 6c 65 | onnection.(symbol-value.variable |
| 82c0 | 29 29 29 0a 20 20 20 20 20 20 20 20 28 61 6e 64 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 28 65 6d 61 | ))).........(and.connection.(ema |
| 82e0 | 63 73 71 6c 2d 6c 69 76 65 2d 70 20 63 6f 6e 6e 65 63 74 69 6f 6e 29 20 63 6f 6e 6e 65 63 74 69 | csql-live-p.connection).connecti |
| 8300 | 6f 6e 29 29 0a 20 20 20 20 20 20 28 73 65 74 20 76 61 72 69 61 62 6c 65 20 28 65 6d 61 63 73 71 | on)).......(set.variable.(emacsq |
| 8320 | 6c 2d 73 71 6c 69 74 65 2d 6f 70 65 6e 20 66 69 6c 65 20 6e 69 6c 20 73 65 74 75 70 20 75 73 65 | l-sqlite-open.file.nil.setup.use |
| 8340 | 2d 6d 6f 64 75 6c 65 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6d 61 63 73 71 6c 2d 73 71 6c 69 | -module))))..(defun.emacsql-sqli |
| 8360 | 74 65 2d 6f 70 65 6e 20 28 66 69 6c 65 20 26 6f 70 74 69 6f 6e 61 6c 20 64 65 62 75 67 20 73 65 | te-open.(file.&optional.debug.se |
| 8380 | 74 75 70 20 75 73 65 2d 6d 6f 64 75 6c 65 29 0a 20 20 22 4f 70 65 6e 20 61 20 63 6f 6e 6e 65 63 | tup.use-module)..."Open.a.connec |
| 83a0 | 74 69 6f 6e 20 74 6f 20 74 68 65 20 64 61 74 61 62 61 73 65 20 73 74 6f 72 65 64 20 69 6e 20 46 | tion.to.the.database.stored.in.F |
| 83c0 | 49 4c 45 20 75 73 69 6e 67 20 61 6e 20 53 51 4c 69 74 65 20 62 61 63 6b 2d 65 6e 64 2e 0a 0a 41 | ILE.using.an.SQLite.back-end...A |
| 83e0 | 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 75 73 65 20 74 68 65 20 62 65 73 74 20 61 76 61 69 6c 61 | utomatically.use.the.best.availa |
| 8400 | 62 6c 65 20 62 61 63 6b 2d 65 6e 64 2c 20 61 73 20 72 65 74 75 72 6e 65 64 20 62 79 0a 60 65 6d | ble.back-end,.as.returned.by.`em |
| 8420 | 61 63 73 71 6c 2d 73 71 6c 69 74 65 2d 64 65 66 61 75 6c 74 2d 63 6f 6e 6e 65 63 74 69 6f 6e 27 | acsql-sqlite-default-connection' |
| 8440 | 2e 0a 0a 49 66 20 46 49 4c 45 20 69 73 20 6e 69 6c 2c 20 75 73 65 20 61 6e 20 69 6e 2d 6d 65 6d | ...If.FILE.is.nil,.use.an.in-mem |
| 8460 | 6f 72 79 20 64 61 74 61 62 61 73 65 2e 20 20 49 66 20 6f 70 74 69 6f 6e 61 6c 20 44 45 42 55 47 | ory.database...If.optional.DEBUG |
| 8480 | 20 69 73 0a 6e 6f 6e 2d 6e 69 6c 2c 20 6c 6f 67 20 61 6c 6c 20 53 51 4c 69 74 65 20 63 6f 6d 6d | .is.non-nil,.log.all.SQLite.comm |
| 84a0 | 61 6e 64 73 20 74 6f 20 61 20 6c 6f 67 20 62 75 66 66 65 72 2c 20 66 6f 72 20 64 65 62 75 67 67 | ands.to.a.log.buffer,.for.debugg |
| 84c0 | 69 6e 67 0a 70 75 72 70 6f 73 65 73 2e 20 20 41 6c 77 61 79 73 20 65 6e 61 62 6c 65 20 73 75 70 | ing.purposes...Always.enable.sup |
| 84e0 | 70 6f 72 74 20 66 6f 72 20 66 6f 72 65 69 67 6e 20 6b 65 79 20 63 6f 6e 73 74 72 61 69 6e 73 2e | port.for.foreign.key.constrains. |
| 8500 | 0a 0a 49 66 20 6f 70 74 69 6f 6e 61 6c 20 53 45 54 55 50 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 | ..If.optional.SETUP.is.non-nil,. |
| 8520 | 69 74 20 6d 75 73 74 20 62 65 20 61 20 66 75 6e 63 74 69 6f 6e 2c 20 77 68 69 63 68 20 74 61 6b | it.must.be.a.function,.which.tak |
| 8540 | 65 73 20 74 68 65 0a 63 6f 6e 6e 65 63 74 69 6f 6e 20 61 73 20 6f 6e 6c 79 20 61 72 67 75 6d 65 | es.the.connection.as.only.argume |
| 8560 | 6e 74 2e 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 | nt...This.function.can.be.used.t |
| 8580 | 6f 20 69 6e 69 74 69 61 6c 69 7a 65 0a 74 61 62 6c 65 73 2c 20 66 6f 72 20 65 78 61 6d 70 6c 65 | o.initialize.tables,.for.example |
| 85a0 | 2e 0a 0a 49 66 20 6f 70 74 69 6f 6e 61 6c 20 55 53 45 2d 4d 4f 44 55 4c 45 20 69 73 20 6e 6f 6e | ...If.optional.USE-MODULE.is.non |
| 85c0 | 2d 6e 69 6c 2c 20 74 68 65 6e 20 75 73 65 20 74 68 65 20 65 78 74 65 72 6e 61 6c 20 6d 6f 64 75 | -nil,.then.use.the.external.modu |
| 85e0 | 6c 65 20 65 76 65 6e 0a 77 68 65 6e 20 45 6d 61 63 73 20 77 61 73 20 62 75 69 6c 74 20 77 69 74 | le.even.when.Emacs.was.built.wit |
| 8600 | 68 20 53 51 4c 69 74 65 20 73 75 70 70 6f 72 74 2e 20 20 54 68 69 73 20 69 73 20 69 6e 74 65 6e | h.SQLite.support...This.is.inten |
| 8620 | 64 65 64 20 66 6f 72 20 74 65 73 74 69 6e 67 0a 70 75 72 70 6f 73 65 73 2e 22 0a 20 20 28 77 68 | ded.for.testing.purposes."...(wh |
| 8640 | 65 6e 20 66 69 6c 65 0a 20 20 20 20 28 6d 61 6b 65 2d 64 69 72 65 63 74 6f 72 79 20 28 66 69 6c | en.file.....(make-directory.(fil |
| 8660 | 65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 79 20 66 69 6c 65 29 20 74 29 29 0a 20 20 28 6c 65 | e-name-directory.file).t))...(le |
| 8680 | 74 2a 20 28 28 63 6c 61 73 73 20 28 65 6d 61 63 73 71 6c 2d 73 71 6c 69 74 65 2d 64 65 66 61 75 | t*.((class.(emacsql-sqlite-defau |
| 86a0 | 6c 74 2d 63 6f 6e 6e 65 63 74 69 6f 6e 20 75 73 65 2d 6d 6f 64 75 6c 65 29 29 0a 20 20 20 20 20 | lt-connection.use-module))...... |
| 86c0 | 20 20 20 20 28 63 6f 6e 6e 65 63 74 69 6f 6e 20 28 6d 61 6b 65 2d 69 6e 73 74 61 6e 63 65 20 63 | ....(connection.(make-instance.c |
| 86e0 | 6c 61 73 73 20 3a 66 69 6c 65 20 66 69 6c 65 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 64 65 62 | lass.:file.file))).....(when.deb |
| 8700 | 75 67 0a 20 20 20 20 20 20 28 65 6d 61 63 73 71 6c 2d 65 6e 61 62 6c 65 2d 64 65 62 75 67 67 69 | ug.......(emacsql-enable-debuggi |
| 8720 | 6e 67 20 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 0a 20 20 20 20 28 65 6d 61 63 73 71 6c 20 63 6f 6e | ng.connection)).....(emacsql.con |
| 8740 | 6e 65 63 74 69 6f 6e 20 5b 3a 70 72 61 67 6d 61 20 28 3d 20 66 6f 72 65 69 67 6e 2d 6b 65 79 73 | nection.[:pragma.(=.foreign-keys |
| 8760 | 20 6f 6e 29 5d 29 0a 20 20 20 20 28 77 68 65 6e 20 73 65 74 75 70 0a 20 20 20 20 20 20 28 66 75 | .on)]).....(when.setup.......(fu |
| 8780 | 6e 63 61 6c 6c 20 73 65 74 75 70 20 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 0a 20 20 20 20 63 6f 6e | ncall.setup.connection)).....con |
| 87a0 | 6e 65 63 74 69 6f 6e 29 29 0a 0a 28 64 65 66 75 6e 20 65 6d 61 63 73 71 6c 2d 73 71 6c 69 74 65 | nection))..(defun.emacsql-sqlite |
| 87c0 | 2d 64 65 66 61 75 6c 74 2d 63 6f 6e 6e 65 63 74 69 6f 6e 20 28 26 6f 70 74 69 6f 6e 61 6c 20 75 | -default-connection.(&optional.u |
| 87e0 | 73 65 2d 6d 6f 64 75 6c 65 29 0a 20 20 22 44 65 74 65 72 6d 69 6e 65 20 61 6e 64 20 72 65 74 75 | se-module)..."Determine.and.retu |
| 8800 | 72 6e 20 74 68 65 20 62 65 73 74 20 53 51 4c 69 74 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 63 6c | rn.the.best.SQLite.connection.cl |
| 8820 | 61 73 73 2e 0a 0a 53 69 67 6e 61 6c 20 61 6e 20 65 72 72 6f 72 20 69 66 20 6e 6f 6e 65 20 6f 66 | ass...Signal.an.error.if.none.of |
| 8840 | 20 74 68 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 63 6c 61 73 73 65 73 20 63 61 6e 20 62 65 20 75 | .the.connection.classes.can.be.u |
| 8860 | 73 65 64 2e 0a 0a 49 66 20 6f 70 74 69 6f 6e 61 6c 20 55 53 45 2d 4d 4f 44 55 4c 45 20 69 73 20 | sed...If.optional.USE-MODULE.is. |
| 8880 | 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 65 6e 20 75 73 65 20 74 68 65 20 65 78 74 65 72 6e 61 6c 20 6d | non-nil,.then.use.the.external.m |
| 88a0 | 6f 64 75 6c 65 20 65 76 65 6e 0a 77 68 65 6e 20 45 6d 61 63 73 20 77 61 73 20 62 75 69 6c 74 20 | odule.even.when.Emacs.was.built. |
| 88c0 | 77 69 74 68 20 53 51 4c 69 74 65 20 73 75 70 70 6f 72 74 2e 20 20 54 68 69 73 20 69 73 20 69 6e | with.SQLite.support...This.is.in |
| 88e0 | 74 65 6e 64 65 64 20 66 6f 72 20 74 65 73 74 69 6e 67 0a 70 75 72 70 6f 73 65 73 2e 22 0a 20 20 | tended.for.testing.purposes."... |
| 8900 | 28 6f 72 20 28 61 6e 64 20 28 6e 6f 74 20 75 73 65 2d 6d 6f 64 75 6c 65 29 0a 20 20 20 20 20 20 | (or.(and.(not.use-module)....... |
| 8920 | 20 20 20 20 20 28 66 62 6f 75 6e 64 70 20 27 73 71 6c 69 74 65 2d 61 76 61 69 6c 61 62 6c 65 2d | .....(fboundp.'sqlite-available- |
| 8940 | 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 71 6c 69 74 65 2d 61 76 61 69 6c 61 62 6c 65 2d | p)............(sqlite-available- |
| 8960 | 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 72 65 71 75 69 72 65 20 27 65 6d 61 63 73 71 6c 2d | p)............(require.'emacsql- |
| 8980 | 73 71 6c 69 74 65 2d 62 75 69 6c 74 69 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 27 65 6d 61 63 | sqlite-builtin)............'emac |
| 89a0 | 73 71 6c 2d 73 71 6c 69 74 65 2d 62 75 69 6c 74 69 6e 2d 63 6f 6e 6e 65 63 74 69 6f 6e 29 0a 20 | sql-sqlite-builtin-connection).. |
| 89c0 | 20 20 20 20 20 28 61 6e 64 20 28 62 6f 75 6e 64 70 20 27 6d 6f 64 75 6c 65 2d 66 69 6c 65 2d 73 | .....(and.(boundp.'module-file-s |
| 89e0 | 75 66 66 69 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 6d 6f 64 75 6c 65 2d 66 69 6c 65 2d 73 75 | uffix)............module-file-su |
| 8a00 | 66 66 69 78 0a 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 | ffix............(condition-case. |
| 8a20 | 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 46 61 69 6c 75 72 65 20 6d 6f | nil................;;.Failure.mo |
| 8a40 | 64 65 73 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 31 2e 20 60 6c 69 62 73 71 | des:................;;.1..`libsq |
| 8a60 | 6c 69 74 65 27 20 73 68 61 72 65 64 20 6c 69 62 72 61 72 79 20 69 73 6e 27 74 20 61 76 61 69 6c | lite'.shared.library.isn't.avail |
| 8a80 | 61 62 6c 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 32 2e 20 55 73 65 72 20 | able.................;;.2..User. |
| 8aa0 | 63 68 6f 6f 73 65 73 20 74 6f 20 6e 6f 74 20 63 6f 6d 70 69 6c 65 20 60 6c 69 62 73 71 6c 69 74 | chooses.to.not.compile.`libsqlit |
| 8ac0 | 65 27 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 33 2e 20 60 6c 69 62 73 71 6c | e'.................;;.3..`libsql |
| 8ae0 | 69 74 65 27 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 66 61 69 6c 73 2e 0a 20 20 20 20 20 20 20 20 | ite'.compilation.fails.......... |
| 8b00 | 20 20 20 20 20 20 20 28 61 6e 64 20 28 72 65 71 75 69 72 65 20 27 73 71 6c 69 74 65 33 29 0a 20 | .......(and.(require.'sqlite3).. |
| 8b20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 71 75 69 72 65 20 27 65 6d 61 | ...................(require.'ema |
| 8b40 | 63 73 71 6c 2d 73 71 6c 69 74 65 2d 6d 6f 64 75 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | csql-sqlite-module)............. |
| 8b60 | 20 20 20 20 20 20 20 20 27 65 6d 61 63 73 71 6c 2d 73 71 6c 69 74 65 2d 6d 6f 64 75 6c 65 2d 63 | ........'emacsql-sqlite-module-c |
| 8b80 | 6f 6e 6e 65 63 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 0a 20 | onnection)..............(error.. |
| 8ba0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 69 73 70 6c 61 79 2d 77 61 72 6e 69 6e 67 20 27 65 | .............(display-warning.'e |
| 8bc0 | 6d 61 63 73 71 6c 20 22 5c 0a 53 69 6e 63 65 20 79 6f 75 72 20 45 6d 61 63 73 20 64 6f 65 73 20 | macsql."\.Since.your.Emacs.does. |
| 8be0 | 6e 6f 74 20 63 6f 6d 65 20 77 69 74 68 0a 62 75 69 6c 74 2d 69 6e 20 53 51 4c 69 74 65 20 73 75 | not.come.with.built-in.SQLite.su |
| 8c00 | 70 70 6f 72 74 20 5b 31 5d 2c 20 62 75 74 20 64 6f 65 73 20 73 75 70 70 6f 72 74 20 43 20 6d 6f | pport.[1],.but.does.support.C.mo |
| 8c20 | 64 75 6c 65 73 2c 20 77 65 20 63 61 6e 0a 75 73 65 20 61 6e 20 45 6d 61 63 53 51 4c 20 62 61 63 | dules,.we.can.use.an.EmacSQL.bac |
| 8c40 | 6b 65 6e 64 20 74 68 61 74 20 72 65 6c 69 65 73 20 6f 6e 20 74 68 65 20 74 68 69 72 64 2d 70 61 | kend.that.relies.on.the.third-pa |
| 8c60 | 72 74 79 20 60 73 71 6c 69 74 65 33 27 0a 70 61 63 6b 61 67 65 20 5b 32 5d 2e 0a 0a 50 6c 65 61 | rty.`sqlite3'.package.[2]...Plea |
| 8c80 | 73 65 20 69 6e 73 74 61 6c 6c 20 74 68 65 20 60 73 71 6c 69 74 65 33 27 20 45 6c 69 73 70 20 70 | se.install.the.`sqlite3'.Elisp.p |
| 8ca0 | 61 63 6b 61 67 65 20 75 73 69 6e 67 20 79 6f 75 72 20 70 72 65 66 65 72 72 65 64 0a 45 6d 61 63 | ackage.using.your.preferred.Emac |
| 8cc0 | 73 20 70 61 63 6b 61 67 65 20 6d 61 6e 61 67 65 72 2c 20 61 6e 64 20 69 6e 73 74 61 6c 6c 20 74 | s.package.manager,.and.install.t |
| 8ce0 | 68 65 20 53 51 4c 69 74 65 20 73 68 61 72 65 64 20 6c 69 62 72 61 72 79 0a 75 73 69 6e 67 20 79 | he.SQLite.shared.library.using.y |
| 8d00 | 6f 75 72 20 64 69 73 74 72 69 62 75 74 69 6f 6e 27 73 20 70 61 63 6b 61 67 65 20 6d 61 6e 61 67 | our.distribution's.package.manag |
| 8d20 | 65 72 2e 20 20 54 68 61 74 20 70 61 63 6b 61 67 65 20 73 68 6f 75 6c 64 0a 62 65 20 6e 61 6d 65 | er...That.package.should.be.name |
| 8d40 | 64 20 73 6f 6d 65 74 68 69 6e 67 20 6c 69 6b 65 20 60 6c 69 62 73 71 6c 69 74 65 33 27 20 5b 33 | d.something.like.`libsqlite3'.[3 |
| 8d60 | 5d 20 61 6e 64 20 4e 4f 54 20 6a 75 73 74 20 60 73 71 6c 69 74 65 33 27 2e 0a 0a 54 68 65 20 6c | ].and.NOT.just.`sqlite3'...The.l |
| 8d80 | 65 67 61 63 79 20 62 61 63 6b 65 6e 64 2c 20 77 68 69 63 68 20 75 73 65 73 20 61 20 63 75 73 74 | egacy.backend,.which.uses.a.cust |
| 8da0 | 6f 6d 20 53 51 4c 69 74 65 20 65 78 65 63 75 74 61 62 6c 65 2c 20 68 61 73 0a 62 65 65 6e 20 72 | om.SQLite.executable,.has.been.r |
| 8dc0 | 65 6d 6f 76 65 2c 20 73 6f 20 77 65 20 63 61 6e 20 6e 6f 20 6c 6f 6e 67 65 72 20 66 61 6c 6c 20 | emove,.so.we.can.no.longer.fall. |
| 8de0 | 62 61 63 6b 20 74 6f 20 74 68 61 74 2e 0a 0a 5b 31 5d 3a 20 53 75 70 70 6f 72 74 65 64 20 73 69 | back.to.that...[1]:.Supported.si |
| 8e00 | 6e 63 65 20 45 6d 61 63 73 20 32 39 2e 31 2c 20 70 72 6f 76 69 64 65 64 20 69 74 20 77 61 73 20 | nce.Emacs.29.1,.provided.it.was. |
| 8e20 | 6e 6f 74 20 64 69 73 61 62 6c 65 64 0a 20 20 20 20 20 77 69 74 68 20 60 2d 2d 77 69 74 68 6f 75 | not.disabled......with.`--withou |
| 8e40 | 74 2d 73 71 6c 69 74 65 33 27 2e 0a 5b 32 5d 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e | t-sqlite3'..[2]:.https://github. |
| 8e60 | 63 6f 6d 2f 70 65 6b 69 6e 67 64 75 63 6b 2f 65 6d 61 63 73 2d 73 71 6c 69 74 65 33 2d 61 70 69 | com/pekingduck/emacs-sqlite3-api |
| 8e80 | 0a 5b 33 5d 3a 20 4f 6e 20 44 65 62 69 61 6e 20 68 74 74 70 73 3a 2f 2f 70 61 63 6b 61 67 65 73 | .[3]:.On.Debian.https://packages |
| 8ea0 | 2e 64 65 62 69 61 6e 2e 6f 72 67 2f 62 75 73 74 65 72 2f 6c 69 62 73 71 6c 69 74 65 33 2d 30 22 | .debian.org/buster/libsqlite3-0" |
| 8ec0 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 54 68 65 20 62 75 66 66 65 72 20 64 69 | )...............;;.The.buffer.di |
| 8ee0 | 73 70 6c 61 79 69 6e 67 20 74 68 65 20 77 61 72 6e 69 6e 67 20 6d 69 67 68 74 20 69 6d 6d 65 64 | splaying.the.warning.might.immed |
| 8f00 | 69 61 74 65 6c 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 62 65 20 72 65 70 6c 61 | iately...............;;.be.repla |
| 8f20 | 63 65 64 20 62 79 20 61 6e 6f 74 68 65 72 20 62 75 66 66 65 72 2c 20 62 65 66 6f 72 65 20 74 68 | ced.by.another.buffer,.before.th |
| 8f40 | 65 20 75 73 65 72 20 67 65 74 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 61 20 63 | e.user.gets...............;;.a.c |
| 8f60 | 68 61 6e 63 65 20 74 6f 20 73 65 65 20 69 74 2e 20 20 57 65 20 63 61 6e 6e 6f 74 20 68 61 76 65 | hance.to.see.it...We.cannot.have |
| 8f80 | 20 74 68 61 74 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 66 6e 29 0a 20 | .that................(let.(fn).. |
| 8fa0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 66 6e 20 28 6c 61 6d 62 64 61 20 | ...............(setq.fn.(lambda. |
| 8fc0 | 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 | ()............................(r |
| 8fe0 | 65 6d 6f 76 65 2d 68 6f 6f 6b 20 27 70 6f 73 74 2d 63 6f 6d 6d 61 6e 64 2d 68 6f 6f 6b 20 66 6e | emove-hook.'post-command-hook.fn |
| 9000 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 6f | )............................(po |
| 9020 | 70 2d 74 6f 2d 62 75 66 66 65 72 20 28 67 65 74 2d 62 75 66 66 65 72 20 22 2a 57 61 72 6e 69 6e | p-to-buffer.(get-buffer."*Warnin |
| 9040 | 67 73 2a 22 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 64 64 2d 68 6f | gs*")))).................(add-ho |
| 9060 | 6f 6b 20 27 70 6f 73 74 2d 63 6f 6d 6d 61 6e 64 2d 68 6f 6f 6b 20 66 6e 29 29 0a 20 20 20 20 20 | ok.'post-command-hook.fn))...... |
| 9080 | 20 20 20 20 20 20 20 20 20 6e 69 6c 29 29 29 0a 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 45 6d | .........nil))).......(error."Em |
| 90a0 | 61 63 53 51 4c 20 63 6f 75 6c 64 20 6e 6f 74 20 66 69 6e 64 20 6f 72 20 63 6f 6d 70 69 6c 65 20 | acSQL.could.not.find.or.compile. |
| 90c0 | 61 20 62 61 63 6b 2d 65 6e 64 22 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6d 61 63 73 71 6c 2d 73 | a.back-end")))..(defun.emacsql-s |
| 90e0 | 71 6c 69 74 65 2d 73 65 74 2d 62 75 73 79 2d 74 69 6d 65 6f 75 74 20 28 63 6f 6e 6e 65 63 74 69 | qlite-set-busy-timeout.(connecti |
| 9100 | 6f 6e 29 0a 20 20 28 77 68 65 6e 20 65 6d 61 63 73 71 6c 2d 73 71 6c 69 74 65 2d 62 75 73 79 2d | on)...(when.emacsql-sqlite-busy- |
| 9120 | 74 69 6d 65 6f 75 74 0a 20 20 20 20 28 65 6d 61 63 73 71 6c 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 | timeout.....(emacsql.connection. |
| 9140 | 5b 3a 70 72 61 67 6d 61 20 28 3d 20 62 75 73 79 2d 74 69 6d 65 6f 75 74 20 24 73 31 29 5d 0a 20 | [:pragma.(=.busy-timeout.$s1)].. |
| 9160 | 20 20 20 20 20 20 20 20 20 20 20 20 28 2a 20 65 6d 61 63 73 71 6c 2d 73 71 6c 69 74 65 2d 62 75 | ............(*.emacsql-sqlite-bu |
| 9180 | 73 79 2d 74 69 6d 65 6f 75 74 20 31 30 30 30 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6d 61 63 | sy-timeout.1000))))..(defun.emac |
| 91a0 | 73 71 6c 2d 73 71 6c 69 74 65 2d 72 65 61 64 2d 63 6f 6c 75 6d 6e 20 28 73 74 72 69 6e 67 29 0a | sql-sqlite-read-column.(string). |
| 91c0 | 20 20 28 6c 65 74 20 28 28 76 61 6c 75 65 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 28 62 65 67 | ..(let.((value.nil).........(beg |
| 91e0 | 20 30 29 0a 20 20 20 20 20 20 20 20 28 65 6e 64 20 28 6c 65 6e 67 74 68 20 73 74 72 69 6e 67 29 | .0).........(end.(length.string) |
| 9200 | 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 62 65 67 20 65 6e 64 29 0a 20 20 20 20 20 20 | )).....(while.(<.beg.end)....... |
| 9220 | 28 6c 65 74 20 28 28 76 20 28 72 65 61 64 2d 66 72 6f 6d 2d 73 74 72 69 6e 67 20 73 74 72 69 6e | (let.((v.(read-from-string.strin |
| 9240 | 67 20 62 65 67 29 29 29 0a 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 63 61 72 20 76 29 20 76 | g.beg))).........(push.(car.v).v |
| 9260 | 61 6c 75 65 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 62 65 67 20 28 63 64 72 20 76 29 29 | alue).........(setq.beg.(cdr.v)) |
| 9280 | 29 29 0a 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 76 61 6c 75 65 29 29 29 0a 0a 28 64 65 66 75 | )).....(nreverse.value)))..(defu |
| 92a0 | 6e 20 65 6d 61 63 73 71 6c 2d 73 71 6c 69 74 65 2d 6c 69 73 74 2d 74 61 62 6c 65 73 20 28 63 6f | n.emacsql-sqlite-list-tables.(co |
| 92c0 | 6e 6e 65 63 74 69 6f 6e 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 73 79 | nnection)..."Return.a.list.of.sy |
| 92e0 | 6d 62 6f 6c 73 20 69 64 65 6e 74 69 66 79 69 6e 67 20 74 61 62 6c 65 73 20 69 6e 20 43 4f 4e 4e | mbols.identifying.tables.in.CONN |
| 9300 | 45 43 54 49 4f 4e 2e 0a 54 61 62 6c 65 73 20 77 68 6f 73 65 20 6e 61 6d 65 73 20 62 65 67 69 6e | ECTION..Tables.whose.names.begin |
| 9320 | 20 77 69 74 68 20 5c 22 73 71 6c 69 74 65 5f 5c 22 2c 20 61 72 65 20 6e 6f 74 20 69 6e 63 6c 75 | .with.\"sqlite_\",.are.not.inclu |
| 9340 | 64 65 64 0a 69 6e 20 74 68 65 20 72 65 74 75 72 6e 65 64 20 76 61 6c 75 65 2e 22 0a 20 20 28 6d | ded.in.the.returned.value."...(m |
| 9360 | 61 70 63 61 72 20 23 27 63 61 72 0a 20 20 20 20 20 20 20 20 20 20 28 65 6d 61 63 73 71 6c 20 63 | apcar.#'car...........(emacsql.c |
| 9380 | 6f 6e 6e 65 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 3a 73 | onnection....................[:s |
| 93a0 | 65 6c 65 63 74 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b | elect.name.....................; |
| 93c0 | 3b 20 54 68 65 20 6e 65 77 20 6e 61 6d 65 20 69 73 20 60 73 71 6c 69 74 65 2d 73 63 68 65 6d 61 | ;.The.new.name.is.`sqlite-schema |
| 93e0 | 27 2c 20 62 75 74 20 74 68 69 73 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ',.but.this.name................ |
| 9400 | 20 20 20 20 20 3b 3b 20 69 73 20 73 75 70 70 6f 72 74 65 64 20 62 79 20 6f 6c 64 20 61 6e 64 20 | .....;;.is.supported.by.old.and. |
| 9420 | 6e 65 77 20 53 51 4c 69 74 65 20 76 65 72 73 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 | new.SQLite.versions............. |
| 9440 | 20 20 20 20 20 20 20 20 20 3b 3b 20 53 65 65 20 68 74 74 70 73 3a 2f 2f 77 77 77 2e 73 71 6c 69 | .........;;.See.https://www.sqli |
| 9460 | 74 65 2e 6f 72 67 2f 73 63 68 65 6d 61 74 61 62 2e 68 74 6d 6c 2e 0a 20 20 20 20 20 20 20 20 20 | te.org/schematab.html........... |
| 9480 | 20 20 20 20 20 20 20 20 20 20 20 3a 66 72 6f 6d 20 73 71 6c 69 74 65 2d 6d 61 73 74 65 72 0a 20 | ...........:from.sqlite-master.. |
| 94a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 77 68 65 72 65 20 28 61 6e 64 20 28 | ...................:where.(and.( |
| 94c0 | 3d 20 74 79 70 65 20 27 74 61 62 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | =.type.'table).................. |
| 94e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 2d 6c 69 6b 65 20 6e 61 6d 65 20 22 73 | ...............(not-like.name."s |
| 9500 | 71 6c 69 74 65 5f 25 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a | qlite_%")).....................: |
| 9520 | 6f 72 64 65 72 2d 62 79 20 5b 28 61 73 63 20 6e 61 6d 65 29 5d 5d 29 29 29 0a 0a 28 64 65 66 75 | order-by.[(asc.name)]])))..(defu |
| 9540 | 6e 20 65 6d 61 63 73 71 6c 2d 73 71 6c 69 74 65 2d 64 75 6d 70 2d 64 61 74 61 62 61 73 65 20 28 | n.emacsql-sqlite-dump-database.( |
| 9560 | 63 6f 6e 6e 65 63 74 69 6f 6e 20 26 6f 70 74 69 6f 6e 61 6c 20 76 65 72 73 69 6f 6e 70 29 0a 20 | connection.&optional.versionp).. |
| 9580 | 20 22 44 75 6d 70 20 74 68 65 20 64 61 74 61 62 61 73 65 20 73 70 65 63 69 66 69 65 64 20 62 79 | ."Dump.the.database.specified.by |
| 95a0 | 20 43 4f 4e 4e 45 43 54 49 4f 4e 20 74 6f 20 61 20 66 69 6c 65 2e 0a 0a 54 68 65 20 64 75 6d 70 | .CONNECTION.to.a.file...The.dump |
| 95c0 | 20 66 69 6c 65 20 69 73 20 70 6c 61 63 65 64 20 69 6e 20 74 68 65 20 73 61 6d 65 20 64 69 72 65 | .file.is.placed.in.the.same.dire |
| 95e0 | 63 74 6f 72 79 20 61 73 20 74 68 65 20 64 61 74 61 62 61 73 65 0a 66 69 6c 65 20 61 6e 64 20 69 | ctory.as.the.database.file.and.i |
| 9600 | 74 73 20 6e 61 6d 65 20 64 65 72 69 76 65 73 20 66 72 6f 6d 20 74 68 65 20 6e 61 6d 65 20 6f 66 | ts.name.derives.from.the.name.of |
| 9620 | 20 74 68 65 20 64 61 74 61 62 61 73 65 20 66 69 6c 65 2e 0a 54 68 65 20 73 75 66 66 69 78 20 69 | .the.database.file..The.suffix.i |
| 9640 | 73 20 72 65 70 6c 61 63 65 64 20 77 69 74 68 20 5c 22 2e 73 71 6c 5c 22 20 61 6e 64 20 69 66 20 | s.replaced.with.\".sql\".and.if. |
| 9660 | 6f 70 74 69 6f 6e 61 6c 20 56 45 52 53 49 4f 4e 50 20 69 73 0a 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 | optional.VERSIONP.is.non-nil,.th |
| 9680 | 65 6e 20 74 68 65 20 64 61 74 61 62 61 73 65 20 76 65 72 73 69 6f 6e 20 28 74 68 65 20 60 75 73 | en.the.database.version.(the.`us |
| 96a0 | 65 72 5f 76 65 72 73 69 6f 6e 27 20 70 72 61 67 6d 61 29 0a 61 6e 64 20 61 20 74 69 6d 65 73 74 | er_version'.pragma).and.a.timest |
| 96c0 | 61 6d 70 20 61 72 65 20 61 70 70 65 6e 64 65 64 20 74 6f 20 74 68 65 20 66 69 6c 65 20 6e 61 6d | amp.are.appended.to.the.file.nam |
| 96e0 | 65 2e 0a 0a 44 75 6d 70 69 6e 67 20 69 73 20 64 6f 6e 65 20 75 73 69 6e 67 20 74 68 65 20 6f 66 | e...Dumping.is.done.using.the.of |
| 9700 | 66 69 63 69 61 6c 20 60 73 71 6c 69 74 65 33 27 20 62 69 6e 61 72 79 2e 20 20 49 66 20 74 68 61 | ficial.`sqlite3'.binary...If.tha |
| 9720 | 74 20 69 73 0a 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 20 61 6e 64 20 56 45 52 53 49 4f 4e 50 20 | t.is.not.available.and.VERSIONP. |
| 9740 | 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 65 6e 20 74 68 65 20 64 61 74 61 62 61 73 65 20 66 69 | is.non-nil,.then.the.database.fi |
| 9760 | 6c 65 20 69 73 0a 63 6f 70 69 65 64 20 69 6e 73 74 65 61 64 2e 22 0a 20 20 28 6c 65 74 2a 20 28 | le.is.copied.instead."...(let*.( |
| 9780 | 28 76 65 72 73 69 6f 6e 20 28 63 61 61 72 20 28 65 6d 61 63 73 71 6c 20 63 6f 6e 6e 65 63 74 69 | (version.(caar.(emacsql.connecti |
| 97a0 | 6f 6e 20 5b 3a 70 72 61 67 6d 61 20 75 73 65 72 2d 76 65 72 73 69 6f 6e 5d 29 29 29 0a 20 20 20 | on.[:pragma.user-version]))).... |
| 97c0 | 20 20 20 20 20 20 28 64 62 20 28 6f 72 65 66 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 66 69 6c 65 29 | ......(db.(oref.connection.file) |
| 97e0 | 29 0a 20 20 20 20 20 20 20 20 20 28 64 62 20 28 69 66 20 28 73 79 6d 62 6f 6c 70 20 64 62 29 20 | )..........(db.(if.(symbolp.db). |
| 9800 | 28 73 79 6d 62 6f 6c 2d 76 61 6c 75 65 20 64 62 29 20 64 62 29 29 0a 20 20 20 20 20 20 20 20 20 | (symbol-value.db).db)).......... |
| 9820 | 28 6e 61 6d 65 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 6e 6f 6e 64 69 72 65 63 74 6f 72 79 20 64 62 | (name.(file-name-nondirectory.db |
| 9840 | 29 29 0a 20 20 20 20 20 20 20 20 20 28 6f 75 74 70 75 74 20 28 63 6f 6e 63 61 74 20 28 66 69 6c | ))..........(output.(concat.(fil |
| 9860 | 65 2d 6e 61 6d 65 2d 73 61 6e 73 2d 65 78 74 65 6e 73 69 6f 6e 20 64 62 29 0a 20 20 20 20 20 20 | e-name-sans-extension.db)....... |
| 9880 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 76 65 72 73 69 6f 6e 70 | ...................(and.versionp |
| 98a0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | ...............................( |
| 98c0 | 63 6f 6e 63 61 74 20 28 66 6f 72 6d 61 74 20 22 2d 76 25 73 22 20 76 65 72 73 69 6f 6e 29 0a 20 | concat.(format."-v%s".version).. |
| 98e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 9900 | 20 20 20 20 20 28 66 6f 72 6d 61 74 2d 74 69 6d 65 2d 73 74 72 69 6e 67 20 22 2d 25 59 25 6d 25 | .....(format-time-string."-%Y%m% |
| 9920 | 64 2d 25 48 25 4d 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | d-%H%M")))...................... |
| 9940 | 20 20 20 20 22 2e 73 71 6c 22 29 29 29 0a 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 28 28 6c | ....".sql"))).....(cond......((l |
| 9960 | 6f 63 61 74 65 2d 66 69 6c 65 20 22 73 71 6c 69 74 65 33 22 20 65 78 65 63 2d 70 61 74 68 29 0a | ocate-file."sqlite3".exec-path). |
| 9980 | 20 20 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 | ......(when.(and.(file-exists-p. |
| 99a0 | 6f 75 74 70 75 74 29 20 76 65 72 73 69 6f 6e 70 29 0a 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 | output).versionp).........(error |
| 99c0 | 20 22 43 61 6e 6e 6f 74 20 64 75 6d 70 20 64 61 74 61 62 61 73 65 3b 20 25 73 20 61 6c 72 65 61 | ."Cannot.dump.database;.%s.alrea |
| 99e0 | 64 79 20 65 78 69 73 74 73 22 20 6f 75 74 70 75 74 29 29 0a 20 20 20 20 20 20 28 77 69 74 68 2d | dy.exists".output)).......(with- |
| 9a00 | 74 65 6d 70 2d 66 69 6c 65 20 6f 75 74 70 75 74 0a 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 | temp-file.output.........(messag |
| 9a20 | 65 20 22 44 75 6d 70 69 6e 67 20 25 73 20 64 61 74 61 62 61 73 65 20 74 6f 20 25 73 2e 2e 2e 22 | e."Dumping.%s.database.to.%s..." |
| 9a40 | 20 6e 61 6d 65 20 6f 75 74 70 75 74 29 0a 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 7a | .name.output).........(unless.(z |
| 9a60 | 65 72 6f 70 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 | erop.(save-excursion............ |
| 9a80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 6c 2d 70 72 6f 63 65 73 73 20 22 73 71 6c | ..............(call-process."sql |
| 9aa0 | 69 74 65 33 22 20 6e 69 6c 20 74 20 6e 69 6c 20 64 62 20 22 2e 64 75 6d 70 22 29 29 29 0a 20 20 | ite3".nil.t.nil.db.".dump")))... |
| 9ac0 | 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 46 61 69 6c 65 64 20 74 6f 20 64 75 6d 70 20 25 | ........(error."Failed.to.dump.% |
| 9ae0 | 73 22 20 64 62 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 76 65 72 73 69 6f 6e 0a 20 20 | s".db)).........(when.version... |
| 9b00 | 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 66 6f 72 6d 61 74 20 22 50 52 41 47 4d 41 20 | ........(insert.(format."PRAGMA. |
| 9b20 | 75 73 65 72 5f 76 65 72 73 69 6f 6e 3d 25 73 3b 5c 6e 22 20 76 65 72 73 69 6f 6e 29 29 29 0a 20 | user_version=%s;\n".version))).. |
| 9b40 | 20 20 20 20 20 20 20 3b 3b 20 54 68 65 20 6f 75 74 70 75 74 20 63 6f 6e 74 61 69 6e 73 20 22 50 | .......;;.The.output.contains."P |
| 9b60 | 52 41 47 4d 41 20 66 6f 72 65 69 67 6e 5f 6b 65 79 73 3d 4f 46 46 3b 22 2e 0a 20 20 20 20 20 20 | RAGMA.foreign_keys=OFF;"........ |
| 9b80 | 20 20 3b 3b 20 43 68 61 6e 67 65 20 74 68 61 74 20 74 6f 20 61 76 6f 69 64 20 61 6c 61 72 6d 69 | ..;;.Change.that.to.avoid.alarmi |
| 9ba0 | 6e 67 20 61 74 74 65 6e 74 69 76 65 20 75 73 65 72 73 2e 0a 20 20 20 20 20 20 20 20 28 77 68 65 | ng.attentive.users..........(whe |
| 9bc0 | 6e 20 28 72 65 2d 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 20 22 5e 50 52 41 47 4d 41 20 66 6f | n.(re-search-forward."^PRAGMA.fo |
| 9be0 | 72 65 69 67 6e 5f 6b 65 79 73 3d 5c 5c 28 4f 46 46 5c 5c 29 3b 22 20 31 30 30 30 20 74 29 0a 20 | reign_keys=\\(OFF\\);".1000.t).. |
| 9c00 | 20 20 20 20 20 20 20 20 20 28 72 65 70 6c 61 63 65 2d 6d 61 74 63 68 20 22 4f 4e 22 20 74 20 74 | .........(replace-match."ON".t.t |
| 9c20 | 20 6e 69 6c 20 31 29 29 0a 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 44 75 6d 70 69 | .nil.1)).........(message."Dumpi |
| 9c40 | 6e 67 20 25 73 20 64 61 74 61 62 61 73 65 20 74 6f 20 25 73 2e 2e 2e 64 6f 6e 65 22 20 6e 61 6d | ng.%s.database.to.%s...done".nam |
| 9c60 | 65 20 6f 75 74 70 75 74 29 29 29 0a 20 20 20 20 20 28 76 65 72 73 69 6f 6e 70 0a 20 20 20 20 20 | e.output)))......(versionp...... |
| 9c80 | 20 28 73 65 74 71 20 6f 75 74 70 75 74 20 28 63 6f 6e 63 61 74 20 28 66 69 6c 65 2d 6e 61 6d 65 | .(setq.output.(concat.(file-name |
| 9ca0 | 2d 73 61 6e 73 2d 65 78 74 65 6e 73 69 6f 6e 20 6f 75 74 70 75 74 29 20 22 2e 64 62 22 29 29 0a | -sans-extension.output).".db")). |
| 9cc0 | 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 43 61 6e 6e 6f 74 20 64 75 6d 70 20 64 61 74 61 | ......(message."Cannot.dump.data |
| 9ce0 | 62 61 73 65 20 62 65 63 61 75 73 65 20 73 71 6c 69 74 65 33 20 62 69 6e 61 72 79 20 63 61 6e 6e | base.because.sqlite3.binary.cann |
| 9d00 | 6f 74 20 62 65 20 66 6f 75 6e 64 22 29 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 28 | ot.be.found").......(when.(and.( |
| 9d20 | 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 6f 75 74 70 75 74 29 20 76 65 72 73 69 6f 6e 70 29 0a | file-exists-p.output).versionp). |
| 9d40 | 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 43 61 6e 6e 6f 74 20 63 6f 70 79 20 64 61 74 61 | ........(error."Cannot.copy.data |
| 9d60 | 62 61 73 65 3b 20 25 73 20 61 6c 72 65 61 64 79 20 65 78 69 73 74 73 22 20 6f 75 74 70 75 74 29 | base;.%s.already.exists".output) |
| 9d80 | 29 0a 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 43 6f 70 79 69 6e 67 20 25 73 20 64 61 74 | ).......(message."Copying.%s.dat |
| 9da0 | 61 62 61 73 65 20 74 6f 20 25 73 2e 2e 2e 22 20 6e 61 6d 65 20 6f 75 74 70 75 74 29 0a 20 20 20 | abase.to.%s...".name.output).... |
| 9dc0 | 20 20 20 28 63 6f 70 79 2d 66 69 6c 65 20 64 62 20 6f 75 74 70 75 74 29 0a 20 20 20 20 20 20 28 | ...(copy-file.db.output).......( |
| 9de0 | 6d 65 73 73 61 67 65 20 22 43 6f 70 79 69 6e 67 20 25 73 20 64 61 74 61 62 61 73 65 20 74 6f 20 | message."Copying.%s.database.to. |
| 9e00 | 25 73 2e 2e 2e 64 6f 6e 65 22 20 6e 61 6d 65 20 6f 75 74 70 75 74 29 29 0a 20 20 20 20 20 28 28 | %s...done".name.output))......(( |
| 9e20 | 65 72 72 6f 72 20 22 43 61 6e 6e 6f 74 20 64 75 6d 70 20 64 61 74 61 62 61 73 65 3b 20 73 71 6c | error."Cannot.dump.database;.sql |
| 9e40 | 69 74 65 33 20 62 69 6e 61 72 79 20 69 73 6e 27 74 20 61 76 61 69 6c 61 62 6c 65 22 29 29 29 29 | ite3.binary.isn't.available")))) |
| 9e60 | 29 0a 0a 28 64 65 66 75 6e 20 65 6d 61 63 73 71 6c 2d 73 71 6c 69 74 65 2d 72 65 73 74 6f 72 65 | )..(defun.emacsql-sqlite-restore |
| 9e80 | 2d 64 61 74 61 62 61 73 65 20 28 64 62 20 64 75 6d 70 29 0a 20 20 22 52 65 73 74 6f 72 65 20 64 | -database.(db.dump)..."Restore.d |
| 9ea0 | 61 74 61 62 61 73 65 20 44 42 20 66 72 6f 6d 20 44 55 4d 50 2e 0a 0a 44 55 4d 50 20 69 73 20 61 | atabase.DB.from.DUMP...DUMP.is.a |
| 9ec0 | 20 66 69 6c 65 20 63 6f 6e 74 61 69 6e 69 6e 67 20 53 51 4c 20 73 74 61 74 65 6d 65 6e 74 73 2e | .file.containing.SQL.statements. |
| 9ee0 | 20 20 44 42 20 63 61 6e 20 62 65 20 74 68 65 20 66 69 6c 65 0a 69 6e 20 77 68 69 63 68 20 74 68 | ..DB.can.be.the.file.in.which.th |
| 9f00 | 65 20 64 61 74 61 62 61 73 65 20 69 73 20 74 6f 20 62 65 20 73 74 6f 72 65 64 2c 20 6f 72 20 69 | e.database.is.to.be.stored,.or.i |
| 9f20 | 74 20 63 61 6e 20 62 65 20 61 20 64 61 74 61 62 61 73 65 0a 63 6f 6e 6e 65 63 74 69 6f 6e 2e 20 | t.can.be.a.database.connection.. |
| 9f40 | 20 49 6e 20 74 68 65 20 6c 61 74 74 65 72 20 63 61 73 65 20 74 68 65 20 63 75 72 72 65 6e 74 20 | .In.the.latter.case.the.current. |
| 9f60 | 64 61 74 61 62 61 73 65 20 69 73 20 66 69 72 73 74 0a 64 75 6d 70 65 64 20 74 6f 20 61 20 6e 65 | database.is.first.dumped.to.a.ne |
| 9f80 | 77 20 66 69 6c 65 20 61 6e 64 20 74 68 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 69 73 20 63 6c 6f | w.file.and.the.connection.is.clo |
| 9fa0 | 73 65 64 2e 20 20 54 68 65 6e 20 74 68 65 0a 64 61 74 61 62 61 73 65 20 69 73 20 72 65 73 74 6f | sed...Then.the.database.is.resto |
| 9fc0 | 72 65 64 20 66 72 6f 6d 20 44 55 4d 50 2e 20 20 4e 6f 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 74 6f | red.from.DUMP...No.connection.to |
| 9fe0 | 20 74 68 65 20 6e 65 77 0a 64 61 74 61 62 61 73 65 20 69 73 20 63 72 65 61 74 65 64 2e 22 0a 20 | .the.new.database.is.created.".. |
| a000 | 20 28 75 6e 6c 65 73 73 20 28 73 74 72 69 6e 67 70 20 64 62 29 0a 20 20 20 20 28 65 6d 61 63 73 | .(unless.(stringp.db).....(emacs |
| a020 | 71 6c 2d 73 71 6c 69 74 65 2d 64 75 6d 70 2d 64 61 74 61 62 61 73 65 20 64 62 20 74 29 0a 20 20 | ql-sqlite-dump-database.db.t)... |
| a040 | 20 20 28 65 6d 61 63 73 71 6c 2d 63 6c 6f 73 65 20 28 70 72 6f 67 31 20 64 62 20 28 73 65 74 71 | ..(emacsql-close.(prog1.db.(setq |
| a060 | 20 64 62 20 28 6f 72 65 66 20 64 62 20 66 69 6c 65 29 29 29 29 29 0a 20 20 28 77 69 74 68 2d 74 | .db.(oref.db.file)))))...(with-t |
| a080 | 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 28 7a 65 72 6f 70 20 28 63 | emp-buffer.....(unless.(zerop.(c |
| a0a0 | 61 6c 6c 2d 70 72 6f 63 65 73 73 20 22 73 71 6c 69 74 65 33 22 20 6e 69 6c 20 74 20 6e 69 6c 20 | all-process."sqlite3".nil.t.nil. |
| a0c0 | 64 62 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | db.............................. |
| a0e0 | 20 20 20 20 28 66 6f 72 6d 61 74 20 22 2e 72 65 61 64 20 25 73 22 20 64 75 6d 70 29 29 29 0a 20 | ....(format.".read.%s".dump))).. |
| a100 | 20 20 20 20 20 28 65 72 72 6f 72 20 22 46 61 69 6c 65 64 20 74 6f 20 72 65 61 64 20 25 73 3a 20 | .....(error."Failed.to.read.%s:. |
| a120 | 25 73 22 20 64 75 6d 70 20 28 62 75 66 66 65 72 2d 73 74 72 69 6e 67 29 29 29 29 29 0a 0a 28 70 | %s".dump.(buffer-string)))))..(p |
| a140 | 72 6f 76 69 64 65 20 27 65 6d 61 63 73 71 6c 2d 73 71 6c 69 74 65 29 0a 0a 3b 3b 3b 20 65 6d 61 | rovide.'emacsql-sqlite)..;;;.ema |
| a160 | 63 73 71 6c 2d 73 71 6c 69 74 65 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 | csql-sqlite.el.ends.here........ |
| a180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| a1a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| a1c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| a1e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| a200 | 65 6d 61 63 73 71 6c 2d 34 2e 33 2e 31 2f 65 6d 61 63 73 71 6c 2d 70 67 2e 65 6c 00 00 00 00 00 | emacsql-4.3.1/emacsql-pg.el..... |
| a220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| a240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| a260 | 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 | ....0000644.0000000.0000000.0000 |
| a280 | 30 30 30 36 30 35 34 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 31 36 33 00 20 30 00 00 00 | 0006054.00000000000.014163..0... |
| a2a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| a2c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| a2e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| a300 | 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .ustar...root................... |
| a320 | 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .........root................... |
| a340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| a360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| a380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| a3a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| a3c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| a3e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| a400 | 3b 3b 3b 20 65 6d 61 63 73 71 6c 2d 70 67 2e 65 6c 20 2d 2d 2d 20 45 6d 61 63 53 51 4c 20 62 61 | ;;;.emacsql-pg.el.---.EmacSQL.ba |
| a420 | 63 6b 2d 65 6e 64 20 66 6f 72 20 50 6f 73 74 67 72 65 53 51 4c 20 76 69 61 20 70 67 20 20 2d 2a | ck-end.for.PostgreSQL.via.pg..-* |
| a440 | 2d 20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67 3a 74 20 2d 2a 2d 0a 0a 3b 3b 20 54 68 69 73 | -.lexical-binding:t.-*-..;;.This |
| a460 | 20 69 73 20 66 72 65 65 20 61 6e 64 20 75 6e 65 6e 63 75 6d 62 65 72 65 64 20 73 6f 66 74 77 61 | .is.free.and.unencumbered.softwa |
| a480 | 72 65 20 72 65 6c 65 61 73 65 64 20 69 6e 74 6f 20 74 68 65 20 70 75 62 6c 69 63 20 64 6f 6d 61 | re.released.into.the.public.doma |
| a4a0 | 69 6e 2e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 43 68 72 69 73 74 6f 70 68 65 72 20 57 65 6c 6c | in...;;.Author:.Christopher.Well |
| a4c0 | 6f 6e 73 20 3c 77 65 6c 6c 6f 6e 73 40 6e 75 6c 6c 70 72 6f 67 72 61 6d 2e 63 6f 6d 3e 0a 3b 3b | ons.<wellons@nullprogram.com>.;; |
| a4e0 | 20 4d 61 69 6e 74 61 69 6e 65 72 3a 20 4a 6f 6e 61 73 20 42 65 72 6e 6f 75 6c 6c 69 20 3c 65 6d | .Maintainer:.Jonas.Bernoulli.<em |
| a500 | 61 63 73 2e 65 6d 61 63 73 71 6c 40 6a 6f 6e 61 73 2e 62 65 72 6e 6f 75 6c 6c 69 2e 64 65 76 3e | acs.emacsql@jonas.bernoulli.dev> |
| a520 | 0a 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d 49 64 65 6e 74 69 66 69 65 72 3a 20 55 6e | ..;;.SPDX-License-Identifier:.Un |
| a540 | 6c 69 63 65 6e 73 65 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b 20 54 68 69 | license..;;;.Commentary:..;;.Thi |
| a560 | 73 20 6c 69 62 72 61 72 79 20 70 72 6f 76 69 64 65 73 20 61 6e 20 45 6d 61 63 53 51 4c 20 62 61 | s.library.provides.an.EmacSQL.ba |
| a580 | 63 6b 2d 65 6e 64 20 66 6f 72 20 50 6f 73 74 67 72 65 53 51 4c 2c 20 77 68 69 63 68 0a 3b 3b 20 | ck-end.for.PostgreSQL,.which.;;. |
| a5a0 | 75 73 65 73 20 74 68 65 20 60 70 67 27 20 70 61 63 6b 61 67 65 20 74 6f 20 64 69 72 65 63 74 6c | uses.the.`pg'.package.to.directl |
| a5c0 | 79 20 73 70 65 61 6b 20 74 6f 20 74 68 65 20 64 61 74 61 62 61 73 65 2e 20 20 54 68 69 73 0a 3b | y.speak.to.the.database...This.; |
| a5e0 | 3b 20 6c 69 62 72 61 72 79 20 72 65 71 75 69 72 65 73 20 61 74 20 6c 65 61 73 74 20 45 6d 61 63 | ;.library.requires.at.least.Emac |
| a600 | 73 20 32 38 2e 31 2e 0a 0a 3b 3b 20 28 46 6f 72 20 61 6e 20 61 6c 74 65 72 6e 61 74 69 76 65 20 | s.28.1...;;.(For.an.alternative. |
| a620 | 62 61 63 6b 2d 65 6e 64 20 66 6f 72 20 50 6f 73 74 67 72 65 53 51 4c 2c 20 73 65 65 20 60 65 6d | back-end.for.PostgreSQL,.see.`em |
| a640 | 61 63 73 71 6c 2d 70 73 71 6c 27 2e 29 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28 72 65 71 75 69 | acsql-psql'.)..;;;.Code:..(requi |
| a660 | 72 65 20 27 65 6d 61 63 73 71 6c 29 0a 0a 28 69 66 20 28 3e 3d 20 65 6d 61 63 73 2d 6d 61 6a 6f | re.'emacsql)..(if.(>=.emacs-majo |
| a680 | 72 2d 76 65 72 73 69 6f 6e 20 32 38 29 0a 20 20 20 20 28 72 65 71 75 69 72 65 20 27 70 67 20 6e | r-version.28).....(require.'pg.n |
| a6a0 | 69 6c 20 74 29 0a 20 20 28 6d 65 73 73 61 67 65 20 22 65 6d 61 63 73 71 6c 2d 70 67 2e 65 6c 20 | il.t)...(message."emacsql-pg.el. |
| a6c0 | 72 65 71 75 69 72 65 73 20 45 6d 61 63 73 20 32 38 2e 31 20 6f 72 20 6c 61 74 65 72 22 29 29 0a | requires.Emacs.28.1.or.later")). |
| a6e0 | 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 70 67 2d 63 6f 6e 6e 65 63 74 20 22 70 67 | (declare-function.pg-connect."pg |
| a700 | 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 20 64 62 6e 61 6d 65 20 75 73 65 | "...................(.dbname.use |
| a720 | 72 20 26 6f 70 74 69 6f 6e 61 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | r.&optional..................... |
| a740 | 28 70 61 73 73 77 6f 72 64 20 22 22 29 20 28 68 6f 73 74 20 22 6c 6f 63 61 6c 68 6f 73 74 22 29 | (password."").(host."localhost") |
| a760 | 20 28 70 6f 72 74 20 35 34 33 32 29 20 28 74 6c 73 20 6e 69 6c 29 29 29 0a 28 64 65 63 6c 61 72 | .(port.5432).(tls.nil))).(declar |
| a780 | 65 2d 66 75 6e 63 74 69 6f 6e 20 70 67 2d 64 69 73 63 6f 6e 6e 65 63 74 20 22 70 67 22 20 28 63 | e-function.pg-disconnect."pg".(c |
| a7a0 | 6f 6e 29 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 70 67 2d 65 78 65 63 20 22 | on)).(declare-function.pg-exec." |
| a7c0 | 70 67 22 20 28 63 6f 6e 6e 65 63 74 69 6f 6e 20 26 72 65 73 74 20 61 72 67 73 29 29 0a 28 64 65 | pg".(connection.&rest.args)).(de |
| a7e0 | 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 70 67 2d 72 65 73 75 6c 74 20 22 70 67 22 20 28 72 | clare-function.pg-result."pg".(r |
| a800 | 65 73 75 6c 74 20 77 68 61 74 20 26 72 65 73 74 20 61 72 67 29 29 0a 0a 28 64 65 66 63 6c 61 73 | esult.what.&rest.arg))..(defclas |
| a820 | 73 20 65 6d 61 63 73 71 6c 2d 70 67 2d 63 6f 6e 6e 65 63 74 69 6f 6e 20 28 65 6d 61 63 73 71 6c | s.emacsql-pg-connection.(emacsql |
| a840 | 2d 63 6f 6e 6e 65 63 74 69 6f 6e 29 0a 20 20 28 28 70 67 63 6f 6e 20 3a 72 65 61 64 65 72 20 65 | -connection)...((pgcon.:reader.e |
| a860 | 6d 61 63 73 71 6c 2d 70 67 2d 70 67 63 6f 6e 20 3a 69 6e 69 74 61 72 67 20 3a 70 67 63 6f 6e 29 | macsql-pg-pgcon.:initarg.:pgcon) |
| a880 | 0a 20 20 20 28 64 62 6e 61 6d 65 20 3a 72 65 61 64 65 72 20 65 6d 61 63 73 71 6c 2d 70 67 2d 64 | ....(dbname.:reader.emacsql-pg-d |
| a8a0 | 62 6e 61 6d 65 20 3a 69 6e 69 74 61 72 67 20 3a 64 62 6e 61 6d 65 29 0a 20 20 20 28 72 65 73 75 | bname.:initarg.:dbname)....(resu |
| a8c0 | 6c 74 20 3a 61 63 63 65 73 73 6f 72 20 65 6d 61 63 73 71 6c 2d 70 67 2d 72 65 73 75 6c 74 29 0a | lt.:accessor.emacsql-pg-result). |
| a8e0 | 20 20 20 28 74 79 70 65 73 20 3a 61 6c 6c 6f 63 61 74 69 6f 6e 20 3a 63 6c 61 73 73 0a 20 20 20 | ...(types.:allocation.:class.... |
| a900 | 20 20 20 20 20 20 20 3a 72 65 61 64 65 72 20 65 6d 61 63 73 71 6c 2d 74 79 70 65 73 0a 20 20 20 | .......:reader.emacsql-types.... |
| a920 | 20 20 20 20 20 20 20 3a 69 6e 69 74 66 6f 72 6d 20 27 28 28 69 6e 74 65 67 65 72 20 22 42 49 47 | .......:initform.'((integer."BIG |
| a940 | 49 4e 54 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6c 6f | INT").......................(flo |
| a960 | 61 74 20 22 44 4f 55 42 4c 45 20 50 52 45 43 49 53 49 4f 4e 22 29 0a 20 20 20 20 20 20 20 20 20 | at."DOUBLE.PRECISION").......... |
| a980 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 62 6a 65 63 74 20 22 54 45 58 54 22 29 0a 20 20 20 | .............(object."TEXT").... |
| a9a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 69 6c 20 22 54 45 58 54 22 29 29 | ...................(nil."TEXT")) |
| a9c0 | 29 29 0a 20 20 22 41 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 74 6f 20 61 20 50 6f 73 74 67 72 65 53 | ))..."A.connection.to.a.PostgreS |
| a9e0 | 51 4c 20 64 61 74 61 62 61 73 65 20 76 69 61 20 70 67 2e 65 6c 2e 22 29 0a 0a 28 63 6c 2d 64 65 | QL.database.via.pg.el.")..(cl-de |
| aa00 | 66 75 6e 20 65 6d 61 63 73 71 6c 2d 70 67 20 28 64 62 6e 61 6d 65 20 75 73 65 72 20 26 6b 65 79 | fun.emacsql-pg.(dbname.user.&key |
| aa20 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 | ..............................(h |
| aa40 | 6f 73 74 20 22 6c 6f 63 61 6c 68 6f 73 74 22 29 20 28 70 61 73 73 77 6f 72 64 20 22 22 29 20 28 | ost."localhost").(password."").( |
| aa60 | 70 6f 72 74 20 35 34 33 32 29 20 64 65 62 75 67 29 0a 20 20 22 43 6f 6e 6e 65 63 74 20 74 6f 20 | port.5432).debug)..."Connect.to. |
| aa80 | 61 20 50 6f 73 74 67 72 65 53 51 4c 20 73 65 72 76 65 72 20 75 73 69 6e 67 20 70 67 2e 65 6c 2e | a.PostgreSQL.server.using.pg.el. |
| aaa0 | 22 0a 20 20 28 72 65 71 75 69 72 65 20 27 70 67 29 0a 20 20 28 6c 65 74 2a 20 28 28 70 67 63 6f | "...(require.'pg)...(let*.((pgco |
| aac0 | 6e 20 28 70 67 2d 63 6f 6e 6e 65 63 74 20 64 62 6e 61 6d 65 20 75 73 65 72 20 70 61 73 73 77 6f | n.(pg-connect.dbname.user.passwo |
| aae0 | 72 64 20 68 6f 73 74 20 70 6f 72 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 63 6f 6e 6e 65 63 74 | rd.host.port))..........(connect |
| ab00 | 69 6f 6e 20 28 6d 61 6b 65 2d 69 6e 73 74 61 6e 63 65 20 27 65 6d 61 63 73 71 6c 2d 70 67 2d 63 | ion.(make-instance.'emacsql-pg-c |
| ab20 | 6f 6e 6e 65 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | onnection....................... |
| ab40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 68 61 6e 64 6c 65 20 28 61 6e 64 20 28 66 62 6f 75 | ..............:handle.(and.(fbou |
| ab60 | 6e 64 70 20 27 70 67 63 6f 6e 2d 70 72 6f 63 65 73 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ndp.'pgcon-process)............. |
| ab80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| aba0 | 20 20 20 20 20 28 70 67 63 6f 6e 2d 70 72 6f 63 65 73 73 20 70 67 63 6f 6e 29 29 0a 20 20 20 20 | .....(pgcon-process.pgcon))..... |
| abc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| abe0 | 3a 70 67 63 6f 6e 20 70 67 63 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | :pgcon.pgcon.................... |
| ac00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 64 62 6e 61 6d 65 20 64 62 6e 61 6d 65 29 | .................:dbname.dbname) |
| ac20 | 29 29 0a 20 20 20 20 28 77 68 65 6e 20 64 65 62 75 67 20 28 65 6d 61 63 73 71 6c 2d 65 6e 61 62 | )).....(when.debug.(emacsql-enab |
| ac40 | 6c 65 2d 64 65 62 75 67 67 69 6e 67 20 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 0a 20 20 20 20 28 65 | le-debugging.connection)).....(e |
| ac60 | 6d 61 63 73 71 6c 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 5b 3a 73 65 74 20 28 3d 20 64 65 66 61 75 | macsql.connection.[:set.(=.defau |
| ac80 | 6c 74 2d 74 72 61 6e 73 61 63 74 69 6f 6e 2d 69 73 6f 6c 61 74 69 6f 6e 20 27 53 45 52 49 41 4c | lt-transaction-isolation.'SERIAL |
| aca0 | 49 5a 41 42 4c 45 29 5d 29 0a 20 20 20 20 28 65 6d 61 63 73 71 6c 2d 72 65 67 69 73 74 65 72 20 | IZABLE)]).....(emacsql-register. |
| acc0 | 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 65 6d 61 | connection)))..(cl-defmethod.ema |
| ace0 | 63 73 71 6c 2d 63 6c 6f 73 65 20 28 28 63 6f 6e 6e 65 63 74 69 6f 6e 20 65 6d 61 63 73 71 6c 2d | csql-close.((connection.emacsql- |
| ad00 | 70 67 2d 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 0a 20 20 28 69 67 6e 6f 72 65 2d 65 72 72 6f 72 73 | pg-connection))...(ignore-errors |
| ad20 | 20 28 70 67 2d 64 69 73 63 6f 6e 6e 65 63 74 20 28 65 6d 61 63 73 71 6c 2d 70 67 2d 70 67 63 6f | .(pg-disconnect.(emacsql-pg-pgco |
| ad40 | 6e 20 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 29 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 | n.connection))))..(cl-defmethod. |
| ad60 | 65 6d 61 63 73 71 6c 2d 73 65 6e 64 2d 6d 65 73 73 61 67 65 20 28 28 63 6f 6e 6e 65 63 74 69 6f | emacsql-send-message.((connectio |
| ad80 | 6e 20 65 6d 61 63 73 71 6c 2d 70 67 2d 63 6f 6e 6e 65 63 74 69 6f 6e 29 20 6d 65 73 73 61 67 65 | n.emacsql-pg-connection).message |
| ada0 | 29 0a 20 20 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 65 72 72 6f 72 0a 20 20 20 20 20 20 | )...(condition-case.error....... |
| adc0 | 28 73 65 74 66 20 28 65 6d 61 63 73 71 6c 2d 70 67 2d 72 65 73 75 6c 74 20 63 6f 6e 6e 65 63 74 | (setf.(emacsql-pg-result.connect |
| ade0 | 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 70 67 2d 65 78 65 63 20 28 65 6d 61 63 73 | ion).............(pg-exec.(emacs |
| ae00 | 71 6c 2d 70 67 2d 70 67 63 6f 6e 20 63 6f 6e 6e 65 63 74 69 6f 6e 29 20 6d 65 73 73 61 67 65 29 | ql-pg-pgcon.connection).message) |
| ae20 | 29 0a 20 20 20 20 28 65 72 72 6f 72 20 28 73 69 67 6e 61 6c 20 27 65 6d 61 63 73 71 6c 2d 65 72 | ).....(error.(signal.'emacsql-er |
| ae40 | 72 6f 72 20 65 72 72 6f 72 29 29 29 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 65 6d 61 | ror.error))))..(cl-defmethod.ema |
| ae60 | 63 73 71 6c 2d 77 61 69 74 69 6e 67 2d 70 20 28 28 5f 63 6f 6e 6e 65 63 74 69 6f 6e 20 65 6d 61 | csql-waiting-p.((_connection.ema |
| ae80 | 63 73 71 6c 2d 70 67 2d 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 0a 20 20 3b 3b 20 70 67 2d 65 78 65 | csql-pg-connection))...;;.pg-exe |
| aea0 | 63 20 77 69 6c 6c 20 62 6c 6f 63 6b 0a 20 20 74 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 | c.will.block...t)..(cl-defmethod |
| aec0 | 20 65 6d 61 63 73 71 6c 2d 70 61 72 73 65 20 28 28 63 6f 6e 6e 65 63 74 69 6f 6e 20 65 6d 61 63 | .emacsql-parse.((connection.emac |
| aee0 | 73 71 6c 2d 70 67 2d 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 0a 20 20 28 6c 65 74 20 28 28 74 75 70 | sql-pg-connection))...(let.((tup |
| af00 | 6c 65 73 20 28 70 67 2d 72 65 73 75 6c 74 20 28 65 6d 61 63 73 71 6c 2d 70 67 2d 72 65 73 75 6c | les.(pg-result.(emacsql-pg-resul |
| af20 | 74 20 63 6f 6e 6e 65 63 74 69 6f 6e 29 20 3a 74 75 70 6c 65 73 29 29 29 0a 20 20 20 20 28 63 6c | t.connection).:tuples))).....(cl |
| af40 | 2d 6c 6f 6f 70 20 66 6f 72 20 74 75 70 6c 65 20 69 6e 20 74 75 70 6c 65 73 20 63 6f 6c 6c 65 63 | -loop.for.tuple.in.tuples.collec |
| af60 | 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 76 61 6c 75 | t..............(cl-loop.for.valu |
| af80 | 65 20 69 6e 20 74 75 70 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | e.in.tuple...................... |
| afa0 | 20 77 68 65 6e 20 28 73 74 72 69 6e 67 70 20 76 61 6c 75 65 29 20 63 6f 6c 6c 65 63 74 20 28 72 | .when.(stringp.value).collect.(r |
| afc0 | 65 61 64 20 76 61 6c 75 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ead.value)...................... |
| afe0 | 20 65 6c 73 65 20 63 6f 6c 6c 65 63 74 20 76 61 6c 75 65 29 29 29 29 0a 0a 28 70 72 6f 76 69 64 | .else.collect.value))))..(provid |
| b000 | 65 20 27 65 6d 61 63 73 71 6c 2d 70 67 29 0a 0a 3b 3b 3b 20 65 6d 61 63 73 71 6c 2d 70 67 2e 65 | e.'emacsql-pg)..;;;.emacsql-pg.e |
| b020 | 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | l.ends.here..................... |
| b040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b0a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b0c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b0e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b1a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b1c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b1e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b200 | 65 6d 61 63 73 71 6c 2d 34 2e 33 2e 31 2f 52 45 41 44 4d 45 2e 6d 64 00 00 00 00 00 00 00 00 00 | emacsql-4.3.1/README.md......... |
| b220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b260 | 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 | ....0000644.0000000.0000000.0000 |
| b280 | 30 30 33 34 32 36 34 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 30 37 33 00 20 30 00 00 00 | 0034264.00000000000.013073..0... |
| b2a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b2c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b2e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b300 | 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .ustar...root................... |
| b320 | 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .........root................... |
| b340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b3a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b3c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b3e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b400 | 23 20 45 6d 61 63 53 51 4c 0a 0a 45 6d 61 63 53 51 4c 20 69 73 20 61 20 68 69 67 68 2d 6c 65 76 | #.EmacSQL..EmacSQL.is.a.high-lev |
| b420 | 65 6c 20 45 6d 61 63 73 20 4c 69 73 70 20 66 72 6f 6e 74 2d 65 6e 64 20 66 6f 72 20 53 51 4c 69 | el.Emacs.Lisp.front-end.for.SQLi |
| b440 | 74 65 2e 0a 0a 50 6f 73 74 67 72 65 53 51 4c 20 61 6e 64 20 4d 79 53 51 4c 20 61 72 65 20 61 6c | te...PostgreSQL.and.MySQL.are.al |
| b460 | 73 6f 20 73 75 70 70 6f 72 74 65 64 2c 20 62 75 74 20 75 73 65 20 6f 66 20 74 68 65 73 65 20 63 | so.supported,.but.use.of.these.c |
| b480 | 6f 6e 6e 65 63 74 6f 72 73 0a 69 73 20 6e 6f 74 20 72 65 63 6f 6d 6d 65 6e 64 65 64 2e 0a 0a 41 | onnectors.is.not.recommended...A |
| b4a0 | 6e 79 20 5b 72 65 61 64 61 62 6c 65 20 6c 69 73 70 20 76 61 6c 75 65 5d 5b 72 65 61 64 61 62 6c | ny.[readable.lisp.value][readabl |
| b4c0 | 65 5d 20 63 61 6e 20 62 65 20 73 74 6f 72 65 64 20 61 73 20 61 20 76 61 6c 75 65 20 69 6e 0a 45 | e].can.be.stored.as.a.value.in.E |
| b4e0 | 6d 61 63 53 51 4c 2c 20 69 6e 63 6c 75 64 69 6e 67 20 6e 75 6d 62 65 72 73 2c 20 73 74 72 69 6e | macSQL,.including.numbers,.strin |
| b500 | 67 73 2c 20 73 79 6d 62 6f 6c 73 2c 20 6c 69 73 74 73 2c 20 76 65 63 74 6f 72 73 2c 20 61 6e 64 | gs,.symbols,.lists,.vectors,.and |
| b520 | 0a 63 6c 6f 73 75 72 65 73 2e 20 45 6d 61 63 53 51 4c 20 68 61 73 20 6e 6f 20 63 6f 6e 63 65 70 | .closures..EmacSQL.has.no.concep |
| b540 | 74 20 6f 66 20 22 54 45 58 54 22 20 76 61 6c 75 65 73 3b 20 69 74 27 73 20 61 6c 6c 20 6a 75 73 | t.of."TEXT".values;.it's.all.jus |
| b560 | 74 20 6c 69 73 70 0a 6f 62 6a 65 63 74 73 2e 20 54 68 65 20 6c 69 73 70 20 6f 62 6a 65 63 74 20 | t.lisp.objects..The.lisp.object. |
| b580 | 60 6e 69 6c 60 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 31 3a 31 20 77 69 74 68 20 60 4e 55 4c 4c | `nil`.corresponds.1:1.with.`NULL |
| b5a0 | 60 20 69 6e 20 74 68 65 0a 64 61 74 61 62 61 73 65 2e 0a 0a 52 65 71 75 69 72 65 73 20 45 6d 61 | `.in.the.database...Requires.Ema |
| b5c0 | 63 73 20 32 36 20 6f 72 20 6c 61 74 65 72 2e 0a 0a 5b 21 5b 43 6f 6d 70 69 6c 65 5d 28 68 74 74 | cs.26.or.later...[](https://github.com/magit |
| b640 | 2f 65 6d 61 63 73 71 6c 2f 61 63 74 69 6f 6e 73 2f 77 6f 72 6b 66 6c 6f 77 73 2f 63 6f 6d 70 69 | /emacsql/actions/workflows/compi |
| b660 | 6c 65 2e 79 6d 6c 29 0a 5b 21 5b 54 65 73 74 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e | le.yml).[](https:/ |
| b6c0 | 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6d 61 67 69 74 2f 65 6d 61 63 73 71 6c 2f 61 63 74 69 6f 6e | /github.com/magit/emacsql/action |
| b6e0 | 73 2f 77 6f 72 6b 66 6c 6f 77 73 2f 74 65 73 74 2e 79 6d 6c 29 0a 5b 21 5b 4e 6f 6e 47 4e 55 20 | s/workflows/test.yml).[](https: |
| b740 | 2f 2f 65 6c 70 61 2e 6e 6f 6e 67 6e 75 2e 6f 72 67 2f 6e 6f 6e 67 6e 75 2d 64 65 76 65 6c 2f 65 | //elpa.nongnu.org/nongnu-devel/e |
| b760 | 6d 61 63 73 71 6c 2e 68 74 6d 6c 29 0a 5b 21 5b 4d 45 4c 50 41 20 53 74 61 62 6c 65 5d 28 68 74 | macsql.html).[](https://stab |
| b7c0 | 6c 65 2e 6d 65 6c 70 61 2e 6f 72 67 2f 23 2f 65 6d 61 63 73 71 6c 29 0a 5b 21 5b 4d 45 4c 50 41 | le.melpa.org/#/emacsql).[](https://melpa.o |
| b820 | 72 67 2f 23 2f 65 6d 61 63 73 71 6c 29 0a 0a 23 23 23 20 46 41 51 0a 23 23 23 23 20 57 68 79 20 | rg/#/emacsql)..###.FAQ.####.Why. |
| b840 | 61 72 65 20 61 6c 6c 20 76 61 6c 75 65 73 20 73 74 6f 72 65 64 20 61 73 20 73 74 72 69 6e 67 73 | are.all.values.stored.as.strings |
| b860 | 3f 0a 0a 45 6d 61 63 53 51 4c 20 69 73 20 6e 6f 74 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 69 6e | ?..EmacSQL.is.not.intended.to.in |
| b880 | 74 65 72 61 63 74 20 77 69 74 68 20 61 72 62 69 74 72 61 72 79 20 64 61 74 61 62 61 73 65 73 2c | teract.with.arbitrary.databases, |
| b8a0 | 20 62 75 74 20 74 6f 0a 62 65 20 61 6e 20 41 43 49 44 2d 63 6f 6d 70 6c 69 61 6e 74 20 64 61 74 | .but.to.be.an.ACID-compliant.dat |
| b8c0 | 61 62 61 73 65 20 66 6f 72 20 45 6d 61 63 73 20 65 78 74 65 6e 73 69 6f 6e 73 2e 20 20 54 68 69 | abase.for.Emacs.extensions...Thi |
| b8e0 | 73 20 6d 65 61 6e 73 20 74 68 61 74 0a 45 6d 61 63 53 51 4c 20 63 61 6e 6e 6f 74 20 62 65 20 75 | s.means.that.EmacSQL.cannot.be.u |
| b900 | 73 65 64 20 77 69 74 68 20 61 20 72 65 67 75 6c 61 72 20 53 51 4c 20 64 61 74 61 62 61 73 65 20 | sed.with.a.regular.SQL.database. |
| b920 | 75 73 65 64 20 62 79 20 6f 74 68 65 72 0a 6e 6f 6e 2d 45 6d 61 63 73 20 63 6c 69 65 6e 74 73 2e | used.by.other.non-Emacs.clients. |
| b940 | 0a 0a 41 6c 6c 20 64 61 74 61 62 61 73 65 20 76 61 6c 75 65 73 20 6d 75 73 74 20 62 65 20 73 2d | ..All.database.values.must.be.s- |
| b960 | 65 78 70 72 65 73 73 69 6f 6e 73 2e 20 57 68 65 6e 20 45 6d 61 63 53 51 4c 20 73 74 6f 72 65 73 | expressions..When.EmacSQL.stores |
| b980 | 20 61 0a 76 61 6c 75 65 20 e2 80 94 20 73 74 72 69 6e 67 2c 20 73 79 6d 62 6f 6c 2c 20 63 6f 6e | .a.value.....string,.symbol,.con |
| b9a0 | 73 2c 20 65 74 63 2e 20 e2 80 94 20 69 74 20 69 73 20 70 72 69 6e 74 65 64 20 61 6e 64 20 77 72 | s,.etc......it.is.printed.and.wr |
| b9c0 | 69 74 74 65 6e 20 74 6f 0a 74 68 65 20 64 61 74 61 62 61 73 65 20 69 6e 20 69 74 73 20 70 72 69 | itten.to.the.database.in.its.pri |
| b9e0 | 6e 74 65 64 20 66 6f 72 6d 2e 20 53 74 72 69 6e 67 73 20 61 72 65 20 77 72 61 70 70 65 64 20 69 | nted.form..Strings.are.wrapped.i |
| ba00 | 6e 20 71 75 6f 74 65 73 0a 61 6e 64 20 65 73 63 61 70 65 64 20 61 73 20 6e 65 63 65 73 73 61 72 | n.quotes.and.escaped.as.necessar |
| ba20 | 79 2e 20 54 68 61 74 20 6d 65 61 6e 73 20 22 62 61 72 65 22 20 73 79 6d 62 6f 6c 73 20 69 6e 20 | y..That.means."bare".symbols.in. |
| ba40 | 74 68 65 20 64 61 74 61 62 61 73 65 0a 67 65 6e 65 72 61 6c 6c 79 20 6c 6f 6f 6b 20 6c 69 6b 65 | the.database.generally.look.like |
| ba60 | 20 73 74 72 69 6e 67 73 2e 20 54 68 65 20 6f 6e 6c 79 20 65 78 63 65 70 74 69 6f 6e 20 69 73 20 | .strings..The.only.exception.is. |
| ba80 | 60 6e 69 6c 60 2c 20 77 68 69 63 68 20 69 73 0a 73 74 6f 72 65 64 20 61 73 20 60 4e 55 4c 4c 60 | `nil`,.which.is.stored.as.`NULL` |
| baa0 | 2e 0a 0a 23 23 23 23 20 57 69 6c 6c 20 45 6d 61 63 53 51 4c 20 65 76 65 72 20 73 75 70 70 6f 72 | ...####.Will.EmacSQL.ever.suppor |
| bac0 | 74 20 61 72 62 69 74 72 61 72 79 20 64 61 74 61 62 61 73 65 73 3f 0a 0a 54 68 65 20 61 75 74 68 | t.arbitrary.databases?..The.auth |
| bae0 | 6f 72 20 6f 66 20 45 6d 61 63 53 51 4c 20 5b 74 68 69 6e 6b 73 5d 5b 6d 69 73 74 61 6b 65 5d 20 | or.of.EmacSQL.[thinks][mistake]. |
| bb00 | 74 68 61 74 20 69 74 20 77 61 73 20 70 72 6f 62 61 62 6c 79 20 61 0a 64 65 73 69 67 6e 20 6d 69 | that.it.was.probably.a.design.mi |
| bb20 | 73 74 61 6b 65 20 74 6f 20 72 65 73 74 72 69 63 74 20 69 74 20 74 6f 20 45 6d 61 63 73 20 62 79 | stake.to.restrict.it.to.Emacs.by |
| bb40 | 20 73 74 6f 72 69 6e 67 20 6f 6e 6c 79 20 70 72 69 6e 74 65 64 20 76 61 6c 75 65 73 2c 0a 61 6e | .storing.only.printed.values,.an |
| bb60 | 64 20 74 68 61 74 20 69 74 20 77 6f 75 6c 64 20 62 65 20 61 20 6c 6f 74 20 6d 6f 72 65 20 75 73 | d.that.it.would.be.a.lot.more.us |
| bb80 | 65 66 75 6c 20 69 66 20 69 74 20 6a 75 73 74 20 68 61 6e 64 6c 65 64 20 70 72 69 6d 69 74 69 76 | eful.if.it.just.handled.primitiv |
| bba0 | 65 0a 64 61 74 61 62 61 73 65 20 74 79 70 65 73 2e 0a 0a 48 6f 77 65 76 65 72 2c 20 45 6d 61 63 | e.database.types...However,.Emac |
| bbc0 | 53 51 4c 20 69 73 20 69 6e 20 6d 61 69 6e 74 65 6e 61 6e 63 65 20 6d 6f 64 65 20 61 6e 64 20 74 | SQL.is.in.maintenance.mode.and.t |
| bbe0 | 68 65 72 65 20 61 72 65 20 6e 6f 20 70 6c 61 6e 73 20 74 6f 0a 6d 61 6b 65 20 61 6e 79 20 66 75 | here.are.no.plans.to.make.any.fu |
| bc00 | 6e 64 61 6d 65 6e 74 61 6c 20 63 68 61 6e 67 65 73 2c 20 6e 6f 74 20 6c 65 61 73 74 20 62 65 63 | ndamental.changes,.not.least.bec |
| bc20 | 61 75 73 65 20 74 68 65 79 20 77 6f 75 6c 64 20 62 72 65 61 6b 20 61 6c 6c 0a 65 78 69 73 74 69 | ause.they.would.break.all.existi |
| bc40 | 6e 67 20 70 61 63 6b 61 67 65 73 20 61 6e 64 20 64 61 74 61 62 61 73 65 73 20 74 68 61 74 20 72 | ng.packages.and.databases.that.r |
| bc60 | 65 6c 79 20 6f 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 45 6d 61 63 53 51 4c 0a 62 65 68 61 76 | ely.on.the.current.EmacSQL.behav |
| bc80 | 69 6f 72 2e 0a 0a 23 23 23 20 57 69 6e 64 6f 77 73 20 49 73 73 75 65 73 0a 0a 45 6d 61 63 73 20 | ior...###.Windows.Issues..Emacs. |
| bca0 | 60 73 74 61 72 74 2d 70 72 6f 63 65 73 73 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 60 20 66 75 | `start-process-shell-command`.fu |
| bcc0 | 6e 63 74 69 6f 6e 20 69 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 65 64 20 6f 6e 0a 57 69 6e 64 6f | nction.is.not.supported.on.Windo |
| bce0 | 77 73 2e 20 53 69 6e 63 65 20 62 6f 74 68 20 60 65 6d 61 63 73 71 6c 2d 6d 79 73 71 6c 60 20 61 | ws..Since.both.`emacsql-mysql`.a |
| bd00 | 6e 64 20 60 65 6d 61 63 73 71 6c 2d 70 73 71 6c 60 20 72 65 6c 79 20 6f 6e 20 74 68 69 73 0a 66 | nd.`emacsql-psql`.rely.on.this.f |
| bd20 | 75 6e 63 74 69 6f 6e 2c 20 6e 65 69 74 68 65 72 20 6f 66 20 74 68 65 73 65 20 63 6f 6e 6e 65 63 | unction,.neither.of.these.connec |
| bd40 | 74 69 6f 6e 20 74 79 70 65 73 20 61 72 65 20 73 75 70 70 6f 72 74 65 64 20 6f 6e 20 57 69 6e 64 | tion.types.are.supported.on.Wind |
| bd60 | 6f 77 73 2e 0a 0a 23 23 20 45 78 61 6d 70 6c 65 20 55 73 61 67 65 0a 0a 60 60 60 65 6c 0a 28 64 | ows...##.Example.Usage..```el.(d |
| bd80 | 65 66 76 61 72 20 64 62 20 28 65 6d 61 63 73 71 6c 2d 73 71 6c 69 74 65 2d 6f 70 65 6e 20 22 7e | efvar.db.(emacsql-sqlite-open."~ |
| bda0 | 2f 63 6f 6d 70 61 6e 79 2e 64 62 22 29 29 0a 0a 3b 3b 20 43 72 65 61 74 65 20 61 20 74 61 62 6c | /company.db"))..;;.Create.a.tabl |
| bdc0 | 65 2e 20 54 61 62 6c 65 20 61 6e 64 20 63 6f 6c 75 6d 6e 20 69 64 65 6e 74 69 66 69 65 72 73 20 | e..Table.and.column.identifiers. |
| bde0 | 61 72 65 20 73 79 6d 62 6f 6c 73 2e 0a 28 65 6d 61 63 73 71 6c 20 64 62 20 5b 3a 63 72 65 61 74 | are.symbols..(emacsql.db.[:creat |
| be00 | 65 2d 74 61 62 6c 65 20 70 65 6f 70 6c 65 20 28 5b 6e 61 6d 65 20 69 64 20 73 61 6c 61 72 79 5d | e-table.people.([name.id.salary] |
| be20 | 29 5d 29 0a 0a 3b 3b 20 4f 72 20 6f 70 74 69 6f 6e 61 6c 6c 79 20 70 72 6f 76 69 64 65 20 63 6f | )])..;;.Or.optionally.provide.co |
| be40 | 6c 75 6d 6e 20 63 6f 6e 73 74 72 61 69 6e 74 73 2e 0a 28 65 6d 61 63 73 71 6c 20 64 62 20 5b 3a | lumn.constraints..(emacsql.db.[: |
| be60 | 63 72 65 61 74 65 2d 74 61 62 6c 65 20 70 65 6f 70 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 | create-table.people............. |
| be80 | 20 28 5b 6e 61 6d 65 20 28 69 64 20 69 6e 74 65 67 65 72 20 3a 70 72 69 6d 61 72 79 2d 6b 65 79 | .([name.(id.integer.:primary-key |
| bea0 | 29 20 28 73 61 6c 61 72 79 20 66 6c 6f 61 74 29 5d 29 5d 29 0a 0a 3b 3b 20 49 6e 73 65 72 74 20 | ).(salary.float)])])..;;.Insert. |
| bec0 | 73 6f 6d 65 20 64 61 74 61 3a 0a 28 65 6d 61 63 73 71 6c 20 64 62 20 5b 3a 69 6e 73 65 72 74 20 | some.data:.(emacsql.db.[:insert. |
| bee0 | 3a 69 6e 74 6f 20 70 65 6f 70 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 76 61 6c 75 65 | :into.people..............:value |
| bf00 | 73 20 28 5b 22 4a 65 66 66 22 20 31 30 30 30 20 36 30 30 30 30 2e 30 5d 20 5b 22 53 75 73 61 6e | s.(["Jeff".1000.60000.0].["Susan |
| bf20 | 22 20 31 30 30 31 20 36 34 30 30 30 2e 30 5d 29 5d 29 0a 0a 3b 3b 20 51 75 65 72 79 20 74 68 65 | ".1001.64000.0])])..;;.Query.the |
| bf40 | 20 64 61 74 61 62 61 73 65 20 66 6f 72 20 72 65 73 75 6c 74 73 3a 0a 28 65 6d 61 63 73 71 6c 20 | .database.for.results:.(emacsql. |
| bf60 | 64 62 20 5b 3a 73 65 6c 65 63 74 20 5b 6e 61 6d 65 20 69 64 5d 0a 20 20 20 20 20 20 20 20 20 20 | db.[:select.[name.id]........... |
| bf80 | 20 20 20 3a 66 72 6f 6d 20 70 65 6f 70 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 77 68 | ...:from.people..............:wh |
| bfa0 | 65 72 65 20 28 3e 20 73 61 6c 61 72 79 20 36 32 30 30 30 29 5d 29 0a 3b 3b 20 3d 3e 20 28 28 22 | ere.(>.salary.62000)]).;;.=>.((" |
| bfc0 | 53 75 73 61 6e 22 20 31 30 30 31 29 29 0a 0a 3b 3b 20 51 75 65 72 69 65 73 20 63 61 6e 20 62 65 | Susan".1001))..;;.Queries.can.be |
| bfe0 | 20 74 65 6d 70 6c 61 74 65 73 2c 20 75 73 69 6e 67 20 24 31 2c 20 24 32 2c 20 65 74 63 2e 3a 0a | .templates,.using.$1,.$2,.etc.:. |
| c000 | 28 65 6d 61 63 73 71 6c 20 64 62 20 5b 3a 73 65 6c 65 63 74 20 5b 6e 61 6d 65 20 69 64 5d 0a 20 | (emacsql.db.[:select.[name.id].. |
| c020 | 20 20 20 20 20 20 20 20 20 20 20 20 3a 66 72 6f 6d 20 70 65 6f 70 6c 65 0a 20 20 20 20 20 20 20 | ............:from.people........ |
| c040 | 20 20 20 20 20 20 3a 77 68 65 72 65 20 28 3e 20 73 61 6c 61 72 79 20 24 73 31 29 5d 0a 20 20 20 | ......:where.(>.salary.$s1)].... |
| c060 | 20 20 20 20 20 20 35 30 30 30 30 29 0a 3b 3b 20 3d 3e 20 28 28 22 4a 65 66 66 22 20 31 30 30 30 | ......50000).;;.=>.(("Jeff".1000 |
| c080 | 29 20 28 22 53 75 73 61 6e 22 20 31 30 30 31 29 29 0a 60 60 60 0a 0a 57 68 65 6e 20 65 64 69 74 | ).("Susan".1001)).```..When.edit |
| c0a0 | 69 6e 67 20 74 68 65 73 65 20 70 72 65 70 61 72 65 64 20 53 51 4c 20 73 2d 65 78 70 72 65 73 73 | ing.these.prepared.SQL.s-express |
| c0c0 | 69 6f 6e 20 73 74 61 74 65 6d 65 6e 74 73 2c 20 74 68 65 20 60 4d 2d 78 0a 65 6d 61 63 73 71 6c | ion.statements,.the.`M-x.emacsql |
| c0e0 | 2d 73 68 6f 77 2d 6c 61 73 74 2d 73 71 6c 60 20 63 6f 6d 6d 61 6e 64 20 28 74 68 69 6e 6b 20 60 | -show-last-sql`.command.(think.` |
| c100 | 65 76 61 6c 2d 6c 61 73 74 2d 73 65 78 70 60 29 20 69 73 20 75 73 65 66 75 6c 20 66 6f 72 0a 73 | eval-last-sexp`).is.useful.for.s |
| c120 | 65 65 69 6e 67 20 77 68 61 74 20 74 68 65 20 61 63 74 75 61 6c 20 53 51 4c 20 65 78 70 72 65 73 | eeing.what.the.actual.SQL.expres |
| c140 | 73 69 6f 6e 20 77 69 6c 6c 20 62 65 63 6f 6d 65 20 77 68 65 6e 20 63 6f 6d 70 69 6c 65 64 2e 0a | sion.will.become.when.compiled.. |
| c160 | 0a 23 23 20 53 63 68 65 6d 61 0a 0a 41 20 74 61 62 6c 65 20 73 63 68 65 6d 61 20 69 73 20 61 20 | .##.Schema..A.table.schema.is.a. |
| c180 | 6c 69 73 74 20 77 68 6f 73 65 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 69 73 20 61 20 76 65 | list.whose.first.element.is.a.ve |
| c1a0 | 63 74 6f 72 20 6f 66 20 63 6f 6c 75 6d 6e 0a 73 70 65 63 69 66 69 63 61 74 69 6f 6e 73 2e 20 54 | ctor.of.column.specifications..T |
| c1c0 | 68 65 20 72 65 73 74 20 6f 66 20 74 68 65 20 6c 69 73 74 20 73 70 65 63 69 66 69 65 73 20 74 61 | he.rest.of.the.list.specifies.ta |
| c1e0 | 62 6c 65 20 63 6f 6e 73 74 72 61 69 6e 74 73 2e 20 41 0a 63 6f 6c 75 6d 6e 20 69 64 65 6e 74 69 | ble.constraints..A.column.identi |
| c200 | 66 69 65 72 20 69 73 20 61 20 73 79 6d 62 6f 6c 20 61 6e 64 20 61 20 63 6f 6c 75 6d 6e 27 73 20 | fier.is.a.symbol.and.a.column's. |
| c220 | 73 70 65 63 69 66 69 63 61 74 69 6f 6e 20 63 61 6e 20 65 69 74 68 65 72 0a 62 65 20 6a 75 73 74 | specification.can.either.be.just |
| c240 | 20 74 68 69 73 20 73 79 6d 62 6f 6c 20 6f 72 20 69 74 20 63 61 6e 20 69 6e 63 6c 75 64 65 20 63 | .this.symbol.or.it.can.include.c |
| c260 | 6f 6e 73 74 72 61 69 6e 74 73 20 61 73 20 61 20 6c 69 73 74 2e 20 42 65 63 61 75 73 65 0a 45 6d | onstraints.as.a.list..Because.Em |
| c280 | 61 63 53 51 4c 20 73 74 6f 72 65 73 20 65 6e 74 69 72 65 20 6c 69 73 70 20 6f 62 6a 65 63 74 73 | acSQL.stores.entire.lisp.objects |
| c2a0 | 20 61 73 20 76 61 6c 75 65 73 2c 20 74 68 65 20 6f 6e 6c 79 20 72 65 6c 65 76 61 6e 74 20 28 61 | .as.values,.the.only.relevant.(a |
| c2c0 | 6e 64 0a 61 6c 6c 6f 77 65 64 29 20 74 79 70 65 73 20 61 72 65 20 60 69 6e 74 65 67 65 72 60 2c | nd.allowed).types.are.`integer`, |
| c2e0 | 20 60 66 6c 6f 61 74 60 2c 20 61 6e 64 20 60 6f 62 6a 65 63 74 60 20 28 64 65 66 61 75 6c 74 29 | .`float`,.and.`object`.(default) |
| c300 | 2e 0a 0a 20 20 20 20 28 5b 28 3c 63 6f 6c 75 6d 6e 3e 29 20 2e 2e 2e 5d 20 28 3c 74 61 62 6c 65 | .......([(<column>)....].(<table |
| c320 | 2d 63 6f 6e 73 74 72 61 69 6e 74 3e 20 2e 2e 2e 29 20 2e 2e 2e 5d 29 0a 0a 44 61 73 68 65 73 20 | -constraint>....)....])..Dashes. |
| c340 | 69 6e 20 69 64 65 6e 74 69 66 69 65 72 73 20 61 72 65 20 63 6f 6e 76 65 72 74 65 64 20 69 6e 74 | in.identifiers.are.converted.int |
| c360 | 6f 20 75 6e 64 65 72 73 63 6f 72 65 73 20 77 68 65 6e 20 63 6f 6d 70 69 6c 65 64 0a 69 6e 74 6f | o.underscores.when.compiled.into |
| c380 | 20 53 51 4c 2e 20 54 68 69 73 20 61 6c 6c 6f 77 73 20 66 6f 72 20 6c 69 73 70 2d 73 74 79 6c 65 | .SQL..This.allows.for.lisp-style |
| c3a0 | 20 69 64 65 6e 74 69 66 69 65 72 73 20 74 6f 20 62 65 20 75 73 65 64 20 69 6e 20 53 51 4c 2e 0a | .identifiers.to.be.used.in.SQL.. |
| c3c0 | 43 6f 6e 73 74 72 61 69 6e 74 73 20 66 6f 6c 6c 6f 77 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 | Constraints.follow.the.compilati |
| c3e0 | 6f 6e 20 72 75 6c 65 73 20 62 65 6c 6f 77 2e 0a 0a 60 60 60 65 6c 0a 3b 3b 20 4e 6f 20 63 6f 6e | on.rules.below...```el.;;.No.con |
| c400 | 73 74 72 61 69 6e 74 73 20 73 63 68 65 6d 61 20 77 69 74 68 20 66 6f 75 72 20 63 6f 6c 75 6d 6e | straints.schema.with.four.column |
| c420 | 73 3a 0a 28 5b 6e 61 6d 65 20 69 64 20 62 75 69 6c 64 69 6e 67 20 72 6f 6f 6d 5d 29 0a 0a 3b 3b | s:.([name.id.building.room])..;; |
| c440 | 20 41 64 64 20 73 6f 6d 65 20 63 6f 6c 75 6d 6e 20 63 6f 6e 73 74 72 61 69 6e 74 73 3a 0a 28 5b | .Add.some.column.constraints:.([ |
| c460 | 28 6e 61 6d 65 20 3a 75 6e 69 71 75 65 29 20 28 69 64 20 69 6e 74 65 67 65 72 20 3a 70 72 69 6d | (name.:unique).(id.integer.:prim |
| c480 | 61 72 79 2d 6b 65 79 29 20 62 75 69 6c 64 69 6e 67 20 72 6f 6f 6d 5d 29 0a 0a 3b 3b 20 41 64 64 | ary-key).building.room])..;;.Add |
| c4a0 | 20 73 6f 6d 65 20 74 61 62 6c 65 20 63 6f 6e 73 74 72 61 69 6e 74 73 3a 0a 28 5b 28 6e 61 6d 65 | .some.table.constraints:.([(name |
| c4c0 | 20 3a 75 6e 69 71 75 65 29 20 28 69 64 20 69 6e 74 65 67 65 72 20 3a 70 72 69 6d 61 72 79 2d 6b | .:unique).(id.integer.:primary-k |
| c4e0 | 65 79 29 20 62 75 69 6c 64 69 6e 67 20 72 6f 6f 6d 5d 0a 20 28 3a 75 6e 69 71 75 65 20 5b 62 75 | ey).building.room]..(:unique.[bu |
| c500 | 69 6c 64 69 6e 67 20 72 6f 6f 6d 5d 29 0a 20 28 3a 63 68 65 63 6b 20 28 3e 20 69 64 20 30 29 29 | ilding.room])..(:check.(>.id.0)) |
| c520 | 29 0a 60 60 60 0a 0a 48 65 72 65 27 73 20 61 6e 20 65 78 61 6d 70 6c 65 20 75 73 69 6e 67 20 66 | ).```..Here's.an.example.using.f |
| c540 | 6f 72 65 69 67 6e 20 6b 65 79 73 2e 0a 0a 60 60 60 65 6c 0a 3b 3b 20 22 73 75 62 6a 65 63 74 73 | oreign.keys...```el.;;."subjects |
| c560 | 22 20 74 61 62 6c 65 20 73 63 68 65 6d 61 0a 28 5b 28 69 64 20 69 6e 74 65 67 65 72 20 3a 70 72 | ".table.schema.([(id.integer.:pr |
| c580 | 69 6d 61 72 79 2d 6b 65 79 29 20 73 75 62 6a 65 63 74 5d 29 0a 0a 3b 3b 20 22 74 61 67 22 20 74 | imary-key).subject])..;;."tag".t |
| c5a0 | 61 62 6c 65 20 72 65 66 65 72 65 6e 63 65 73 20 73 75 62 6a 65 63 74 73 0a 28 5b 28 73 75 62 6a | able.references.subjects.([(subj |
| c5c0 | 65 63 74 2d 69 64 20 69 6e 74 65 67 65 72 29 20 74 61 67 5d 0a 20 28 3a 66 6f 72 65 69 67 6e 2d | ect-id.integer).tag]..(:foreign- |
| c5e0 | 6b 65 79 20 5b 73 75 62 6a 65 63 74 2d 69 64 5d 20 3a 72 65 66 65 72 65 6e 63 65 73 20 73 75 62 | key.[subject-id].:references.sub |
| c600 | 6a 65 63 74 73 20 5b 69 64 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6f 6e 2d 64 65 | jects.[id]................:on-de |
| c620 | 6c 65 74 65 20 3a 63 61 73 63 61 64 65 29 29 0a 60 60 60 0a 0a 46 6f 72 65 69 67 6e 20 6b 65 79 | lete.:cascade)).```..Foreign.key |
| c640 | 20 63 6f 6e 73 74 72 61 69 6e 74 73 20 61 72 65 20 65 6e 61 62 6c 65 64 20 62 79 20 64 65 66 61 | .constraints.are.enabled.by.defa |
| c660 | 75 6c 74 20 69 6e 20 45 6d 61 63 53 51 4c 2e 0a 0a 23 23 20 4f 70 65 72 61 74 6f 72 73 0a 0a 45 | ult.in.EmacSQL...##.Operators..E |
| c680 | 78 70 72 65 73 73 69 6f 6e 73 20 61 72 65 20 77 72 69 74 74 65 6e 20 6c 69 73 70 2d 73 74 79 6c | xpressions.are.written.lisp-styl |
| c6a0 | 65 2c 20 77 69 74 68 20 74 68 65 20 6f 70 65 72 61 74 6f 72 20 66 69 72 73 74 2e 20 49 66 20 69 | e,.with.the.operator.first..If.i |
| c6c0 | 74 0a 6c 6f 6f 6b 73 20 6c 69 6b 65 20 61 6e 20 6f 70 65 72 61 74 6f 72 20 45 6d 61 63 53 51 4c | t.looks.like.an.operator.EmacSQL |
| c6e0 | 20 74 72 65 61 74 73 20 69 74 20 6c 69 6b 65 20 61 6e 20 6f 70 65 72 61 74 6f 72 2e 20 48 6f 77 | .treats.it.like.an.operator..How |
| c700 | 65 76 65 72 2c 0a 73 65 76 65 72 61 6c 20 6f 70 65 72 61 74 6f 72 73 20 61 72 65 20 73 70 65 63 | ever,.several.operators.are.spec |
| c720 | 69 61 6c 2e 0a 0a 20 20 20 20 3c 3d 20 20 20 20 3e 3d 20 20 20 20 66 75 6e 63 61 6c 6c 20 20 20 | ial.......<=....>=....funcall... |
| c740 | 20 71 75 6f 74 65 0a 0a 54 68 65 20 60 3c 3d 60 20 61 6e 64 20 60 3e 3d 60 20 6f 70 65 72 61 74 | .quote..The.`<=`.and.`>=`.operat |
| c760 | 6f 72 73 20 61 63 63 65 70 74 20 32 20 6f 72 20 33 20 6f 70 65 72 61 6e 64 73 2c 20 74 72 61 6e | ors.accept.2.or.3.operands,.tran |
| c780 | 73 66 6f 72 6d 69 6e 67 20 69 6e 74 6f 0a 61 20 53 51 4c 20 60 5f 20 42 45 54 57 45 45 4e 20 5f | sforming.into.a.SQL.`_.BETWEEN._ |
| c7a0 | 20 41 4e 44 20 5f 60 20 6f 70 65 72 61 74 6f 72 20 61 73 20 61 70 70 72 6f 70 72 69 61 74 65 2e | .AND._`.operator.as.appropriate. |
| c7c0 | 0a 0a 46 6f 72 20 66 75 6e 63 74 69 6f 6e 2d 6c 69 6b 65 20 22 6f 70 65 72 61 74 6f 72 73 22 20 | ..For.function-like."operators". |
| c7e0 | 6c 69 6b 65 20 60 63 6f 75 6e 74 60 20 61 6e 64 20 60 6d 61 78 60 20 75 73 65 20 74 68 65 20 60 | like.`count`.and.`max`.use.the.` |
| c800 | 66 75 6e 63 61 6c 6c 60 0a 22 6f 70 65 72 61 74 6f 72 2e 22 0a 0a 60 60 60 65 6c 0a 5b 3a 73 65 | funcall`."operator."..```el.[:se |
| c820 | 6c 65 63 74 20 28 66 75 6e 63 61 6c 6c 20 6d 61 78 20 61 67 65 29 20 3a 66 72 6f 6d 20 70 65 6f | lect.(funcall.max.age).:from.peo |
| c840 | 70 6c 65 5d 0a 60 60 60 0a 0a 57 69 74 68 20 60 67 6c 6f 62 60 20 61 6e 64 20 60 6c 69 6b 65 60 | ple].```..With.`glob`.and.`like` |
| c860 | 20 53 51 4c 20 6f 70 65 72 61 74 6f 72 73 20 6b 65 65 70 20 69 6e 20 6d 69 6e 64 20 74 68 61 74 | .SQL.operators.keep.in.mind.that |
| c880 | 20 74 68 65 79 27 72 65 0a 6d 61 74 63 68 69 6e 67 20 74 68 65 20 2a 70 72 69 6e 74 65 64 2a 20 | .they're.matching.the.*printed*. |
| c8a0 | 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 73 20 6f 66 20 74 68 65 73 65 20 76 61 6c 75 65 73 2c | representations.of.these.values, |
| c8c0 | 20 65 76 65 6e 20 69 66 20 74 68 65 0a 76 61 6c 75 65 20 69 73 20 61 20 73 74 72 69 6e 67 2e 0a | .even.if.the.value.is.a.string.. |
| c8e0 | 0a 54 68 65 20 60 7c 7c 60 20 63 6f 6e 63 61 74 65 6e 61 74 69 6f 6e 20 6f 70 65 72 61 74 6f 72 | .The.`||`.concatenation.operator |
| c900 | 20 69 73 20 75 6e 73 75 70 70 6f 72 74 65 64 20 62 65 63 61 75 73 65 20 63 6f 6e 63 61 74 65 6e | .is.unsupported.because.concaten |
| c920 | 61 74 69 6e 67 0a 70 72 69 6e 74 65 64 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 73 20 62 72 | ating.printed.representations.br |
| c940 | 65 61 6b 73 20 61 6e 20 69 6d 70 6f 72 74 61 6e 74 20 63 6f 6e 73 74 72 61 69 6e 74 3a 20 61 6c | eaks.an.important.constraint:.al |
| c960 | 6c 20 76 61 6c 75 65 73 20 6d 75 73 74 0a 72 65 6d 61 69 6e 20 72 65 61 64 61 62 6c 65 20 77 69 | l.values.must.remain.readable.wi |
| c980 | 74 68 69 6e 20 53 51 4c 69 74 65 2e 0a 0a 23 23 20 51 75 6f 74 69 6e 67 0a 0a 49 6e 73 69 64 65 | thin.SQLite...##.Quoting..Inside |
| c9a0 | 20 65 78 70 72 65 73 73 69 6f 6e 73 2c 20 45 6d 61 63 53 51 4c 20 63 61 6e 6e 6f 74 20 74 65 6c | .expressions,.EmacSQL.cannot.tel |
| c9c0 | 6c 20 74 68 65 20 64 69 66 66 65 72 65 6e 63 65 20 62 65 74 77 65 65 6e 20 73 79 6d 62 6f 6c 0a | l.the.difference.between.symbol. |
| c9e0 | 6c 69 74 65 72 61 6c 73 20 61 6e 64 20 63 6f 6c 75 6d 6e 20 72 65 66 65 72 65 6e 63 65 73 2e 20 | literals.and.column.references.. |
| ca00 | 49 66 20 79 6f 75 27 72 65 20 74 61 6c 6b 69 6e 67 20 61 62 6f 75 74 20 74 68 65 20 73 79 6d 62 | If.you're.talking.about.the.symb |
| ca20 | 6f 6c 0a 69 74 73 65 6c 66 2c 20 6a 75 73 74 20 71 75 6f 74 65 20 69 74 20 61 73 20 79 6f 75 20 | ol.itself,.just.quote.it.as.you. |
| ca40 | 77 6f 75 6c 64 20 69 6e 20 6e 6f 72 6d 61 6c 20 45 6c 69 73 70 2e 20 4e 6f 74 65 20 74 68 61 74 | would.in.normal.Elisp..Note.that |
| ca60 | 20 74 68 69 73 0a 64 6f 65 73 20 6e 6f 74 20 22 65 73 63 61 70 65 22 20 60 24 74 6e 60 20 70 61 | .this.does.not."escape".`$tn`.pa |
| ca80 | 72 61 6d 65 74 65 72 20 73 79 6d 62 6f 6c 73 2e 0a 0a 60 60 60 65 6c 0a 28 65 6d 61 63 73 71 6c | rameter.symbols...```el.(emacsql |
| caa0 | 20 64 62 20 5b 2e 2e 2e 20 3a 77 68 65 72 65 20 28 3d 20 63 61 74 65 67 6f 72 79 20 27 68 69 6b | .db.[....:where.(=.category.'hik |
| cac0 | 69 6e 67 29 5d 29 0a 60 60 60 0a 0a 51 75 6f 74 69 6e 67 20 61 20 73 74 72 69 6e 67 20 6d 61 6b | ing)]).```..Quoting.a.string.mak |
| cae0 | 65 73 20 45 6d 61 63 53 51 4c 20 68 61 6e 64 6c 65 20 69 74 20 61 73 20 61 20 22 72 61 77 20 73 | es.EmacSQL.handle.it.as.a."raw.s |
| cb00 | 74 72 69 6e 67 2e 22 20 54 68 65 73 65 20 72 61 77 0a 73 74 72 69 6e 67 73 20 61 72 65 20 6e 6f | tring.".These.raw.strings.are.no |
| cb20 | 74 20 70 72 69 6e 74 65 64 20 77 68 65 6e 20 62 65 69 6e 67 20 61 73 73 65 6d 62 6c 65 64 20 69 | t.printed.when.being.assembled.i |
| cb40 | 6e 74 6f 20 61 20 71 75 65 72 79 2e 20 54 68 65 73 65 20 61 72 65 0a 69 6e 74 65 6e 64 65 64 20 | nto.a.query..These.are.intended. |
| cb60 | 66 6f 72 20 75 73 65 20 69 6e 20 73 70 65 63 69 61 6c 20 63 69 72 63 75 6d 73 74 61 6e 63 65 73 | for.use.in.special.circumstances |
| cb80 | 20 6c 69 6b 65 20 66 69 6c 65 6e 61 6d 65 73 20 28 60 41 54 54 41 43 48 60 29 20 6f 72 0a 70 61 | .like.filenames.(`ATTACH`).or.pa |
| cba0 | 74 74 65 72 6e 20 6d 61 74 63 68 69 6e 67 20 28 60 4c 49 4b 45 60 29 2e 20 49 74 20 69 73 20 76 | ttern.matching.(`LIKE`)..It.is.v |
| cbc0 | 69 74 61 6c 20 74 68 61 74 20 72 61 77 20 73 74 72 69 6e 67 73 20 61 72 65 20 6e 6f 74 0a 72 65 | ital.that.raw.strings.are.not.re |
| cbe0 | 74 75 72 6e 65 64 20 61 73 20 72 65 73 75 6c 74 73 2e 0a 0a 60 60 60 65 6c 0a 28 65 6d 61 63 73 | turned.as.results...```el.(emacs |
| cc00 | 71 6c 20 64 62 20 5b 2e 2e 2e 20 3a 77 68 65 72 65 20 28 6c 69 6b 65 20 6e 61 6d 65 20 27 22 25 | ql.db.[....:where.(like.name.'"% |
| cc20 | 66 6f 6f 25 22 29 5d 29 0a 28 65 6d 61 63 73 71 6c 20 64 62 20 5b 3a 61 74 74 61 63 68 20 27 22 | foo%")]).(emacsql.db.[:attach.'" |
| cc40 | 2f 70 61 74 68 2f 74 6f 2f 66 6f 6f 2e 64 62 22 20 3a 61 73 20 66 6f 6f 5d 29 0a 60 60 60 0a 0a | /path/to/foo.db".:as.foo]).```.. |
| cc60 | 53 69 6e 63 65 20 74 65 6d 70 6c 61 74 65 20 70 61 72 61 6d 65 74 65 72 73 20 69 6e 63 6c 75 64 | Since.template.parameters.includ |
| cc80 | 65 20 74 68 65 69 72 20 74 79 70 65 20 74 68 65 79 20 6e 65 76 65 72 20 6e 65 65 64 20 74 6f 20 | e.their.type.they.never.need.to. |
| cca0 | 62 65 0a 71 75 6f 74 65 64 2e 0a 0a 23 23 20 50 72 65 70 61 72 65 64 20 53 74 61 74 65 6d 65 6e | be.quoted...##.Prepared.Statemen |
| ccc0 | 74 73 0a 0a 54 68 65 20 64 61 74 61 62 61 73 65 20 69 73 20 69 6e 74 65 72 61 63 74 65 64 20 77 | ts..The.database.is.interacted.w |
| cce0 | 69 74 68 20 76 69 61 20 70 72 65 70 61 72 65 64 20 53 51 4c 20 73 2d 65 78 70 72 65 73 73 69 6f | ith.via.prepared.SQL.s-expressio |
| cd00 | 6e 0a 73 74 61 74 65 6d 65 6e 74 73 2e 20 59 6f 75 20 73 68 6f 75 6c 64 6e 27 74 20 6e 6f 72 6d | n.statements..You.shouldn't.norm |
| cd20 | 61 6c 6c 79 20 62 65 20 63 6f 6e 63 61 74 65 6e 61 74 69 6e 67 20 73 74 72 69 6e 67 73 20 6f 6e | ally.be.concatenating.strings.on |
| cd40 | 20 79 6f 75 72 0a 6f 77 6e 2e 20 28 41 6e 64 20 69 74 20 6c 65 61 76 65 73 20 6f 75 74 20 61 6e | .your.own..(And.it.leaves.out.an |
| cd60 | 79 20 70 6f 73 73 69 62 69 6c 69 74 79 20 6f 66 20 61 20 53 51 4c 20 69 6e 6a 65 63 74 69 6f 6e | y.possibility.of.a.SQL.injection |
| cd80 | 21 29 20 53 65 65 20 74 68 65 0a 22 55 73 61 67 65 22 20 73 65 63 74 69 6f 6e 20 61 62 6f 76 65 | !).See.the."Usage".section.above |
| cda0 | 20 66 6f 72 20 65 78 61 6d 70 6c 65 73 2e 20 41 20 73 74 61 74 65 6d 65 6e 74 20 69 73 20 61 20 | .for.examples..A.statement.is.a. |
| cdc0 | 76 65 63 74 6f 72 20 6f 66 0a 6b 65 79 77 6f 72 64 73 20 61 6e 64 20 6f 74 68 65 72 20 6c 69 73 | vector.of.keywords.and.other.lis |
| cde0 | 70 20 6f 62 6a 65 63 74 2e 0a 0a 50 72 65 70 61 72 65 64 20 45 6d 61 63 53 51 4c 20 73 2d 65 78 | p.object...Prepared.EmacSQL.s-ex |
| ce00 | 70 72 65 73 73 69 6f 6e 20 73 74 61 74 65 6d 65 6e 74 73 20 61 72 65 20 63 6f 6d 70 69 6c 65 64 | pression.statements.are.compiled |
| ce20 | 20 69 6e 74 6f 20 53 51 4c 0a 73 74 61 74 65 6d 65 6e 74 73 2e 20 54 68 65 20 73 74 61 74 65 6d | .into.SQL.statements..The.statem |
| ce40 | 65 6e 74 20 63 6f 6d 70 69 6c 65 72 20 69 73 20 6d 65 6d 6f 72 69 7a 65 64 20 73 6f 20 74 68 61 | ent.compiler.is.memorized.so.tha |
| ce60 | 74 20 75 73 69 6e 67 20 74 68 65 20 73 61 6d 65 0a 73 74 61 74 65 6d 65 6e 74 20 6d 75 6c 74 69 | t.using.the.same.statement.multi |
| ce80 | 70 6c 65 20 74 69 6d 65 73 20 69 73 20 66 61 73 74 2e 20 54 6f 20 61 73 73 69 73 74 20 69 6e 20 | ple.times.is.fast..To.assist.in. |
| cea0 | 74 68 69 73 2c 20 74 68 65 20 73 74 61 74 65 6d 65 6e 74 20 63 61 6e 0a 61 63 74 20 61 73 20 61 | this,.the.statement.can.act.as.a |
| cec0 | 20 74 65 6d 70 6c 61 74 65 20 2d 2d 20 75 73 69 6e 67 20 60 24 69 31 60 2c 20 60 24 73 32 60 2c | .template.--.using.`$i1`,.`$s2`, |
| cee0 | 20 65 74 63 2e 20 2d 2d 20 77 6f 72 6b 69 6e 67 20 6c 69 6b 65 20 74 68 65 0a 45 6c 69 73 70 20 | .etc..--.working.like.the.Elisp. |
| cf00 | 60 66 6f 72 6d 61 74 60 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 23 23 23 20 43 6f 6d 70 69 6c 61 74 | `format`.function...###.Compilat |
| cf20 | 69 6f 6e 20 52 75 6c 65 73 0a 0a 52 61 74 68 65 72 20 74 68 61 6e 20 74 68 65 20 74 79 70 69 63 | ion.Rules..Rather.than.the.typic |
| cf40 | 61 6c 20 75 70 70 65 72 63 61 73 65 20 53 51 4c 20 6b 65 79 77 6f 72 64 73 2c 20 6b 65 79 77 6f | al.uppercase.SQL.keywords,.keywo |
| cf60 | 72 64 73 20 69 6e 20 61 20 70 72 65 70 61 72 65 64 0a 45 6d 61 63 53 51 4c 20 73 74 61 74 65 6d | rds.in.a.prepared.EmacSQL.statem |
| cf80 | 65 6e 74 20 61 72 65 20 6c 69 74 65 72 61 6c 6c 79 20 6a 75 73 74 20 74 68 61 74 3a 20 6c 69 73 | ent.are.literally.just.that:.lis |
| cfa0 | 70 20 6b 65 79 77 6f 72 64 73 2e 20 45 6d 61 63 53 51 4c 20 6f 6e 6c 79 0a 75 6e 64 65 72 73 74 | p.keywords..EmacSQL.only.underst |
| cfc0 | 61 6e 64 73 20 61 20 76 65 72 79 20 73 6d 61 6c 6c 20 61 6d 6f 75 6e 74 20 6f 66 20 53 51 4c 27 | ands.a.very.small.amount.of.SQL' |
| cfe0 | 73 20 73 79 6e 74 61 78 2e 20 54 68 65 20 63 6f 6d 70 69 6c 65 72 20 66 6f 6c 6c 6f 77 73 0a 73 | s.syntax..The.compiler.follows.s |
| d000 | 6f 6d 65 20 73 69 6d 70 6c 65 20 72 75 6c 65 73 20 74 6f 20 63 6f 6e 76 65 72 74 20 61 6e 20 73 | ome.simple.rules.to.convert.an.s |
| d020 | 2d 65 78 70 72 65 73 73 69 6f 6e 20 69 6e 74 6f 20 53 51 4c 2e 0a 0a 23 23 23 23 20 41 6c 6c 20 | -expression.into.SQL...####.All. |
| d040 | 70 72 65 70 61 72 65 64 20 73 74 61 74 65 6d 65 6e 74 73 20 61 72 65 20 76 65 63 74 6f 72 73 2e | prepared.statements.are.vectors. |
| d060 | 0a 0a 41 20 70 72 65 70 61 72 65 64 20 73 2d 65 78 70 72 65 73 73 69 6f 6e 20 73 74 61 74 65 6d | ..A.prepared.s-expression.statem |
| d080 | 65 6e 74 20 69 73 20 61 20 76 65 63 74 6f 72 20 62 65 67 69 6e 6e 69 6e 67 20 77 69 74 68 20 61 | ent.is.a.vector.beginning.with.a |
| d0a0 | 20 6b 65 79 77 6f 72 64 0a 66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 20 73 65 72 69 65 73 20 6f 66 | .keyword.followed.by.a.series.of |
| d0c0 | 20 6b 65 79 77 6f 72 64 73 20 61 6e 64 20 73 70 65 63 69 61 6c 20 76 61 6c 75 65 73 2e 20 54 68 | .keywords.and.special.values..Th |
| d0e0 | 69 73 20 69 6e 63 6c 75 64 65 73 0a 6d 6f 73 74 20 6b 69 6e 64 73 20 6f 66 20 73 75 62 2d 71 75 | is.includes.most.kinds.of.sub-qu |
| d100 | 65 72 69 65 73 2e 0a 0a 60 60 60 65 6c 0a 5b 3a 73 65 6c 65 63 74 20 2e 2e 2e 20 3a 66 72 6f 6d | eries...```el.[:select.....:from |
| d120 | 20 2e 2e 2e 5d 0a 5b 3a 73 65 6c 65 63 74 20 74 61 67 20 3a 66 72 6f 6d 20 74 61 67 73 0a 20 3a | ....].[:select.tag.:from.tags..: |
| d140 | 77 68 65 72 65 20 28 69 6e 20 74 61 67 20 5b 3a 73 65 6c 65 63 74 20 2e 2e 2e 5d 29 5d 0a 60 60 | where.(in.tag.[:select....])].`` |
| d160 | 60 0a 0a 23 23 23 23 20 4b 65 79 77 6f 72 64 73 20 61 72 65 20 73 70 6c 69 74 20 61 6e 64 20 63 | `..####.Keywords.are.split.and.c |
| d180 | 61 70 69 74 61 6c 69 7a 65 64 2e 0a 0a 44 61 73 68 65 73 20 61 72 65 20 63 6f 6e 76 65 72 74 65 | apitalized...Dashes.are.converte |
| d1a0 | 64 20 69 6e 74 6f 20 73 70 61 63 65 73 20 61 6e 64 20 74 68 65 20 6b 65 79 77 6f 72 64 20 67 65 | d.into.spaces.and.the.keyword.ge |
| d1c0 | 74 73 20 63 61 70 69 74 61 6c 69 7a 65 64 2e 20 46 6f 72 0a 65 78 61 6d 70 6c 65 2c 20 60 3a 69 | ts.capitalized..For.example,.`:i |
| d1e0 | 66 2d 6e 6f 74 2d 65 78 69 73 74 73 60 20 62 65 63 6f 6d 65 73 20 60 49 46 20 4e 4f 54 20 45 58 | f-not-exists`.becomes.`IF.NOT.EX |
| d200 | 49 53 54 53 60 2e 20 48 6f 77 20 79 6f 75 20 63 68 6f 6f 73 65 20 74 6f 0a 63 6f 6d 62 69 6e 65 | ISTS`..How.you.choose.to.combine |
| d220 | 20 6b 65 79 77 6f 72 64 73 20 69 73 20 75 70 20 74 6f 20 79 6f 75 72 20 70 65 72 73 6f 6e 61 6c | .keywords.is.up.to.your.personal |
| d240 | 20 74 61 73 74 65 20 28 65 2e 67 2e 2c 20 60 3a 64 72 6f 70 20 3a 74 61 62 6c 65 60 20 76 73 2e | .taste.(e.g.,.`:drop.:table`.vs. |
| d260 | 0a 60 3a 64 72 6f 70 2d 74 61 62 6c 65 60 29 2e 0a 0a 23 23 23 23 20 53 74 61 6e 64 61 6c 6f 6e | .`:drop-table`)...####.Standalon |
| d280 | 65 20 73 79 6d 62 6f 6c 73 20 61 72 65 20 69 64 65 6e 74 69 66 69 65 72 73 2e 0a 0a 45 6d 61 63 | e.symbols.are.identifiers...Emac |
| d2a0 | 53 51 4c 20 64 6f 65 73 6e 27 74 20 6b 6e 6f 77 20 77 68 61 74 20 73 79 6d 62 6f 6c 73 20 72 65 | SQL.doesn't.know.what.symbols.re |
| d2c0 | 66 65 72 20 74 6f 20 69 64 65 6e 74 69 66 69 65 72 73 20 61 6e 64 20 77 68 61 74 0a 73 79 6d 62 | fer.to.identifiers.and.what.symb |
| d2e0 | 6f 6c 73 20 73 68 6f 75 6c 64 20 62 65 20 74 72 65 61 74 65 64 20 61 73 20 76 61 6c 75 65 73 2e | ols.should.be.treated.as.values. |
| d300 | 20 55 73 65 20 71 75 6f 74 65 73 20 74 6f 20 6d 61 72 6b 20 61 20 73 79 6d 62 6f 6c 20 61 73 20 | .Use.quotes.to.mark.a.symbol.as. |
| d320 | 61 0a 76 61 6c 75 65 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 60 70 65 6f 70 6c 65 60 20 68 | a.value..For.example,.`people`.h |
| d340 | 65 72 65 20 77 69 6c 6c 20 62 65 20 74 72 65 61 74 65 64 20 61 73 20 61 6e 20 69 64 65 6e 74 69 | ere.will.be.treated.as.an.identi |
| d360 | 66 69 65 72 2e 0a 0a 60 60 60 65 6c 0a 5b 3a 69 6e 73 65 72 74 2d 69 6e 74 6f 20 70 65 6f 70 6c | fier...```el.[:insert-into.peopl |
| d380 | 65 20 3a 76 61 6c 75 65 73 20 2e 2e 2e 5d 0a 60 60 60 0a 0a 23 23 23 23 20 52 6f 77 2d 6f 72 69 | e.:values....].```..####.Row-ori |
| d3a0 | 65 6e 74 65 64 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 73 20 61 6c 77 61 79 73 20 72 65 70 72 | ented.information.is.always.repr |
| d3c0 | 65 73 65 6e 74 65 64 20 61 73 20 76 65 63 74 6f 72 73 2e 0a 0a 54 68 69 73 20 69 6e 63 6c 75 64 | esented.as.vectors...This.includ |
| d3e0 | 65 73 20 72 6f 77 73 20 62 65 69 6e 67 20 69 6e 73 65 72 74 65 64 2c 20 61 6e 64 20 73 65 74 73 | es.rows.being.inserted,.and.sets |
| d400 | 20 6f 66 20 63 6f 6c 75 6d 6e 73 20 69 6e 20 61 20 71 75 65 72 79 2e 20 49 66 0a 79 6f 75 27 72 | .of.columns.in.a.query..If.you'r |
| d420 | 65 20 74 61 6c 6b 69 6e 67 20 61 62 6f 75 74 20 61 20 72 6f 77 2d 6c 69 6b 65 20 74 68 69 6e 67 | e.talking.about.a.row-like.thing |
| d440 | 20 74 68 65 6e 20 70 75 74 20 69 74 20 69 6e 20 61 20 76 65 63 74 6f 72 2e 0a 0a 60 60 60 65 6c | .then.put.it.in.a.vector...```el |
| d460 | 0a 5b 3a 73 65 6c 65 63 74 20 5b 69 64 20 6e 61 6d 65 5d 20 3a 66 72 6f 6d 20 70 65 6f 70 6c 65 | .[:select.[id.name].:from.people |
| d480 | 5d 0a 60 60 60 0a 0a 4e 6f 74 65 20 74 68 61 74 20 60 2a 60 20 69 73 20 61 63 74 75 61 6c 6c 79 | ].```..Note.that.`*`.is.actually |
| d4a0 | 20 61 20 53 51 4c 20 6b 65 79 77 6f 72 64 2c 20 73 6f 20 64 6f 6e 27 74 20 70 75 74 20 69 74 20 | .a.SQL.keyword,.so.don't.put.it. |
| d4c0 | 69 6e 20 61 20 76 65 63 74 6f 72 2e 0a 0a 60 60 60 65 6c 0a 5b 3a 73 65 6c 65 63 74 20 2a 20 3a | in.a.vector...```el.[:select.*.: |
| d4e0 | 66 72 6f 6d 20 2e 2e 2e 5d 0a 60 60 60 0a 0a 23 23 23 23 20 4c 69 73 74 73 20 61 72 65 20 74 72 | from....].```..####.Lists.are.tr |
| d500 | 65 61 74 65 64 20 61 73 20 65 78 70 72 65 73 73 69 6f 6e 73 2e 0a 0a 54 68 69 73 20 69 73 20 74 | eated.as.expressions...This.is.t |
| d520 | 72 75 65 20 65 76 65 6e 20 77 69 74 68 69 6e 20 72 6f 77 2d 6f 72 69 65 6e 74 65 64 20 76 65 63 | rue.even.within.row-oriented.vec |
| d540 | 74 6f 72 73 2e 0a 0a 60 60 60 65 6c 0a 5b 2e 2e 2e 20 3a 77 68 65 72 65 20 28 3d 20 6e 61 6d 65 | tors...```el.[....:where.(=.name |
| d560 | 20 22 42 6f 62 22 29 5d 0a 5b 3a 73 65 6c 65 63 74 20 5b 28 2f 20 73 65 63 6f 6e 64 73 20 36 30 | ."Bob")].[:select.[(/.seconds.60 |
| d580 | 29 20 63 6f 75 6e 74 5d 20 3a 66 72 6f 6d 20 2e 2e 2e 5d 0a 60 60 60 0a 0a 53 6f 6d 65 20 74 68 | ).count].:from....].```..Some.th |
| d5a0 | 69 6e 67 73 20 74 68 61 74 20 61 72 65 20 74 72 61 64 69 74 69 6f 6e 61 6c 6c 79 20 6b 65 79 77 | ings.that.are.traditionally.keyw |
| d5c0 | 6f 72 64 73 20 2d 2d 20 70 61 72 74 69 63 75 6c 61 72 6c 79 20 74 68 6f 73 65 20 74 68 61 74 0a | ords.--.particularly.those.that. |
| d5e0 | 61 72 65 20 6d 69 78 65 64 20 69 6e 20 77 69 74 68 20 65 78 70 72 65 73 73 69 6f 6e 73 20 2d 2d | are.mixed.in.with.expressions.-- |
| d600 | 20 68 61 76 65 20 62 65 65 6e 20 63 6f 6e 76 65 72 74 65 64 20 69 6e 74 6f 20 6f 70 65 72 61 74 | .have.been.converted.into.operat |
| d620 | 6f 72 73 0a 28 60 41 53 60 2c 20 60 41 53 43 60 2c 20 60 44 45 53 43 60 29 2e 0a 0a 60 60 60 65 | ors.(`AS`,.`ASC`,.`DESC`)...```e |
| d640 | 6c 0a 5b 2e 2e 2e 20 3a 6f 72 64 65 72 2d 62 79 20 5b 28 61 73 63 20 62 29 2c 20 28 64 65 73 63 | l.[....:order-by.[(asc.b),.(desc |
| d660 | 20 61 29 5d 5d 20 20 20 3b 20 22 4f 52 44 45 52 20 42 59 20 62 20 41 53 43 2c 20 61 20 44 45 53 | .a)]]...;."ORDER.BY.b.ASC,.a.DES |
| d680 | 43 22 0a 5b 3a 73 65 6c 65 63 74 20 70 3a 6e 61 6d 65 20 3a 66 72 6f 6d 20 28 61 73 20 70 65 6f | C".[:select.p:name.:from.(as.peo |
| d6a0 | 70 6c 65 20 70 29 5d 20 20 3b 20 22 53 45 4c 45 43 54 20 70 2e 6e 61 6d 65 20 46 52 4f 4d 20 70 | ple.p)]..;."SELECT.p.name.FROM.p |
| d6c0 | 65 6f 70 6c 65 20 41 53 20 70 22 0a 60 60 60 0a 0a 23 23 23 23 20 54 68 65 20 60 3a 76 61 6c 75 | eople.AS.p".```..####.The.`:valu |
| d6e0 | 65 73 60 20 6b 65 79 77 6f 72 64 20 69 73 20 73 70 65 63 69 61 6c 2e 0a 0a 57 68 61 74 20 66 6f | es`.keyword.is.special...What.fo |
| d700 | 6c 6c 6f 77 73 20 60 3a 76 61 6c 75 65 73 60 20 69 73 20 61 6c 77 61 79 73 20 74 72 65 61 74 65 | llows.`:values`.is.always.treate |
| d720 | 64 20 6c 69 6b 65 20 61 20 76 65 63 74 6f 72 20 6f 72 20 6c 69 73 74 20 6f 66 0a 76 65 63 74 6f | d.like.a.vector.or.list.of.vecto |
| d740 | 72 73 2e 20 4e 6f 72 6d 61 6c 6c 79 20 74 68 69 73 20 73 6f 72 74 20 6f 66 20 74 68 69 6e 67 20 | rs..Normally.this.sort.of.thing. |
| d760 | 77 6f 75 6c 64 20 61 70 70 65 61 72 20 74 6f 20 62 65 20 61 20 63 6f 6c 75 6d 6e 0a 72 65 66 65 | would.appear.to.be.a.column.refe |
| d780 | 72 65 6e 63 65 2e 0a 0a 60 60 60 65 6c 0a 5b 2e 2e 2e 20 3a 76 61 6c 75 65 73 20 5b 31 20 32 20 | rence...```el.[....:values.[1.2. |
| d7a0 | 33 5d 5d 0a 5b 2e 2e 2e 20 3a 76 61 6c 75 65 73 20 28 5b 31 20 32 20 33 5d 20 5b 34 20 35 20 36 | 3]].[....:values.([1.2.3].[4.5.6 |
| d7c0 | 5d 29 5d 20 20 3b 20 69 6e 73 65 72 74 20 6d 75 6c 74 69 70 6c 65 20 72 6f 77 73 0a 60 60 60 0a | ])]..;.insert.multiple.rows.```. |
| d7e0 | 0a 23 23 23 23 20 41 20 6c 69 73 74 20 77 68 6f 73 65 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 | .####.A.list.whose.first.element |
| d800 | 20 69 73 20 61 20 76 65 63 74 6f 72 20 69 73 20 61 20 74 61 62 6c 65 20 73 63 68 65 6d 61 2e 0a | .is.a.vector.is.a.table.schema.. |
| d820 | 0a 54 68 69 73 20 69 73 20 74 6f 20 64 69 73 74 69 6e 67 75 69 73 68 20 73 63 68 65 6d 61 74 61 | .This.is.to.distinguish.schemata |
| d840 | 20 66 72 6f 6d 20 65 76 65 72 79 74 68 69 6e 67 20 65 6c 73 65 2e 20 57 69 74 68 20 74 68 65 0a | .from.everything.else..With.the. |
| d860 | 65 78 63 65 70 74 69 6f 6e 20 6f 66 20 77 68 61 74 20 66 6f 6c 6c 6f 77 73 20 60 3a 76 61 6c 75 | exception.of.what.follows.`:valu |
| d880 | 65 73 60 2c 20 6e 6f 74 68 69 6e 67 20 65 6c 73 65 20 69 73 20 73 68 61 70 65 64 20 6c 69 6b 65 | es`,.nothing.else.is.shaped.like |
| d8a0 | 20 74 68 69 73 2e 0a 0a 60 60 60 65 6c 0a 5b 3a 63 72 65 61 74 65 2d 74 61 62 6c 65 20 70 65 6f | .this...```el.[:create-table.peo |
| d8c0 | 70 6c 65 20 28 5b 28 69 64 20 3a 70 72 69 6d 61 72 79 2d 6b 65 79 29 20 6e 61 6d 65 5d 29 5d 0a | ple.([(id.:primary-key).name])]. |
| d8e0 | 60 60 60 0a 0a 23 23 23 20 54 65 6d 70 6c 61 74 65 73 0a 0a 54 6f 20 6d 61 6b 65 20 73 74 61 74 | ```..###.Templates..To.make.stat |
| d900 | 65 6d 65 6e 74 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 66 61 73 74 65 72 2c 20 61 6e 64 20 74 6f | ement.compilation.faster,.and.to |
| d920 | 20 61 76 6f 69 64 20 6d 61 6b 69 6e 67 20 79 6f 75 20 62 75 69 6c 64 20 75 70 0a 73 74 61 74 65 | .avoid.making.you.build.up.state |
| d940 | 6d 65 6e 74 73 20 64 79 6e 61 6d 69 63 61 6c 6c 79 2c 20 79 6f 75 20 63 61 6e 20 69 6e 73 65 72 | ments.dynamically,.you.can.inser |
| d960 | 74 20 60 24 74 6e 60 20 70 61 72 61 6d 65 74 65 72 73 20 69 6e 20 70 6c 61 63 65 20 6f 66 0a 69 | t.`$tn`.parameters.in.place.of.i |
| d980 | 64 65 6e 74 69 66 69 65 72 73 20 61 6e 64 20 76 61 6c 75 65 73 2e 20 54 68 65 73 65 20 72 65 66 | dentifiers.and.values..These.ref |
| d9a0 | 65 72 20 74 6f 20 74 68 65 20 61 72 67 75 6d 65 6e 74 27 73 20 74 79 70 65 20 61 6e 64 20 69 74 | er.to.the.argument's.type.and.it |
| d9c0 | 73 0a 61 72 67 75 6d 65 6e 74 20 70 6f 73 69 74 69 6f 6e 20 61 66 74 65 72 20 74 68 65 20 73 74 | s.argument.position.after.the.st |
| d9e0 | 61 74 65 6d 65 6e 74 20 69 6e 20 74 68 65 20 60 65 6d 61 63 73 71 6c 60 20 66 75 6e 63 74 69 6f | atement.in.the.`emacsql`.functio |
| da00 | 6e 2c 0a 6f 6e 65 2d 69 6e 64 65 78 65 64 2e 0a 0a 60 60 60 65 6c 0a 28 65 6d 61 63 73 71 6c 20 | n,.one-indexed...```el.(emacsql. |
| da20 | 64 62 20 5b 3a 73 65 6c 65 63 74 20 2a 20 3a 66 72 6f 6d 20 24 69 31 20 3a 77 68 65 72 65 20 28 | db.[:select.*.:from.$i1.:where.( |
| da40 | 3e 20 73 61 6c 61 72 79 20 24 73 32 29 5d 20 27 65 6d 70 6c 6f 79 65 65 73 20 35 30 30 30 30 29 | >.salary.$s2)].'employees.50000) |
| da60 | 0a 0a 28 65 6d 61 63 73 71 6c 20 64 62 20 5b 3a 73 65 6c 65 63 74 20 2a 20 3a 66 72 6f 6d 20 65 | ..(emacsql.db.[:select.*.:from.e |
| da80 | 6d 70 6c 6f 79 65 65 73 20 3a 77 68 65 72 65 20 28 6c 69 6b 65 20 6e 61 6d 65 20 24 72 31 29 5d | mployees.:where.(like.name.$r1)] |
| daa0 | 20 22 25 53 6d 69 74 68 25 22 29 0a 60 60 60 0a 0a 54 68 65 20 6c 65 74 74 65 72 20 62 65 66 6f | ."%Smith%").```..The.letter.befo |
| dac0 | 72 65 20 74 68 65 20 6e 75 6d 62 65 72 20 69 73 20 74 68 65 20 74 79 70 65 2e 0a 0a 20 2a 20 60 | re.the.number.is.the.type....*.` |
| dae0 | 69 60 20 3a 20 69 64 65 6e 74 69 66 69 65 72 0a 20 2a 20 60 73 60 20 3a 20 73 63 61 6c 61 72 0a | i`.:.identifier..*.`s`.:.scalar. |
| db00 | 20 2a 20 60 76 60 20 3a 20 76 65 63 74 6f 72 20 28 6f 72 20 6d 75 6c 74 69 70 6c 65 20 76 65 63 | .*.`v`.:.vector.(or.multiple.vec |
| db20 | 74 6f 72 73 29 0a 20 2a 20 60 72 60 20 3a 20 72 61 77 2c 20 75 6e 70 72 69 6e 74 65 64 20 73 74 | tors)..*.`r`.:.raw,.unprinted.st |
| db40 | 72 69 6e 67 73 0a 20 2a 20 60 53 60 20 3a 20 73 63 68 65 6d 61 0a 0a 57 68 65 6e 20 63 6f 6d 62 | rings..*.`S`.:.schema..When.comb |
| db60 | 69 6e 65 64 20 77 69 74 68 20 60 3a 76 61 6c 75 65 73 60 2c 20 74 68 65 20 76 65 63 74 6f 72 20 | ined.with.`:values`,.the.vector. |
| db80 | 74 79 70 65 20 63 61 6e 20 72 65 66 65 72 20 74 6f 20 6c 69 73 74 73 20 6f 66 0a 72 6f 77 73 2e | type.can.refer.to.lists.of.rows. |
| dba0 | 0a 0a 60 60 60 65 6c 0a 28 65 6d 61 63 73 71 6c 20 64 62 20 5b 3a 69 6e 73 65 72 74 2d 69 6e 74 | ..```el.(emacsql.db.[:insert-int |
| dbc0 | 6f 20 66 61 76 6f 72 69 74 65 2d 63 68 61 72 61 63 74 65 72 73 20 3a 76 61 6c 75 65 73 20 24 76 | o.favorite-characters.:values.$v |
| dbe0 | 31 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 28 5b 30 20 22 43 61 6c 76 69 6e 22 5d 20 5b 31 | 1].............'([0."Calvin"].[1 |
| dc00 | 20 22 48 6f 62 62 65 73 22 5d 20 5b 33 20 22 53 75 73 69 65 22 5d 29 29 0a 60 60 60 0a 0a 54 68 | ."Hobbes"].[3."Susie"])).```..Th |
| dc20 | 69 73 20 69 73 20 77 68 79 20 72 6f 77 73 20 6d 75 73 74 20 62 65 20 76 65 63 74 6f 72 73 20 61 | is.is.why.rows.must.be.vectors.a |
| dc40 | 6e 64 20 6e 6f 74 20 6c 69 73 74 73 2e 0a 0a 23 23 23 20 49 67 6e 6f 72 65 64 20 46 65 61 74 75 | nd.not.lists...###.Ignored.Featu |
| dc60 | 72 65 73 0a 0a 45 6d 61 63 53 51 4c 20 64 6f 65 73 6e 27 74 20 63 6f 76 65 72 20 61 6c 6c 20 6f | res..EmacSQL.doesn't.cover.all.o |
| dc80 | 66 20 53 51 4c 69 74 65 27 73 20 66 65 61 74 75 72 65 73 2e 20 48 65 72 65 20 61 72 65 20 61 20 | f.SQLite's.features..Here.are.a. |
| dca0 | 6c 69 73 74 20 6f 66 0a 74 68 69 6e 67 73 20 74 68 61 74 20 61 72 65 6e 27 74 20 73 75 70 70 6f | list.of.things.that.aren't.suppo |
| dcc0 | 72 74 65 64 2c 20 61 6e 64 20 70 72 6f 62 61 62 6c 79 20 77 69 6c 6c 20 6e 65 76 65 72 20 62 65 | rted,.and.probably.will.never.be |
| dce0 | 2e 0a 0a 20 2a 20 43 6f 6c 6c 61 74 69 6e 67 2e 20 53 51 4c 69 74 65 20 68 61 73 20 74 68 72 65 | ....*.Collating..SQLite.has.thre |
| dd00 | 65 20 62 75 69 6c 74 2d 69 6e 20 63 6f 6c 6c 61 74 69 6f 6e 20 66 75 6e 63 74 69 6f 6e 73 3a 20 | e.built-in.collation.functions:. |
| dd20 | 42 49 4e 41 52 59 0a 20 20 20 28 64 65 66 61 75 6c 74 29 2c 20 4e 4f 43 41 53 45 2c 20 61 6e 64 | BINARY....(default),.NOCASE,.and |
| dd40 | 20 52 54 52 49 4d 2e 20 45 6d 61 63 53 51 4c 20 76 61 6c 75 65 73 20 6e 65 76 65 72 20 68 61 76 | .RTRIM..EmacSQL.values.never.hav |
| dd60 | 65 20 72 69 67 68 74 2d 68 61 6e 64 0a 20 20 20 77 68 69 74 65 73 70 61 63 65 2c 20 73 6f 20 52 | e.right-hand....whitespace,.so.R |
| dd80 | 54 52 49 4d 20 77 6f 6e 27 74 20 62 65 20 6f 66 20 61 6e 79 20 75 73 65 2e 20 4e 4f 43 41 53 45 | TRIM.won't.be.of.any.use..NOCASE |
| dda0 | 20 69 73 20 62 72 6f 6b 65 6e 0a 20 20 20 28 41 53 43 49 49 2d 6f 6e 6c 79 29 20 61 6e 64 20 74 | .is.broken....(ASCII-only).and.t |
| ddc0 | 68 65 72 65 27 73 20 6c 69 74 74 6c 65 20 72 65 61 73 6f 6e 20 74 6f 20 75 73 65 20 69 74 2e 0a | here's.little.reason.to.use.it.. |
| dde0 | 0a 20 2a 20 54 65 78 74 20 6d 61 6e 69 70 75 6c 61 74 69 6f 6e 20 66 75 6e 63 74 69 6f 6e 73 2e | ..*.Text.manipulation.functions. |
| de00 | 20 4c 69 6b 65 20 63 6f 6c 6c 61 74 69 6e 67 20 74 68 69 73 20 69 73 20 69 6e 63 6f 6d 70 61 74 | .Like.collating.this.is.incompat |
| de20 | 69 62 6c 65 0a 20 20 20 77 69 74 68 20 45 6d 61 63 53 51 4c 20 73 2d 65 78 70 72 65 73 73 69 6f | ible....with.EmacSQL.s-expressio |
| de40 | 6e 20 73 74 6f 72 61 67 65 2e 0a 0a 20 2a 20 44 61 74 65 20 61 6e 64 20 74 69 6d 65 2e 20 54 68 | n.storage....*.Date.and.time..Th |
| de60 | 65 73 65 20 61 72 65 20 69 6e 63 6f 6d 70 61 74 69 62 6c 65 20 77 69 74 68 20 74 68 65 20 70 72 | ese.are.incompatible.with.the.pr |
| de80 | 69 6e 74 65 64 20 76 61 6c 75 65 73 0a 20 20 20 73 74 6f 72 65 64 20 62 79 20 45 6d 61 63 53 51 | inted.values....stored.by.EmacSQ |
| dea0 | 4c 20 61 6e 64 20 74 68 65 72 65 66 6f 72 65 20 68 61 76 65 20 6c 69 74 74 6c 65 20 75 73 65 2e | L.and.therefore.have.little.use. |
| dec0 | 0a 0a 23 23 20 4c 69 6d 69 74 61 74 69 6f 6e 73 0a 0a 45 6d 61 63 53 51 4c 20 69 73 20 2a 6e 6f | ..##.Limitations..EmacSQL.is.*no |
| dee0 | 74 2a 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 70 6c 61 79 20 77 65 6c 6c 20 77 69 74 68 20 6f 74 | t*.intended.to.play.well.with.ot |
| df00 | 68 65 72 20 70 72 6f 67 72 61 6d 73 20 61 63 63 65 73 73 69 6e 67 0a 74 68 65 20 53 51 4c 69 74 | her.programs.accessing.the.SQLit |
| df20 | 65 20 64 61 74 61 62 61 73 65 2e 20 4e 6f 6e 2d 6e 75 6d 65 72 69 63 20 76 61 6c 75 65 73 20 61 | e.database..Non-numeric.values.a |
| df40 | 72 65 20 73 74 6f 72 65 64 20 65 6e 63 6f 64 65 64 20 61 73 0a 73 2d 65 78 70 72 65 73 73 69 6f | re.stored.encoded.as.s-expressio |
| df60 | 6e 73 20 54 45 58 54 20 76 61 6c 75 65 73 2e 20 54 68 69 73 20 61 76 6f 69 64 73 20 61 6d 62 69 | ns.TEXT.values..This.avoids.ambi |
| df80 | 67 75 69 74 69 65 73 20 69 6e 20 70 61 72 73 69 6e 67 20 6f 75 74 70 75 74 0a 66 72 6f 6d 20 74 | guities.in.parsing.output.from.t |
| dfa0 | 68 65 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 61 6e 64 20 61 6c 6c 6f 77 73 20 66 6f 72 20 73 | he.command.line.and.allows.for.s |
| dfc0 | 74 6f 72 61 67 65 20 6f 66 20 45 6d 61 63 73 20 72 69 63 68 65 72 20 64 61 74 61 0a 74 79 70 65 | torage.of.Emacs.richer.data.type |
| dfe0 | 73 2e 20 54 68 69 73 20 69 73 20 61 6e 20 65 66 66 69 63 69 65 6e 74 2c 20 41 43 49 44 2d 63 6f | s..This.is.an.efficient,.ACID-co |
| e000 | 6d 70 6c 69 61 6e 74 20 64 61 74 61 62 61 73 65 20 73 70 65 63 69 66 69 63 61 6c 6c 79 20 66 6f | mpliant.database.specifically.fo |
| e020 | 72 0a 45 6d 61 63 73 2e 0a 0a 23 23 20 45 6d 61 63 73 20 4c 69 73 70 20 49 6e 64 65 6e 74 61 74 | r.Emacs...##.Emacs.Lisp.Indentat |
| e040 | 69 6f 6e 20 41 6e 6e 6f 79 61 6e 63 65 0a 0a 42 79 20 64 65 66 61 75 6c 74 2c 20 60 65 6d 61 63 | ion.Annoyance..By.default,.`emac |
| e060 | 73 2d 6c 69 73 70 2d 6d 6f 64 65 60 20 69 6e 64 65 6e 74 73 20 76 65 63 74 6f 72 73 20 61 73 20 | s-lisp-mode`.indents.vectors.as. |
| e080 | 69 66 20 74 68 65 79 20 77 65 72 65 20 72 65 67 75 6c 61 72 0a 66 75 6e 63 74 69 6f 6e 20 63 61 | if.they.were.regular.function.ca |
| e0a0 | 6c 6c 73 2e 0a 0a 60 60 60 65 6c 0a 3b 3b 20 55 67 6c 79 20 69 6e 64 65 6e 74 61 74 69 6f 6e 21 | lls...```el.;;.Ugly.indentation! |
| e0c0 | 0a 28 65 6d 61 63 73 71 6c 20 64 62 20 5b 3a 73 65 6c 65 63 74 20 2a 0a 20 20 20 20 20 20 20 20 | .(emacsql.db.[:select.*......... |
| e0e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 66 72 6f 6d 20 70 65 6f 70 6c 65 0a 20 20 20 20 20 20 | .............:from.people....... |
| e100 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 77 68 65 72 65 20 28 3e 20 61 67 65 20 36 30 29 | ...............:where.(>.age.60) |
| e120 | 5d 29 0a 60 60 60 0a 0a 43 61 6c 6c 69 6e 67 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 60 65 6d | ]).```..Calling.the.function.`em |
| e140 | 61 63 73 71 6c 2d 66 69 78 2d 76 65 63 74 6f 72 2d 69 6e 64 65 6e 74 61 74 69 6f 6e 60 20 28 69 | acsql-fix-vector-indentation`.(i |
| e160 | 6e 74 65 72 61 63 74 69 76 65 29 0a 61 64 76 69 73 65 73 20 74 68 65 20 6d 61 6a 6f 72 20 6d 6f | nteractive).advises.the.major.mo |
| e180 | 64 65 20 74 6f 20 66 69 78 20 74 68 69 73 20 61 6e 6e 6f 79 61 6e 63 65 2e 0a 0a 60 60 60 65 6c | de.to.fix.this.annoyance...```el |
| e1a0 | 0a 3b 3b 20 53 75 63 68 20 69 6e 64 65 6e 74 21 0a 28 65 6d 61 63 73 71 6c 20 64 62 20 5b 3a 73 | .;;.Such.indent!.(emacsql.db.[:s |
| e1c0 | 65 6c 65 63 74 20 2a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 66 72 6f 6d 20 70 65 6f 70 6c | elect.*..............:from.peopl |
| e1e0 | 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 77 68 65 72 65 20 28 3e 20 61 67 65 20 36 30 29 | e..............:where.(>.age.60) |
| e200 | 5d 29 0a 60 60 60 0a 0a 23 23 20 43 6f 6e 74 72 69 62 75 74 69 6e 67 20 61 6e 64 20 45 78 74 65 | ]).```..##.Contributing.and.Exte |
| e220 | 6e 64 69 6e 67 0a 0a 54 6f 20 72 75 6e 20 74 68 65 20 74 65 73 74 20 73 75 69 74 65 2c 20 63 6c | nding..To.run.the.test.suite,.cl |
| e240 | 6f 6e 65 20 74 68 65 20 60 70 67 60 20 61 6e 64 20 60 73 71 6c 69 74 65 33 60 20 70 61 63 6b 61 | one.the.`pg`.and.`sqlite3`.packa |
| e260 | 67 65 73 20 69 6e 74 6f 0a 73 69 62 6c 69 6e 67 20 64 69 72 65 63 74 6f 72 69 65 73 2e 20 54 68 | ges.into.sibling.directories..Th |
| e280 | 65 20 4d 61 6b 65 66 69 6c 65 20 77 69 6c 6c 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 70 75 | e.Makefile.will.automatically.pu |
| e2a0 | 74 20 74 68 65 73 65 20 70 61 74 68 73 20 6f 6e 0a 74 68 65 20 45 6d 61 63 73 20 6c 6f 61 64 20 | t.these.paths.on.the.Emacs.load. |
| e2c0 | 70 61 74 68 20 28 6f 76 65 72 72 69 64 65 20 60 4c 44 46 4c 41 47 53 60 20 69 66 20 79 6f 75 72 | path.(override.`LDFLAGS`.if.your |
| e2e0 | 20 73 69 74 75 61 74 69 6f 6e 20 69 73 20 64 69 66 66 65 72 65 6e 74 29 2e 0a 0a 60 60 60 73 68 | .situation.is.different)...```sh |
| e300 | 65 6c 6c 0a 67 69 74 20 63 6c 6f 6e 65 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d | ell.git.clone.https://github.com |
| e320 | 2f 65 6d 61 72 73 64 65 6e 2f 70 67 2d 65 6c 20 2e 2e 2f 70 67 0a 67 69 74 20 63 6c 6f 6e 65 20 | /emarsden/pg-el.../pg.git.clone. |
| e340 | 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 70 65 6b 69 6e 67 64 75 63 6b 2f 65 6d | https://github.com/pekingduck/em |
| e360 | 61 63 73 2d 73 71 6c 69 74 65 33 2d 61 70 69 20 2e 2e 2f 73 71 6c 69 74 65 33 0a 60 60 60 0a 0a | acs-sqlite3-api.../sqlite3.```.. |
| e380 | 4f 72 20 73 65 74 20 60 4c 4f 41 44 5f 50 41 54 48 60 20 74 6f 20 70 6f 69 6e 74 20 61 74 20 74 | Or.set.`LOAD_PATH`.to.point.at.t |
| e3a0 | 68 65 73 65 20 70 61 63 6b 61 67 65 73 20 65 6c 73 65 77 68 65 72 65 3a 0a 0a 60 60 60 73 68 65 | hese.packages.elsewhere:..```she |
| e3c0 | 6c 6c 0a 6d 61 6b 65 20 4c 4f 41 44 5f 50 41 54 48 3d 27 2d 4c 20 70 61 74 68 2f 74 6f 2f 70 67 | ll.make.LOAD_PATH='-L.path/to/pg |
| e3e0 | 20 2d 4c 20 70 61 74 68 2f 74 6f 2f 73 71 6c 69 74 65 33 27 0a 60 60 60 0a 0a 54 68 65 6e 20 69 | .-L.path/to/sqlite3'.```..Then.i |
| e400 | 6e 76 6f 6b 65 20 6d 61 6b 65 3a 0a 0a 60 60 60 73 68 65 6c 6c 0a 6d 61 6b 65 20 74 65 73 74 0a | nvoke.make:..```shell.make.test. |
| e420 | 60 60 60 0a 0a 49 66 20 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 | ```..If.the.environment.variable |
| e440 | 20 60 50 47 44 41 54 41 42 41 53 45 60 20 69 73 20 70 72 65 73 65 6e 74 20 74 68 65 6e 20 74 68 | .`PGDATABASE`.is.present.then.th |
| e460 | 65 20 75 6e 69 74 0a 74 65 73 74 73 20 77 69 6c 6c 20 61 6c 73 6f 20 62 65 20 72 75 6e 20 77 69 | e.unit.tests.will.also.be.run.wi |
| e480 | 74 68 20 50 6f 73 74 67 72 65 53 51 4c 20 28 65 6d 61 63 73 71 6c 2d 70 73 71 6c 29 2e 20 50 72 | th.PostgreSQL.(emacsql-psql)..Pr |
| e4a0 | 6f 76 69 64 65 0a 60 50 47 48 4f 53 54 60 2c 20 60 50 47 50 4f 52 54 60 2c 20 61 6e 64 20 60 50 | ovide.`PGHOST`,.`PGPORT`,.and.`P |
| e4c0 | 47 55 53 45 52 60 20 69 66 20 6e 65 65 64 65 64 2e 20 49 66 20 60 50 47 55 53 45 52 60 20 69 73 | GUSER`.if.needed..If.`PGUSER`.is |
| e4e0 | 20 70 72 6f 76 69 64 65 64 2c 0a 74 68 65 20 70 67 2e 65 6c 20 62 61 63 6b 2d 65 6e 64 20 28 65 | .provided,.the.pg.el.back-end.(e |
| e500 | 6d 61 63 73 71 6c 2d 70 67 29 20 77 69 6c 6c 20 61 6c 73 6f 20 62 65 20 74 65 73 74 65 64 2e 0a | macsql-pg).will.also.be.tested.. |
| e520 | 0a 49 66 20 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 20 60 4d 59 | .If.the.environment.variable.`MY |
| e540 | 53 51 4c 5f 44 42 4e 41 4d 45 60 20 69 73 20 70 72 65 73 65 6e 74 20 74 68 65 6e 20 74 68 65 20 | SQL_DBNAME`.is.present.then.the. |
| e560 | 75 6e 69 74 0a 74 65 73 74 73 20 77 69 6c 6c 20 61 6c 73 6f 20 62 65 20 72 75 6e 20 77 69 74 68 | unit.tests.will.also.be.run.with |
| e580 | 20 4d 79 53 51 4c 20 69 6e 20 74 68 65 20 6e 61 6d 65 64 20 64 61 74 61 62 61 73 65 2e 20 4e 6f | .MySQL.in.the.named.database..No |
| e5a0 | 74 65 20 74 68 61 74 0a 74 68 69 73 20 69 73 20 6e 6f 74 20 61 6e 20 6f 66 66 69 63 69 61 6c 20 | te.that.this.is.not.an.official. |
| e5c0 | 4d 79 53 51 4c 20 76 61 72 69 61 62 6c 65 2c 20 6a 75 73 74 20 73 6f 6d 65 74 68 69 6e 67 20 6d | MySQL.variable,.just.something.m |
| e5e0 | 61 64 65 20 75 70 20 66 6f 72 0a 45 6d 61 63 53 51 4c 2e 0a 0a 23 23 23 20 43 72 65 61 74 69 6e | ade.up.for.EmacSQL...###.Creatin |
| e600 | 67 20 61 20 4e 65 77 20 46 72 6f 6e 74 2d 65 6e 64 0a 0a 45 6d 61 63 53 51 4c 20 75 73 65 73 20 | g.a.New.Front-end..EmacSQL.uses. |
| e620 | 45 49 45 49 4f 20 73 6f 20 74 68 61 74 20 69 6e 74 65 72 61 63 74 69 6f 6e 73 20 77 69 74 68 20 | EIEIO.so.that.interactions.with. |
| e640 | 61 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 6f 63 63 75 72 0a 74 68 72 6f 75 67 68 20 67 65 6e 65 72 | a.connection.occur.through.gener |
| e660 | 69 63 20 66 75 6e 63 74 69 6f 6e 73 2e 20 59 6f 75 20 6e 65 65 64 20 74 6f 20 64 65 66 69 6e 65 | ic.functions..You.need.to.define |
| e680 | 20 61 20 6e 65 77 20 63 6c 61 73 73 20 74 68 61 74 0a 69 6e 68 65 72 69 74 73 20 66 72 6f 6d 20 | .a.new.class.that.inherits.from. |
| e6a0 | 60 65 6d 61 63 73 71 6c 2d 63 6f 6e 6e 65 63 74 69 6f 6e 60 2e 0a 0a 20 2a 20 49 6d 70 6c 65 6d | `emacsql-connection`....*.Implem |
| e6c0 | 65 6e 74 20 60 65 6d 61 63 73 71 6c 2d 73 65 6e 64 2d 6d 65 73 73 61 67 65 60 2c 20 60 65 6d 61 | ent.`emacsql-send-message`,.`ema |
| e6e0 | 63 73 71 6c 2d 77 61 69 74 69 6e 67 2d 70 60 2c 0a 20 20 20 60 65 6d 61 63 73 71 6c 2d 70 61 72 | csql-waiting-p`,....`emacsql-par |
| e700 | 73 65 60 2c 20 61 6e 64 20 60 65 6d 61 63 73 71 6c 2d 63 6c 6f 73 65 60 2e 0a 20 2a 20 50 72 6f | se`,.and.`emacsql-close`...*.Pro |
| e720 | 76 69 64 65 20 61 20 63 6f 6e 73 74 72 75 63 74 6f 72 20 74 68 61 74 20 69 6e 69 74 69 61 6c 69 | vide.a.constructor.that.initiali |
| e740 | 7a 65 73 20 74 68 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 61 6e 64 20 63 61 6c 6c 73 0a 20 20 20 | zes.the.connection.and.calls.... |
| e760 | 60 65 6d 61 63 73 71 6c 2d 72 65 67 69 73 74 65 72 60 20 28 66 6f 72 20 61 75 74 6f 6d 61 74 69 | `emacsql-register`.(for.automati |
| e780 | 63 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 63 6c 65 61 6e 75 70 29 2e 0a 20 2a 20 50 72 6f 76 69 64 | c.connection.cleanup)...*.Provid |
| e7a0 | 65 20 60 65 6d 61 63 73 71 6c 2d 74 79 70 65 73 60 20 69 66 20 6e 65 65 64 65 64 20 28 68 69 6e | e.`emacsql-types`.if.needed.(hin |
| e7c0 | 74 3a 20 75 73 65 20 61 20 63 6c 61 73 73 2d 61 6c 6c 6f 63 61 74 65 64 20 73 6c 6f 74 29 2e 0a | t:.use.a.class-allocated.slot).. |
| e7e0 | 20 2a 20 45 6e 73 75 72 65 20 74 68 61 74 20 79 6f 75 20 70 72 6f 70 65 72 6c 79 20 72 65 61 64 | .*.Ensure.that.you.properly.read |
| e800 | 20 4e 55 4c 4c 20 61 73 20 6e 69 6c 20 28 68 69 6e 74 3a 20 61 73 6b 20 79 6f 75 72 20 62 61 63 | .NULL.as.nil.(hint:.ask.your.bac |
| e820 | 6b 2d 65 6e 64 0a 20 20 20 74 6f 20 70 72 69 6e 74 20 69 74 20 74 68 61 74 20 77 61 79 29 2e 0a | k-end....to.print.it.that.way).. |
| e840 | 20 2a 20 52 65 67 69 73 74 65 72 20 61 6c 6c 20 72 65 73 65 72 76 65 64 20 77 6f 72 64 73 20 77 | .*.Register.all.reserved.words.w |
| e860 | 69 74 68 20 60 65 6d 61 63 73 71 6c 2d 72 65 67 69 73 74 65 72 2d 72 65 73 65 72 76 65 64 60 2e | ith.`emacsql-register-reserved`. |
| e880 | 0a 20 2a 20 50 72 65 66 65 72 61 62 6c 79 20 70 72 6f 76 69 64 65 20 60 65 6d 61 63 73 71 6c 2d | ..*.Preferably.provide.`emacsql- |
| e8a0 | 72 65 63 6f 6e 6e 65 63 74 60 20 69 66 20 70 6f 73 73 69 62 6c 65 2e 0a 20 2a 20 53 65 74 20 74 | reconnect`.if.possible...*.Set.t |
| e8c0 | 68 65 20 64 65 66 61 75 6c 74 20 69 73 6f 6c 61 74 69 6f 6e 20 6c 65 76 65 6c 20 74 6f 20 2a 73 | he.default.isolation.level.to.*s |
| e8e0 | 65 72 69 61 6c 69 7a 61 62 6c 65 2a 2e 0a 20 2a 20 45 6e 61 62 6c 65 20 61 75 74 6f 63 6f 6d 6d | erializable*...*.Enable.autocomm |
| e900 | 69 74 20 6d 6f 64 65 20 62 79 20 64 65 66 61 75 6c 74 2e 0a 20 2a 20 50 72 65 66 65 72 20 41 4e | it.mode.by.default...*.Prefer.AN |
| e920 | 53 49 20 73 79 6e 74 61 78 20 28 76 61 6c 75 65 20 65 73 63 61 70 65 73 2c 20 69 64 65 6e 74 69 | SI.syntax.(value.escapes,.identi |
| e940 | 66 69 65 72 20 65 73 63 61 70 65 73 2c 20 65 74 63 2e 29 2e 0a 20 2a 20 45 6e 61 62 6c 65 20 66 | fier.escapes,.etc.)...*.Enable.f |
| e960 | 6f 72 65 69 67 6e 20 6b 65 79 20 63 6f 6e 73 74 72 61 69 6e 74 73 20 62 79 20 64 65 66 61 75 6c | oreign.key.constraints.by.defaul |
| e980 | 74 2e 0a 0a 54 68 65 20 67 6f 61 6c 20 6f 66 20 74 68 65 20 61 75 74 6f 63 6f 6d 6d 69 74 2c 20 | t...The.goal.of.the.autocommit,. |
| e9a0 | 69 73 6f 6c 61 74 69 6f 6e 2c 20 70 61 72 73 69 6e 67 2c 20 61 6e 64 20 66 6f 72 65 69 67 6e 20 | isolation,.parsing,.and.foreign. |
| e9c0 | 6b 65 79 0a 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 73 65 74 74 69 6e 67 73 20 69 73 20 74 6f | key.configuration.settings.is.to |
| e9e0 | 20 6e 6f 72 6d 61 6c 69 7a 65 20 74 68 65 20 69 6e 74 65 72 66 61 63 65 20 61 73 20 6d 75 63 68 | .normalize.the.interface.as.much |
| ea00 | 20 61 73 0a 70 6f 73 73 69 62 6c 65 2e 20 54 68 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 27 73 20 75 | .as.possible..The.connection's.u |
| ea20 | 73 65 72 20 73 68 6f 75 6c 64 20 68 61 76 65 20 74 68 65 20 6f 70 74 69 6f 6e 20 74 6f 20 62 65 | ser.should.have.the.option.to.be |
| ea40 | 20 61 67 6e 6f 73 74 69 63 0a 61 62 6f 75 74 20 77 68 69 63 68 20 62 61 63 6b 2d 65 6e 64 20 69 | .agnostic.about.which.back-end.i |
| ea60 | 73 20 61 63 74 75 61 6c 6c 79 20 69 6e 20 75 73 65 2e 0a 0a 54 68 65 20 70 72 6f 76 69 64 65 64 | s.actually.in.use...The.provided |
| ea80 | 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 73 20 73 68 6f 75 6c 64 20 73 65 72 76 65 20 61 73 | .implementations.should.serve.as |
| eaa0 | 20 75 73 65 66 75 6c 20 65 78 61 6d 70 6c 65 73 2e 20 49 66 20 79 6f 75 72 0a 62 61 63 6b 2d 65 | .useful.examples..If.your.back-e |
| eac0 | 6e 64 20 6f 75 74 70 75 74 73 20 64 61 74 61 20 69 6e 20 61 20 63 6c 65 61 6e 2c 20 73 74 61 6e | nd.outputs.data.in.a.clean,.stan |
| eae0 | 64 61 72 64 20 77 61 79 20 79 6f 75 20 6d 61 79 20 62 65 20 61 62 6c 65 20 74 6f 20 75 73 65 0a | dard.way.you.may.be.able.to.use. |
| eb00 | 74 68 65 20 65 6d 61 63 73 71 6c 2d 70 72 6f 74 6f 63 6f 6c 2d 6d 69 78 69 6e 20 63 6c 61 73 73 | the.emacsql-protocol-mixin.class |
| eb20 | 20 74 6f 20 64 6f 20 6d 6f 73 74 20 6f 66 20 74 68 65 20 77 6f 72 6b 2e 0a 0a 23 23 20 53 65 65 | .to.do.most.of.the.work...##.See |
| eb40 | 20 41 6c 73 6f 0a 0a 20 2a 20 5b 53 51 4c 69 74 65 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 5d | .Also...*.[SQLite.Documentation] |
| eb60 | 28 68 74 74 70 73 3a 2f 2f 77 77 77 2e 73 71 6c 69 74 65 2e 6f 72 67 2f 64 6f 63 73 2e 68 74 6d | (https://www.sqlite.org/docs.htm |
| eb80 | 6c 29 0a 0a 5b 72 65 61 64 61 62 6c 65 5d 3a 20 68 74 74 70 3a 2f 2f 6e 75 6c 6c 70 72 6f 67 72 | l)..[readable]:.http://nullprogr |
| eba0 | 61 6d 2e 63 6f 6d 2f 62 6c 6f 67 2f 32 30 31 33 2f 31 32 2f 33 30 2f 23 61 6c 6d 6f 73 74 5f 65 | am.com/blog/2013/12/30/#almost_e |
| ebc0 | 76 65 72 79 74 68 69 6e 67 5f 70 72 69 6e 74 73 5f 72 65 61 64 61 62 6c 79 0a 5b 6d 69 73 74 61 | verything_prints_readably.[mista |
| ebe0 | 6b 65 5d 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6d 61 67 69 74 2f 65 6d | ke]:.https://github.com/magit/em |
| ec00 | 61 63 73 71 6c 2f 69 73 73 75 65 73 2f 33 35 23 69 73 73 75 65 63 6f 6d 6d 65 6e 74 2d 33 34 36 | acsql/issues/35#issuecomment-346 |
| ec20 | 33 35 32 34 33 39 0a 0a 3c 21 2d 2d 20 4c 6f 63 61 6c 57 6f 72 64 73 3a 20 45 49 45 49 4f 20 45 | 352439..<!--.LocalWords:.EIEIO.E |
| ec40 | 6c 69 73 70 20 45 6d 61 63 53 51 4c 20 4d 45 4c 50 41 20 4d 61 6b 65 66 69 6c 65 20 4e 4f 43 41 | lisp.EmacSQL.MELPA.Makefile.NOCA |
| ec60 | 53 45 20 52 54 52 49 4d 20 20 2d 2d 3e 0a 3c 21 2d 2d 20 4c 6f 63 61 6c 57 6f 72 64 73 3a 20 53 | SE.RTRIM..-->.<!--.LocalWords:.S |
| ec80 | 51 4c 27 73 20 61 75 74 6f 63 6f 6d 6d 69 74 20 65 6c 20 65 6d 61 63 73 71 6c 20 75 6e 70 72 69 | QL's.autocommit.el.emacsql.unpri |
| eca0 | 6e 74 65 64 20 77 68 69 74 65 73 70 61 63 65 20 2d 2d 3e 0a 00 00 00 00 00 00 00 00 00 00 00 00 | nted.whitespace.-->............. |
| ecc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ece0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ed00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ed20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ed40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ed60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ed80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| eda0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| edc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ede0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ee00 | 65 6d 61 63 73 71 6c 2d 34 2e 33 2e 31 2f 55 4e 4c 49 43 45 4e 53 45 00 00 00 00 00 00 00 00 00 | emacsql-4.3.1/UNLICENSE......... |
| ee20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ee40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ee60 | 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 | ....0000644.0000000.0000000.0000 |
| ee80 | 30 30 30 32 32 37 33 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 30 35 37 00 20 30 00 00 00 | 0002273.00000000000.013057..0... |
| eea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| eec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| eee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ef00 | 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .ustar...root................... |
| ef20 | 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .........root................... |
| ef40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ef60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ef80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| efa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| efc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| efe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| f000 | 54 68 69 73 20 69 73 20 66 72 65 65 20 61 6e 64 20 75 6e 65 6e 63 75 6d 62 65 72 65 64 20 73 6f | This.is.free.and.unencumbered.so |
| f020 | 66 74 77 61 72 65 20 72 65 6c 65 61 73 65 64 20 69 6e 74 6f 20 74 68 65 20 70 75 62 6c 69 63 20 | ftware.released.into.the.public. |
| f040 | 64 6f 6d 61 69 6e 2e 0a 0a 41 6e 79 6f 6e 65 20 69 73 20 66 72 65 65 20 74 6f 20 63 6f 70 79 2c | domain...Anyone.is.free.to.copy, |
| f060 | 20 6d 6f 64 69 66 79 2c 20 70 75 62 6c 69 73 68 2c 20 75 73 65 2c 20 63 6f 6d 70 69 6c 65 2c 20 | .modify,.publish,.use,.compile,. |
| f080 | 73 65 6c 6c 2c 20 6f 72 0a 64 69 73 74 72 69 62 75 74 65 20 74 68 69 73 20 73 6f 66 74 77 61 72 | sell,.or.distribute.this.softwar |
| f0a0 | 65 2c 20 65 69 74 68 65 72 20 69 6e 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 6f 72 6d 20 6f 72 | e,.either.in.source.code.form.or |
| f0c0 | 20 61 73 20 61 20 63 6f 6d 70 69 6c 65 64 0a 62 69 6e 61 72 79 2c 20 66 6f 72 20 61 6e 79 20 70 | .as.a.compiled.binary,.for.any.p |
| f0e0 | 75 72 70 6f 73 65 2c 20 63 6f 6d 6d 65 72 63 69 61 6c 20 6f 72 20 6e 6f 6e 2d 63 6f 6d 6d 65 72 | urpose,.commercial.or.non-commer |
| f100 | 63 69 61 6c 2c 20 61 6e 64 20 62 79 20 61 6e 79 0a 6d 65 61 6e 73 2e 0a 0a 49 6e 20 6a 75 72 69 | cial,.and.by.any.means...In.juri |
| f120 | 73 64 69 63 74 69 6f 6e 73 20 74 68 61 74 20 72 65 63 6f 67 6e 69 7a 65 20 63 6f 70 79 72 69 67 | sdictions.that.recognize.copyrig |
| f140 | 68 74 20 6c 61 77 73 2c 20 74 68 65 20 61 75 74 68 6f 72 20 6f 72 20 61 75 74 68 6f 72 73 0a 6f | ht.laws,.the.author.or.authors.o |
| f160 | 66 20 74 68 69 73 20 73 6f 66 74 77 61 72 65 20 64 65 64 69 63 61 74 65 20 61 6e 79 20 61 6e 64 | f.this.software.dedicate.any.and |
| f180 | 20 61 6c 6c 20 63 6f 70 79 72 69 67 68 74 20 69 6e 74 65 72 65 73 74 20 69 6e 20 74 68 65 0a 73 | .all.copyright.interest.in.the.s |
| f1a0 | 6f 66 74 77 61 72 65 20 74 6f 20 74 68 65 20 70 75 62 6c 69 63 20 64 6f 6d 61 69 6e 2e 20 57 65 | oftware.to.the.public.domain..We |
| f1c0 | 20 6d 61 6b 65 20 74 68 69 73 20 64 65 64 69 63 61 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 62 65 | .make.this.dedication.for.the.be |
| f1e0 | 6e 65 66 69 74 0a 6f 66 20 74 68 65 20 70 75 62 6c 69 63 20 61 74 20 6c 61 72 67 65 20 61 6e 64 | nefit.of.the.public.at.large.and |
| f200 | 20 74 6f 20 74 68 65 20 64 65 74 72 69 6d 65 6e 74 20 6f 66 20 6f 75 72 20 68 65 69 72 73 20 61 | .to.the.detriment.of.our.heirs.a |
| f220 | 6e 64 0a 73 75 63 63 65 73 73 6f 72 73 2e 20 57 65 20 69 6e 74 65 6e 64 20 74 68 69 73 20 64 65 | nd.successors..We.intend.this.de |
| f240 | 64 69 63 61 74 69 6f 6e 20 74 6f 20 62 65 20 61 6e 20 6f 76 65 72 74 20 61 63 74 20 6f 66 0a 72 | dication.to.be.an.overt.act.of.r |
| f260 | 65 6c 69 6e 71 75 69 73 68 6d 65 6e 74 20 69 6e 20 70 65 72 70 65 74 75 69 74 79 20 6f 66 20 61 | elinquishment.in.perpetuity.of.a |
| f280 | 6c 6c 20 70 72 65 73 65 6e 74 20 61 6e 64 20 66 75 74 75 72 65 20 72 69 67 68 74 73 20 74 6f 20 | ll.present.and.future.rights.to. |
| f2a0 | 74 68 69 73 0a 73 6f 66 74 77 61 72 65 20 75 6e 64 65 72 20 63 6f 70 79 72 69 67 68 74 20 6c 61 | this.software.under.copyright.la |
| f2c0 | 77 2e 0a 0a 54 48 45 20 53 4f 46 54 57 41 52 45 20 49 53 20 50 52 4f 56 49 44 45 44 20 22 41 53 | w...THE.SOFTWARE.IS.PROVIDED."AS |
| f2e0 | 20 49 53 22 2c 20 57 49 54 48 4f 55 54 20 57 41 52 52 41 4e 54 59 20 4f 46 20 41 4e 59 20 4b 49 | .IS",.WITHOUT.WARRANTY.OF.ANY.KI |
| f300 | 4e 44 2c 0a 45 58 50 52 45 53 53 20 4f 52 20 49 4d 50 4c 49 45 44 2c 20 49 4e 43 4c 55 44 49 4e | ND,.EXPRESS.OR.IMPLIED,.INCLUDIN |
| f320 | 47 20 42 55 54 20 4e 4f 54 20 4c 49 4d 49 54 45 44 20 54 4f 20 54 48 45 20 57 41 52 52 41 4e 54 | G.BUT.NOT.LIMITED.TO.THE.WARRANT |
| f340 | 49 45 53 20 4f 46 0a 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 2c 20 46 49 54 4e 45 53 53 20 | IES.OF.MERCHANTABILITY,.FITNESS. |
| f360 | 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 20 41 4e 44 20 4e 4f 4e | FOR.A.PARTICULAR.PURPOSE.AND.NON |
| f380 | 49 4e 46 52 49 4e 47 45 4d 45 4e 54 2e 0a 49 4e 20 4e 4f 20 45 56 45 4e 54 20 53 48 41 4c 4c 20 | INFRINGEMENT..IN.NO.EVENT.SHALL. |
| f3a0 | 54 48 45 20 41 55 54 48 4f 52 53 20 42 45 20 4c 49 41 42 4c 45 20 46 4f 52 20 41 4e 59 20 43 4c | THE.AUTHORS.BE.LIABLE.FOR.ANY.CL |
| f3c0 | 41 49 4d 2c 20 44 41 4d 41 47 45 53 20 4f 52 0a 4f 54 48 45 52 20 4c 49 41 42 49 4c 49 54 59 2c | AIM,.DAMAGES.OR.OTHER.LIABILITY, |
| f3e0 | 20 57 48 45 54 48 45 52 20 49 4e 20 41 4e 20 41 43 54 49 4f 4e 20 4f 46 20 43 4f 4e 54 52 41 43 | .WHETHER.IN.AN.ACTION.OF.CONTRAC |
| f400 | 54 2c 20 54 4f 52 54 20 4f 52 20 4f 54 48 45 52 57 49 53 45 2c 0a 41 52 49 53 49 4e 47 20 46 52 | T,.TORT.OR.OTHERWISE,.ARISING.FR |
| f420 | 4f 4d 2c 20 4f 55 54 20 4f 46 20 4f 52 20 49 4e 20 43 4f 4e 4e 45 43 54 49 4f 4e 20 57 49 54 48 | OM,.OUT.OF.OR.IN.CONNECTION.WITH |
| f440 | 20 54 48 45 20 53 4f 46 54 57 41 52 45 20 4f 52 20 54 48 45 20 55 53 45 20 4f 52 0a 4f 54 48 45 | .THE.SOFTWARE.OR.THE.USE.OR.OTHE |
| f460 | 52 20 44 45 41 4c 49 4e 47 53 20 49 4e 20 54 48 45 20 53 4f 46 54 57 41 52 45 2e 0a 0a 46 6f 72 | R.DEALINGS.IN.THE.SOFTWARE...For |
| f480 | 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2c 20 70 6c 65 61 73 65 20 72 65 66 65 72 20 | .more.information,.please.refer. |
| f4a0 | 74 6f 20 3c 68 74 74 70 3a 2f 2f 75 6e 6c 69 63 65 6e 73 65 2e 6f 72 67 2f 3e 0a 00 00 00 00 00 | to.<http://unlicense.org/>...... |
| f4c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| f4e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| f500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| f520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| f540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| f560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| f580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| f5a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| f5c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| f5e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| f600 | 65 6d 61 63 73 71 6c 2d 34 2e 33 2e 31 2f 65 6d 61 63 73 71 6c 2d 73 71 6c 69 74 65 2d 62 75 69 | emacsql-4.3.1/emacsql-sqlite-bui |
| f620 | 6c 74 69 6e 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ltin.el......................... |
| f640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| f660 | 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 | ....0000644.0000000.0000000.0000 |
| f680 | 30 30 30 36 33 36 33 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 35 32 35 00 20 30 00 00 00 | 0006363.00000000000.016525..0... |
| f6a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| f6c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| f6e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| f700 | 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .ustar...root................... |
| f720 | 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .........root................... |
| f740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| f760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| f780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| f7a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| f7c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| f7e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| f800 | 3b 3b 3b 20 65 6d 61 63 73 71 6c 2d 73 71 6c 69 74 65 2d 62 75 69 6c 74 69 6e 2e 65 6c 20 2d 2d | ;;;.emacsql-sqlite-builtin.el.-- |
| f820 | 2d 20 45 6d 61 63 53 51 4c 20 62 61 63 6b 2d 65 6e 64 20 66 6f 72 20 53 51 4c 69 74 65 20 75 73 | -.EmacSQL.back-end.for.SQLite.us |
| f840 | 69 6e 67 20 62 75 69 6c 74 69 6e 20 73 75 70 70 6f 72 74 20 20 2d 2a 2d 20 6c 65 78 69 63 61 6c | ing.builtin.support..-*-.lexical |
| f860 | 2d 62 69 6e 64 69 6e 67 3a 74 20 2d 2a 2d 0a 0a 3b 3b 20 54 68 69 73 20 69 73 20 66 72 65 65 20 | -binding:t.-*-..;;.This.is.free. |
| f880 | 61 6e 64 20 75 6e 65 6e 63 75 6d 62 65 72 65 64 20 73 6f 66 74 77 61 72 65 20 72 65 6c 65 61 73 | and.unencumbered.software.releas |
| f8a0 | 65 64 20 69 6e 74 6f 20 74 68 65 20 70 75 62 6c 69 63 20 64 6f 6d 61 69 6e 2e 0a 0a 3b 3b 20 41 | ed.into.the.public.domain...;;.A |
| f8c0 | 75 74 68 6f 72 3a 20 4a 6f 6e 61 73 20 42 65 72 6e 6f 75 6c 6c 69 20 3c 65 6d 61 63 73 2e 65 6d | uthor:.Jonas.Bernoulli.<emacs.em |
| f8e0 | 61 63 73 71 6c 40 6a 6f 6e 61 73 2e 62 65 72 6e 6f 75 6c 6c 69 2e 64 65 76 3e 0a 3b 3b 20 4d 61 | acsql@jonas.bernoulli.dev>.;;.Ma |
| f900 | 69 6e 74 61 69 6e 65 72 3a 20 4a 6f 6e 61 73 20 42 65 72 6e 6f 75 6c 6c 69 20 3c 65 6d 61 63 73 | intainer:.Jonas.Bernoulli.<emacs |
| f920 | 2e 65 6d 61 63 73 71 6c 40 6a 6f 6e 61 73 2e 62 65 72 6e 6f 75 6c 6c 69 2e 64 65 76 3e 0a 0a 3b | .emacsql@jonas.bernoulli.dev>..; |
| f940 | 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d 49 64 65 6e 74 69 66 69 65 72 3a 20 55 6e 6c 69 63 | ;.SPDX-License-Identifier:.Unlic |
| f960 | 65 6e 73 65 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b 20 54 68 69 73 20 6c | ense..;;;.Commentary:..;;.This.l |
| f980 | 69 62 72 61 72 79 20 70 72 6f 76 69 64 65 73 20 61 6e 20 45 6d 61 63 53 51 4c 20 62 61 63 6b 2d | ibrary.provides.an.EmacSQL.back- |
| f9a0 | 65 6e 64 20 66 6f 72 20 53 51 4c 69 74 65 2c 20 77 68 69 63 68 20 75 73 65 73 0a 3b 3b 20 74 68 | end.for.SQLite,.which.uses.;;.th |
| f9c0 | 65 20 62 75 69 6c 74 2d 69 6e 20 53 51 4c 69 74 65 20 73 75 70 70 6f 72 74 20 69 6e 20 45 6d 61 | e.built-in.SQLite.support.in.Ema |
| f9e0 | 63 73 20 32 39 20 61 6e 20 6c 61 74 65 72 2e 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28 72 65 71 | cs.29.an.later...;;;.Code:..(req |
| fa00 | 75 69 72 65 20 27 65 6d 61 63 73 71 6c 2d 73 71 6c 69 74 65 29 0a 0a 28 64 65 63 6c 61 72 65 2d | uire.'emacsql-sqlite)..(declare- |
| fa20 | 66 75 6e 63 74 69 6f 6e 20 73 71 6c 69 74 65 2d 6f 70 65 6e 20 22 73 71 6c 69 74 65 2e 63 22 29 | function.sqlite-open."sqlite.c") |
| fa40 | 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 73 71 6c 69 74 65 2d 73 65 6c 65 63 74 | .(declare-function.sqlite-select |
| fa60 | 20 22 73 71 6c 69 74 65 2e 63 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 73 | ."sqlite.c").(declare-function.s |
| fa80 | 71 6c 69 74 65 2d 63 6c 6f 73 65 20 22 73 71 6c 69 74 65 2e 63 22 29 0a 0a 28 65 6d 61 63 73 71 | qlite-close."sqlite.c")..(emacsq |
| faa0 | 6c 2d 72 65 67 69 73 74 65 72 2d 72 65 73 65 72 76 65 64 20 65 6d 61 63 73 71 6c 2d 73 71 6c 69 | l-register-reserved.emacsql-sqli |
| fac0 | 74 65 2d 72 65 73 65 72 76 65 64 29 0a 0a 28 64 65 66 63 6c 61 73 73 20 65 6d 61 63 73 71 6c 2d | te-reserved)..(defclass.emacsql- |
| fae0 | 73 71 6c 69 74 65 2d 62 75 69 6c 74 69 6e 2d 63 6f 6e 6e 65 63 74 69 6f 6e 20 28 65 6d 61 63 73 | sqlite-builtin-connection.(emacs |
| fb00 | 71 6c 2d 2d 73 71 6c 69 74 65 2d 62 61 73 65 29 20 28 29 0a 20 20 22 41 20 63 6f 6e 6e 65 63 74 | ql--sqlite-base).()..."A.connect |
| fb20 | 69 6f 6e 20 74 6f 20 61 20 53 51 4c 69 74 65 20 64 61 74 61 62 61 73 65 20 75 73 69 6e 67 20 62 | ion.to.a.SQLite.database.using.b |
| fb40 | 75 69 6c 74 69 6e 20 73 75 70 70 6f 72 74 2e 22 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 | uiltin.support.")..(cl-defmethod |
| fb60 | 20 69 6e 69 74 69 61 6c 69 7a 65 2d 69 6e 73 74 61 6e 63 65 20 3a 61 66 74 65 72 0a 20 20 28 28 | .initialize-instance.:after...(( |
| fb80 | 63 6f 6e 6e 65 63 74 69 6f 6e 20 65 6d 61 63 73 71 6c 2d 73 71 6c 69 74 65 2d 62 75 69 6c 74 69 | connection.emacsql-sqlite-builti |
| fba0 | 6e 2d 63 6f 6e 6e 65 63 74 69 6f 6e 29 20 26 72 65 73 74 20 5f 29 0a 20 20 28 6f 73 65 74 20 63 | n-connection).&rest._)...(oset.c |
| fbc0 | 6f 6e 6e 65 63 74 69 6f 6e 20 68 61 6e 64 6c 65 0a 20 20 20 20 20 20 20 20 28 73 71 6c 69 74 65 | onnection.handle.........(sqlite |
| fbe0 | 2d 6f 70 65 6e 20 28 6f 72 65 66 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 66 69 6c 65 29 29 29 0a 20 | -open.(oref.connection.file))).. |
| fc00 | 20 28 65 6d 61 63 73 71 6c 2d 73 71 6c 69 74 65 2d 73 65 74 2d 62 75 73 79 2d 74 69 6d 65 6f 75 | .(emacsql-sqlite-set-busy-timeou |
| fc20 | 74 20 63 6f 6e 6e 65 63 74 69 6f 6e 29 0a 20 20 28 65 6d 61 63 73 71 6c 20 63 6f 6e 6e 65 63 74 | t.connection)...(emacsql.connect |
| fc40 | 69 6f 6e 20 5b 3a 70 72 61 67 6d 61 20 28 3d 20 66 6f 72 65 69 67 6e 2d 6b 65 79 73 20 6f 6e 29 | ion.[:pragma.(=.foreign-keys.on) |
| fc60 | 5d 29 0a 20 20 28 65 6d 61 63 73 71 6c 2d 72 65 67 69 73 74 65 72 20 63 6f 6e 6e 65 63 74 69 6f | ])...(emacsql-register.connectio |
| fc80 | 6e 29 29 0a 0a 28 63 6c 2d 64 65 66 75 6e 20 65 6d 61 63 73 71 6c 2d 73 71 6c 69 74 65 2d 62 75 | n))..(cl-defun.emacsql-sqlite-bu |
| fca0 | 69 6c 74 69 6e 20 28 66 69 6c 65 20 26 6b 65 79 20 64 65 62 75 67 29 0a 20 20 22 4f 70 65 6e 20 | iltin.(file.&key.debug)..."Open. |
| fcc0 | 61 20 63 6f 6e 6e 65 63 74 65 64 20 74 6f 20 64 61 74 61 62 61 73 65 20 73 74 6f 72 65 64 20 69 | a.connected.to.database.stored.i |
| fce0 | 6e 20 46 49 4c 45 2e 0a 49 66 20 46 49 4c 45 20 69 73 20 6e 69 6c 20 75 73 65 20 61 6e 20 69 6e | n.FILE..If.FILE.is.nil.use.an.in |
| fd00 | 2d 6d 65 6d 6f 72 79 20 64 61 74 61 62 61 73 65 2e 0a 0a 3a 64 65 62 75 67 20 4c 4f 47 20 2d 2d | -memory.database...:debug.LOG.-- |
| fd20 | 20 57 68 65 6e 20 6e 6f 6e 2d 6e 69 6c 2c 20 6c 6f 67 20 61 6c 6c 20 53 51 4c 69 74 65 20 63 6f | .When.non-nil,.log.all.SQLite.co |
| fd40 | 6d 6d 61 6e 64 73 20 74 6f 20 61 20 6c 6f 67 0a 62 75 66 66 65 72 2e 20 20 54 68 69 73 20 69 73 | mmands.to.a.log.buffer...This.is |
| fd60 | 20 66 6f 72 20 64 65 62 75 67 67 69 6e 67 20 70 75 72 70 6f 73 65 73 2e 22 0a 20 20 28 6c 65 74 | .for.debugging.purposes."...(let |
| fd80 | 20 28 28 63 6f 6e 6e 65 63 74 69 6f 6e 20 28 6d 61 6b 65 2d 69 6e 73 74 61 6e 63 65 20 23 27 65 | .((connection.(make-instance.#'e |
| fda0 | 6d 61 63 73 71 6c 2d 73 71 6c 69 74 65 2d 62 75 69 6c 74 69 6e 2d 63 6f 6e 6e 65 63 74 69 6f 6e | macsql-sqlite-builtin-connection |
| fdc0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| fde0 | 20 20 20 20 3a 66 69 6c 65 20 66 69 6c 65 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 64 65 62 75 | ....:file.file))).....(when.debu |
| fe00 | 67 0a 20 20 20 20 20 20 28 65 6d 61 63 73 71 6c 2d 65 6e 61 62 6c 65 2d 64 65 62 75 67 67 69 6e | g.......(emacsql-enable-debuggin |
| fe20 | 67 20 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 0a 20 20 20 20 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 0a | g.connection)).....connection)). |
| fe40 | 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 65 6d 61 63 73 71 6c 2d 6c 69 76 65 2d 70 20 28 28 | .(cl-defmethod.emacsql-live-p.(( |
| fe60 | 63 6f 6e 6e 65 63 74 69 6f 6e 20 65 6d 61 63 73 71 6c 2d 73 71 6c 69 74 65 2d 62 75 69 6c 74 69 | connection.emacsql-sqlite-builti |
| fe80 | 6e 2d 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 0a 20 20 28 61 6e 64 20 28 6f 72 65 66 20 63 6f 6e 6e | n-connection))...(and.(oref.conn |
| fea0 | 65 63 74 69 6f 6e 20 68 61 6e 64 6c 65 29 20 74 29 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f | ection.handle).t))..(cl-defmetho |
| fec0 | 64 20 65 6d 61 63 73 71 6c 2d 63 6c 6f 73 65 20 28 28 63 6f 6e 6e 65 63 74 69 6f 6e 20 65 6d 61 | d.emacsql-close.((connection.ema |
| fee0 | 63 73 71 6c 2d 73 71 6c 69 74 65 2d 62 75 69 6c 74 69 6e 2d 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 | csql-sqlite-builtin-connection)) |
| ff00 | 0a 20 20 28 73 71 6c 69 74 65 2d 63 6c 6f 73 65 20 28 6f 72 65 66 20 63 6f 6e 6e 65 63 74 69 6f | ...(sqlite-close.(oref.connectio |
| ff20 | 6e 20 68 61 6e 64 6c 65 29 29 0a 20 20 28 6f 73 65 74 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 68 61 | n.handle))...(oset.connection.ha |
| ff40 | 6e 64 6c 65 20 6e 69 6c 29 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 65 6d 61 63 73 71 | ndle.nil))..(cl-defmethod.emacsq |
| ff60 | 6c 2d 73 65 6e 64 2d 6d 65 73 73 61 67 65 0a 20 20 28 28 63 6f 6e 6e 65 63 74 69 6f 6e 20 65 6d | l-send-message...((connection.em |
| ff80 | 61 63 73 71 6c 2d 73 71 6c 69 74 65 2d 62 75 69 6c 74 69 6e 2d 63 6f 6e 6e 65 63 74 69 6f 6e 29 | acsql-sqlite-builtin-connection) |
| ffa0 | 20 6d 65 73 73 61 67 65 29 0a 20 20 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 65 72 72 0a | .message)...(condition-case.err. |
| ffc0 | 20 20 20 20 20 20 28 6c 65 74 20 28 28 68 65 61 64 65 72 70 20 65 6d 61 63 73 71 6c 2d 69 6e 63 | ......(let.((headerp.emacsql-inc |
| ffe0 | 6c 75 64 65 2d 68 65 61 64 65 72 29 29 0a 20 20 20 20 20 20 20 20 28 6d 61 70 63 61 72 20 28 6c | lude-header)).........(mapcar.(l |
| 10000 | 61 6d 62 64 61 20 28 72 6f 77 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 | ambda.(row)...................(c |
| 10020 | 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 65 61 64 65 72 70 20 | ond....................(headerp. |
| 10040 | 28 73 65 74 71 20 68 65 61 64 65 72 70 20 6e 69 6c 29 20 72 6f 77 29 0a 20 20 20 20 20 20 20 20 | (setq.headerp.nil).row)......... |
| 10060 | 20 20 20 20 20 20 20 20 20 20 20 28 28 6d 61 70 63 61 6e 20 28 6c 61 6d 62 64 61 20 28 63 6f 6c | ...........((mapcan.(lambda.(col |
| 10080 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | )............................... |
| 100a0 | 28 63 6f 6e 64 20 28 28 6e 75 6c 6c 20 63 6f 6c 29 20 20 20 20 20 28 6c 69 73 74 20 6e 69 6c 29 | (cond.((null.col).....(list.nil) |
| 100c0 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | )............................... |
| 100e0 | 20 20 20 20 20 20 28 28 65 71 75 61 6c 20 63 6f 6c 20 22 22 29 20 28 6c 69 73 74 20 22 22 29 29 | ......((equal.col."").(list."")) |
| 10100 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 10120 | 20 20 20 20 20 28 28 6e 75 6d 62 65 72 70 20 63 6f 6c 29 20 20 28 6c 69 73 74 20 63 6f 6c 29 29 | .....((numberp.col)..(list.col)) |
| 10140 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 10160 | 20 20 20 20 20 28 28 65 6d 61 63 73 71 6c 2d 73 71 6c 69 74 65 2d 72 65 61 64 2d 63 6f 6c 75 6d | .....((emacsql-sqlite-read-colum |
| 10180 | 6e 20 63 6f 6c 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | n.col))))....................... |
| 101a0 | 20 20 20 20 20 20 72 6f 77 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 | ......row)))).................(s |
| 101c0 | 71 6c 69 74 65 2d 73 65 6c 65 63 74 20 28 6f 72 65 66 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 68 61 | qlite-select.(oref.connection.ha |
| 101e0 | 6e 64 6c 65 29 20 6d 65 73 73 61 67 65 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ndle).message.nil............... |
| 10200 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 65 6d 61 63 73 71 6c 2d 69 6e | .................(and.emacsql-in |
| 10220 | 63 6c 75 64 65 2d 68 65 61 64 65 72 20 27 66 75 6c 6c 29 29 29 29 0a 20 20 20 20 28 28 73 71 6c | clude-header.'full)))).....((sql |
| 10240 | 69 74 65 2d 65 72 72 6f 72 20 73 71 6c 69 74 65 2d 6c 6f 63 6b 65 64 2d 65 72 72 6f 72 29 0a 20 | ite-error.sqlite-locked-error).. |
| 10260 | 20 20 20 20 28 69 66 20 28 73 74 72 69 6e 67 70 20 28 63 64 72 20 65 72 72 29 29 0a 20 20 20 20 | ....(if.(stringp.(cdr.err))..... |
| 10280 | 20 20 20 20 20 28 73 69 67 6e 61 6c 20 27 65 6d 61 63 73 71 6c 2d 65 72 72 6f 72 20 28 6c 69 73 | .....(signal.'emacsql-error.(lis |
| 102a0 | 74 20 28 63 64 72 20 65 72 72 29 29 29 0a 20 20 20 20 20 20 20 28 70 63 61 73 65 2d 6c 65 74 2a | t.(cdr.err)))........(pcase-let* |
| 102c0 | 20 28 28 60 28 2c 5f 20 2c 65 72 72 73 74 72 20 2c 65 72 72 6d 73 67 20 2c 65 72 72 63 6f 64 65 | .((`(,_.,errstr.,errmsg.,errcode |
| 102e0 | 20 2c 65 78 74 2d 65 72 72 63 6f 64 65 29 20 65 72 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | .,ext-errcode).err)............. |
| 10300 | 20 20 20 20 20 20 20 20 28 60 28 2c 5f 20 2c 5f 20 2c 73 69 67 6e 61 6c 20 2c 5f 29 0a 20 20 20 | ........(`(,_.,_.,signal.,_).... |
| 10320 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 73 73 71 20 65 72 72 63 6f 64 65 20 | ..................(assq.errcode. |
| 10340 | 65 6d 61 63 73 71 6c 2d 73 71 6c 69 74 65 2d 65 72 72 6f 72 2d 63 6f 64 65 73 29 29 29 0a 20 20 | emacsql-sqlite-error-codes)))... |
| 10360 | 20 20 20 20 20 20 20 28 73 69 67 6e 61 6c 20 28 6f 72 20 73 69 67 6e 61 6c 20 27 65 6d 61 63 73 | .......(signal.(or.signal.'emacs |
| 10380 | 71 6c 2d 65 72 72 6f 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 | ql-error)..................(list |
| 103a0 | 20 65 72 72 6d 73 67 20 65 72 72 63 6f 64 65 20 65 78 74 2d 65 72 72 63 6f 64 65 20 65 72 72 73 | .errmsg.errcode.ext-errcode.errs |
| 103c0 | 74 72 29 29 29 29 29 0a 20 20 20 20 28 65 72 72 6f 72 0a 20 20 20 20 20 28 73 69 67 6e 61 6c 20 | tr))))).....(error......(signal. |
| 103e0 | 27 65 6d 61 63 73 71 6c 2d 65 72 72 6f 72 20 28 63 64 72 20 65 72 72 29 29 29 29 29 0a 0a 28 63 | 'emacsql-error.(cdr.err)))))..(c |
| 10400 | 6c 2d 64 65 66 6d 65 74 68 6f 64 20 65 6d 61 63 73 71 6c 20 28 28 63 6f 6e 6e 65 63 74 69 6f 6e | l-defmethod.emacsql.((connection |
| 10420 | 20 65 6d 61 63 73 71 6c 2d 73 71 6c 69 74 65 2d 62 75 69 6c 74 69 6e 2d 63 6f 6e 6e 65 63 74 69 | .emacsql-sqlite-builtin-connecti |
| 10440 | 6f 6e 29 20 73 71 6c 20 26 72 65 73 74 20 61 72 67 73 29 0a 20 20 28 65 6d 61 63 73 71 6c 2d 73 | on).sql.&rest.args)...(emacsql-s |
| 10460 | 65 6e 64 2d 6d 65 73 73 61 67 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 28 61 70 70 6c 79 20 23 27 | end-message.connection.(apply.#' |
| 10480 | 65 6d 61 63 73 71 6c 2d 63 6f 6d 70 69 6c 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 73 71 6c 20 61 | emacsql-compile.connection.sql.a |
| 104a0 | 72 67 73 29 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 65 6d 61 63 73 71 6c 2d 73 71 6c 69 74 65 | rgs)))..(provide.'emacsql-sqlite |
| 104c0 | 2d 62 75 69 6c 74 69 6e 29 0a 0a 3b 3b 3b 20 65 6d 61 63 73 71 6c 2d 73 71 6c 69 74 65 2d 62 75 | -builtin)..;;;.emacsql-sqlite-bu |
| 104e0 | 69 6c 74 69 6e 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 | iltin.el.ends.here.............. |
| 10500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 105a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 105c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 105e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10600 | 65 6d 61 63 73 71 6c 2d 34 2e 33 2e 31 2f 65 6d 61 63 73 71 6c 2d 70 6b 67 2e 65 6c 00 00 00 00 | emacsql-4.3.1/emacsql-pkg.el.... |
| 10620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10660 | 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 | ....0000644.0000000.0000000.0000 |
| 10680 | 30 30 30 30 36 31 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 33 32 36 00 20 30 00 00 00 | 0000610.00000000000.014326..0... |
| 106a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 106c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 106e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10700 | 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .ustar...root................... |
| 10720 | 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .........root................... |
| 10740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 107a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 107c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 107e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10800 | 3b 3b 20 47 65 6e 65 72 61 74 65 64 20 70 61 63 6b 61 67 65 20 64 65 73 63 72 69 70 74 69 6f 6e | ;;.Generated.package.description |
| 10820 | 20 66 72 6f 6d 20 65 6d 61 63 73 71 6c 2e 65 6c 20 20 2d 2a 2d 20 6e 6f 2d 62 79 74 65 2d 63 6f | .from.emacsql.el..-*-.no-byte-co |
| 10840 | 6d 70 69 6c 65 3a 20 74 20 2d 2a 2d 0a 28 64 65 66 69 6e 65 2d 70 61 63 6b 61 67 65 20 22 65 6d | mpile:.t.-*-.(define-package."em |
| 10860 | 61 63 73 71 6c 22 20 22 34 2e 33 2e 31 22 20 22 48 69 67 68 2d 6c 65 76 65 6c 20 53 51 4c 20 64 | acsql"."4.3.1"."High-level.SQL.d |
| 10880 | 61 74 61 62 61 73 65 20 66 72 6f 6e 74 2d 65 6e 64 22 20 27 28 28 65 6d 61 63 73 20 22 32 36 2e | atabase.front-end".'((emacs."26. |
| 108a0 | 31 22 29 29 20 3a 63 6f 6d 6d 69 74 20 22 63 65 64 30 36 32 38 39 30 30 36 31 62 36 65 34 66 62 | 1")).:commit."ced062890061b6e4fb |
| 108c0 | 65 34 64 30 30 63 30 36 31 37 66 37 66 66 38 34 66 66 66 32 35 63 22 20 3a 61 75 74 68 6f 72 73 | e4d00c0617f7ff84fff25c".:authors |
| 108e0 | 20 27 28 28 22 43 68 72 69 73 74 6f 70 68 65 72 20 57 65 6c 6c 6f 6e 73 22 20 2e 20 22 77 65 6c | .'(("Christopher.Wellons"..."wel |
| 10900 | 6c 6f 6e 73 40 6e 75 6c 6c 70 72 6f 67 72 61 6d 2e 63 6f 6d 22 29 29 20 3a 6d 61 69 6e 74 61 69 | lons@nullprogram.com")).:maintai |
| 10920 | 6e 65 72 20 27 28 22 4a 6f 6e 61 73 20 42 65 72 6e 6f 75 6c 6c 69 22 20 2e 20 22 65 6d 61 63 73 | ner.'("Jonas.Bernoulli"..."emacs |
| 10940 | 2e 65 6d 61 63 73 71 6c 40 6a 6f 6e 61 73 2e 62 65 72 6e 6f 75 6c 6c 69 2e 64 65 76 22 29 20 3a | .emacsql@jonas.bernoulli.dev").: |
| 10960 | 75 72 6c 20 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6d 61 67 69 74 2f 65 6d | url."https://github.com/magit/em |
| 10980 | 61 63 73 71 6c 22 29 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | acsql")......................... |
| 109a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 109c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 109e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10a00 | 65 6d 61 63 73 71 6c 2d 34 2e 33 2e 31 2f 65 6d 61 63 73 71 6c 2d 6d 79 73 71 6c 2e 65 6c 00 00 | emacsql-4.3.1/emacsql-mysql.el.. |
| 10a20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10a40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10a60 | 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 | ....0000644.0000000.0000000.0000 |
| 10a80 | 30 30 31 34 31 37 36 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 37 32 36 00 20 30 00 00 00 | 0014176.00000000000.014726..0... |
| 10aa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10ac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10ae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10b00 | 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .ustar...root................... |
| 10b20 | 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .........root................... |
| 10b40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10b60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10b80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10ba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10bc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10be0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10c00 | 3b 3b 3b 20 65 6d 61 63 73 71 6c 2d 6d 79 73 71 6c 2e 65 6c 20 2d 2d 2d 20 45 6d 61 63 53 51 4c | ;;;.emacsql-mysql.el.---.EmacSQL |
| 10c20 | 20 62 61 63 6b 2d 65 6e 64 20 66 6f 72 20 4d 79 53 51 4c 20 20 2d 2a 2d 20 6c 65 78 69 63 61 6c | .back-end.for.MySQL..-*-.lexical |
| 10c40 | 2d 62 69 6e 64 69 6e 67 3a 74 20 2d 2a 2d 0a 0a 3b 3b 20 54 68 69 73 20 69 73 20 66 72 65 65 20 | -binding:t.-*-..;;.This.is.free. |
| 10c60 | 61 6e 64 20 75 6e 65 6e 63 75 6d 62 65 72 65 64 20 73 6f 66 74 77 61 72 65 20 72 65 6c 65 61 73 | and.unencumbered.software.releas |
| 10c80 | 65 64 20 69 6e 74 6f 20 74 68 65 20 70 75 62 6c 69 63 20 64 6f 6d 61 69 6e 2e 0a 0a 3b 3b 20 41 | ed.into.the.public.domain...;;.A |
| 10ca0 | 75 74 68 6f 72 3a 20 43 68 72 69 73 74 6f 70 68 65 72 20 57 65 6c 6c 6f 6e 73 20 3c 77 65 6c 6c | uthor:.Christopher.Wellons.<well |
| 10cc0 | 6f 6e 73 40 6e 75 6c 6c 70 72 6f 67 72 61 6d 2e 63 6f 6d 3e 0a 3b 3b 20 4d 61 69 6e 74 61 69 6e | ons@nullprogram.com>.;;.Maintain |
| 10ce0 | 65 72 3a 20 4a 6f 6e 61 73 20 42 65 72 6e 6f 75 6c 6c 69 20 3c 65 6d 61 63 73 2e 65 6d 61 63 73 | er:.Jonas.Bernoulli.<emacs.emacs |
| 10d00 | 71 6c 40 6a 6f 6e 61 73 2e 62 65 72 6e 6f 75 6c 6c 69 2e 64 65 76 3e 0a 0a 3b 3b 20 53 50 44 58 | ql@jonas.bernoulli.dev>..;;.SPDX |
| 10d20 | 2d 4c 69 63 65 6e 73 65 2d 49 64 65 6e 74 69 66 69 65 72 3a 20 55 6e 6c 69 63 65 6e 73 65 0a 0a | -License-Identifier:.Unlicense.. |
| 10d40 | 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b 20 54 68 69 73 20 6c 69 62 72 61 72 79 | ;;;.Commentary:..;;.This.library |
| 10d60 | 20 70 72 6f 76 69 64 65 73 20 61 6e 20 45 6d 61 63 53 51 4c 20 62 61 63 6b 2d 65 6e 64 20 66 6f | .provides.an.EmacSQL.back-end.fo |
| 10d80 | 72 20 4d 79 53 51 4c 2c 20 77 68 69 63 68 20 75 73 65 73 0a 3b 3b 20 74 68 65 20 73 74 61 6e 64 | r.MySQL,.which.uses.;;.the.stand |
| 10da0 | 61 72 64 20 60 6d 73 71 6c 27 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 70 72 6f 67 72 61 6d 2e | ard.`msql'.command.line.program. |
| 10dc0 | 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28 72 65 71 75 69 72 65 20 27 65 6d 61 63 73 71 6c 29 0a | ..;;;.Code:..(require.'emacsql). |
| 10de0 | 0a 28 64 65 66 76 61 72 20 65 6d 61 63 73 71 6c 2d 6d 79 73 71 6c 2d 65 78 65 63 75 74 61 62 6c | .(defvar.emacsql-mysql-executabl |
| 10e00 | 65 20 22 6d 79 73 71 6c 22 0a 20 20 22 50 61 74 68 20 74 6f 20 74 68 65 20 6d 79 73 71 6c 20 63 | e."mysql"..."Path.to.the.mysql.c |
| 10e20 | 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 65 78 65 63 75 74 61 62 6c 65 2e 22 29 0a 0a 28 64 65 66 76 | ommand.line.executable.")..(defv |
| 10e40 | 61 72 20 65 6d 61 63 73 71 6c 2d 6d 79 73 71 6c 2d 73 65 6e 74 69 6e 65 6c 20 22 2d 2d 2d 2d 2d | ar.emacsql-mysql-sentinel."----- |
| 10e60 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 5c 6e 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 5c 6e 22 | ---------\n\n--------------\n\n" |
| 10e80 | 0a 20 20 22 57 68 61 74 20 4d 79 53 51 4c 20 77 69 6c 6c 20 70 72 69 6e 74 20 77 68 65 6e 20 69 | ..."What.MySQL.will.print.when.i |
| 10ea0 | 74 20 68 61 73 20 63 6f 6d 70 6c 65 74 65 64 20 69 74 73 20 6f 75 74 70 75 74 2e 22 29 0a 0a 28 | t.has.completed.its.output.")..( |
| 10ec0 | 64 65 66 63 6f 6e 73 74 20 65 6d 61 63 73 71 6c 2d 6d 79 73 71 6c 2d 72 65 73 65 72 76 65 64 0a | defconst.emacsql-mysql-reserved. |
| 10ee0 | 20 20 28 65 6d 61 63 73 71 6c 2d 72 65 67 69 73 74 65 72 2d 72 65 73 65 72 76 65 64 0a 20 20 20 | ..(emacsql-register-reserved.... |
| 10f00 | 27 28 20 41 43 43 45 53 53 49 42 4c 45 20 41 44 44 20 41 4c 4c 20 41 4c 54 45 52 20 41 4e 41 4c | '(.ACCESSIBLE.ADD.ALL.ALTER.ANAL |
| 10f20 | 59 5a 45 20 41 4e 44 20 41 53 20 41 53 43 20 41 53 45 4e 53 49 54 49 56 45 20 42 45 46 4f 52 45 | YZE.AND.AS.ASC.ASENSITIVE.BEFORE |
| 10f40 | 0a 20 20 20 20 20 20 42 45 54 57 45 45 4e 20 42 49 47 49 4e 54 20 42 49 4e 41 52 59 20 42 4c 4f | .......BETWEEN.BIGINT.BINARY.BLO |
| 10f60 | 42 20 42 4f 54 48 20 42 59 20 43 41 4c 4c 20 43 41 53 43 41 44 45 20 43 41 53 45 20 43 48 41 4e | B.BOTH.BY.CALL.CASCADE.CASE.CHAN |
| 10f80 | 47 45 20 43 48 41 52 0a 20 20 20 20 20 20 43 48 41 52 41 43 54 45 52 20 43 48 45 43 4b 20 43 4f | GE.CHAR.......CHARACTER.CHECK.CO |
| 10fa0 | 4c 4c 41 54 45 20 43 4f 4c 55 4d 4e 20 43 4f 4e 44 49 54 49 4f 4e 20 43 4f 4e 53 54 52 41 49 4e | LLATE.COLUMN.CONDITION.CONSTRAIN |
| 10fc0 | 54 20 43 4f 4e 54 49 4e 55 45 0a 20 20 20 20 20 20 43 4f 4e 56 45 52 54 20 43 52 45 41 54 45 20 | T.CONTINUE.......CONVERT.CREATE. |
| 10fe0 | 43 52 4f 53 53 20 43 55 52 52 45 4e 54 5f 44 41 54 45 20 43 55 52 52 45 4e 54 5f 54 49 4d 45 20 | CROSS.CURRENT_DATE.CURRENT_TIME. |
| 11000 | 43 55 52 52 45 4e 54 5f 54 49 4d 45 53 54 41 4d 50 0a 20 20 20 20 20 20 43 55 52 52 45 4e 54 5f | CURRENT_TIMESTAMP.......CURRENT_ |
| 11020 | 55 53 45 52 20 43 55 52 53 4f 52 20 44 41 54 41 42 41 53 45 20 44 41 54 41 42 41 53 45 53 20 44 | USER.CURSOR.DATABASE.DATABASES.D |
| 11040 | 41 59 5f 48 4f 55 52 20 44 41 59 5f 4d 49 43 52 4f 53 45 43 4f 4e 44 0a 20 20 20 20 20 20 44 41 | AY_HOUR.DAY_MICROSECOND.......DA |
| 11060 | 59 5f 4d 49 4e 55 54 45 20 44 41 59 5f 53 45 43 4f 4e 44 20 44 45 43 20 44 45 43 49 4d 41 4c 20 | Y_MINUTE.DAY_SECOND.DEC.DECIMAL. |
| 11080 | 44 45 43 4c 41 52 45 20 44 45 46 41 55 4c 54 20 44 45 4c 41 59 45 44 20 44 45 4c 45 54 45 0a 20 | DECLARE.DEFAULT.DELAYED.DELETE.. |
| 110a0 | 20 20 20 20 20 44 45 53 43 20 44 45 53 43 52 49 42 45 20 44 45 54 45 52 4d 49 4e 49 53 54 49 43 | .....DESC.DESCRIBE.DETERMINISTIC |
| 110c0 | 20 44 49 53 54 49 4e 43 54 20 44 49 53 54 49 4e 43 54 52 4f 57 20 44 49 56 20 44 4f 55 42 4c 45 | .DISTINCT.DISTINCTROW.DIV.DOUBLE |
| 110e0 | 20 44 52 4f 50 0a 20 20 20 20 20 20 44 55 41 4c 20 45 41 43 48 20 45 4c 53 45 20 45 4c 53 45 49 | .DROP.......DUAL.EACH.ELSE.ELSEI |
| 11100 | 46 20 45 4e 43 4c 4f 53 45 44 20 45 53 43 41 50 45 44 20 45 58 49 53 54 53 20 45 58 49 54 20 45 | F.ENCLOSED.ESCAPED.EXISTS.EXIT.E |
| 11120 | 58 50 4c 41 49 4e 20 46 41 4c 53 45 0a 20 20 20 20 20 20 46 45 54 43 48 20 46 4c 4f 41 54 20 46 | XPLAIN.FALSE.......FETCH.FLOAT.F |
| 11140 | 4c 4f 41 54 34 20 46 4c 4f 41 54 38 20 46 4f 52 20 46 4f 52 43 45 20 46 4f 52 45 49 47 4e 20 46 | LOAT4.FLOAT8.FOR.FORCE.FOREIGN.F |
| 11160 | 52 4f 4d 20 46 55 4c 4c 54 45 58 54 20 47 45 4e 45 52 41 4c 0a 20 20 20 20 20 20 47 52 41 4e 54 | ROM.FULLTEXT.GENERAL.......GRANT |
| 11180 | 20 47 52 4f 55 50 20 48 41 56 49 4e 47 20 48 49 47 48 5f 50 52 49 4f 52 49 54 59 20 48 4f 55 52 | .GROUP.HAVING.HIGH_PRIORITY.HOUR |
| 111a0 | 5f 4d 49 43 52 4f 53 45 43 4f 4e 44 20 48 4f 55 52 5f 4d 49 4e 55 54 45 0a 20 20 20 20 20 20 48 | _MICROSECOND.HOUR_MINUTE.......H |
| 111c0 | 4f 55 52 5f 53 45 43 4f 4e 44 20 49 46 20 49 47 4e 4f 52 45 20 49 47 4e 4f 52 45 5f 53 45 52 56 | OUR_SECOND.IF.IGNORE.IGNORE_SERV |
| 111e0 | 45 52 5f 49 44 53 20 49 4e 20 49 4e 44 45 58 20 49 4e 46 49 4c 45 20 49 4e 4e 45 52 0a 20 20 20 | ER_IDS.IN.INDEX.INFILE.INNER.... |
| 11200 | 20 20 20 49 4e 4f 55 54 20 49 4e 53 45 4e 53 49 54 49 56 45 20 49 4e 53 45 52 54 20 49 4e 54 20 | ...INOUT.INSENSITIVE.INSERT.INT. |
| 11220 | 49 4e 54 31 20 49 4e 54 32 20 49 4e 54 33 20 49 4e 54 34 20 49 4e 54 38 20 49 4e 54 45 47 45 52 | INT1.INT2.INT3.INT4.INT8.INTEGER |
| 11240 | 0a 20 20 20 20 20 20 49 4e 54 45 52 56 41 4c 20 49 4e 54 4f 20 49 53 20 49 54 45 52 41 54 45 20 | .......INTERVAL.INTO.IS.ITERATE. |
| 11260 | 4a 4f 49 4e 20 4b 45 59 20 4b 45 59 53 20 4b 49 4c 4c 20 4c 45 41 44 49 4e 47 20 4c 45 41 56 45 | JOIN.KEY.KEYS.KILL.LEADING.LEAVE |
| 11280 | 20 4c 45 46 54 0a 20 20 20 20 20 20 4c 49 4b 45 20 4c 49 4d 49 54 20 4c 49 4e 45 41 52 20 4c 49 | .LEFT.......LIKE.LIMIT.LINEAR.LI |
| 112a0 | 4e 45 53 20 4c 4f 41 44 20 4c 4f 43 41 4c 54 49 4d 45 20 4c 4f 43 41 4c 54 49 4d 45 53 54 41 4d | NES.LOAD.LOCALTIME.LOCALTIMESTAM |
| 112c0 | 50 20 4c 4f 43 4b 20 4c 4f 4e 47 0a 20 20 20 20 20 20 4c 4f 4e 47 42 4c 4f 42 20 4c 4f 4e 47 54 | P.LOCK.LONG.......LONGBLOB.LONGT |
| 112e0 | 45 58 54 20 4c 4f 4f 50 20 4c 4f 57 5f 50 52 49 4f 52 49 54 59 20 4d 41 53 54 45 52 5f 48 45 41 | EXT.LOOP.LOW_PRIORITY.MASTER_HEA |
| 11300 | 52 54 42 45 41 54 5f 50 45 52 49 4f 44 0a 20 20 20 20 20 20 4d 41 53 54 45 52 5f 53 53 4c 5f 56 | RTBEAT_PERIOD.......MASTER_SSL_V |
| 11320 | 45 52 49 46 59 5f 53 45 52 56 45 52 5f 43 45 52 54 20 4d 41 54 43 48 20 4d 41 58 56 41 4c 55 45 | ERIFY_SERVER_CERT.MATCH.MAXVALUE |
| 11340 | 20 4d 41 58 56 41 4c 55 45 20 4d 45 44 49 55 4d 42 4c 4f 42 0a 20 20 20 20 20 20 4d 45 44 49 55 | .MAXVALUE.MEDIUMBLOB.......MEDIU |
| 11360 | 4d 49 4e 54 20 4d 45 44 49 55 4d 54 45 58 54 20 4d 49 44 44 4c 45 49 4e 54 20 4d 49 4e 55 54 45 | MINT.MEDIUMTEXT.MIDDLEINT.MINUTE |
| 11380 | 5f 4d 49 43 52 4f 53 45 43 4f 4e 44 20 4d 49 4e 55 54 45 5f 53 45 43 4f 4e 44 0a 20 20 20 20 20 | _MICROSECOND.MINUTE_SECOND...... |
| 113a0 | 20 4d 4f 44 20 4d 4f 44 49 46 49 45 53 20 4e 41 54 55 52 41 4c 20 4e 4f 54 20 4e 4f 5f 57 52 49 | .MOD.MODIFIES.NATURAL.NOT.NO_WRI |
| 113c0 | 54 45 5f 54 4f 5f 42 49 4e 4c 4f 47 20 4e 55 4c 4c 20 4e 55 4d 45 52 49 43 20 4f 4e 0a 20 20 20 | TE_TO_BINLOG.NULL.NUMERIC.ON.... |
| 113e0 | 20 20 20 4f 50 54 49 4d 49 5a 45 20 4f 50 54 49 4f 4e 20 4f 50 54 49 4f 4e 41 4c 4c 59 20 4f 52 | ...OPTIMIZE.OPTION.OPTIONALLY.OR |
| 11400 | 20 4f 52 44 45 52 20 4f 55 54 20 4f 55 54 45 52 20 4f 55 54 46 49 4c 45 20 50 52 45 43 49 53 49 | .ORDER.OUT.OUTER.OUTFILE.PRECISI |
| 11420 | 4f 4e 0a 20 20 20 20 20 20 50 52 49 4d 41 52 59 20 50 52 4f 43 45 44 55 52 45 20 50 55 52 47 45 | ON.......PRIMARY.PROCEDURE.PURGE |
| 11440 | 20 52 41 4e 47 45 20 52 45 41 44 20 52 45 41 44 53 20 52 45 41 44 5f 57 52 49 54 45 20 52 45 41 | .RANGE.READ.READS.READ_WRITE.REA |
| 11460 | 4c 0a 20 20 20 20 20 20 52 45 46 45 52 45 4e 43 45 53 20 52 45 47 45 58 50 20 52 45 4c 45 41 53 | L.......REFERENCES.REGEXP.RELEAS |
| 11480 | 45 20 52 45 4e 41 4d 45 20 52 45 50 45 41 54 20 52 45 50 4c 41 43 45 20 52 45 51 55 49 52 45 20 | E.RENAME.REPEAT.REPLACE.REQUIRE. |
| 114a0 | 52 45 53 49 47 4e 41 4c 0a 20 20 20 20 20 20 52 45 53 49 47 4e 41 4c 20 52 45 53 54 52 49 43 54 | RESIGNAL.......RESIGNAL.RESTRICT |
| 114c0 | 20 52 45 54 55 52 4e 20 52 45 56 4f 4b 45 20 52 49 47 48 54 20 52 4c 49 4b 45 20 53 43 48 45 4d | .RETURN.REVOKE.RIGHT.RLIKE.SCHEM |
| 114e0 | 41 20 53 43 48 45 4d 41 53 0a 20 20 20 20 20 20 53 45 43 4f 4e 44 5f 4d 49 43 52 4f 53 45 43 4f | A.SCHEMAS.......SECOND_MICROSECO |
| 11500 | 4e 44 20 53 45 4c 45 43 54 20 53 45 4e 53 49 54 49 56 45 20 53 45 50 41 52 41 54 4f 52 20 53 45 | ND.SELECT.SENSITIVE.SEPARATOR.SE |
| 11520 | 54 20 53 48 4f 57 20 53 49 47 4e 41 4c 0a 20 20 20 20 20 20 53 49 47 4e 41 4c 20 53 4c 4f 57 20 | T.SHOW.SIGNAL.......SIGNAL.SLOW. |
| 11540 | 53 4d 41 4c 4c 49 4e 54 20 53 50 41 54 49 41 4c 20 53 50 45 43 49 46 49 43 20 53 51 4c 20 53 51 | SMALLINT.SPATIAL.SPECIFIC.SQL.SQ |
| 11560 | 4c 5f 42 49 47 5f 52 45 53 55 4c 54 0a 20 20 20 20 20 20 53 51 4c 5f 43 41 4c 43 5f 46 4f 55 4e | L_BIG_RESULT.......SQL_CALC_FOUN |
| 11580 | 44 5f 52 4f 57 53 20 53 51 4c 45 58 43 45 50 54 49 4f 4e 20 53 51 4c 5f 53 4d 41 4c 4c 5f 52 45 | D_ROWS.SQLEXCEPTION.SQL_SMALL_RE |
| 115a0 | 53 55 4c 54 20 53 51 4c 53 54 41 54 45 0a 20 20 20 20 20 20 53 51 4c 57 41 52 4e 49 4e 47 20 53 | SULT.SQLSTATE.......SQLWARNING.S |
| 115c0 | 53 4c 20 53 54 41 52 54 49 4e 47 20 53 54 52 41 49 47 48 54 5f 4a 4f 49 4e 20 54 41 42 4c 45 20 | SL.STARTING.STRAIGHT_JOIN.TABLE. |
| 115e0 | 54 45 52 4d 49 4e 41 54 45 44 20 54 48 45 4e 0a 20 20 20 20 20 20 54 49 4e 59 42 4c 4f 42 20 54 | TERMINATED.THEN.......TINYBLOB.T |
| 11600 | 49 4e 59 49 4e 54 20 54 49 4e 59 54 45 58 54 20 54 4f 20 54 52 41 49 4c 49 4e 47 20 54 52 49 47 | INYINT.TINYTEXT.TO.TRAILING.TRIG |
| 11620 | 47 45 52 20 54 52 55 45 20 55 4e 44 4f 20 55 4e 49 4f 4e 0a 20 20 20 20 20 20 55 4e 49 51 55 45 | GER.TRUE.UNDO.UNION.......UNIQUE |
| 11640 | 20 55 4e 4c 4f 43 4b 20 55 4e 53 49 47 4e 45 44 20 55 50 44 41 54 45 20 55 53 41 47 45 20 55 53 | .UNLOCK.UNSIGNED.UPDATE.USAGE.US |
| 11660 | 45 20 55 53 49 4e 47 20 55 54 43 5f 44 41 54 45 20 55 54 43 5f 54 49 4d 45 0a 20 20 20 20 20 20 | E.USING.UTC_DATE.UTC_TIME....... |
| 11680 | 55 54 43 5f 54 49 4d 45 53 54 41 4d 50 20 56 41 4c 55 45 53 20 56 41 52 42 49 4e 41 52 59 20 56 | UTC_TIMESTAMP.VALUES.VARBINARY.V |
| 116a0 | 41 52 43 48 41 52 20 56 41 52 43 48 41 52 41 43 54 45 52 20 56 41 52 59 49 4e 47 20 57 48 45 4e | ARCHAR.VARCHARACTER.VARYING.WHEN |
| 116c0 | 0a 20 20 20 20 20 20 57 48 45 52 45 20 57 48 49 4c 45 20 57 49 54 48 20 57 52 49 54 45 20 58 4f | .......WHERE.WHILE.WITH.WRITE.XO |
| 116e0 | 52 20 59 45 41 52 5f 4d 4f 4e 54 48 20 5a 45 52 4f 46 49 4c 4c 29 29 0a 20 20 22 4c 69 73 74 20 | R.YEAR_MONTH.ZEROFILL))..."List. |
| 11700 | 6f 66 20 61 6c 6c 20 6f 66 20 4d 79 53 51 4c 27 73 20 72 65 73 65 72 76 65 64 20 77 6f 72 64 73 | of.all.of.MySQL's.reserved.words |
| 11720 | 2e 0a 68 74 74 70 3a 2f 2f 64 65 76 2e 6d 79 73 71 6c 2e 63 6f 6d 2f 64 6f 63 2f 72 65 66 6d 61 | ..http://dev.mysql.com/doc/refma |
| 11740 | 6e 2f 35 2e 35 2f 65 6e 2f 72 65 73 65 72 76 65 64 2d 77 6f 72 64 73 2e 68 74 6d 6c 22 29 0a 0a | n/5.5/en/reserved-words.html").. |
| 11760 | 28 64 65 66 63 6c 61 73 73 20 65 6d 61 63 73 71 6c 2d 6d 79 73 71 6c 2d 63 6f 6e 6e 65 63 74 69 | (defclass.emacsql-mysql-connecti |
| 11780 | 6f 6e 20 28 65 6d 61 63 73 71 6c 2d 63 6f 6e 6e 65 63 74 69 6f 6e 29 0a 20 20 28 28 64 62 6e 61 | on.(emacsql-connection)...((dbna |
| 117a0 | 6d 65 20 3a 72 65 61 64 65 72 20 65 6d 61 63 73 71 6c 2d 70 73 71 6c 2d 64 62 6e 61 6d 65 20 3a | me.:reader.emacsql-psql-dbname.: |
| 117c0 | 69 6e 69 74 61 72 67 20 3a 64 62 6e 61 6d 65 29 0a 20 20 20 28 74 79 70 65 73 20 3a 61 6c 6c 6f | initarg.:dbname)....(types.:allo |
| 117e0 | 63 61 74 69 6f 6e 20 3a 63 6c 61 73 73 0a 20 20 20 20 20 20 20 20 20 20 3a 72 65 61 64 65 72 20 | cation.:class...........:reader. |
| 11800 | 65 6d 61 63 73 71 6c 2d 74 79 70 65 73 0a 20 20 20 20 20 20 20 20 20 20 3a 69 6e 69 74 66 6f 72 | emacsql-types...........:initfor |
| 11820 | 6d 20 27 28 28 69 6e 74 65 67 65 72 20 22 42 49 47 49 4e 54 22 29 0a 20 20 20 20 20 20 20 20 20 | m.'((integer."BIGINT").......... |
| 11840 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6c 6f 61 74 20 22 44 4f 55 42 4c 45 22 29 0a 20 20 | .............(float."DOUBLE")... |
| 11860 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 62 6a 65 63 74 20 22 4c 4f 4e | ....................(object."LON |
| 11880 | 47 54 45 58 54 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e | GTEXT").......................(n |
| 118a0 | 69 6c 20 22 4c 4f 4e 47 54 45 58 54 22 29 29 29 29 0a 20 20 22 41 20 63 6f 6e 6e 65 63 74 69 6f | il."LONGTEXT"))))..."A.connectio |
| 118c0 | 6e 20 74 6f 20 61 20 4d 79 53 51 4c 20 64 61 74 61 62 61 73 65 2e 22 29 0a 0a 28 63 6c 2d 64 65 | n.to.a.MySQL.database.")..(cl-de |
| 118e0 | 66 75 6e 20 65 6d 61 63 73 71 6c 2d 6d 79 73 71 6c 20 28 64 61 74 61 62 61 73 65 20 26 6b 65 79 | fun.emacsql-mysql.(database.&key |
| 11900 | 20 75 73 65 72 20 70 61 73 73 77 6f 72 64 20 68 6f 73 74 20 70 6f 72 74 20 64 65 62 75 67 29 0a | .user.password.host.port.debug). |
| 11920 | 20 20 22 43 6f 6e 6e 65 63 74 20 74 6f 20 61 20 4d 79 53 51 4c 20 73 65 72 76 65 72 20 75 73 69 | .."Connect.to.a.MySQL.server.usi |
| 11940 | 6e 67 20 74 68 65 20 6d 79 73 71 6c 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 70 72 6f 67 72 61 | ng.the.mysql.command.line.progra |
| 11960 | 6d 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 6d 79 73 71 6c 20 28 6f 72 20 28 65 78 65 63 75 74 61 | m."...(let*.((mysql.(or.(executa |
| 11980 | 62 6c 65 2d 66 69 6e 64 20 65 6d 61 63 73 71 6c 2d 6d 79 73 71 6c 2d 65 78 65 63 75 74 61 62 6c | ble-find.emacsql-mysql-executabl |
| 119a0 | 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 4e | e).....................(error."N |
| 119c0 | 6f 20 6d 79 73 71 6c 20 62 69 6e 61 72 79 20 61 76 61 69 6c 61 62 6c 65 2c 20 61 62 6f 72 74 69 | o.mysql.binary.available,.aborti |
| 119e0 | 6e 67 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 63 6f 6d 6d 61 6e 64 20 28 6c 69 73 74 20 64 | ng")))..........(command.(list.d |
| 11a00 | 61 74 61 62 61 73 65 20 22 2d 2d 73 6b 69 70 2d 70 61 67 65 72 22 20 22 2d 72 66 42 4e 4c 22 20 | atabase."--skip-pager"."-rfBNL". |
| 11a20 | 6d 79 73 71 6c 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 75 73 65 72 20 20 20 20 20 28 70 75 73 | mysql))).....(when.user.....(pus |
| 11a40 | 68 20 28 66 6f 72 6d 61 74 20 22 2d 2d 75 73 65 72 3d 25 73 22 20 75 73 65 72 29 20 63 6f 6d 6d | h.(format."--user=%s".user).comm |
| 11a60 | 61 6e 64 29 29 0a 20 20 20 20 28 77 68 65 6e 20 70 61 73 73 77 6f 72 64 20 28 70 75 73 68 20 28 | and)).....(when.password.(push.( |
| 11a80 | 66 6f 72 6d 61 74 20 22 2d 2d 70 61 73 73 77 6f 72 64 3d 25 73 22 20 70 61 73 73 77 6f 72 64 29 | format."--password=%s".password) |
| 11aa0 | 20 63 6f 6d 6d 61 6e 64 29 29 0a 20 20 20 20 28 77 68 65 6e 20 68 6f 73 74 20 20 20 20 20 28 70 | .command)).....(when.host.....(p |
| 11ac0 | 75 73 68 20 28 66 6f 72 6d 61 74 20 22 2d 2d 68 6f 73 74 3d 25 73 22 20 68 6f 73 74 29 20 63 6f | ush.(format."--host=%s".host).co |
| 11ae0 | 6d 6d 61 6e 64 29 29 0a 20 20 20 20 28 77 68 65 6e 20 70 6f 72 74 20 20 20 20 20 28 70 75 73 68 | mmand)).....(when.port.....(push |
| 11b00 | 20 28 66 6f 72 6d 61 74 20 22 2d 2d 70 6f 72 74 3d 25 73 22 20 70 6f 72 74 29 20 63 6f 6d 6d 61 | .(format."--port=%s".port).comma |
| 11b20 | 6e 64 29 29 0a 20 20 20 20 28 6c 65 74 2a 20 28 28 70 72 6f 63 65 73 73 2d 63 6f 6e 6e 65 63 74 | nd)).....(let*.((process-connect |
| 11b40 | 69 6f 6e 2d 74 79 70 65 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 62 75 66 66 65 72 20 28 | ion-type.t)............(buffer.( |
| 11b60 | 67 65 6e 65 72 61 74 65 2d 6e 65 77 2d 62 75 66 66 65 72 20 22 20 2a 65 6d 61 63 73 71 6c 2d 6d | generate-new-buffer.".*emacsql-m |
| 11b80 | 79 73 71 6c 2a 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6d 6d 61 6e 64 20 28 6d 61 | ysql*"))............(command.(ma |
| 11ba0 | 70 63 6f 6e 63 61 74 20 23 27 73 68 65 6c 6c 2d 71 75 6f 74 65 2d 61 72 67 75 6d 65 6e 74 20 28 | pconcat.#'shell-quote-argument.( |
| 11bc0 | 6e 72 65 76 65 72 73 65 20 63 6f 6d 6d 61 6e 64 29 20 22 20 22 29 29 0a 20 20 20 20 20 20 20 20 | nreverse.command)."."))......... |
| 11be0 | 20 20 20 28 70 72 6f 63 65 73 73 20 28 73 74 61 72 74 2d 70 72 6f 63 65 73 73 2d 73 68 65 6c 6c | ...(process.(start-process-shell |
| 11c00 | 2d 63 6f 6d 6d 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 65 | -command......................"e |
| 11c20 | 6d 61 63 73 71 6c 2d 6d 79 73 71 6c 22 20 62 75 66 66 65 72 20 28 63 6f 6e 63 61 74 20 22 73 74 | macsql-mysql".buffer.(concat."st |
| 11c40 | 74 79 20 72 61 77 20 26 26 22 20 63 6f 6d 6d 61 6e 64 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 | ty.raw.&&".command)))........... |
| 11c60 | 20 28 63 6f 6e 6e 65 63 74 69 6f 6e 20 28 6d 61 6b 65 2d 69 6e 73 74 61 6e 63 65 20 27 65 6d 61 | .(connection.(make-instance.'ema |
| 11c80 | 63 73 71 6c 2d 6d 79 73 71 6c 2d 63 6f 6e 6e 65 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 | csql-mysql-connection........... |
| 11ca0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 68 61 6e | ............................:han |
| 11cc0 | 64 6c 65 20 70 72 6f 63 65 73 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | dle.process..................... |
| 11ce0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 64 62 6e 61 6d 65 20 64 61 74 61 62 61 | ..................:dbname.databa |
| 11d00 | 73 65 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 2d 70 72 6f 63 65 73 73 2d 73 65 6e 74 69 6e 65 | se))).......(set-process-sentine |
| 11d20 | 6c 20 70 72 6f 63 65 73 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | l.process....................... |
| 11d40 | 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 70 72 6f 63 20 5f 29 20 28 6b 69 6c 6c 2d 62 75 66 | ......(lambda.(proc._).(kill-buf |
| 11d60 | 66 65 72 20 28 70 72 6f 63 65 73 73 2d 62 75 66 66 65 72 20 70 72 6f 63 29 29 29 29 0a 20 20 20 | fer.(process-buffer.proc)))).... |
| 11d80 | 20 20 20 28 73 65 74 2d 70 72 6f 63 65 73 73 2d 71 75 65 72 79 2d 6f 6e 2d 65 78 69 74 2d 66 6c | ...(set-process-query-on-exit-fl |
| 11da0 | 61 67 20 28 6f 72 65 66 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 68 61 6e 64 6c 65 29 20 6e 69 6c 29 | ag.(oref.connection.handle).nil) |
| 11dc0 | 0a 20 20 20 20 20 20 28 77 68 65 6e 20 64 65 62 75 67 20 28 65 6d 61 63 73 71 6c 2d 65 6e 61 62 | .......(when.debug.(emacsql-enab |
| 11de0 | 6c 65 2d 64 65 62 75 67 67 69 6e 67 20 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 0a 20 20 20 20 20 20 | le-debugging.connection))....... |
| 11e00 | 28 65 6d 61 63 73 71 6c 20 63 6f 6e 6e 65 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 | (emacsql.connection............. |
| 11e20 | 20 20 20 5b 3a 73 65 74 2d 73 65 73 73 69 6f 6e 20 28 3d 20 73 71 6c 2d 6d 6f 64 65 20 27 4e 4f | ...[:set-session.(=.sql-mode.'NO |
| 11e40 | 5f 42 41 43 4b 53 4c 41 53 48 5f 45 53 43 41 50 45 53 5c 2c 41 4e 53 49 5f 51 55 4f 54 45 53 29 | _BACKSLASH_ESCAPES\,ANSI_QUOTES) |
| 11e60 | 5d 29 0a 20 20 20 20 20 20 28 65 6d 61 63 73 71 6c 20 63 6f 6e 6e 65 63 74 69 6f 6e 0a 20 20 20 | ]).......(emacsql.connection.... |
| 11e80 | 20 20 20 20 20 20 20 20 20 20 20 20 5b 3a 73 65 74 2d 74 72 61 6e 73 61 63 74 69 6f 6e 2d 69 73 | ............[:set-transaction-is |
| 11ea0 | 6f 6c 61 74 69 6f 6e 2d 6c 65 76 65 6c 20 3a 73 65 72 69 61 6c 69 7a 61 62 6c 65 5d 29 0a 20 20 | olation-level.:serializable])... |
| 11ec0 | 20 20 20 20 28 65 6d 61 63 73 71 6c 2d 72 65 67 69 73 74 65 72 20 63 6f 6e 6e 65 63 74 69 6f 6e | ....(emacsql-register.connection |
| 11ee0 | 29 29 29 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 65 6d 61 63 73 71 6c 2d 63 6c 6f 73 | ))))..(cl-defmethod.emacsql-clos |
| 11f00 | 65 20 28 28 63 6f 6e 6e 65 63 74 69 6f 6e 20 65 6d 61 63 73 71 6c 2d 6d 79 73 71 6c 2d 63 6f 6e | e.((connection.emacsql-mysql-con |
| 11f20 | 6e 65 63 74 69 6f 6e 29 29 0a 20 20 28 6c 65 74 20 28 28 70 72 6f 63 65 73 73 20 28 6f 72 65 66 | nection))...(let.((process.(oref |
| 11f40 | 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 68 61 6e 64 6c 65 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 | .connection.handle))).....(when. |
| 11f60 | 28 70 72 6f 63 65 73 73 2d 6c 69 76 65 2d 70 20 70 72 6f 63 65 73 73 29 0a 20 20 20 20 20 20 28 | (process-live-p.process).......( |
| 11f80 | 70 72 6f 63 65 73 73 2d 73 65 6e 64 2d 65 6f 66 20 70 72 6f 63 65 73 73 29 29 29 29 0a 0a 28 63 | process-send-eof.process))))..(c |
| 11fa0 | 6c 2d 64 65 66 6d 65 74 68 6f 64 20 65 6d 61 63 73 71 6c 2d 73 65 6e 64 2d 6d 65 73 73 61 67 65 | l-defmethod.emacsql-send-message |
| 11fc0 | 20 28 28 63 6f 6e 6e 65 63 74 69 6f 6e 20 65 6d 61 63 73 71 6c 2d 6d 79 73 71 6c 2d 63 6f 6e 6e | .((connection.emacsql-mysql-conn |
| 11fe0 | 65 63 74 69 6f 6e 29 20 6d 65 73 73 61 67 65 29 0a 20 20 28 6c 65 74 20 28 28 70 72 6f 63 65 73 | ection).message)...(let.((proces |
| 12000 | 73 20 28 6f 72 65 66 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 68 61 6e 64 6c 65 29 29 29 0a 20 20 20 | s.(oref.connection.handle))).... |
| 12020 | 20 28 70 72 6f 63 65 73 73 2d 73 65 6e 64 2d 73 74 72 69 6e 67 20 70 72 6f 63 65 73 73 20 6d 65 | .(process-send-string.process.me |
| 12040 | 73 73 61 67 65 29 0a 20 20 20 20 28 70 72 6f 63 65 73 73 2d 73 65 6e 64 2d 73 74 72 69 6e 67 20 | ssage).....(process-send-string. |
| 12060 | 70 72 6f 63 65 73 73 20 22 5c 5c 63 5c 5c 70 5c 6e 22 29 29 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 | process."\\c\\p\n")))..(cl-defme |
| 12080 | 74 68 6f 64 20 65 6d 61 63 73 71 6c 2d 77 61 69 74 69 6e 67 2d 70 20 28 28 63 6f 6e 6e 65 63 74 | thod.emacsql-waiting-p.((connect |
| 120a0 | 69 6f 6e 20 65 6d 61 63 73 71 6c 2d 6d 79 73 71 6c 2d 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 0a 20 | ion.emacsql-mysql-connection)).. |
| 120c0 | 20 28 6c 65 74 20 28 28 6c 65 6e 67 74 68 20 28 6c 65 6e 67 74 68 20 65 6d 61 63 73 71 6c 2d 6d | .(let.((length.(length.emacsql-m |
| 120e0 | 79 73 71 6c 2d 73 65 6e 74 69 6e 65 6c 29 29 29 0a 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 | ysql-sentinel))).....(with-curre |
| 12100 | 6e 74 2d 62 75 66 66 65 72 20 28 65 6d 61 63 73 71 6c 2d 62 75 66 66 65 72 20 63 6f 6e 6e 65 63 | nt-buffer.(emacsql-buffer.connec |
| 12120 | 74 69 6f 6e 29 0a 20 20 20 20 20 20 28 61 6e 64 20 28 3e 3d 20 28 62 75 66 66 65 72 2d 73 69 7a | tion).......(and.(>=.(buffer-siz |
| 12140 | 65 29 20 6c 65 6e 67 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 20 28 67 6f | e).length)............(progn.(go |
| 12160 | 74 6f 2d 63 68 61 72 20 28 2d 20 28 70 6f 69 6e 74 2d 6d 61 78 29 20 6c 65 6e 67 74 68 29 29 0a | to-char.(-.(point-max).length)). |
| 12180 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 6f 6f 6b 69 6e 67 2d 61 74 20 65 6d | ..................(looking-at.em |
| 121a0 | 61 63 73 71 6c 2d 6d 79 73 71 6c 2d 73 65 6e 74 69 6e 65 6c 29 29 29 29 29 29 0a 0a 28 63 6c 2d | acsql-mysql-sentinel))))))..(cl- |
| 121c0 | 64 65 66 6d 65 74 68 6f 64 20 65 6d 61 63 73 71 6c 2d 70 61 72 73 65 20 28 28 63 6f 6e 6e 65 63 | defmethod.emacsql-parse.((connec |
| 121e0 | 74 69 6f 6e 20 65 6d 61 63 73 71 6c 2d 6d 79 73 71 6c 2d 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 0a | tion.emacsql-mysql-connection)). |
| 12200 | 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 65 6d 61 63 73 71 6c 2d | ..(with-current-buffer.(emacsql- |
| 12220 | 62 75 66 66 65 72 20 63 6f 6e 6e 65 63 74 69 6f 6e 29 0a 20 20 20 20 28 6c 65 74 20 28 28 73 74 | buffer.connection).....(let.((st |
| 12240 | 61 6e 64 61 72 64 2d 69 6e 70 75 74 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 29 0a | andard-input.(current-buffer))). |
| 12260 | 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 | ......(goto-char.(point-min))... |
| 12280 | 20 20 20 20 28 77 68 65 6e 20 28 6c 6f 6f 6b 69 6e 67 2d 61 74 20 22 45 52 52 4f 52 22 29 0a 20 | ....(when.(looking-at."ERROR").. |
| 122a0 | 20 20 20 20 20 20 20 28 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 20 22 3a 20 22 29 0a 20 20 20 | .......(search-forward.":.").... |
| 122c0 | 20 20 20 20 20 28 73 69 67 6e 61 6c 20 27 65 6d 61 63 73 71 6c 2d 65 72 72 6f 72 0a 20 20 20 20 | .....(signal.'emacsql-error..... |
| 122e0 | 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 62 75 66 66 65 72 2d 73 75 62 73 74 72 | ............(list.(buffer-substr |
| 12300 | 69 6e 67 20 28 70 6f 69 6e 74 29 20 28 6c 69 6e 65 2d 65 6e 64 2d 70 6f 73 69 74 69 6f 6e 29 29 | ing.(point).(line-end-position)) |
| 12320 | 29 29 29 0a 20 20 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 75 6e 74 69 6c 20 28 6c 6f 6f 6b 69 6e | ))).......(cl-loop.until.(lookin |
| 12340 | 67 2d 61 74 20 65 6d 61 63 73 71 6c 2d 6d 79 73 71 6c 2d 73 65 6e 74 69 6e 65 6c 29 0a 20 20 20 | g-at.emacsql-mysql-sentinel).... |
| 12360 | 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6c 65 63 74 20 28 72 65 61 64 29 20 69 6e 74 6f 20 | ............collect.(read).into. |
| 12380 | 72 6f 77 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 68 65 6e 20 28 6c 6f 6f 6b 69 6e 67 | row................when.(looking |
| 123a0 | 2d 61 74 20 22 5c 6e 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6c 65 63 74 | -at."\n")................collect |
| 123c0 | 20 72 6f 77 20 69 6e 74 6f 20 72 6f 77 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 6e | .row.into.rows................an |
| 123e0 | 64 20 64 6f 20 28 73 65 74 71 20 72 6f 77 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | d.do.(setq.row.()).............. |
| 12400 | 20 20 61 6e 64 20 64 6f 20 28 66 6f 72 77 61 72 64 2d 63 68 61 72 29 0a 20 20 20 20 20 20 20 20 | ..and.do.(forward-char)......... |
| 12420 | 20 20 20 20 20 20 20 66 69 6e 61 6c 6c 79 20 28 63 6c 2d 72 65 74 75 72 6e 20 72 6f 77 73 29 29 | .......finally.(cl-return.rows)) |
| 12440 | 29 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 65 6d 61 63 73 71 6c 2d 6d 79 73 71 6c 29 0a 0a 3b | )))..(provide.'emacsql-mysql)..; |
| 12460 | 3b 3b 20 65 6d 61 63 73 71 6c 2d 6d 79 73 71 6c 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 | ;;.emacsql-mysql.el.ends.here... |
| 12480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 124a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 124c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 124e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 12500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 12520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 12540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 12560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 12580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 125a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 125c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 125e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 12600 | 65 6d 61 63 73 71 6c 2d 34 2e 33 2e 31 2f 65 6d 61 63 73 71 6c 2e 65 6c 00 00 00 00 00 00 00 00 | emacsql-4.3.1/emacsql.el........ |
| 12620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 12640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 12660 | 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 | ....0000644.0000000.0000000.0000 |
| 12680 | 30 30 33 34 33 33 37 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 35 36 34 00 20 30 00 00 00 | 0034337.00000000000.013564..0... |
| 126a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 126c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 126e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 12700 | 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .ustar...root................... |
| 12720 | 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .........root................... |
| 12740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 12760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 12780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 127a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 127c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 127e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 12800 | 3b 3b 3b 20 65 6d 61 63 73 71 6c 2e 65 6c 20 2d 2d 2d 20 48 69 67 68 2d 6c 65 76 65 6c 20 53 51 | ;;;.emacsql.el.---.High-level.SQ |
| 12820 | 4c 20 64 61 74 61 62 61 73 65 20 66 72 6f 6e 74 2d 65 6e 64 20 20 2d 2a 2d 20 6c 65 78 69 63 61 | L.database.front-end..-*-.lexica |
| 12840 | 6c 2d 62 69 6e 64 69 6e 67 3a 74 20 2d 2a 2d 0a 0a 3b 3b 20 54 68 69 73 20 69 73 20 66 72 65 65 | l-binding:t.-*-..;;.This.is.free |
| 12860 | 20 61 6e 64 20 75 6e 65 6e 63 75 6d 62 65 72 65 64 20 73 6f 66 74 77 61 72 65 20 72 65 6c 65 61 | .and.unencumbered.software.relea |
| 12880 | 73 65 64 20 69 6e 74 6f 20 74 68 65 20 70 75 62 6c 69 63 20 64 6f 6d 61 69 6e 2e 0a 0a 3b 3b 20 | sed.into.the.public.domain...;;. |
| 128a0 | 41 75 74 68 6f 72 3a 20 43 68 72 69 73 74 6f 70 68 65 72 20 57 65 6c 6c 6f 6e 73 20 3c 77 65 6c | Author:.Christopher.Wellons.<wel |
| 128c0 | 6c 6f 6e 73 40 6e 75 6c 6c 70 72 6f 67 72 61 6d 2e 63 6f 6d 3e 0a 3b 3b 20 4d 61 69 6e 74 61 69 | lons@nullprogram.com>.;;.Maintai |
| 128e0 | 6e 65 72 3a 20 4a 6f 6e 61 73 20 42 65 72 6e 6f 75 6c 6c 69 20 3c 65 6d 61 63 73 2e 65 6d 61 63 | ner:.Jonas.Bernoulli.<emacs.emac |
| 12900 | 73 71 6c 40 6a 6f 6e 61 73 2e 62 65 72 6e 6f 75 6c 6c 69 2e 64 65 76 3e 0a 3b 3b 20 48 6f 6d 65 | sql@jonas.bernoulli.dev>.;;.Home |
| 12920 | 70 61 67 65 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6d 61 67 69 74 2f 65 | page:.https://github.com/magit/e |
| 12940 | 6d 61 63 73 71 6c 0a 0a 3b 3b 20 50 61 63 6b 61 67 65 2d 56 65 72 73 69 6f 6e 3a 20 34 2e 33 2e | macsql..;;.Package-Version:.4.3. |
| 12960 | 31 0a 3b 3b 20 50 61 63 6b 61 67 65 2d 52 65 71 75 69 72 65 73 3a 20 28 28 65 6d 61 63 73 20 22 | 1.;;.Package-Requires:.((emacs." |
| 12980 | 32 36 2e 31 22 29 29 0a 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d 49 64 65 6e 74 69 66 | 26.1"))..;;.SPDX-License-Identif |
| 129a0 | 69 65 72 3a 20 55 6e 6c 69 63 65 6e 73 65 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a | ier:.Unlicense..;;;.Commentary:. |
| 129c0 | 0a 3b 3b 20 45 6d 61 63 53 51 4c 20 69 73 20 61 20 68 69 67 68 2d 6c 65 76 65 6c 20 45 6d 61 63 | .;;.EmacSQL.is.a.high-level.Emac |
| 129e0 | 73 20 4c 69 73 70 20 66 72 6f 6e 74 2d 65 6e 64 20 66 6f 72 20 53 51 4c 69 74 65 2e 0a 0a 3b 3b | s.Lisp.front-end.for.SQLite...;; |
| 12a00 | 20 50 6f 73 74 67 72 65 53 51 4c 20 61 6e 64 20 4d 79 53 51 4c 20 61 72 65 20 61 6c 73 6f 20 73 | .PostgreSQL.and.MySQL.are.also.s |
| 12a20 | 75 70 70 6f 72 74 65 64 2c 20 62 75 74 20 75 73 65 20 6f 66 20 74 68 65 73 65 20 63 6f 6e 6e 65 | upported,.but.use.of.these.conne |
| 12a40 | 63 74 6f 72 73 0a 3b 3b 20 69 73 20 6e 6f 74 20 72 65 63 6f 6d 6d 65 6e 64 65 64 2e 0a 0a 3b 3b | ctors.;;.is.not.recommended...;; |
| 12a60 | 20 53 65 65 20 52 45 41 44 4d 45 2e 6d 64 20 66 6f 72 20 6d 75 63 68 20 6d 6f 72 65 20 63 6f 6d | .See.README.md.for.much.more.com |
| 12a80 | 70 6c 65 74 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2e 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a | plete.documentation...;;;.Code:. |
| 12aa0 | 0a 28 72 65 71 75 69 72 65 20 27 63 6c 2d 6c 69 62 29 0a 28 72 65 71 75 69 72 65 20 27 63 6c 2d | .(require.'cl-lib).(require.'cl- |
| 12ac0 | 67 65 6e 65 72 69 63 29 0a 28 72 65 71 75 69 72 65 20 27 65 69 65 69 6f 29 0a 0a 28 72 65 71 75 | generic).(require.'eieio)..(requ |
| 12ae0 | 69 72 65 20 27 65 6d 61 63 73 71 6c 2d 63 6f 6d 70 69 6c 65 72 29 0a 0a 28 64 65 66 67 72 6f 75 | ire.'emacsql-compiler)..(defgrou |
| 12b00 | 70 20 65 6d 61 63 73 71 6c 20 6e 69 6c 0a 20 20 22 54 68 65 20 45 6d 61 63 53 51 4c 20 53 51 4c | p.emacsql.nil..."The.EmacSQL.SQL |
| 12b20 | 20 64 61 74 61 62 61 73 65 20 66 72 6f 6e 74 2d 65 6e 64 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 | .database.front-end."...:group.' |
| 12b40 | 63 6f 6d 6d 29 0a 0a 28 64 65 66 63 6f 6e 73 74 20 65 6d 61 63 73 71 6c 2d 76 65 72 73 69 6f 6e | comm)..(defconst.emacsql-version |
| 12b60 | 20 22 34 2e 33 2e 31 22 29 0a 0a 28 64 65 66 76 61 72 20 65 6d 61 63 73 71 6c 2d 67 6c 6f 62 61 | ."4.3.1")..(defvar.emacsql-globa |
| 12b80 | 6c 2d 74 69 6d 65 6f 75 74 20 33 30 0a 20 20 22 4d 61 78 69 6d 75 6d 20 6e 75 6d 62 65 72 20 6f | l-timeout.30..."Maximum.number.o |
| 12ba0 | 66 20 73 65 63 6f 6e 64 73 20 74 6f 20 77 61 69 74 20 62 65 66 6f 72 65 20 62 61 69 6c 69 6e 67 | f.seconds.to.wait.before.bailing |
| 12bc0 | 20 6f 75 74 20 6f 6e 20 61 20 53 51 4c 20 63 6f 6d 6d 61 6e 64 2e 0a 49 66 20 6e 69 6c 2c 20 77 | .out.on.a.SQL.command..If.nil,.w |
| 12be0 | 61 69 74 20 66 6f 72 65 76 65 72 2e 20 20 54 68 69 73 20 69 73 20 75 73 65 64 20 62 79 20 74 68 | ait.forever...This.is.used.by.th |
| 12c00 | 65 20 60 6d 79 73 71 6c 27 2c 20 60 70 67 27 20 61 6e 64 20 60 70 73 71 6c 27 2e 20 20 49 74 0a | e.`mysql',.`pg'.and.`psql'...It. |
| 12c20 | 69 73 20 6e 6f 74 20 62 65 69 6e 67 20 75 73 65 64 20 62 79 20 74 68 65 20 60 73 71 6c 69 74 65 | is.not.being.used.by.the.`sqlite |
| 12c40 | 2d 62 75 69 6c 74 69 6e 27 20 61 6e 64 20 60 73 71 6c 69 74 65 2d 6d 6f 64 75 6c 65 27 20 62 61 | -builtin'.and.`sqlite-module'.ba |
| 12c60 | 63 6b 2d 65 6e 64 73 2c 0a 77 68 69 63 68 20 72 65 73 70 65 63 74 20 60 65 6d 61 63 73 71 6c 2d | ck-ends,.which.respect.`emacsql- |
| 12c80 | 73 71 6c 69 74 65 2d 62 75 73 79 2d 74 69 6d 65 6f 75 74 27 20 69 6e 73 74 65 61 64 2e 22 29 0a | sqlite-busy-timeout'.instead."). |
| 12ca0 | 0a 3b 3b 3b 20 44 61 74 61 62 61 73 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 0a 0a 28 64 65 66 63 6c | .;;;.Database.connection..(defcl |
| 12cc0 | 61 73 73 20 65 6d 61 63 73 71 6c 2d 63 6f 6e 6e 65 63 74 69 6f 6e 20 28 29 0a 20 20 28 28 68 61 | ass.emacsql-connection.()...((ha |
| 12ce0 | 6e 64 6c 65 20 3a 69 6e 69 74 61 72 67 20 3a 68 61 6e 64 6c 65 0a 20 20 20 20 20 20 20 20 20 20 | ndle.:initarg.:handle........... |
| 12d00 | 20 3a 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 22 49 6e 74 65 72 6e 61 6c 20 63 6f 6e 6e 65 63 | .:documentation."Internal.connec |
| 12d20 | 74 69 6f 6e 20 68 61 6e 64 6c 65 72 2e 0a 54 68 65 20 76 61 6c 75 65 20 69 73 20 61 20 72 65 63 | tion.handler..The.value.is.a.rec |
| 12d40 | 6f 72 64 2d 6c 69 6b 65 20 6f 62 6a 65 63 74 20 61 6e 64 20 73 68 6f 75 6c 64 20 6e 6f 74 20 62 | ord-like.object.and.should.not.b |
| 12d60 | 65 20 61 63 63 65 73 73 65 64 0a 64 69 72 65 63 74 6c 79 2e 20 20 44 65 70 65 6e 64 69 6e 67 20 | e.accessed.directly...Depending. |
| 12d80 | 6f 6e 20 74 68 65 20 63 6f 6e 63 72 65 74 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2c 20 | on.the.concrete.implementation,. |
| 12da0 | 60 74 79 70 65 2d 6f 66 27 0a 6d 61 79 20 72 65 74 75 72 6e 20 60 70 72 6f 63 65 73 73 27 2c 20 | `type-of'.may.return.`process',. |
| 12dc0 | 60 75 73 65 72 2d 70 74 72 27 20 6f 72 20 60 73 71 6c 69 74 65 27 20 66 6f 72 20 74 68 69 73 20 | `user-ptr'.or.`sqlite'.for.this. |
| 12de0 | 76 61 6c 75 65 2e 22 29 0a 20 20 20 28 6c 6f 67 2d 62 75 66 66 65 72 20 3a 74 79 70 65 20 28 6f | value.")....(log-buffer.:type.(o |
| 12e00 | 72 20 6e 75 6c 6c 20 62 75 66 66 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 69 | r.null.buffer)................:i |
| 12e20 | 6e 69 74 61 72 67 20 3a 6c 6f 67 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | nitarg.:log-buffer.............. |
| 12e40 | 20 20 3a 69 6e 69 74 66 6f 72 6d 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a | ..:initform.nil................: |
| 12e60 | 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 22 4f 75 74 70 75 74 20 6c 6f 67 20 28 64 65 62 75 67 | documentation."Output.log.(debug |
| 12e80 | 29 2e 22 29 0a 20 20 20 28 66 69 6e 61 6c 69 7a 65 72 20 3a 64 6f 63 75 6d 65 6e 74 61 74 69 6f | ).")....(finalizer.:documentatio |
| 12ea0 | 6e 20 22 4f 62 6a 65 63 74 20 72 65 74 75 72 6e 65 64 20 66 72 6f 6d 20 60 6d 61 6b 65 2d 66 69 | n."Object.returned.from.`make-fi |
| 12ec0 | 6e 61 6c 69 7a 65 72 27 2e 22 29 0a 20 20 20 28 74 79 70 65 73 20 3a 61 6c 6c 6f 63 61 74 69 6f | nalizer'.")....(types.:allocatio |
| 12ee0 | 6e 20 3a 63 6c 61 73 73 0a 20 20 20 20 20 20 20 20 20 20 3a 69 6e 69 74 66 6f 72 6d 20 6e 69 6c | n.:class...........:initform.nil |
| 12f00 | 0a 20 20 20 20 20 20 20 20 20 20 3a 72 65 61 64 65 72 20 65 6d 61 63 73 71 6c 2d 74 79 70 65 73 | ...........:reader.emacsql-types |
| 12f20 | 0a 20 20 20 20 20 20 20 20 20 20 3a 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 22 4d 61 70 73 20 | ...........:documentation."Maps. |
| 12f40 | 45 6d 61 63 53 51 4c 20 74 79 70 65 73 20 74 6f 20 53 51 4c 20 74 79 70 65 73 2e 22 29 29 0a 20 | EmacSQL.types.to.SQL.types.")).. |
| 12f60 | 20 22 41 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 74 6f 20 61 20 53 51 4c 20 64 61 74 61 62 61 73 65 | ."A.connection.to.a.SQL.database |
| 12f80 | 2e 22 0a 20 20 3a 61 62 73 74 72 61 63 74 20 74 29 0a 0a 28 63 6c 2d 64 65 66 67 65 6e 65 72 69 | ."...:abstract.t)..(cl-defgeneri |
| 12fa0 | 63 20 65 6d 61 63 73 71 6c 2d 63 6c 6f 73 65 20 28 63 6f 6e 6e 65 63 74 69 6f 6e 29 0a 20 20 22 | c.emacsql-close.(connection)..." |
| 12fc0 | 43 6c 6f 73 65 20 43 4f 4e 4e 45 43 54 49 4f 4e 20 61 6e 64 20 66 72 65 65 20 61 6c 6c 20 72 65 | Close.CONNECTION.and.free.all.re |
| 12fe0 | 73 6f 75 72 63 65 73 2e 22 29 0a 0a 28 63 6c 2d 64 65 66 67 65 6e 65 72 69 63 20 65 6d 61 63 73 | sources.")..(cl-defgeneric.emacs |
| 13000 | 71 6c 2d 72 65 63 6f 6e 6e 65 63 74 20 28 63 6f 6e 6e 65 63 74 69 6f 6e 29 0a 20 20 22 52 65 2d | ql-reconnect.(connection)..."Re- |
| 13020 | 65 73 74 61 62 6c 69 73 68 20 43 4f 4e 4e 45 43 54 49 4f 4e 20 77 69 74 68 20 74 68 65 20 73 61 | establish.CONNECTION.with.the.sa |
| 13040 | 6d 65 20 70 61 72 61 6d 65 74 65 72 73 2e 22 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 | me.parameters.")..(cl-defmethod. |
| 13060 | 65 6d 61 63 73 71 6c 2d 6c 69 76 65 2d 70 20 28 28 63 6f 6e 6e 65 63 74 69 6f 6e 20 65 6d 61 63 | emacsql-live-p.((connection.emac |
| 13080 | 73 71 6c 2d 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 0a 20 20 22 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e | sql-connection))..."Return.non-n |
| 130a0 | 69 6c 20 69 66 20 43 4f 4e 4e 45 43 54 49 4f 4e 20 69 73 20 73 74 69 6c 6c 20 61 6c 69 76 65 20 | il.if.CONNECTION.is.still.alive. |
| 130c0 | 61 6e 64 20 72 65 61 64 79 2e 22 0a 20 20 28 61 6e 64 20 28 70 72 6f 63 65 73 73 2d 6c 69 76 65 | and.ready."...(and.(process-live |
| 130e0 | 2d 70 20 28 6f 72 65 66 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 68 61 6e 64 6c 65 29 29 20 74 29 29 | -p.(oref.connection.handle)).t)) |
| 13100 | 0a 0a 28 63 6c 2d 64 65 66 67 65 6e 65 72 69 63 20 65 6d 61 63 73 71 6c 2d 74 79 70 65 73 20 28 | ..(cl-defgeneric.emacsql-types.( |
| 13120 | 63 6f 6e 6e 65 63 74 69 6f 6e 29 0a 20 20 22 52 65 74 75 72 6e 20 61 6e 20 61 6c 69 73 74 20 6d | connection)..."Return.an.alist.m |
| 13140 | 61 70 70 69 6e 67 20 45 6d 61 63 53 51 4c 20 74 79 70 65 73 20 74 6f 20 64 61 74 61 62 61 73 65 | apping.EmacSQL.types.to.database |
| 13160 | 20 74 79 70 65 73 2e 0a 54 68 69 73 20 77 69 6c 6c 20 6d 61 73 6b 20 60 65 6d 61 63 73 71 6c 2d | .types..This.will.mask.`emacsql- |
| 13180 | 74 79 70 65 2d 6d 61 70 27 20 64 75 72 69 6e 67 20 65 78 70 72 65 73 73 69 6f 6e 20 63 6f 6d 70 | type-map'.during.expression.comp |
| 131a0 | 69 6c 61 74 69 6f 6e 2e 0a 54 68 69 73 20 61 6c 69 73 74 20 73 68 6f 75 6c 64 20 68 61 76 65 20 | ilation..This.alist.should.have. |
| 131c0 | 66 6f 75 72 20 6b 65 79 20 73 79 6d 62 6f 6c 73 3a 20 69 6e 74 65 67 65 72 2c 20 66 6c 6f 61 74 | four.key.symbols:.integer,.float |
| 131e0 | 2c 20 6f 62 6a 65 63 74 2c 0a 6e 69 6c 20 28 64 65 66 61 75 6c 74 20 74 79 70 65 29 2e 20 20 54 | ,.object,.nil.(default.type)...T |
| 13200 | 68 65 20 76 61 6c 75 65 73 20 61 72 65 20 73 74 72 69 6e 67 73 20 74 6f 20 62 65 20 69 6e 73 65 | he.values.are.strings.to.be.inse |
| 13220 | 72 74 65 64 20 69 6e 74 6f 0a 61 20 53 51 4c 20 65 78 70 72 65 73 73 69 6f 6e 2e 22 29 0a 0a 28 | rted.into.a.SQL.expression.")..( |
| 13240 | 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 65 6d 61 63 73 71 6c 2d 62 75 66 66 65 72 20 28 28 63 6f | cl-defmethod.emacsql-buffer.((co |
| 13260 | 6e 6e 65 63 74 69 6f 6e 20 65 6d 61 63 73 71 6c 2d 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 0a 20 20 | nnection.emacsql-connection))... |
| 13280 | 22 47 65 74 20 70 72 6f 63 65 73 73 20 62 75 66 66 65 72 20 66 6f 72 20 43 4f 4e 4e 45 43 54 49 | "Get.process.buffer.for.CONNECTI |
| 132a0 | 4f 4e 2e 22 0a 20 20 28 70 72 6f 63 65 73 73 2d 62 75 66 66 65 72 20 28 6f 72 65 66 20 63 6f 6e | ON."...(process-buffer.(oref.con |
| 132c0 | 6e 65 63 74 69 6f 6e 20 68 61 6e 64 6c 65 29 29 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 | nection.handle)))..(cl-defmethod |
| 132e0 | 20 65 6d 61 63 73 71 6c 2d 65 6e 61 62 6c 65 2d 64 65 62 75 67 67 69 6e 67 20 28 28 63 6f 6e 6e | .emacsql-enable-debugging.((conn |
| 13300 | 65 63 74 69 6f 6e 20 65 6d 61 63 73 71 6c 2d 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 0a 20 20 22 45 | ection.emacsql-connection))..."E |
| 13320 | 6e 61 62 6c 65 20 64 65 62 75 67 67 69 6e 67 20 6f 6e 20 43 4f 4e 4e 45 43 54 49 4f 4e 2e 22 0a | nable.debugging.on.CONNECTION.". |
| 13340 | 20 20 28 75 6e 6c 65 73 73 20 28 62 75 66 66 65 72 2d 6c 69 76 65 2d 70 20 28 6f 72 65 66 20 63 | ..(unless.(buffer-live-p.(oref.c |
| 13360 | 6f 6e 6e 65 63 74 69 6f 6e 20 6c 6f 67 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 28 6f 73 65 74 | onnection.log-buffer)).....(oset |
| 13380 | 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 6c 6f 67 2d 62 75 66 66 65 72 20 28 67 65 6e 65 72 61 74 65 | .connection.log-buffer.(generate |
| 133a0 | 2d 6e 65 77 2d 62 75 66 66 65 72 20 22 20 2a 65 6d 61 63 73 71 6c 2d 6c 6f 67 2a 22 29 29 29 29 | -new-buffer.".*emacsql-log*")))) |
| 133c0 | 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 65 6d 61 63 73 71 6c 2d 6c 6f 67 20 28 28 63 6f | ..(cl-defmethod.emacsql-log.((co |
| 133e0 | 6e 6e 65 63 74 69 6f 6e 20 65 6d 61 63 73 71 6c 2d 63 6f 6e 6e 65 63 74 69 6f 6e 29 20 6d 65 73 | nnection.emacsql-connection).mes |
| 13400 | 73 61 67 65 29 0a 20 20 22 4c 6f 67 20 4d 45 53 53 41 47 45 20 69 6e 74 6f 20 43 4f 4e 4e 45 43 | sage)..."Log.MESSAGE.into.CONNEC |
| 13420 | 54 49 4f 4e 27 73 20 6c 6f 67 2e 0a 4d 45 53 53 41 47 45 20 73 68 6f 75 6c 64 20 6e 6f 74 20 68 | TION's.log..MESSAGE.should.not.h |
| 13440 | 61 76 65 20 61 20 6e 65 77 6c 69 6e 65 20 6f 6e 20 74 68 65 20 65 6e 64 2e 22 0a 20 20 28 6c 65 | ave.a.newline.on.the.end."...(le |
| 13460 | 74 20 28 28 62 75 66 66 65 72 20 28 6f 72 65 66 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 6c 6f 67 2d | t.((buffer.(oref.connection.log- |
| 13480 | 62 75 66 66 65 72 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 62 75 66 66 65 72 0a 20 20 20 20 20 | buffer))).....(when.buffer...... |
| 134a0 | 20 28 75 6e 6c 65 73 73 20 28 62 75 66 66 65 72 2d 6c 69 76 65 2d 70 20 62 75 66 66 65 72 29 0a | .(unless.(buffer-live-p.buffer). |
| 134c0 | 20 20 20 20 20 20 20 20 28 73 65 74 71 20 62 75 66 66 65 72 20 28 65 6d 61 63 73 71 6c 2d 65 6e | ........(setq.buffer.(emacsql-en |
| 134e0 | 61 62 6c 65 2d 64 65 62 75 67 67 69 6e 67 20 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 29 0a 20 20 20 | able-debugging.connection))).... |
| 13500 | 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 62 75 66 66 65 72 0a 20 | ...(with-current-buffer.buffer.. |
| 13520 | 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 | .......(goto-char.(point-max)).. |
| 13540 | 20 20 20 20 20 20 20 28 70 72 69 6e 63 20 28 63 6f 6e 63 61 74 20 6d 65 73 73 61 67 65 20 22 5c | .......(princ.(concat.message."\ |
| 13560 | 6e 22 29 20 62 75 66 66 65 72 29 29 29 29 29 0a 0a 3b 3b 3b 20 53 65 6e 64 69 6e 67 20 61 6e 64 | n").buffer)))))..;;;.Sending.and |
| 13580 | 20 72 65 63 65 69 76 69 6e 67 0a 0a 28 63 6c 2d 64 65 66 67 65 6e 65 72 69 63 20 65 6d 61 63 73 | .receiving..(cl-defgeneric.emacs |
| 135a0 | 71 6c 2d 73 65 6e 64 2d 6d 65 73 73 61 67 65 20 28 63 6f 6e 6e 65 63 74 69 6f 6e 20 6d 65 73 73 | ql-send-message.(connection.mess |
| 135c0 | 61 67 65 29 0a 20 20 22 53 65 6e 64 20 4d 45 53 53 41 47 45 20 74 6f 20 43 4f 4e 4e 45 43 54 49 | age)..."Send.MESSAGE.to.CONNECTI |
| 135e0 | 4f 4e 2e 22 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 65 6d 61 63 73 71 6c 2d 73 65 6e | ON.")..(cl-defmethod.emacsql-sen |
| 13600 | 64 2d 6d 65 73 73 61 67 65 20 3a 62 65 66 6f 72 65 0a 20 20 28 28 63 6f 6e 6e 65 63 74 69 6f 6e | d-message.:before...((connection |
| 13620 | 20 65 6d 61 63 73 71 6c 2d 63 6f 6e 6e 65 63 74 69 6f 6e 29 20 6d 65 73 73 61 67 65 29 0a 20 20 | .emacsql-connection).message)... |
| 13640 | 28 65 6d 61 63 73 71 6c 2d 6c 6f 67 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 6d 65 73 73 61 67 65 29 | (emacsql-log.connection.message) |
| 13660 | 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 65 6d 61 63 73 71 6c 2d 63 6c 65 61 72 20 28 | )..(cl-defmethod.emacsql-clear.( |
| 13680 | 28 63 6f 6e 6e 65 63 74 69 6f 6e 20 65 6d 61 63 73 71 6c 2d 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 | (connection.emacsql-connection)) |
| 136a0 | 0a 20 20 22 43 6c 65 61 72 20 74 68 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 62 75 66 66 65 72 20 | ..."Clear.the.connection.buffer. |
| 136c0 | 66 6f 72 20 43 4f 4e 4e 45 43 54 49 4f 4e 2d 53 50 45 43 2e 22 0a 20 20 28 6c 65 74 20 28 28 62 | for.CONNECTION-SPEC."...(let.((b |
| 136e0 | 75 66 66 65 72 20 28 65 6d 61 63 73 71 6c 2d 62 75 66 66 65 72 20 63 6f 6e 6e 65 63 74 69 6f 6e | uffer.(emacsql-buffer.connection |
| 13700 | 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 62 75 66 66 65 72 20 28 62 75 66 66 65 | ))).....(when.(and.buffer.(buffe |
| 13720 | 72 2d 6c 69 76 65 2d 70 20 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 20 28 77 69 74 68 2d 63 75 | r-live-p.buffer)).......(with-cu |
| 13740 | 72 72 65 6e 74 2d 62 75 66 66 65 72 20 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 28 65 72 61 | rrent-buffer.buffer.........(era |
| 13760 | 73 65 2d 62 75 66 66 65 72 29 29 29 29 29 0a 0a 28 63 6c 2d 64 65 66 67 65 6e 65 72 69 63 20 65 | se-buffer)))))..(cl-defgeneric.e |
| 13780 | 6d 61 63 73 71 6c 2d 77 61 69 74 69 6e 67 2d 70 20 28 63 6f 6e 6e 65 63 74 69 6f 6e 29 0a 20 20 | macsql-waiting-p.(connection)... |
| 137a0 | 22 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 43 4f 4e 4e 45 43 54 49 4f 4e 20 69 73 | "Return.non-nil.if.CONNECTION.is |
| 137c0 | 20 72 65 61 64 79 20 66 6f 72 20 6d 6f 72 65 20 69 6e 70 75 74 2e 22 29 0a 0a 28 63 6c 2d 64 65 | .ready.for.more.input.")..(cl-de |
| 137e0 | 66 6d 65 74 68 6f 64 20 65 6d 61 63 73 71 6c 2d 77 61 69 74 20 28 28 63 6f 6e 6e 65 63 74 69 6f | fmethod.emacsql-wait.((connectio |
| 13800 | 6e 20 65 6d 61 63 73 71 6c 2d 63 6f 6e 6e 65 63 74 69 6f 6e 29 20 26 6f 70 74 69 6f 6e 61 6c 20 | n.emacsql-connection).&optional. |
| 13820 | 74 69 6d 65 6f 75 74 29 0a 20 20 22 42 6c 6f 63 6b 20 75 6e 74 69 6c 20 43 4f 4e 4e 45 43 54 49 | timeout)..."Block.until.CONNECTI |
| 13840 | 4f 4e 20 69 73 20 77 61 69 74 69 6e 67 20 66 6f 72 20 66 75 72 74 68 65 72 20 69 6e 70 75 74 2e | ON.is.waiting.for.further.input. |
| 13860 | 22 0a 20 20 28 6c 65 74 2a 20 28 28 72 65 61 6c 2d 74 69 6d 65 6f 75 74 20 28 6f 72 20 74 69 6d | "...(let*.((real-timeout.(or.tim |
| 13880 | 65 6f 75 74 20 65 6d 61 63 73 71 6c 2d 67 6c 6f 62 61 6c 2d 74 69 6d 65 6f 75 74 29 29 0a 20 20 | eout.emacsql-global-timeout))... |
| 138a0 | 20 20 20 20 20 20 20 28 65 6e 64 20 28 61 6e 64 20 72 65 61 6c 2d 74 69 6d 65 6f 75 74 20 28 2b | .......(end.(and.real-timeout.(+ |
| 138c0 | 20 28 66 6c 6f 61 74 2d 74 69 6d 65 29 20 72 65 61 6c 2d 74 69 6d 65 6f 75 74 29 29 29 29 0a 20 | .(float-time).real-timeout)))).. |
| 138e0 | 20 20 20 28 77 68 69 6c 65 20 28 61 6e 64 20 28 6f 72 20 28 6e 75 6c 6c 20 72 65 61 6c 2d 74 69 | ...(while.(and.(or.(null.real-ti |
| 13900 | 6d 65 6f 75 74 29 20 28 3c 20 28 66 6c 6f 61 74 2d 74 69 6d 65 29 20 65 6e 64 29 29 0a 20 20 20 | meout).(<.(float-time).end)).... |
| 13920 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 65 6d 61 63 73 71 6c 2d 77 61 69 74 69 | .............(not.(emacsql-waiti |
| 13940 | 6e 67 2d 70 20 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 29 0a 20 20 20 20 20 20 28 73 61 76 65 2d 6d | ng-p.connection))).......(save-m |
| 13960 | 61 74 63 68 2d 64 61 74 61 0a 20 20 20 20 20 20 20 20 28 61 63 63 65 70 74 2d 70 72 6f 63 65 73 | atch-data.........(accept-proces |
| 13980 | 73 2d 6f 75 74 70 75 74 20 28 6f 72 65 66 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 68 61 6e 64 6c 65 | s-output.(oref.connection.handle |
| 139a0 | 29 20 72 65 61 6c 2d 74 69 6d 65 6f 75 74 29 29 29 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 | ).real-timeout))).....(unless.(e |
| 139c0 | 6d 61 63 73 71 6c 2d 77 61 69 74 69 6e 67 2d 70 20 63 6f 6e 6e 65 63 74 69 6f 6e 29 0a 20 20 20 | macsql-waiting-p.connection).... |
| 139e0 | 20 20 20 28 73 69 67 6e 61 6c 20 27 65 6d 61 63 73 71 6c 2d 74 69 6d 65 6f 75 74 20 28 6c 69 73 | ...(signal.'emacsql-timeout.(lis |
| 13a00 | 74 20 22 51 75 65 72 79 20 74 69 6d 65 64 20 6f 75 74 22 20 72 65 61 6c 2d 74 69 6d 65 6f 75 74 | t."Query.timed.out".real-timeout |
| 13a20 | 29 29 29 29 29 0a 0a 28 63 6c 2d 64 65 66 67 65 6e 65 72 69 63 20 65 6d 61 63 73 71 6c 2d 70 61 | )))))..(cl-defgeneric.emacsql-pa |
| 13a40 | 72 73 65 20 28 63 6f 6e 6e 65 63 74 69 6f 6e 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 72 | rse.(connection)..."Return.the.r |
| 13a60 | 65 73 75 6c 74 73 20 6f 66 20 70 61 72 73 69 6e 67 20 74 68 65 20 6c 61 74 65 73 74 20 6f 75 74 | esults.of.parsing.the.latest.out |
| 13a80 | 70 75 74 20 6f 72 20 73 69 67 6e 61 6c 20 61 6e 20 65 72 72 6f 72 2e 22 29 0a 0a 28 64 65 66 75 | put.or.signal.an.error.")..(defu |
| 13aa0 | 6e 20 65 6d 61 63 73 71 6c 2d 63 6f 6d 70 69 6c 65 20 28 63 6f 6e 6e 65 63 74 69 6f 6e 20 73 71 | n.emacsql-compile.(connection.sq |
| 13ac0 | 6c 20 26 72 65 73 74 20 61 72 67 73 29 0a 20 20 22 43 6f 6d 70 69 6c 65 20 73 2d 65 78 70 72 65 | l.&rest.args)..."Compile.s-expre |
| 13ae0 | 73 73 69 6f 6e 20 53 51 4c 20 66 6f 72 20 43 4f 4e 4e 45 43 54 49 4f 4e 20 69 6e 74 6f 20 61 20 | ssion.SQL.for.CONNECTION.into.a. |
| 13b00 | 73 74 72 69 6e 67 2e 22 0a 20 20 28 6c 65 74 20 28 28 65 6d 61 63 73 71 6c 2d 74 79 70 65 2d 6d | string."...(let.((emacsql-type-m |
| 13b20 | 61 70 20 28 6f 72 20 28 61 6e 64 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 28 65 6d 61 63 73 71 6c 2d | ap.(or.(and.connection.(emacsql- |
| 13b40 | 74 79 70 65 73 20 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | types.connection)).............. |
| 13b60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6d 61 63 73 71 6c 2d 74 79 70 65 2d 6d 61 | .................emacsql-type-ma |
| 13b80 | 70 29 29 29 0a 20 20 20 20 28 63 6f 6e 63 61 74 20 28 61 70 70 6c 79 20 23 27 65 6d 61 63 73 71 | p))).....(concat.(apply.#'emacsq |
| 13ba0 | 6c 2d 66 6f 72 6d 61 74 20 28 65 6d 61 63 73 71 6c 2d 70 72 65 70 61 72 65 20 73 71 6c 29 20 61 | l-format.(emacsql-prepare.sql).a |
| 13bc0 | 72 67 73 29 20 22 3b 22 29 29 29 0a 0a 28 63 6c 2d 64 65 66 67 65 6e 65 72 69 63 20 65 6d 61 63 | rgs).";")))..(cl-defgeneric.emac |
| 13be0 | 73 71 6c 20 28 63 6f 6e 6e 65 63 74 69 6f 6e 20 73 71 6c 20 26 72 65 73 74 20 61 72 67 73 29 0a | sql.(connection.sql.&rest.args). |
| 13c00 | 20 20 22 53 65 6e 64 20 53 51 4c 20 73 2d 65 78 70 72 65 73 73 69 6f 6e 20 74 6f 20 43 4f 4e 4e | .."Send.SQL.s-expression.to.CONN |
| 13c20 | 45 43 54 49 4f 4e 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 20 72 65 73 75 6c 74 73 2e 22 29 | ECTION.and.return.the.results.") |
| 13c40 | 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 65 6d 61 63 73 71 6c 20 28 28 63 6f 6e 6e 65 63 | ..(cl-defmethod.emacsql.((connec |
| 13c60 | 74 69 6f 6e 20 65 6d 61 63 73 71 6c 2d 63 6f 6e 6e 65 63 74 69 6f 6e 29 20 73 71 6c 20 26 72 65 | tion.emacsql-connection).sql.&re |
| 13c80 | 73 74 20 61 72 67 73 29 0a 20 20 28 6c 65 74 20 28 28 73 71 6c 2d 73 74 72 69 6e 67 20 28 61 70 | st.args)...(let.((sql-string.(ap |
| 13ca0 | 70 6c 79 20 23 27 65 6d 61 63 73 71 6c 2d 63 6f 6d 70 69 6c 65 20 63 6f 6e 6e 65 63 74 69 6f 6e | ply.#'emacsql-compile.connection |
| 13cc0 | 20 73 71 6c 20 61 72 67 73 29 29 29 0a 20 20 20 20 28 65 6d 61 63 73 71 6c 2d 63 6c 65 61 72 20 | .sql.args))).....(emacsql-clear. |
| 13ce0 | 63 6f 6e 6e 65 63 74 69 6f 6e 29 0a 20 20 20 20 28 65 6d 61 63 73 71 6c 2d 73 65 6e 64 2d 6d 65 | connection).....(emacsql-send-me |
| 13d00 | 73 73 61 67 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 73 71 6c 2d 73 74 72 69 6e 67 29 0a 20 20 20 | ssage.connection.sql-string).... |
| 13d20 | 20 28 65 6d 61 63 73 71 6c 2d 77 61 69 74 20 63 6f 6e 6e 65 63 74 69 6f 6e 29 0a 20 20 20 20 28 | .(emacsql-wait.connection).....( |
| 13d40 | 65 6d 61 63 73 71 6c 2d 70 61 72 73 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 29 0a 0a 3b 3b 3b | emacsql-parse.connection)))..;;; |
| 13d60 | 20 48 65 6c 70 65 72 20 6d 69 78 69 6e 20 63 6c 61 73 73 0a 0a 28 64 65 66 63 6c 61 73 73 20 65 | .Helper.mixin.class..(defclass.e |
| 13d80 | 6d 61 63 73 71 6c 2d 70 72 6f 74 6f 63 6f 6c 2d 6d 69 78 69 6e 20 28 29 20 28 29 0a 20 20 22 41 | macsql-protocol-mixin.().()..."A |
| 13da0 | 20 6d 69 78 69 6e 20 66 6f 72 20 62 61 63 6b 2d 65 6e 64 73 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 | .mixin.for.back-ends.following.t |
| 13dc0 | 68 65 20 45 6d 61 63 53 51 4c 20 70 72 6f 74 6f 63 6f 6c 2e 0a 54 68 65 20 62 61 63 6b 2d 65 6e | he.EmacSQL.protocol..The.back-en |
| 13de0 | 64 20 70 72 6f 6d 70 74 20 6d 75 73 74 20 62 65 20 61 20 73 69 6e 67 6c 65 20 5c 22 5d 5c 22 20 | d.prompt.must.be.a.single.\"]\". |
| 13e00 | 63 68 61 72 61 63 74 65 72 2e 20 20 54 68 69 73 20 70 72 6f 6d 70 74 0a 76 61 6c 75 65 20 77 61 | character...This.prompt.value.wa |
| 13e20 | 73 20 63 68 6f 73 65 6e 20 62 65 63 61 75 73 65 20 69 74 20 69 73 20 75 6e 72 65 61 64 61 62 6c | s.chosen.because.it.is.unreadabl |
| 13e40 | 65 2e 20 20 4f 75 74 70 75 74 20 6d 75 73 74 20 68 61 76 65 0a 65 78 61 63 74 6c 79 20 6f 6e 65 | e...Output.must.have.exactly.one |
| 13e60 | 20 72 6f 77 20 70 65 72 20 6c 69 6e 65 2c 20 66 69 65 6c 64 73 20 73 65 70 61 72 61 74 65 64 20 | .row.per.line,.fields.separated. |
| 13e80 | 62 79 20 77 68 69 74 65 73 70 61 63 65 2e 20 20 4e 55 4c 4c 0a 6d 75 73 74 20 64 69 73 70 6c 61 | by.whitespace...NULL.must.displa |
| 13ea0 | 79 20 61 73 20 5c 22 6e 69 6c 5c 22 2e 22 0a 20 20 3a 61 62 73 74 72 61 63 74 20 74 29 0a 0a 28 | y.as.\"nil\"."...:abstract.t)..( |
| 13ec0 | 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 65 6d 61 63 73 71 6c 2d 77 61 69 74 69 6e 67 2d 70 20 28 | cl-defmethod.emacsql-waiting-p.( |
| 13ee0 | 28 63 6f 6e 6e 65 63 74 69 6f 6e 20 65 6d 61 63 73 71 6c 2d 70 72 6f 74 6f 63 6f 6c 2d 6d 69 78 | (connection.emacsql-protocol-mix |
| 13f00 | 69 6e 29 29 0a 20 20 22 52 65 74 75 72 6e 20 74 20 69 66 20 74 68 65 20 65 6e 64 20 6f 66 20 74 | in))..."Return.t.if.the.end.of.t |
| 13f20 | 68 65 20 62 75 66 66 65 72 20 68 61 73 20 61 20 70 72 6f 70 65 72 6c 79 2d 66 6f 72 6d 61 74 74 | he.buffer.has.a.properly-formatt |
| 13f40 | 65 64 20 70 72 6f 6d 70 74 2e 0a 41 6c 73 6f 20 72 65 74 75 72 6e 20 74 20 69 66 20 74 68 65 20 | ed.prompt..Also.return.t.if.the. |
| 13f60 | 63 6f 6e 6e 65 63 74 69 6f 6e 20 62 75 66 66 65 72 20 68 61 73 20 62 65 65 6e 20 6b 69 6c 6c 65 | connection.buffer.has.been.kille |
| 13f80 | 64 2e 22 0a 20 20 28 6c 65 74 20 28 28 62 75 66 66 65 72 20 28 65 6d 61 63 73 71 6c 2d 62 75 66 | d."...(let.((buffer.(emacsql-buf |
| 13fa0 | 66 65 72 20 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 29 0a 20 20 20 20 28 6f 72 20 28 6e 6f 74 20 28 | fer.connection))).....(or.(not.( |
| 13fc0 | 62 75 66 66 65 72 2d 6c 69 76 65 2d 70 20 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 20 20 20 28 | buffer-live-p.buffer)).........( |
| 13fe0 | 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 62 75 66 66 65 72 0a 20 20 20 20 20 | with-current-buffer.buffer...... |
| 14000 | 20 20 20 20 20 28 61 6e 64 20 28 3e 3d 20 28 62 75 66 66 65 72 2d 73 69 7a 65 29 20 32 29 0a 20 | .....(and.(>=.(buffer-size).2).. |
| 14020 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 3d 20 22 23 5c 6e 22 0a 20 20 20 | ..............(string=."#\n".... |
| 14040 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 75 66 66 65 72 2d 73 75 62 | .....................(buffer-sub |
| 14060 | 73 74 72 69 6e 67 20 28 2d 20 28 70 6f 69 6e 74 2d 6d 61 78 29 20 32 29 20 28 70 6f 69 6e 74 2d | string.(-.(point-max).2).(point- |
| 14080 | 6d 61 78 29 29 29 29 29 29 29 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 65 6d 61 63 73 | max))))))))..(cl-defmethod.emacs |
| 140a0 | 71 6c 2d 68 61 6e 64 6c 65 20 28 28 5f 20 65 6d 61 63 73 71 6c 2d 70 72 6f 74 6f 63 6f 6c 2d 6d | ql-handle.((_.emacsql-protocol-m |
| 140c0 | 69 78 69 6e 29 20 63 6f 64 65 20 6d 65 73 73 61 67 65 29 0a 20 20 22 53 69 67 6e 61 6c 20 61 20 | ixin).code.message)..."Signal.a. |
| 140e0 | 73 70 65 63 69 66 69 63 20 63 6f 6e 64 69 74 69 6f 6e 20 66 6f 72 20 43 4f 44 45 20 66 72 6f 6d | specific.condition.for.CODE.from |
| 14100 | 20 43 4f 4e 4e 45 43 54 49 4f 4e 2e 0a 53 75 62 63 6c 61 73 73 65 73 20 73 68 6f 75 6c 64 20 6f | .CONNECTION..Subclasses.should.o |
| 14120 | 76 65 72 72 69 64 65 20 74 68 69 73 20 6d 65 74 68 6f 64 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 | verride.this.method.in.order.to. |
| 14140 | 70 72 6f 76 69 64 65 20 6d 6f 72 65 0a 73 70 65 63 69 66 69 63 20 65 72 72 6f 72 20 63 6f 6e 64 | provide.more.specific.error.cond |
| 14160 | 69 74 69 6f 6e 73 2e 22 0a 20 20 28 73 69 67 6e 61 6c 20 27 65 6d 61 63 73 71 6c 2d 65 72 72 6f | itions."...(signal.'emacsql-erro |
| 14180 | 72 20 28 6c 69 73 74 20 6d 65 73 73 61 67 65 20 63 6f 64 65 29 29 29 0a 0a 28 63 6c 2d 64 65 66 | r.(list.message.code)))..(cl-def |
| 141a0 | 6d 65 74 68 6f 64 20 65 6d 61 63 73 71 6c 2d 70 61 72 73 65 20 28 28 63 6f 6e 6e 65 63 74 69 6f | method.emacsql-parse.((connectio |
| 141c0 | 6e 20 65 6d 61 63 73 71 6c 2d 70 72 6f 74 6f 63 6f 6c 2d 6d 69 78 69 6e 29 29 0a 20 20 22 50 61 | n.emacsql-protocol-mixin))..."Pa |
| 141e0 | 72 73 65 20 77 65 6c 6c 2d 66 6f 72 6d 65 64 20 6f 75 74 70 75 74 20 69 6e 74 6f 20 61 6e 20 73 | rse.well-formed.output.into.an.s |
| 14200 | 2d 65 78 70 72 65 73 73 69 6f 6e 2e 22 0a 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 | -expression."...(with-current-bu |
| 14220 | 66 66 65 72 20 28 65 6d 61 63 73 71 6c 2d 62 75 66 66 65 72 20 63 6f 6e 6e 65 63 74 69 6f 6e 29 | ffer.(emacsql-buffer.connection) |
| 14240 | 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 | .....(goto-char.(point-min)).... |
| 14260 | 20 28 6c 65 74 2a 20 28 28 73 74 61 6e 64 61 72 64 2d 69 6e 70 75 74 20 28 63 75 72 72 65 6e 74 | .(let*.((standard-input.(current |
| 14280 | 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 76 61 6c 75 65 20 28 72 65 61 | -buffer))............(value.(rea |
| 142a0 | 64 29 29 29 0a 20 20 20 20 20 20 28 69 66 20 28 65 71 20 76 61 6c 75 65 20 27 65 72 72 6f 72 29 | d))).......(if.(eq.value.'error) |
| 142c0 | 0a 20 20 20 20 20 20 20 20 20 20 28 65 6d 61 63 73 71 6c 2d 68 61 6e 64 6c 65 20 63 6f 6e 6e 65 | ...........(emacsql-handle.conne |
| 142e0 | 63 74 69 6f 6e 20 28 72 65 61 64 29 20 28 72 65 61 64 29 29 0a 20 20 20 20 20 20 20 20 28 70 72 | ction.(read).(read)).........(pr |
| 14300 | 6f 67 31 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 20 | og1.value...........(unless.(eq. |
| 14320 | 28 72 65 61 64 29 20 27 73 75 63 63 65 73 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6d | (read).'success).............(em |
| 14340 | 61 63 73 71 6c 2d 68 61 6e 64 6c 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 28 72 65 61 64 29 20 28 | acsql-handle.connection.(read).( |
| 14360 | 72 65 61 64 29 29 29 29 29 29 29 29 0a 0a 3b 3b 3b 20 41 75 74 6f 6d 61 74 69 63 20 63 6f 6e 6e | read))))))))..;;;.Automatic.conn |
| 14380 | 65 63 74 69 6f 6e 20 63 6c 65 61 6e 75 70 0a 0a 28 64 65 66 75 6e 20 65 6d 61 63 73 71 6c 2d 72 | ection.cleanup..(defun.emacsql-r |
| 143a0 | 65 67 69 73 74 65 72 20 28 63 6f 6e 6e 65 63 74 69 6f 6e 29 0a 20 20 22 52 65 67 69 73 74 65 72 | egister.(connection)..."Register |
| 143c0 | 20 43 4f 4e 4e 45 43 54 49 4f 4e 20 66 6f 72 20 61 75 74 6f 6d 61 74 69 63 20 63 6c 65 61 6e 75 | .CONNECTION.for.automatic.cleanu |
| 143e0 | 70 20 61 6e 64 20 72 65 74 75 72 6e 20 43 4f 4e 4e 45 43 54 49 4f 4e 2e 22 0a 20 20 28 70 72 6f | p.and.return.CONNECTION."...(pro |
| 14400 | 67 31 20 63 6f 6e 6e 65 63 74 69 6f 6e 0a 20 20 20 20 28 6f 73 65 74 20 63 6f 6e 6e 65 63 74 69 | g1.connection.....(oset.connecti |
| 14420 | 6f 6e 20 66 69 6e 61 6c 69 7a 65 72 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6b 65 2d 66 69 6e | on.finalizer...........(make-fin |
| 14440 | 61 6c 69 7a 65 72 20 28 6c 61 6d 62 64 61 20 28 29 20 28 65 6d 61 63 73 71 6c 2d 63 6c 6f 73 65 | alizer.(lambda.().(emacsql-close |
| 14460 | 20 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 29 29 29 29 0a 0a 3b 3b 3b 20 55 73 65 66 75 6c 20 6d 61 | .connection))))))..;;;.Useful.ma |
| 14480 | 63 72 6f 73 0a 0a 28 64 65 66 6d 61 63 72 6f 20 65 6d 61 63 73 71 6c 2d 77 69 74 68 2d 63 6f 6e | cros..(defmacro.emacsql-with-con |
| 144a0 | 6e 65 63 74 69 6f 6e 20 28 63 6f 6e 6e 65 63 74 69 6f 6e 2d 73 70 65 63 20 26 72 65 73 74 20 62 | nection.(connection-spec.&rest.b |
| 144c0 | 6f 64 79 29 0a 20 20 22 4f 70 65 6e 20 61 6e 20 45 6d 61 63 53 51 4c 20 63 6f 6e 6e 65 63 74 69 | ody)..."Open.an.EmacSQL.connecti |
| 144e0 | 6f 6e 2c 20 65 76 61 6c 75 61 74 65 20 42 4f 44 59 2c 20 61 6e 64 20 63 6c 6f 73 65 20 74 68 65 | on,.evaluate.BODY,.and.close.the |
| 14500 | 20 63 6f 6e 6e 65 63 74 69 6f 6e 2e 0a 43 4f 4e 4e 45 43 54 49 4f 4e 2d 53 50 45 43 20 65 73 74 | .connection..CONNECTION-SPEC.est |
| 14520 | 61 62 6c 69 73 68 65 73 20 61 20 73 69 6e 67 6c 65 20 62 69 6e 64 69 6e 67 2e 0a 0a 20 20 28 65 | ablishes.a.single.binding.....(e |
| 14540 | 6d 61 63 73 71 6c 2d 77 69 74 68 2d 63 6f 6e 6e 65 63 74 69 6f 6e 20 28 64 62 20 28 65 6d 61 63 | macsql-with-connection.(db.(emac |
| 14560 | 73 71 6c 2d 73 71 6c 69 74 65 20 5c 22 63 6f 6d 70 61 6e 79 2e 64 62 5c 22 29 29 0a 20 20 20 20 | sql-sqlite.\"company.db\"))..... |
| 14580 | 28 65 6d 61 63 73 71 6c 20 64 62 20 5b 3a 63 72 65 61 74 65 2d 74 61 62 6c 65 20 66 6f 6f 20 5b | (emacsql.db.[:create-table.foo.[ |
| 145a0 | 78 5d 5d 29 0a 20 20 20 20 28 65 6d 61 63 73 71 6c 20 64 62 20 5b 3a 69 6e 73 65 72 74 20 3a 69 | x]]).....(emacsql.db.[:insert.:i |
| 145c0 | 6e 74 6f 20 66 6f 6f 20 3a 76 61 6c 75 65 73 20 28 5b 31 5d 20 5b 32 5d 20 5b 33 5d 29 5d 29 0a | nto.foo.:values.([1].[2].[3])]). |
| 145e0 | 20 20 20 20 28 65 6d 61 63 73 71 6c 20 64 62 20 5b 3a 73 65 6c 65 63 74 20 2a 20 3a 66 72 6f 6d | ....(emacsql.db.[:select.*.:from |
| 14600 | 20 66 6f 6f 5d 29 29 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 31 29 29 0a | .foo]))"...(declare.(indent.1)). |
| 14620 | 20 20 60 28 6c 65 74 20 28 28 2c 28 63 61 72 20 63 6f 6e 6e 65 63 74 69 6f 6e 2d 73 70 65 63 29 | ..`(let.((,(car.connection-spec) |
| 14640 | 20 2c 28 63 61 64 72 20 63 6f 6e 6e 65 63 74 69 6f 6e 2d 73 70 65 63 29 29 29 0a 20 20 20 20 20 | .,(cadr.connection-spec)))...... |
| 14660 | 28 75 6e 77 69 6e 64 2d 70 72 6f 74 65 63 74 0a 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 20 | (unwind-protect..........(progn. |
| 14680 | 2c 40 62 6f 64 79 29 0a 20 20 20 20 20 20 20 28 65 6d 61 63 73 71 6c 2d 63 6c 6f 73 65 20 2c 28 | ,@body)........(emacsql-close.,( |
| 146a0 | 63 61 72 20 63 6f 6e 6e 65 63 74 69 6f 6e 2d 73 70 65 63 29 29 29 29 29 0a 0a 28 64 65 66 76 61 | car.connection-spec)))))..(defva |
| 146c0 | 72 20 65 6d 61 63 73 71 6c 2d 2d 74 72 61 6e 73 61 63 74 69 6f 6e 2d 6c 65 76 65 6c 20 30 0a 20 | r.emacsql--transaction-level.0.. |
| 146e0 | 20 22 4b 65 65 70 73 20 74 72 61 63 6b 20 6f 66 20 6e 65 73 74 65 64 20 74 72 61 6e 73 61 63 74 | ."Keeps.track.of.nested.transact |
| 14700 | 69 6f 6e 73 20 69 6e 20 60 65 6d 61 63 73 71 6c 2d 77 69 74 68 2d 74 72 61 6e 73 61 63 74 69 6f | ions.in.`emacsql-with-transactio |
| 14720 | 6e 27 2e 22 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 65 6d 61 63 73 71 6c 2d 77 69 74 68 2d 74 72 | n'.")..(defmacro.emacsql-with-tr |
| 14740 | 61 6e 73 61 63 74 69 6f 6e 20 28 63 6f 6e 6e 65 63 74 69 6f 6e 20 26 72 65 73 74 20 62 6f 64 79 | ansaction.(connection.&rest.body |
| 14760 | 29 0a 20 20 22 45 76 61 6c 75 61 74 65 20 42 4f 44 59 20 69 6e 73 69 64 65 20 61 20 73 69 6e 67 | )..."Evaluate.BODY.inside.a.sing |
| 14780 | 6c 65 20 74 72 61 6e 73 61 63 74 69 6f 6e 2c 20 69 73 73 75 69 6e 67 20 61 20 72 6f 6c 6c 62 61 | le.transaction,.issuing.a.rollba |
| 147a0 | 63 6b 20 6f 6e 20 65 72 72 6f 72 2e 0a 54 68 69 73 20 6d 61 63 72 6f 20 63 61 6e 20 62 65 20 6e | ck.on.error..This.macro.can.be.n |
| 147c0 | 65 73 74 65 64 20 69 6e 64 65 66 69 6e 69 74 65 6c 79 2c 20 77 72 61 70 70 69 6e 67 20 65 76 65 | ested.indefinitely,.wrapping.eve |
| 147e0 | 72 79 74 68 69 6e 67 20 69 6e 20 61 0a 73 69 6e 67 6c 65 20 74 72 61 6e 73 61 63 74 69 6f 6e 20 | rything.in.a.single.transaction. |
| 14800 | 61 74 20 74 68 65 20 6c 6f 77 65 73 74 20 6c 65 76 65 6c 2e 0a 0a 57 61 72 6e 69 6e 67 3a 20 42 | at.the.lowest.level...Warning:.B |
| 14820 | 4f 44 59 20 73 68 6f 75 6c 64 20 2a 6e 6f 74 2a 20 68 61 76 65 20 61 6e 79 20 73 69 64 65 20 65 | ODY.should.*not*.have.any.side.e |
| 14840 | 66 66 65 63 74 73 20 62 65 73 69 64 65 73 20 6d 61 6b 69 6e 67 0a 63 68 61 6e 67 65 73 20 74 6f | ffects.besides.making.changes.to |
| 14860 | 20 74 68 65 20 64 61 74 61 62 61 73 65 20 62 65 68 69 6e 64 20 43 4f 4e 4e 45 43 54 49 4f 4e 2e | .the.database.behind.CONNECTION. |
| 14880 | 20 20 42 6f 64 79 20 6d 61 79 20 62 65 20 65 76 61 6c 75 61 74 65 64 0a 6d 75 6c 74 69 70 6c 65 | ..Body.may.be.evaluated.multiple |
| 148a0 | 20 74 69 6d 65 73 20 62 65 66 6f 72 65 20 74 68 65 20 63 68 61 6e 67 65 73 20 61 72 65 20 63 6f | .times.before.the.changes.are.co |
| 148c0 | 6d 6d 69 74 74 65 64 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 31 29 29 | mmitted."...(declare.(indent.1)) |
| 148e0 | 0a 20 20 60 28 6c 65 74 20 28 28 65 6d 61 63 73 71 6c 2d 2d 63 6f 6e 6e 65 63 74 69 6f 6e 20 2c | ...`(let.((emacsql--connection., |
| 14900 | 63 6f 6e 6e 65 63 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 28 65 6d 61 63 73 71 6c 2d 2d 63 | connection)..........(emacsql--c |
| 14920 | 6f 6d 70 6c 65 74 65 64 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 28 65 6d 61 63 73 71 6c 2d | ompleted.nil)..........(emacsql- |
| 14940 | 2d 74 72 61 6e 73 61 63 74 69 6f 6e 2d 6c 65 76 65 6c 20 28 31 2b 20 65 6d 61 63 73 71 6c 2d 2d | -transaction-level.(1+.emacsql-- |
| 14960 | 74 72 61 6e 73 61 63 74 69 6f 6e 2d 6c 65 76 65 6c 29 29 0a 20 20 20 20 20 20 20 20 20 28 65 6d | transaction-level))..........(em |
| 14980 | 61 63 73 71 6c 2d 2d 72 65 73 75 6c 74 29 29 0a 20 20 20 20 20 28 75 6e 77 69 6e 64 2d 70 72 6f | acsql--result))......(unwind-pro |
| 149a0 | 74 65 63 74 0a 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 6e 6f 74 20 65 6d 61 63 73 71 | tect..........(while.(not.emacsq |
| 149c0 | 6c 2d 2d 63 6f 6d 70 6c 65 74 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 69 74 | l--completed)............(condit |
| 149e0 | 69 6f 6e 2d 63 61 73 65 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f | ion-case.nil................(pro |
| 14a00 | 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 3d 20 31 20 65 | gn..................(when.(=.1.e |
| 14a20 | 6d 61 63 73 71 6c 2d 2d 74 72 61 6e 73 61 63 74 69 6f 6e 2d 6c 65 76 65 6c 29 0a 20 20 20 20 20 | macsql--transaction-level)...... |
| 14a40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6d 61 63 73 71 6c 20 65 6d 61 63 73 71 6c 2d 2d | ..............(emacsql.emacsql-- |
| 14a60 | 63 6f 6e 6e 65 63 74 69 6f 6e 20 5b 3a 62 65 67 69 6e 5d 29 29 0a 20 20 20 20 20 20 20 20 20 20 | connection.[:begin]))........... |
| 14a80 | 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 72 65 73 75 6c 74 20 28 70 72 6f 67 6e 20 2c 40 62 6f | .......(let.((result.(progn.,@bo |
| 14aa0 | 64 79 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 65 | dy)))....................(setq.e |
| 14ac0 | 6d 61 63 73 71 6c 2d 2d 72 65 73 75 6c 74 20 72 65 73 75 6c 74 29 0a 20 20 20 20 20 20 20 20 20 | macsql--result.result).......... |
| 14ae0 | 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 3d 20 31 20 65 6d 61 63 73 71 6c 2d 2d 74 72 | ..........(when.(=.1.emacsql--tr |
| 14b00 | 61 6e 73 61 63 74 69 6f 6e 2d 6c 65 76 65 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ansaction-level)................ |
| 14b20 | 20 20 20 20 20 20 28 65 6d 61 63 73 71 6c 20 65 6d 61 63 73 71 6c 2d 2d 63 6f 6e 6e 65 63 74 69 | ......(emacsql.emacsql--connecti |
| 14b40 | 6f 6e 20 5b 3a 63 6f 6d 6d 69 74 5d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | on.[:commit])).................. |
| 14b60 | 20 20 28 73 65 74 71 20 65 6d 61 63 73 71 6c 2d 2d 63 6f 6d 70 6c 65 74 65 64 20 74 29 29 29 0a | ..(setq.emacsql--completed.t))). |
| 14b80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6d 61 63 73 71 6c 2d 6c 6f 63 6b 65 64 20 28 65 6d | .............(emacsql-locked.(em |
| 14ba0 | 61 63 73 71 6c 20 65 6d 61 63 73 71 6c 2d 2d 63 6f 6e 6e 65 63 74 69 6f 6e 20 5b 3a 72 6f 6c 6c | acsql.emacsql--connection.[:roll |
| 14bc0 | 62 61 63 6b 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | back]).......................... |
| 14be0 | 20 20 20 20 28 73 6c 65 65 70 2d 66 6f 72 20 30 2e 30 35 29 29 29 29 0a 20 20 20 20 20 20 20 28 | ....(sleep-for.0.05))))........( |
| 14c00 | 77 68 65 6e 20 28 61 6e 64 20 28 3d 20 31 20 65 6d 61 63 73 71 6c 2d 2d 74 72 61 6e 73 61 63 74 | when.(and.(=.1.emacsql--transact |
| 14c20 | 69 6f 6e 2d 6c 65 76 65 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f | ion-level)...................(no |
| 14c40 | 74 20 65 6d 61 63 73 71 6c 2d 2d 63 6f 6d 70 6c 65 74 65 64 29 29 0a 20 20 20 20 20 20 20 20 20 | t.emacsql--completed)).......... |
| 14c60 | 28 65 6d 61 63 73 71 6c 20 65 6d 61 63 73 71 6c 2d 2d 63 6f 6e 6e 65 63 74 69 6f 6e 20 5b 3a 72 | (emacsql.emacsql--connection.[:r |
| 14c80 | 6f 6c 6c 62 61 63 6b 5d 29 29 29 0a 20 20 20 20 20 65 6d 61 63 73 71 6c 2d 2d 72 65 73 75 6c 74 | ollback])))......emacsql--result |
| 14ca0 | 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 65 6d 61 63 73 71 6c 2d 74 68 72 65 61 64 20 28 63 6f | ))..(defmacro.emacsql-thread.(co |
| 14cc0 | 6e 6e 65 63 74 69 6f 6e 20 26 72 65 73 74 20 73 74 61 74 65 6d 65 6e 74 73 29 0a 20 20 22 54 68 | nnection.&rest.statements)..."Th |
| 14ce0 | 72 65 61 64 20 43 4f 4e 4e 45 43 54 49 4f 4e 20 74 68 72 6f 75 67 68 20 53 54 41 54 45 4d 45 4e | read.CONNECTION.through.STATEMEN |
| 14d00 | 54 53 2e 0a 41 20 73 74 61 74 65 6d 65 6e 74 20 63 61 6e 20 62 65 20 61 20 6c 69 73 74 2c 20 63 | TS..A.statement.can.be.a.list,.c |
| 14d20 | 6f 6e 74 61 69 6e 69 6e 67 20 61 20 73 74 61 74 65 6d 65 6e 74 20 77 69 74 68 20 69 74 73 20 61 | ontaining.a.statement.with.its.a |
| 14d40 | 72 67 75 6d 65 6e 74 73 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 31 29 | rguments."...(declare.(indent.1) |
| 14d60 | 29 0a 20 20 60 28 6c 65 74 20 28 28 65 6d 61 63 73 71 6c 2d 2d 63 6f 6e 6e 20 2c 63 6f 6e 6e 65 | )...`(let.((emacsql--conn.,conne |
| 14d80 | 63 74 69 6f 6e 29 29 0a 20 20 20 20 20 28 65 6d 61 63 73 71 6c 2d 77 69 74 68 2d 74 72 61 6e 73 | ction))......(emacsql-with-trans |
| 14da0 | 61 63 74 69 6f 6e 20 65 6d 61 63 73 71 6c 2d 2d 63 6f 6e 6e 0a 20 20 20 20 20 20 20 2c 40 28 63 | action.emacsql--conn........,@(c |
| 14dc0 | 6c 2d 6c 6f 6f 70 20 66 6f 72 20 73 74 61 74 65 6d 65 6e 74 20 69 6e 20 73 74 61 74 65 6d 65 6e | l-loop.for.statement.in.statemen |
| 14de0 | 74 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 68 65 6e 20 28 76 65 63 74 6f | ts...................when.(vecto |
| 14e00 | 72 70 20 73 74 61 74 65 6d 65 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | rp.statement)................... |
| 14e20 | 63 6f 6c 6c 65 63 74 20 28 6c 69 73 74 20 27 65 6d 61 63 73 71 6c 20 27 65 6d 61 63 73 71 6c 2d | collect.(list.'emacsql.'emacsql- |
| 14e40 | 2d 63 6f 6e 6e 20 73 74 61 74 65 6d 65 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | -conn.statement)................ |
| 14e60 | 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6c 65 63 | ...else...................collec |
| 14e80 | 74 20 28 61 70 70 65 6e 64 20 28 6c 69 73 74 20 27 65 6d 61 63 73 71 6c 20 27 65 6d 61 63 73 71 | t.(append.(list.'emacsql.'emacsq |
| 14ea0 | 6c 2d 2d 63 6f 6e 6e 29 20 73 74 61 74 65 6d 65 6e 74 29 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 | l--conn).statement)))))..(defmac |
| 14ec0 | 72 6f 20 65 6d 61 63 73 71 6c 2d 77 69 74 68 2d 62 69 6e 64 20 28 63 6f 6e 6e 65 63 74 69 6f 6e | ro.emacsql-with-bind.(connection |
| 14ee0 | 20 73 71 6c 2d 61 6e 64 2d 61 72 67 73 20 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 22 46 6f 72 | .sql-and-args.&rest.body)..."For |
| 14f00 | 20 65 61 63 68 20 72 65 73 75 6c 74 20 72 6f 77 20 62 69 6e 64 20 74 68 65 20 63 6f 6c 75 6d 6e | .each.result.row.bind.the.column |
| 14f20 | 20 6e 61 6d 65 73 20 66 6f 72 20 65 61 63 68 20 72 65 74 75 72 6e 65 64 20 72 6f 77 2e 0a 52 65 | .names.for.each.returned.row..Re |
| 14f40 | 74 75 72 6e 73 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 74 68 65 20 6c 61 73 74 20 65 76 61 | turns.the.result.of.the.last.eva |
| 14f60 | 6c 75 61 74 65 64 20 42 4f 44 59 2e 0a 0a 41 6c 6c 20 63 6f 6c 75 6d 6e 20 6e 61 6d 65 73 20 6d | luated.BODY...All.column.names.m |
| 14f80 | 75 73 74 20 62 65 20 70 72 6f 76 69 64 65 64 20 69 6e 20 74 68 65 20 71 75 65 72 79 20 28 24 20 | ust.be.provided.in.the.query.($. |
| 14fa0 | 61 6e 64 20 2a 20 61 72 65 20 6e 6f 74 0a 61 6c 6c 6f 77 65 64 29 2e 20 20 48 69 6e 74 3a 20 61 | and.*.are.not.allowed)...Hint:.a |
| 14fc0 | 6c 6c 20 6f 66 20 74 68 65 20 62 6f 75 6e 64 20 69 64 65 6e 74 69 66 69 65 72 73 20 6d 75 73 74 | ll.of.the.bound.identifiers.must |
| 14fe0 | 20 62 65 20 6b 6e 6f 77 6e 20 61 74 0a 63 6f 6d 70 69 6c 65 20 74 69 6d 65 2e 20 20 46 6f 72 20 | .be.known.at.compile.time...For. |
| 15000 | 65 78 61 6d 70 6c 65 2c 20 69 6e 20 74 68 65 20 65 78 70 72 65 73 73 69 6f 6e 20 62 65 6c 6f 77 | example,.in.the.expression.below |
| 15020 | 20 74 68 65 20 76 61 72 69 61 62 6c 65 73 0a 60 6e 61 6d 65 27 20 61 6e 64 20 60 70 68 6f 6e 65 | .the.variables.`name'.and.`phone |
| 15040 | 27 20 77 69 6c 6c 20 62 65 20 62 6f 75 6e 64 20 66 6f 72 20 74 68 65 20 62 6f 64 79 2e 0a 0a 20 | '.will.be.bound.for.the.body.... |
| 15060 | 20 28 65 6d 61 63 73 71 6c 2d 77 69 74 68 2d 62 69 6e 64 20 64 62 20 5b 3a 73 65 6c 65 63 74 20 | .(emacsql-with-bind.db.[:select. |
| 15080 | 5b 6e 61 6d 65 20 70 68 6f 6e 65 5d 20 3a 66 72 6f 6d 20 70 65 6f 70 6c 65 5d 0a 20 20 20 20 28 | [name.phone].:from.people].....( |
| 150a0 | 6d 65 73 73 61 67 65 20 5c 22 46 6f 75 6e 64 20 25 73 20 77 69 74 68 20 25 73 5c 22 20 6e 61 6d | message.\"Found.%s.with.%s\".nam |
| 150c0 | 65 20 70 68 6f 6e 65 29 29 0a 0a 20 20 28 65 6d 61 63 73 71 6c 2d 77 69 74 68 2d 62 69 6e 64 20 | e.phone))....(emacsql-with-bind. |
| 150e0 | 64 62 20 28 5b 3a 73 65 6c 65 63 74 20 5b 6e 61 6d 65 20 70 68 6f 6e 65 5d 0a 20 20 20 20 20 20 | db.([:select.[name.phone]....... |
| 15100 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 66 72 6f 6d 20 70 65 6f 70 6c 65 | ....................:from.people |
| 15120 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 77 68 65 72 | ...........................:wher |
| 15140 | 65 20 28 3d 20 6e 61 6d 65 20 24 31 29 5d 20 6d 79 2d 6e 61 6d 65 29 0a 20 20 20 20 28 6d 65 73 | e.(=.name.$1)].my-name).....(mes |
| 15160 | 73 61 67 65 20 5c 22 46 6f 75 6e 64 20 25 73 20 77 69 74 68 20 25 73 5c 22 20 6e 61 6d 65 20 70 | sage.\"Found.%s.with.%s\".name.p |
| 15180 | 68 6f 6e 65 29 29 0a 0a 45 61 63 68 20 63 6f 6c 75 6d 6e 20 6d 75 73 74 20 62 65 20 61 20 70 6c | hone))..Each.column.must.be.a.pl |
| 151a0 | 61 69 6e 20 73 79 6d 62 6f 6c 2c 20 6e 6f 20 65 78 70 72 65 73 73 69 6f 6e 73 20 61 6c 6c 6f 77 | ain.symbol,.no.expressions.allow |
| 151c0 | 65 64 20 68 65 72 65 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 32 29 29 | ed.here."...(declare.(indent.2)) |
| 151e0 | 0a 20 20 28 6c 65 74 20 28 28 73 71 6c 20 28 69 66 20 28 76 65 63 74 6f 72 70 20 73 71 6c 2d 61 | ...(let.((sql.(if.(vectorp.sql-a |
| 15200 | 6e 64 2d 61 72 67 73 29 20 73 71 6c 2d 61 6e 64 2d 61 72 67 73 20 28 63 61 72 20 73 71 6c 2d 61 | nd-args).sql-and-args.(car.sql-a |
| 15220 | 6e 64 2d 61 72 67 73 29 29 29 0a 20 20 20 20 20 20 20 20 28 61 72 67 73 20 28 61 6e 64 20 28 6e | nd-args))).........(args.(and.(n |
| 15240 | 6f 74 20 28 76 65 63 74 6f 72 70 20 73 71 6c 2d 61 6e 64 2d 61 72 67 73 29 29 20 28 63 64 72 20 | ot.(vectorp.sql-and-args)).(cdr. |
| 15260 | 73 71 6c 2d 61 6e 64 2d 61 72 67 73 29 29 29 29 0a 20 20 20 20 28 63 6c 2d 61 73 73 65 72 74 20 | sql-and-args)))).....(cl-assert. |
| 15280 | 28 65 71 20 3a 73 65 6c 65 63 74 20 28 65 6c 74 20 73 71 6c 20 30 29 29 29 0a 20 20 20 20 28 6c | (eq.:select.(elt.sql.0))).....(l |
| 152a0 | 65 74 20 28 28 76 61 72 73 20 28 65 6c 74 20 73 71 6c 20 31 29 29 29 0a 20 20 20 20 20 20 28 77 | et.((vars.(elt.sql.1))).......(w |
| 152c0 | 68 65 6e 20 28 65 71 20 76 61 72 73 20 27 2a 29 0a 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 | hen.(eq.vars.'*).........(error. |
| 152e0 | 22 4d 75 73 74 20 65 78 70 6c 69 63 69 74 6c 79 20 6c 69 73 74 20 63 6f 6c 75 6d 6e 73 20 69 6e | "Must.explicitly.list.columns.in |
| 15300 | 20 60 65 6d 61 63 73 71 6c 2d 77 69 74 68 2d 62 69 6e 64 27 22 29 29 0a 20 20 20 20 20 20 28 63 | .`emacsql-with-bind'")).......(c |
| 15320 | 6c 2d 61 73 73 65 72 74 20 28 63 6c 2d 65 76 65 72 79 20 23 27 73 79 6d 62 6f 6c 70 20 76 61 72 | l-assert.(cl-every.#'symbolp.var |
| 15340 | 73 29 29 0a 20 20 20 20 20 20 60 28 6c 65 74 20 28 28 65 6d 61 63 73 71 6c 2d 2d 72 65 73 75 6c | s)).......`(let.((emacsql--resul |
| 15360 | 74 73 20 28 65 6d 61 63 73 71 6c 20 2c 63 6f 6e 6e 65 63 74 69 6f 6e 20 2c 73 71 6c 20 2c 40 61 | ts.(emacsql.,connection.,sql.,@a |
| 15380 | 72 67 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6d 61 63 73 71 6c 2d 2d 66 69 6e | rgs))..............(emacsql--fin |
| 153a0 | 61 6c 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 65 6d 61 63 73 | al.nil))..........(dolist.(emacs |
| 153c0 | 71 6c 2d 2d 72 65 73 75 6c 74 20 65 6d 61 63 73 71 6c 2d 2d 72 65 73 75 6c 74 73 20 65 6d 61 63 | ql--result.emacsql--results.emac |
| 153e0 | 73 71 6c 2d 2d 66 69 6e 61 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 65 6d 61 | sql--final)............(setq.ema |
| 15400 | 63 73 71 6c 2d 2d 66 69 6e 61 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c | csql--final..................(cl |
| 15420 | 2d 64 65 73 74 72 75 63 74 75 72 69 6e 67 2d 62 69 6e 64 20 2c 28 63 6c 2d 63 6f 65 72 63 65 20 | -destructuring-bind.,(cl-coerce. |
| 15440 | 76 61 72 73 20 27 6c 69 73 74 29 20 65 6d 61 63 73 71 6c 2d 2d 72 65 73 75 6c 74 0a 20 20 20 20 | vars.'list).emacsql--result..... |
| 15460 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 40 62 6f 64 79 29 29 29 29 29 29 29 0a 0a 3b 3b | ...............,@body)))))))..;; |
| 15480 | 3b 20 55 73 65 72 20 69 6e 74 65 72 61 63 74 69 6f 6e 20 66 75 6e 63 74 69 6f 6e 73 0a 0a 28 64 | ;.User.interaction.functions..(d |
| 154a0 | 65 66 76 61 72 20 65 6d 61 63 73 71 6c 2d 73 68 6f 77 2d 62 75 66 66 65 72 2d 6e 61 6d 65 20 22 | efvar.emacsql-show-buffer-name." |
| 154c0 | 2a 65 6d 61 63 73 71 6c 2d 73 68 6f 77 2a 22 0a 20 20 22 4e 61 6d 65 20 6f 66 20 74 68 65 20 62 | *emacsql-show*"..."Name.of.the.b |
| 154e0 | 75 66 66 65 72 20 66 6f 72 20 64 69 73 70 6c 61 79 69 6e 67 20 69 6e 74 65 72 6d 65 64 69 61 74 | uffer.for.displaying.intermediat |
| 15500 | 65 20 53 51 4c 2e 22 29 0a 0a 28 64 65 66 75 6e 20 65 6d 61 63 73 71 6c 2d 2d 69 6e 64 65 6e 74 | e.SQL.")..(defun.emacsql--indent |
| 15520 | 20 28 29 0a 20 20 22 49 6e 64 65 6e 74 20 61 6e 64 20 77 72 61 70 20 74 68 65 20 53 51 4c 20 65 | .()..."Indent.and.wrap.the.SQL.e |
| 15540 | 78 70 72 65 73 73 69 6f 6e 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 2e | xpression.in.the.current.buffer. |
| 15560 | 22 0a 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 | "...(save-excursion.....(goto-ch |
| 15580 | 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 28 6c 65 74 20 28 28 63 61 73 65 2d | ar.(point-min)).....(let.((case- |
| 155a0 | 66 6f 6c 64 2d 73 65 61 72 63 68 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 | fold-search.nil)).......(while.( |
| 155c0 | 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 2d 72 65 67 65 78 70 20 22 20 5b 41 2d 5a 5d 2b 22 20 | search-forward-regexp.".[A-Z]+". |
| 155e0 | 6e 69 6c 20 3a 6e 6f 2d 65 72 72 6f 72 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 3e 20 | nil.:no-error).........(when.(>. |
| 15600 | 28 63 75 72 72 65 6e 74 2d 63 6f 6c 75 6d 6e 29 20 28 2a 20 66 69 6c 6c 2d 63 6f 6c 75 6d 6e 20 | (current-column).(*.fill-column. |
| 15620 | 30 2e 38 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 62 61 63 6b 77 61 72 64 2d 77 6f 72 64 29 0a | 0.8))...........(backward-word). |
| 15640 | 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 5c 6e 20 20 20 20 22 29 29 29 29 29 29 | ..........(insert."\n....")))))) |
| 15660 | 0a 0a 28 64 65 66 75 6e 20 65 6d 61 63 73 71 6c 2d 73 68 6f 77 2d 73 71 6c 20 28 73 74 72 69 6e | ..(defun.emacsql-show-sql.(strin |
| 15680 | 67 29 0a 20 20 22 46 6f 6e 74 69 66 79 20 61 6e 64 20 64 69 73 70 6c 61 79 20 74 68 65 20 53 51 | g)..."Fontify.and.display.the.SQ |
| 156a0 | 4c 20 65 78 70 72 65 73 73 69 6f 6e 20 69 6e 20 53 54 52 49 4e 47 2e 22 0a 20 20 28 6c 65 74 20 | L.expression.in.STRING."...(let. |
| 156c0 | 28 28 66 6f 6e 74 69 66 69 65 64 0a 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 74 65 6d 70 2d | ((fontified..........(with-temp- |
| 156e0 | 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 73 74 72 69 6e 67 | buffer............(insert.string |
| 15700 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 71 6c 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 20 20 | )............(sql-mode)......... |
| 15720 | 20 20 20 28 77 69 74 68 2d 6e 6f 2d 77 61 72 6e 69 6e 67 73 20 3b 3b 20 61 75 74 6f 6c 6f 61 64 | ...(with-no-warnings.;;.autoload |
| 15740 | 65 64 20 62 79 20 70 72 65 76 69 6f 75 73 20 6c 69 6e 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ed.by.previous.line............. |
| 15760 | 20 28 73 71 6c 2d 68 69 67 68 6c 69 67 68 74 2d 73 71 6c 69 74 65 2d 6b 65 79 77 6f 72 64 73 29 | .(sql-highlight-sqlite-keywords) |
| 15780 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 6e 74 2d 6c 6f 63 6b 2d 65 6e 73 75 72 65 29 0a | )............(font-lock-ensure). |
| 157a0 | 20 20 20 20 20 20 20 20 20 20 20 28 65 6d 61 63 73 71 6c 2d 2d 69 6e 64 65 6e 74 29 0a 20 20 20 | ...........(emacsql--indent).... |
| 157c0 | 20 20 20 20 20 20 20 20 28 62 75 66 66 65 72 2d 73 74 72 69 6e 67 29 29 29 29 0a 20 20 20 20 28 | ........(buffer-string)))).....( |
| 157e0 | 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 67 65 74 2d 62 75 66 66 65 72 2d | with-current-buffer.(get-buffer- |
| 15800 | 63 72 65 61 74 65 20 65 6d 61 63 73 71 6c 2d 73 68 6f 77 2d 62 75 66 66 65 72 2d 6e 61 6d 65 29 | create.emacsql-show-buffer-name) |
| 15820 | 0a 20 20 20 20 20 20 28 69 66 20 28 3c 20 28 6c 65 6e 67 74 68 20 73 74 72 69 6e 67 29 20 66 69 | .......(if.(<.(length.string).fi |
| 15840 | 6c 6c 2d 63 6f 6c 75 6d 6e 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 25 | ll-column)...........(message."% |
| 15860 | 73 22 20 66 6f 6e 74 69 66 69 65 64 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 62 75 66 | s".fontified).........(let.((buf |
| 15880 | 66 65 72 2d 72 65 61 64 2d 6f 6e 6c 79 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 65 | fer-read-only.nil))...........(e |
| 158a0 | 72 61 73 65 2d 62 75 66 66 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 66 | rase-buffer)...........(insert.f |
| 158c0 | 6f 6e 74 69 66 69 65 64 29 29 0a 20 20 20 20 20 20 20 20 28 73 70 65 63 69 61 6c 2d 6d 6f 64 65 | ontified)).........(special-mode |
| 158e0 | 29 0a 20 20 20 20 20 20 20 20 28 76 69 73 75 61 6c 2d 6c 69 6e 65 2d 6d 6f 64 65 29 0a 20 20 20 | ).........(visual-line-mode).... |
| 15900 | 20 20 20 20 20 28 70 6f 70 2d 74 6f 2d 62 75 66 66 65 72 20 28 63 75 72 72 65 6e 74 2d 62 75 66 | .....(pop-to-buffer.(current-buf |
| 15920 | 66 65 72 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6d 61 63 73 71 6c 2d 66 6c 61 74 74 65 | fer))))))..(defun.emacsql-flatte |
| 15940 | 6e 2d 73 71 6c 20 28 73 71 6c 29 0a 20 20 22 43 6f 6e 76 65 72 74 20 61 20 73 2d 65 78 70 72 65 | n-sql.(sql)..."Convert.a.s-expre |
| 15960 | 73 73 69 6f 6e 20 53 51 4c 20 69 6e 74 6f 20 61 20 66 6c 61 74 20 73 74 72 69 6e 67 20 66 6f 72 | ssion.SQL.into.a.flat.string.for |
| 15980 | 20 64 69 73 70 6c 61 79 2e 22 0a 20 20 28 63 6c 2d 64 65 73 74 72 75 63 74 75 72 69 6e 67 2d 62 | .display."...(cl-destructuring-b |
| 159a0 | 69 6e 64 20 28 73 74 72 69 6e 67 20 2e 20 76 61 72 73 29 20 28 65 6d 61 63 73 71 6c 2d 70 72 65 | ind.(string...vars).(emacsql-pre |
| 159c0 | 70 61 72 65 20 73 71 6c 29 0a 20 20 20 20 28 63 6f 6e 63 61 74 0a 20 20 20 20 20 28 61 70 70 6c | pare.sql).....(concat......(appl |
| 159e0 | 79 20 23 27 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 69 | y.#'format.string.(cl-loop.for.i |
| 15a00 | 20 69 6e 20 28 6d 61 70 63 61 72 20 23 27 63 61 72 20 76 61 72 73 29 0a 20 20 20 20 20 20 20 20 | .in.(mapcar.#'car.vars)......... |
| 15a20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c | .............................col |
| 15a40 | 6c 65 63 74 20 28 69 6e 74 65 72 6e 20 28 66 6f 72 6d 61 74 20 22 24 25 64 22 20 28 31 2b 20 69 | lect.(intern.(format."$%d".(1+.i |
| 15a60 | 29 29 29 29 29 0a 20 20 20 20 20 22 3b 22 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 | )))))......";")))..;;;###autoloa |
| 15a80 | 64 0a 28 64 65 66 75 6e 20 65 6d 61 63 73 71 6c 2d 73 68 6f 77 2d 6c 61 73 74 2d 73 71 6c 20 28 | d.(defun.emacsql-show-last-sql.( |
| 15aa0 | 26 6f 70 74 69 6f 6e 61 6c 20 70 72 65 66 69 78 29 0a 20 20 22 44 69 73 70 6c 61 79 20 74 68 65 | &optional.prefix)..."Display.the |
| 15ac0 | 20 63 6f 6d 70 69 6c 65 64 20 53 51 4c 20 6f 66 20 74 68 65 20 73 2d 65 78 70 72 65 73 73 69 6f | .compiled.SQL.of.the.s-expressio |
| 15ae0 | 6e 20 53 51 4c 20 65 78 70 72 65 73 73 69 6f 6e 20 62 65 66 6f 72 65 20 70 6f 69 6e 74 2e 0a 41 | n.SQL.expression.before.point..A |
| 15b00 | 20 70 72 65 66 69 78 20 61 72 67 75 6d 65 6e 74 20 63 61 75 73 65 73 20 74 68 65 20 53 51 4c 20 | .prefix.argument.causes.the.SQL. |
| 15b20 | 74 6f 20 62 65 20 70 72 69 6e 74 65 64 20 69 6e 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 | to.be.printed.into.the.current.b |
| 15b40 | 75 66 66 65 72 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 50 22 29 0a 20 20 28 6c | uffer."...(interactive."P")...(l |
| 15b60 | 65 74 20 28 28 73 65 78 70 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 65 6c 69 73 70 2d 2d 70 | et.((sexp.(if.(fboundp.'elisp--p |
| 15b80 | 72 65 63 65 64 69 6e 67 2d 73 65 78 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | receding-sexp).................. |
| 15ba0 | 20 28 65 6c 69 73 70 2d 2d 70 72 65 63 65 64 69 6e 67 2d 73 65 78 70 29 0a 20 20 20 20 20 20 20 | .(elisp--preceding-sexp)........ |
| 15bc0 | 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 6e 6f 2d 77 61 72 6e 69 6e 67 73 0a 20 20 20 20 20 | .........(with-no-warnings...... |
| 15be0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 65 63 65 64 69 6e 67 2d 73 65 78 70 29 29 29 29 | .............(preceding-sexp)))) |
| 15c00 | 29 0a 20 20 20 20 28 69 66 20 28 65 6d 61 63 73 71 6c 2d 73 71 6c 2d 70 20 73 65 78 70 29 0a 20 | ).....(if.(emacsql-sql-p.sexp).. |
| 15c20 | 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 73 71 6c 20 28 65 6d 61 63 73 71 6c 2d 66 6c 61 74 74 | .......(let.((sql.(emacsql-flatt |
| 15c40 | 65 6e 2d 73 71 6c 20 73 65 78 70 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 66 20 70 72 65 | en-sql.sexp)))...........(if.pre |
| 15c60 | 66 69 78 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 73 71 6c 29 0a 20 | fix...............(insert.sql).. |
| 15c80 | 20 20 20 20 20 20 20 20 20 20 20 28 65 6d 61 63 73 71 6c 2d 73 68 6f 77 2d 73 71 6c 20 73 71 6c | ...........(emacsql-show-sql.sql |
| 15ca0 | 29 29 29 0a 20 20 20 20 20 20 28 75 73 65 72 2d 65 72 72 6f 72 20 22 49 6e 76 61 6c 69 64 20 53 | ))).......(user-error."Invalid.S |
| 15cc0 | 51 4c 3a 20 25 53 22 20 73 65 78 70 29 29 29 29 0a 0a 3b 3b 3b 20 46 69 78 20 45 6d 61 63 73 27 | QL:.%S".sexp))))..;;;.Fix.Emacs' |
| 15ce0 | 20 62 72 6f 6b 65 6e 20 76 65 63 74 6f 72 20 69 6e 64 65 6e 74 61 74 69 6f 6e 0a 0a 28 64 65 66 | .broken.vector.indentation..(def |
| 15d00 | 75 6e 20 65 6d 61 63 73 71 6c 2d 2d 69 6e 73 69 64 65 2d 76 65 63 74 6f 72 2d 70 20 28 29 0a 20 | un.emacsql--inside-vector-p.().. |
| 15d20 | 20 22 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 70 6f 69 6e 74 20 69 73 20 69 6e 73 | ."Return.non-nil.if.point.is.ins |
| 15d40 | 69 64 65 20 61 20 76 65 63 74 6f 72 20 65 78 70 72 65 73 73 69 6f 6e 2e 22 0a 20 20 28 6c 65 74 | ide.a.vector.expression."...(let |
| 15d60 | 20 28 28 73 74 61 72 74 20 28 70 6f 69 6e 74 29 29 29 0a 20 20 20 20 28 73 61 76 65 2d 65 78 63 | .((start.(point))).....(save-exc |
| 15d80 | 75 72 73 69 6f 6e 0a 20 20 20 20 20 20 28 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 64 65 66 75 6e | ursion.......(beginning-of-defun |
| 15da0 | 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 63 6f 6e 74 61 69 6e 69 6e 67 2d 73 65 78 70 20 28 | ).......(let.((containing-sexp.( |
| 15dc0 | 65 6c 74 20 28 70 61 72 73 65 2d 70 61 72 74 69 61 6c 2d 73 65 78 70 20 28 70 6f 69 6e 74 29 20 | elt.(parse-partial-sexp.(point). |
| 15de0 | 73 74 61 72 74 29 20 31 29 29 29 0a 20 20 20 20 20 20 20 20 28 61 6e 64 20 63 6f 6e 74 61 69 6e | start).1))).........(and.contain |
| 15e00 | 69 6e 67 2d 73 65 78 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 20 28 67 6f | ing-sexp..............(progn.(go |
| 15e20 | 74 6f 2d 63 68 61 72 20 63 6f 6e 74 61 69 6e 69 6e 67 2d 73 65 78 70 29 0a 20 20 20 20 20 20 20 | to-char.containing-sexp)........ |
| 15e40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 6f 6f 6b 69 6e 67 2d 61 74 20 22 5c 5c 5b 22 29 29 | .............(looking-at."\\[")) |
| 15e60 | 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6d 61 63 73 71 6c 2d 2d 63 61 6c 63 75 6c 61 74 65 | )))))..(defun.emacsql--calculate |
| 15e80 | 2d 76 65 63 74 6f 72 2d 69 6e 64 65 6e 74 20 28 66 6e 20 26 6f 70 74 69 6f 6e 61 6c 20 70 61 72 | -vector-indent.(fn.&optional.par |
| 15ea0 | 73 65 2d 73 74 61 72 74 29 0a 20 20 22 44 6f 6e 27 74 20 69 6e 64 65 6e 74 20 76 65 63 74 6f 72 | se-start)..."Don't.indent.vector |
| 15ec0 | 73 20 69 6e 20 60 65 6d 61 63 73 2d 6c 69 73 70 2d 6d 6f 64 65 27 20 6c 69 6b 65 20 6c 69 73 74 | s.in.`emacs-lisp-mode'.like.list |
| 15ee0 | 73 2e 22 0a 20 20 28 69 66 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 20 28 62 65 67 69 6e | s."...(if.(save-excursion.(begin |
| 15f00 | 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 29 20 28 65 6d 61 63 73 71 6c 2d 2d 69 6e 73 69 64 65 2d 76 | ning-of-line).(emacsql--inside-v |
| 15f20 | 65 63 74 6f 72 2d 70 29 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 6c 69 73 70 2d 69 6e 64 65 | ector-p)).......(let.((lisp-inde |
| 15f40 | 6e 74 2d 6f 66 66 73 65 74 20 31 29 29 0a 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 66 | nt-offset.1)).........(funcall.f |
| 15f60 | 6e 20 70 61 72 73 65 2d 73 74 61 72 74 29 29 0a 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 | n.parse-start)).....(funcall.fn. |
| 15f80 | 70 61 72 73 65 2d 73 74 61 72 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6d 61 63 73 71 6c 2d 66 | parse-start)))..(defun.emacsql-f |
| 15fa0 | 69 78 2d 76 65 63 74 6f 72 2d 69 6e 64 65 6e 74 61 74 69 6f 6e 20 28 29 0a 20 20 22 57 68 65 6e | ix-vector-indentation.()..."When |
| 15fc0 | 20 63 61 6c 6c 65 64 2c 20 61 64 76 69 73 65 20 60 63 61 6c 63 75 6c 61 74 65 2d 6c 69 73 70 2d | .called,.advise.`calculate-lisp- |
| 15fe0 | 69 6e 64 65 6e 74 27 20 74 6f 20 73 74 6f 70 20 69 6e 64 65 6e 74 69 6e 67 20 76 65 63 74 6f 72 | indent'.to.stop.indenting.vector |
| 16000 | 73 2e 0a 4f 6e 63 65 20 61 63 74 69 76 61 74 65 64 2c 20 76 65 63 74 6f 72 20 63 6f 6e 74 65 6e | s..Once.activated,.vector.conten |
| 16020 | 74 73 20 6e 6f 20 6c 6f 6e 67 65 72 20 69 6e 64 65 6e 74 20 6c 69 6b 65 20 6c 69 73 74 73 2e 22 | ts.no.longer.indent.like.lists." |
| 16040 | 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 61 64 76 69 63 65 2d 61 64 64 20 27 | ...(interactive)...(advice-add.' |
| 16060 | 63 61 6c 63 75 6c 61 74 65 2d 6c 69 73 70 2d 69 6e 64 65 6e 74 20 3a 61 72 6f 75 6e 64 0a 20 20 | calculate-lisp-indent.:around... |
| 16080 | 20 20 20 20 20 20 20 20 20 20 20 20 23 27 65 6d 61 63 73 71 6c 2d 2d 63 61 6c 63 75 6c 61 74 65 | ............#'emacsql--calculate |
| 160a0 | 2d 76 65 63 74 6f 72 2d 69 6e 64 65 6e 74 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 65 6d 61 63 | -vector-indent))..(provide.'emac |
| 160c0 | 73 71 6c 29 0a 0a 3b 3b 3b 20 65 6d 61 63 73 71 6c 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 | sql)..;;;.emacsql.el.ends.here.. |
| 160e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 16100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 16120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 16140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 16160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 16180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 161a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 161c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 161e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 16200 | 65 6d 61 63 73 71 6c 2d 34 2e 33 2e 31 2f 65 6d 61 63 73 71 6c 2d 70 73 71 6c 2e 65 6c 00 00 00 | emacsql-4.3.1/emacsql-psql.el... |
| 16220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 16240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 16260 | 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 | ....0000644.0000000.0000000.0000 |
| 16280 | 30 30 31 33 33 35 35 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 35 33 36 00 20 30 00 00 00 | 0013355.00000000000.014536..0... |
| 162a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 162c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 162e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 16300 | 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .ustar...root................... |
| 16320 | 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .........root................... |
| 16340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 16360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 16380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 163a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 163c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 163e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 16400 | 3b 3b 3b 20 65 6d 61 63 73 71 6c 2d 70 73 71 6c 2e 65 6c 20 2d 2d 2d 20 45 6d 61 63 53 51 4c 20 | ;;;.emacsql-psql.el.---.EmacSQL. |
| 16420 | 62 61 63 6b 2d 65 6e 64 20 66 6f 72 20 50 6f 73 74 67 72 65 53 51 4c 20 76 69 61 20 70 73 71 6c | back-end.for.PostgreSQL.via.psql |
| 16440 | 20 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67 3a 74 20 2d 2a 2d 0a 0a 3b 3b 20 | ..-*-.lexical-binding:t.-*-..;;. |
| 16460 | 54 68 69 73 20 69 73 20 66 72 65 65 20 61 6e 64 20 75 6e 65 6e 63 75 6d 62 65 72 65 64 20 73 6f | This.is.free.and.unencumbered.so |
| 16480 | 66 74 77 61 72 65 20 72 65 6c 65 61 73 65 64 20 69 6e 74 6f 20 74 68 65 20 70 75 62 6c 69 63 20 | ftware.released.into.the.public. |
| 164a0 | 64 6f 6d 61 69 6e 2e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 43 68 72 69 73 74 6f 70 68 65 72 20 | domain...;;.Author:.Christopher. |
| 164c0 | 57 65 6c 6c 6f 6e 73 20 3c 77 65 6c 6c 6f 6e 73 40 6e 75 6c 6c 70 72 6f 67 72 61 6d 2e 63 6f 6d | Wellons.<wellons@nullprogram.com |
| 164e0 | 3e 0a 3b 3b 20 4d 61 69 6e 74 61 69 6e 65 72 3a 20 4a 6f 6e 61 73 20 42 65 72 6e 6f 75 6c 6c 69 | >.;;.Maintainer:.Jonas.Bernoulli |
| 16500 | 20 3c 65 6d 61 63 73 2e 65 6d 61 63 73 71 6c 40 6a 6f 6e 61 73 2e 62 65 72 6e 6f 75 6c 6c 69 2e | .<emacs.emacsql@jonas.bernoulli. |
| 16520 | 64 65 76 3e 0a 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d 49 64 65 6e 74 69 66 69 65 72 | dev>..;;.SPDX-License-Identifier |
| 16540 | 3a 20 55 6e 6c 69 63 65 6e 73 65 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b | :.Unlicense..;;;.Commentary:..;; |
| 16560 | 20 54 68 69 73 20 6c 69 62 72 61 72 79 20 70 72 6f 76 69 64 65 73 20 61 6e 20 45 6d 61 63 53 51 | .This.library.provides.an.EmacSQ |
| 16580 | 4c 20 62 61 63 6b 2d 65 6e 64 20 66 6f 72 20 50 6f 73 74 67 72 65 53 51 4c 2c 20 77 68 69 63 68 | L.back-end.for.PostgreSQL,.which |
| 165a0 | 0a 3b 3b 20 75 73 65 73 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 60 70 73 71 6c 27 20 63 6f 6d | .;;.uses.the.standard.`psql'.com |
| 165c0 | 6d 61 6e 64 20 6c 69 6e 65 20 70 72 6f 67 72 61 6d 2e 0a 0a 3b 3b 20 28 46 6f 72 20 61 6e 20 61 | mand.line.program...;;.(For.an.a |
| 165e0 | 6c 74 65 72 6e 61 74 69 76 65 20 62 61 63 6b 2d 65 6e 64 20 66 6f 72 20 50 6f 73 74 67 72 65 53 | lternative.back-end.for.PostgreS |
| 16600 | 51 4c 2c 20 73 65 65 20 60 65 6d 61 63 73 71 6c 2d 70 67 27 2e 29 0a 0a 3b 3b 3b 20 43 6f 64 65 | QL,.see.`emacsql-pg'.)..;;;.Code |
| 16620 | 3a 0a 0a 28 72 65 71 75 69 72 65 20 27 65 6d 61 63 73 71 6c 29 0a 0a 28 64 65 66 76 61 72 20 65 | :..(require.'emacsql)..(defvar.e |
| 16640 | 6d 61 63 73 71 6c 2d 70 73 71 6c 2d 65 78 65 63 75 74 61 62 6c 65 20 22 70 73 71 6c 22 0a 20 20 | macsql-psql-executable."psql"... |
| 16660 | 22 50 61 74 68 20 74 6f 20 74 68 65 20 70 73 71 6c 20 28 50 6f 73 74 67 72 65 53 51 4c 20 63 6c | "Path.to.the.psql.(PostgreSQL.cl |
| 16680 | 69 65 6e 74 29 20 65 78 65 63 75 74 61 62 6c 65 2e 22 29 0a 0a 28 64 65 66 75 6e 20 65 6d 61 63 | ient).executable.")..(defun.emac |
| 166a0 | 73 71 6c 2d 70 73 71 6c 2d 75 6e 61 76 61 69 6c 61 62 6c 65 2d 70 20 28 29 0a 20 20 22 52 65 74 | sql-psql-unavailable-p.()..."Ret |
| 166c0 | 75 72 6e 20 61 20 72 65 61 73 6f 6e 20 69 66 20 74 68 65 20 70 73 71 6c 20 65 78 65 63 75 74 61 | urn.a.reason.if.the.psql.executa |
| 166e0 | 62 6c 65 20 69 73 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 2e 0a 3a 6e 6f 2d 65 78 65 63 75 74 | ble.is.not.available..:no-execut |
| 16700 | 61 62 6c 65 20 2d 2d 20 63 61 6e 6e 6f 74 20 66 69 6e 64 20 74 68 65 20 65 78 65 63 75 74 61 62 | able.--.cannot.find.the.executab |
| 16720 | 6c 65 0a 3a 63 61 6e 6e 6f 74 2d 65 78 65 63 75 74 65 20 2d 2d 20 63 61 6e 6e 6f 74 20 72 75 6e | le.:cannot-execute.--.cannot.run |
| 16740 | 20 74 68 65 20 65 78 65 63 75 74 61 62 6c 65 0a 3a 6f 6c 64 2d 76 65 72 73 69 6f 6e 20 2d 2d 20 | .the.executable.:old-version.--. |
| 16760 | 73 71 6c 69 74 65 33 20 76 65 72 73 69 6f 6e 20 69 73 20 74 6f 6f 20 6f 6c 64 22 0a 20 20 28 6c | sqlite3.version.is.too.old"...(l |
| 16780 | 65 74 20 28 28 70 73 71 6c 20 65 6d 61 63 73 71 6c 2d 70 73 71 6c 2d 65 78 65 63 75 74 61 62 6c | et.((psql.emacsql-psql-executabl |
| 167a0 | 65 29 29 0a 20 20 20 20 28 69 66 20 28 6e 75 6c 6c 20 28 65 78 65 63 75 74 61 62 6c 65 2d 66 69 | e)).....(if.(null.(executable-fi |
| 167c0 | 6e 64 20 70 73 71 6c 29 29 0a 20 20 20 20 20 20 20 20 3a 6e 6f 2d 65 78 65 63 75 74 61 62 6c 65 | nd.psql)).........:no-executable |
| 167e0 | 0a 20 20 20 20 20 20 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 5f 0a 20 20 20 20 20 20 20 | .......(condition-case._........ |
| 16800 | 20 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 | ...(with-temp-buffer............ |
| 16820 | 20 28 63 61 6c 6c 2d 70 72 6f 63 65 73 73 20 70 73 71 6c 20 6e 69 6c 20 28 63 75 72 72 65 6e 74 | .(call-process.psql.nil.(current |
| 16840 | 2d 62 75 66 66 65 72 29 20 6e 69 6c 20 22 2d 2d 76 65 72 73 69 6f 6e 22 29 0a 20 20 20 20 20 20 | -buffer).nil."--version")....... |
| 16860 | 20 20 20 20 20 20 28 6c 65 74 20 28 28 76 65 72 73 69 6f 6e 20 28 63 6c 2d 74 68 69 72 64 20 28 | ......(let.((version.(cl-third.( |
| 16880 | 73 70 6c 69 74 2d 73 74 72 69 6e 67 20 28 62 75 66 66 65 72 2d 73 74 72 69 6e 67 29 29 29 29 29 | split-string.(buffer-string))))) |
| 168a0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 76 65 72 73 69 6f 6e 3c 20 76 65 72 | ...............(if.(version<.ver |
| 168c0 | 73 69 6f 6e 20 22 31 2e 30 2e 30 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | sion."1.0.0")................... |
| 168e0 | 3a 6f 6c 64 2d 76 65 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c | :old-version.................nil |
| 16900 | 29 29 29 0a 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 3a 63 61 6e 6e 6f 74 2d 65 78 65 63 75 | ))).........(error.:cannot-execu |
| 16920 | 74 65 29 29 29 29 29 0a 0a 28 64 65 66 63 6f 6e 73 74 20 65 6d 61 63 73 71 6c 2d 70 73 71 6c 2d | te)))))..(defconst.emacsql-psql- |
| 16940 | 72 65 73 65 72 76 65 64 0a 20 20 28 65 6d 61 63 73 71 6c 2d 72 65 67 69 73 74 65 72 2d 72 65 73 | reserved...(emacsql-register-res |
| 16960 | 65 72 76 65 64 0a 20 20 20 27 28 20 41 4c 4c 20 41 4e 41 4c 59 53 45 20 41 4e 41 4c 59 5a 45 20 | erved....'(.ALL.ANALYSE.ANALYZE. |
| 16980 | 41 4e 44 20 41 4e 59 20 41 53 20 41 53 43 20 41 55 54 48 4f 52 49 5a 41 54 49 4f 4e 20 42 45 54 | AND.ANY.AS.ASC.AUTHORIZATION.BET |
| 169a0 | 57 45 45 4e 20 42 49 4e 41 52 59 0a 20 20 20 20 20 20 42 4f 54 48 20 43 41 53 45 20 43 41 53 54 | WEEN.BINARY.......BOTH.CASE.CAST |
| 169c0 | 20 43 48 45 43 4b 20 43 4f 4c 4c 41 54 45 20 43 4f 4c 55 4d 4e 20 43 4f 4e 53 54 52 41 49 4e 54 | .CHECK.COLLATE.COLUMN.CONSTRAINT |
| 169e0 | 20 43 52 45 41 54 45 20 43 52 4f 53 53 0a 20 20 20 20 20 20 43 55 52 52 45 4e 54 5f 44 41 54 45 | .CREATE.CROSS.......CURRENT_DATE |
| 16a00 | 20 43 55 52 52 45 4e 54 5f 54 49 4d 45 20 43 55 52 52 45 4e 54 5f 54 49 4d 45 53 54 41 4d 50 20 | .CURRENT_TIME.CURRENT_TIMESTAMP. |
| 16a20 | 43 55 52 52 45 4e 54 5f 55 53 45 52 20 44 45 46 41 55 4c 54 0a 20 20 20 20 20 20 44 45 46 45 52 | CURRENT_USER.DEFAULT.......DEFER |
| 16a40 | 52 41 42 4c 45 20 44 45 53 43 20 44 49 53 54 49 4e 43 54 20 44 4f 20 45 4c 53 45 20 45 4e 44 20 | RABLE.DESC.DISTINCT.DO.ELSE.END. |
| 16a60 | 45 58 43 45 50 54 20 46 41 4c 53 45 20 46 4f 52 20 46 4f 52 45 49 47 4e 0a 20 20 20 20 20 20 46 | EXCEPT.FALSE.FOR.FOREIGN.......F |
| 16a80 | 52 45 45 5a 45 20 46 52 4f 4d 20 46 55 4c 4c 20 47 52 41 4e 54 20 47 52 4f 55 50 20 48 41 56 49 | REEZE.FROM.FULL.GRANT.GROUP.HAVI |
| 16aa0 | 4e 47 20 49 4c 49 4b 45 20 49 4e 20 49 4e 49 54 49 41 4c 4c 59 20 49 4e 4e 45 52 0a 20 20 20 20 | NG.ILIKE.IN.INITIALLY.INNER..... |
| 16ac0 | 20 20 49 4e 54 45 52 53 45 43 54 20 49 4e 54 4f 20 49 53 20 49 53 4e 55 4c 4c 20 4a 4f 49 4e 20 | ..INTERSECT.INTO.IS.ISNULL.JOIN. |
| 16ae0 | 4c 45 41 44 49 4e 47 20 4c 45 46 54 20 4c 49 4b 45 20 4c 49 4d 49 54 20 4c 4f 43 41 4c 54 49 4d | LEADING.LEFT.LIKE.LIMIT.LOCALTIM |
| 16b00 | 45 0a 20 20 20 20 20 20 4c 4f 43 41 4c 54 49 4d 45 53 54 41 4d 50 20 4e 41 54 55 52 41 4c 20 4e | E.......LOCALTIMESTAMP.NATURAL.N |
| 16b20 | 45 57 20 4e 4f 54 20 4e 4f 54 4e 55 4c 4c 20 4e 55 4c 4c 20 4f 46 46 20 4f 46 46 53 45 54 20 4f | EW.NOT.NOTNULL.NULL.OFF.OFFSET.O |
| 16b40 | 4c 44 20 4f 4e 0a 20 20 20 20 20 20 4f 4e 4c 59 20 4f 52 20 4f 52 44 45 52 20 4f 55 54 45 52 20 | LD.ON.......ONLY.OR.ORDER.OUTER. |
| 16b60 | 4f 56 45 52 4c 41 50 53 20 50 4c 41 43 49 4e 47 20 50 52 49 4d 41 52 59 20 52 45 46 45 52 45 4e | OVERLAPS.PLACING.PRIMARY.REFEREN |
| 16b80 | 43 45 53 20 52 49 47 48 54 0a 20 20 20 20 20 20 53 45 4c 45 43 54 20 53 45 53 53 49 4f 4e 5f 55 | CES.RIGHT.......SELECT.SESSION_U |
| 16ba0 | 53 45 52 20 53 49 4d 49 4c 41 52 20 53 4f 4d 45 20 54 41 42 4c 45 20 54 48 45 4e 20 54 4f 20 54 | SER.SIMILAR.SOME.TABLE.THEN.TO.T |
| 16bc0 | 52 41 49 4c 49 4e 47 20 54 52 55 45 0a 20 20 20 20 20 20 55 4e 49 4f 4e 20 55 4e 49 51 55 45 20 | RAILING.TRUE.......UNION.UNIQUE. |
| 16be0 | 55 53 45 52 20 55 53 49 4e 47 20 56 45 52 42 4f 53 45 20 57 48 45 4e 20 57 48 45 52 45 29 29 0a | USER.USING.VERBOSE.WHEN.WHERE)). |
| 16c00 | 20 20 22 4c 69 73 74 20 6f 66 20 61 6c 6c 20 6f 66 20 50 6f 73 74 67 72 65 53 51 4c 27 73 20 72 | .."List.of.all.of.PostgreSQL's.r |
| 16c20 | 65 73 65 72 76 65 64 20 77 6f 72 64 73 2e 0a 68 74 74 70 3a 2f 2f 77 77 77 2e 70 6f 73 74 67 72 | eserved.words..http://www.postgr |
| 16c40 | 65 73 71 6c 2e 6f 72 67 2f 64 6f 63 73 2f 37 2e 33 2f 73 74 61 74 69 63 2f 73 71 6c 2d 6b 65 79 | esql.org/docs/7.3/static/sql-key |
| 16c60 | 77 6f 72 64 73 2d 61 70 70 65 6e 64 69 78 2e 68 74 6d 6c 22 29 0a 0a 28 64 65 66 63 6c 61 73 73 | words-appendix.html")..(defclass |
| 16c80 | 20 65 6d 61 63 73 71 6c 2d 70 73 71 6c 2d 63 6f 6e 6e 65 63 74 69 6f 6e 20 28 65 6d 61 63 73 71 | .emacsql-psql-connection.(emacsq |
| 16ca0 | 6c 2d 63 6f 6e 6e 65 63 74 69 6f 6e 29 0a 20 20 28 28 64 62 6e 61 6d 65 20 3a 72 65 61 64 65 72 | l-connection)...((dbname.:reader |
| 16cc0 | 20 65 6d 61 63 73 71 6c 2d 70 73 71 6c 2d 64 62 6e 61 6d 65 20 3a 69 6e 69 74 61 72 67 20 3a 64 | .emacsql-psql-dbname.:initarg.:d |
| 16ce0 | 62 6e 61 6d 65 29 0a 20 20 20 28 74 79 70 65 73 20 3a 61 6c 6c 6f 63 61 74 69 6f 6e 20 3a 63 6c | bname)....(types.:allocation.:cl |
| 16d00 | 61 73 73 0a 20 20 20 20 20 20 20 20 20 20 3a 72 65 61 64 65 72 20 65 6d 61 63 73 71 6c 2d 74 79 | ass...........:reader.emacsql-ty |
| 16d20 | 70 65 73 0a 20 20 20 20 20 20 20 20 20 20 3a 69 6e 69 74 66 6f 72 6d 20 27 28 28 69 6e 74 65 67 | pes...........:initform.'((integ |
| 16d40 | 65 72 20 22 42 49 47 49 4e 54 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | er."BIGINT").................... |
| 16d60 | 20 20 20 28 66 6c 6f 61 74 20 22 44 4f 55 42 4c 45 20 50 52 45 43 49 53 49 4f 4e 22 29 0a 20 20 | ...(float."DOUBLE.PRECISION")... |
| 16d80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 62 6a 65 63 74 20 22 54 45 58 | ....................(object."TEX |
| 16da0 | 54 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 69 6c 20 22 | T").......................(nil." |
| 16dc0 | 54 45 58 54 22 29 29 29 29 0a 20 20 22 41 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 74 6f 20 61 20 50 | TEXT"))))..."A.connection.to.a.P |
| 16de0 | 6f 73 74 67 72 65 53 51 4c 20 64 61 74 61 62 61 73 65 20 76 69 61 20 70 73 71 6c 2e 22 29 0a 0a | ostgreSQL.database.via.psql.").. |
| 16e00 | 28 63 6c 2d 64 65 66 75 6e 20 65 6d 61 63 73 71 6c 2d 70 73 71 6c 20 28 64 62 6e 61 6d 65 20 26 | (cl-defun.emacsql-psql.(dbname.& |
| 16e20 | 6b 65 79 20 75 73 65 72 6e 61 6d 65 20 68 6f 73 74 6e 61 6d 65 20 70 6f 72 74 20 64 65 62 75 67 | key.username.hostname.port.debug |
| 16e40 | 29 0a 20 20 22 43 6f 6e 6e 65 63 74 20 74 6f 20 61 20 50 6f 73 74 67 72 65 53 51 4c 20 73 65 72 | )..."Connect.to.a.PostgreSQL.ser |
| 16e60 | 76 65 72 20 75 73 69 6e 67 20 74 68 65 20 70 73 71 6c 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 | ver.using.the.psql.command.line. |
| 16e80 | 70 72 6f 67 72 61 6d 2e 22 0a 20 20 28 6c 65 74 20 28 28 61 72 67 73 20 28 6c 69 73 74 20 64 62 | program."...(let.((args.(list.db |
| 16ea0 | 6e 61 6d 65 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 75 73 65 72 6e 61 6d 65 0a 20 20 20 20 20 | name))).....(when.username...... |
| 16ec0 | 20 28 70 75 73 68 20 75 73 65 72 6e 61 6d 65 20 61 72 67 73 29 29 0a 20 20 20 20 28 70 75 73 68 | .(push.username.args)).....(push |
| 16ee0 | 20 22 2d 6e 22 20 61 72 67 73 29 0a 20 20 20 20 28 77 68 65 6e 20 70 6f 72 74 0a 20 20 20 20 20 | ."-n".args).....(when.port...... |
| 16f00 | 20 28 70 75 73 68 20 22 2d 70 22 20 61 72 67 73 29 0a 20 20 20 20 20 20 28 70 75 73 68 20 70 6f | .(push."-p".args).......(push.po |
| 16f20 | 72 74 20 61 72 67 73 29 29 0a 20 20 20 20 28 77 68 65 6e 20 68 6f 73 74 6e 61 6d 65 0a 20 20 20 | rt.args)).....(when.hostname.... |
| 16f40 | 20 20 20 28 70 75 73 68 20 22 2d 68 22 20 61 72 67 73 29 0a 20 20 20 20 20 20 28 70 75 73 68 20 | ...(push."-h".args).......(push. |
| 16f60 | 68 6f 73 74 6e 61 6d 65 20 61 72 67 73 29 29 0a 20 20 20 20 28 73 65 74 71 20 61 72 67 73 20 28 | hostname.args)).....(setq.args.( |
| 16f80 | 6e 72 65 76 65 72 73 65 20 61 72 67 73 29 29 0a 20 20 20 20 28 6c 65 74 2a 20 28 28 62 75 66 66 | nreverse.args)).....(let*.((buff |
| 16fa0 | 65 72 20 28 67 65 6e 65 72 61 74 65 2d 6e 65 77 2d 62 75 66 66 65 72 20 22 20 2a 65 6d 61 63 73 | er.(generate-new-buffer.".*emacs |
| 16fc0 | 71 6c 2d 70 73 71 6c 2a 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 70 73 71 6c 20 65 6d 61 | ql-psql*"))............(psql.ema |
| 16fe0 | 63 73 71 6c 2d 70 73 71 6c 2d 65 78 65 63 75 74 61 62 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 | csql-psql-executable)........... |
| 17000 | 20 28 63 6f 6d 6d 61 6e 64 20 28 6d 61 70 63 6f 6e 63 61 74 20 23 27 73 68 65 6c 6c 2d 71 75 6f | .(command.(mapconcat.#'shell-quo |
| 17020 | 74 65 2d 61 72 67 75 6d 65 6e 74 20 28 63 6f 6e 73 20 70 73 71 6c 20 61 72 67 73 29 20 22 20 22 | te-argument.(cons.psql.args)."." |
| 17040 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 63 65 73 73 20 28 73 74 61 72 74 2d 70 72 | ))............(process.(start-pr |
| 17060 | 6f 63 65 73 73 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ocess-shell-command............. |
| 17080 | 20 20 20 20 20 20 20 20 20 22 65 6d 61 63 73 71 6c 2d 70 73 71 6c 22 20 62 75 66 66 65 72 20 28 | ........."emacsql-psql".buffer.( |
| 170a0 | 63 6f 6e 63 61 74 20 22 73 74 74 79 20 72 61 77 20 26 26 20 22 20 63 6f 6d 6d 61 6e 64 29 29 29 | concat."stty.raw.&&.".command))) |
| 170c0 | 0a 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 6e 65 63 74 69 6f 6e 20 28 6d 61 6b 65 2d 69 6e | ............(connection.(make-in |
| 170e0 | 73 74 61 6e 63 65 20 27 65 6d 61 63 73 71 6c 2d 70 73 71 6c 2d 63 6f 6e 6e 65 63 74 69 6f 6e 0a | stance.'emacsql-psql-connection. |
| 17100 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 17120 | 20 20 20 20 20 20 3a 68 61 6e 64 6c 65 20 70 72 6f 63 65 73 73 0a 20 20 20 20 20 20 20 20 20 20 | ......:handle.process........... |
| 17140 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 64 62 6e | ............................:dbn |
| 17160 | 61 6d 65 20 64 62 6e 61 6d 65 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 66 20 28 70 72 6f 63 65 | ame.dbname))).......(setf.(proce |
| 17180 | 73 73 2d 73 65 6e 74 69 6e 65 6c 20 70 72 6f 63 65 73 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 | ss-sentinel.process)............ |
| 171a0 | 20 28 6c 61 6d 62 64 61 20 28 70 72 6f 63 20 5f 29 20 28 6b 69 6c 6c 2d 62 75 66 66 65 72 20 28 | .(lambda.(proc._).(kill-buffer.( |
| 171c0 | 70 72 6f 63 65 73 73 2d 62 75 66 66 65 72 20 70 72 6f 63 29 29 29 29 0a 20 20 20 20 20 20 28 73 | process-buffer.proc)))).......(s |
| 171e0 | 65 74 2d 70 72 6f 63 65 73 73 2d 71 75 65 72 79 2d 6f 6e 2d 65 78 69 74 2d 66 6c 61 67 20 28 6f | et-process-query-on-exit-flag.(o |
| 17200 | 72 65 66 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 68 61 6e 64 6c 65 29 20 6e 69 6c 29 0a 20 20 20 20 | ref.connection.handle).nil)..... |
| 17220 | 20 20 28 77 68 65 6e 20 64 65 62 75 67 20 28 65 6d 61 63 73 71 6c 2d 65 6e 61 62 6c 65 2d 64 65 | ..(when.debug.(emacsql-enable-de |
| 17240 | 62 75 67 67 69 6e 67 20 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 0a 20 20 20 20 20 20 28 6d 61 70 63 | bugging.connection)).......(mapc |
| 17260 | 20 28 61 70 70 6c 79 2d 70 61 72 74 69 61 6c 6c 79 20 23 27 65 6d 61 63 73 71 6c 2d 73 65 6e 64 | .(apply-partially.#'emacsql-send |
| 17280 | 2d 6d 65 73 73 61 67 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 | -message.connection)............ |
| 172a0 | 20 27 28 22 5c 5c 70 73 65 74 20 70 61 67 65 72 20 6f 66 66 22 0a 20 20 20 20 20 20 20 20 20 20 | .'("\\pset.pager.off"........... |
| 172c0 | 20 20 20 20 22 5c 5c 70 73 65 74 20 6e 75 6c 6c 20 6e 69 6c 22 0a 20 20 20 20 20 20 20 20 20 20 | ...."\\pset.null.nil"........... |
| 172e0 | 20 20 20 20 22 5c 5c 61 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 5c 5c 74 22 0a 20 20 | ...."\\a"..............."\\t"... |
| 17300 | 20 20 20 20 20 20 20 20 20 20 20 20 22 5c 5c 66 20 27 20 27 22 0a 20 20 20 20 20 20 20 20 20 20 | ............"\\f.'.'"........... |
| 17320 | 20 20 20 20 22 53 45 54 20 63 6c 69 65 6e 74 5f 6d 69 6e 5f 6d 65 73 73 61 67 65 73 20 54 4f 20 | ...."SET.client_min_messages.TO. |
| 17340 | 45 52 52 4f 52 3b 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 5c 5c 73 65 74 20 50 52 4f | ERROR;"..............."\\set.PRO |
| 17360 | 4d 50 54 31 20 5d 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 45 4d 41 43 53 51 4c 3b 22 | MPT1.]"..............."EMACSQL;" |
| 17380 | 29 29 20 3b 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 66 6c 75 73 68 0a 20 20 20 20 20 20 28 | )).;.error.message.flush.......( |
| 173a0 | 65 6d 61 63 73 71 6c 2d 77 61 69 74 20 63 6f 6e 6e 65 63 74 69 6f 6e 29 0a 20 20 20 20 20 20 28 | emacsql-wait.connection).......( |
| 173c0 | 65 6d 61 63 73 71 6c 20 63 6f 6e 6e 65 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | emacsql.connection.............. |
| 173e0 | 20 20 5b 3a 73 65 74 20 28 3d 20 64 65 66 61 75 6c 74 2d 74 72 61 6e 73 61 63 74 69 6f 6e 2d 69 | ..[:set.(=.default-transaction-i |
| 17400 | 73 6f 6c 61 74 69 6f 6e 20 27 53 45 52 49 41 4c 49 5a 41 42 4c 45 29 5d 29 0a 20 20 20 20 20 20 | solation.'SERIALIZABLE)])....... |
| 17420 | 28 65 6d 61 63 73 71 6c 2d 72 65 67 69 73 74 65 72 20 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 29 29 | (emacsql-register.connection)))) |
| 17440 | 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 65 6d 61 63 73 71 6c 2d 63 6c 6f 73 65 20 28 28 | ..(cl-defmethod.emacsql-close.(( |
| 17460 | 63 6f 6e 6e 65 63 74 69 6f 6e 20 65 6d 61 63 73 71 6c 2d 70 73 71 6c 2d 63 6f 6e 6e 65 63 74 69 | connection.emacsql-psql-connecti |
| 17480 | 6f 6e 29 29 0a 20 20 28 6c 65 74 20 28 28 70 72 6f 63 65 73 73 20 28 6f 72 65 66 20 63 6f 6e 6e | on))...(let.((process.(oref.conn |
| 174a0 | 65 63 74 69 6f 6e 20 68 61 6e 64 6c 65 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 70 72 6f 63 | ection.handle))).....(when.(proc |
| 174c0 | 65 73 73 2d 6c 69 76 65 2d 70 20 70 72 6f 63 65 73 73 29 0a 20 20 20 20 20 20 28 70 72 6f 63 65 | ess-live-p.process).......(proce |
| 174e0 | 73 73 2d 73 65 6e 64 2d 73 74 72 69 6e 67 20 70 72 6f 63 65 73 73 20 22 5c 5c 71 5c 6e 22 29 29 | ss-send-string.process."\\q\n")) |
| 17500 | 29 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 65 6d 61 63 73 71 6c 2d 73 65 6e 64 2d 6d | ))..(cl-defmethod.emacsql-send-m |
| 17520 | 65 73 73 61 67 65 20 28 28 63 6f 6e 6e 65 63 74 69 6f 6e 20 65 6d 61 63 73 71 6c 2d 70 73 71 6c | essage.((connection.emacsql-psql |
| 17540 | 2d 63 6f 6e 6e 65 63 74 69 6f 6e 29 20 6d 65 73 73 61 67 65 29 0a 20 20 28 6c 65 74 20 28 28 70 | -connection).message)...(let.((p |
| 17560 | 72 6f 63 65 73 73 20 28 6f 72 65 66 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 68 61 6e 64 6c 65 29 29 | rocess.(oref.connection.handle)) |
| 17580 | 29 0a 20 20 20 20 28 70 72 6f 63 65 73 73 2d 73 65 6e 64 2d 73 74 72 69 6e 67 20 70 72 6f 63 65 | ).....(process-send-string.proce |
| 175a0 | 73 73 20 6d 65 73 73 61 67 65 29 0a 20 20 20 20 28 70 72 6f 63 65 73 73 2d 73 65 6e 64 2d 73 74 | ss.message).....(process-send-st |
| 175c0 | 72 69 6e 67 20 70 72 6f 63 65 73 73 20 22 5c 6e 22 29 29 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 | ring.process."\n")))..(cl-defmet |
| 175e0 | 68 6f 64 20 65 6d 61 63 73 71 6c 2d 77 61 69 74 69 6e 67 2d 70 20 28 28 63 6f 6e 6e 65 63 74 69 | hod.emacsql-waiting-p.((connecti |
| 17600 | 6f 6e 20 65 6d 61 63 73 71 6c 2d 70 73 71 6c 2d 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 0a 20 20 28 | on.emacsql-psql-connection))...( |
| 17620 | 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 65 6d 61 63 73 71 6c 2d 62 75 66 | with-current-buffer.(emacsql-buf |
| 17640 | 66 65 72 20 63 6f 6e 6e 65 63 74 69 6f 6e 29 0a 20 20 20 20 28 63 6f 6e 64 20 28 28 3d 20 28 62 | fer.connection).....(cond.((=.(b |
| 17660 | 75 66 66 65 72 2d 73 69 7a 65 29 20 31 29 20 28 73 74 72 69 6e 67 3d 20 22 5d 22 20 28 62 75 66 | uffer-size).1).(string=."]".(buf |
| 17680 | 66 65 72 2d 73 74 72 69 6e 67 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 3e 20 28 62 75 66 | fer-string)))...........((>.(buf |
| 176a0 | 66 65 72 2d 73 69 7a 65 29 20 31 29 20 28 73 74 72 69 6e 67 3d 20 22 5c 6e 5d 22 20 28 62 75 66 | fer-size).1).(string=."\n]".(buf |
| 176c0 | 66 65 72 2d 73 75 62 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | fer-substring................... |
| 176e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 20 | .............................(-. |
| 17700 | 28 70 6f 69 6e 74 2d 6d 61 78 29 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | (point-max).2).................. |
| 17720 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 | ..............................(p |
| 17740 | 6f 69 6e 74 2d 6d 61 78 29 29 29 29 29 29 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 65 | oint-max)))))))..(cl-defmethod.e |
| 17760 | 6d 61 63 73 71 6c 2d 63 68 65 63 6b 2d 65 72 72 6f 72 20 28 28 63 6f 6e 6e 65 63 74 69 6f 6e 20 | macsql-check-error.((connection. |
| 17780 | 65 6d 61 63 73 71 6c 2d 70 73 71 6c 2d 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 0a 20 20 28 77 69 74 | emacsql-psql-connection))...(wit |
| 177a0 | 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 65 6d 61 63 73 71 6c 2d 62 75 66 66 65 72 | h-current-buffer.(emacsql-buffer |
| 177c0 | 20 63 6f 6e 6e 65 63 74 69 6f 6e 29 0a 20 20 20 20 28 6c 65 74 20 28 28 63 61 73 65 2d 66 6f 6c | .connection).....(let.((case-fol |
| 177e0 | 64 2d 73 65 61 72 63 68 20 74 29 29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 | d-search.t)).......(goto-char.(p |
| 17800 | 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 6c 6f 6f 6b 69 6e 67 2d | oint-min)).......(when.(looking- |
| 17820 | 61 74 20 22 65 72 72 6f 72 3a 22 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 62 65 67 | at."error:").........(let*.((beg |
| 17840 | 20 28 6c 69 6e 65 2d 62 65 67 69 6e 6e 69 6e 67 2d 70 6f 73 69 74 69 6f 6e 29 29 0a 20 20 20 20 | .(line-beginning-position))..... |
| 17860 | 20 20 20 20 20 20 20 20 20 20 20 28 65 6e 64 20 28 6c 69 6e 65 2d 65 6e 64 2d 70 6f 73 69 74 69 | ...........(end.(line-end-positi |
| 17880 | 6f 6e 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 69 67 6e 61 6c 20 27 65 6d 61 63 73 71 6c | on)))...........(signal.'emacsql |
| 178a0 | 2d 65 72 72 6f 72 20 28 6c 69 73 74 20 28 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 20 62 | -error.(list.(buffer-substring.b |
| 178c0 | 65 67 20 65 6e 64 29 29 29 29 29 29 29 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 65 6d | eg.end))))))))..(cl-defmethod.em |
| 178e0 | 61 63 73 71 6c 2d 70 61 72 73 65 20 28 28 63 6f 6e 6e 65 63 74 69 6f 6e 20 65 6d 61 63 73 71 6c | acsql-parse.((connection.emacsql |
| 17900 | 2d 70 73 71 6c 2d 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 0a 20 20 28 65 6d 61 63 73 71 6c 2d 63 68 | -psql-connection))...(emacsql-ch |
| 17920 | 65 63 6b 2d 65 72 72 6f 72 20 63 6f 6e 6e 65 63 74 69 6f 6e 29 0a 20 20 28 77 69 74 68 2d 63 75 | eck-error.connection)...(with-cu |
| 17940 | 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 65 6d 61 63 73 71 6c 2d 62 75 66 66 65 72 20 63 6f 6e | rrent-buffer.(emacsql-buffer.con |
| 17960 | 6e 65 63 74 69 6f 6e 29 0a 20 20 20 20 28 6c 65 74 20 28 28 73 74 61 6e 64 61 72 64 2d 69 6e 70 | nection).....(let.((standard-inp |
| 17980 | 75 74 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 29 0a 20 20 20 20 20 20 28 67 6f 74 | ut.(current-buffer))).......(got |
| 179a0 | 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 20 20 28 63 6c 2d 6c 6f | o-char.(point-min)).......(cl-lo |
| 179c0 | 6f 70 20 75 6e 74 69 6c 20 28 6c 6f 6f 6b 69 6e 67 2d 61 74 20 22 5d 22 29 0a 20 20 20 20 20 20 | op.until.(looking-at."]")....... |
| 179e0 | 20 20 20 20 20 20 20 20 20 63 6f 6c 6c 65 63 74 20 28 72 65 61 64 29 20 69 6e 74 6f 20 72 6f 77 | .........collect.(read).into.row |
| 17a00 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 68 65 6e 20 28 6c 6f 6f 6b 69 6e 67 2d 61 74 | ................when.(looking-at |
| 17a20 | 20 22 5c 6e 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6c 65 63 74 20 72 6f | ."\n")................collect.ro |
| 17a40 | 77 20 69 6e 74 6f 20 72 6f 77 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 6e 64 20 64 | w.into.rows................and.d |
| 17a60 | 6f 20 28 70 72 6f 67 6e 20 28 66 6f 72 77 61 72 64 2d 63 68 61 72 20 31 29 20 28 73 65 74 71 20 | o.(progn.(forward-char.1).(setq. |
| 17a80 | 72 6f 77 20 28 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 69 6e 61 6c 6c 79 20 | row.()))................finally. |
| 17aa0 | 28 63 6c 2d 72 65 74 75 72 6e 20 72 6f 77 73 29 29 29 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 | (cl-return.rows)))))..(provide.' |
| 17ac0 | 65 6d 61 63 73 71 6c 2d 70 73 71 6c 29 0a 0a 3b 3b 3b 20 65 6d 61 63 73 71 6c 2d 70 73 71 6c 2e | emacsql-psql)..;;;.emacsql-psql. |
| 17ae0 | 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | el.ends.here.................... |
| 17b00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 17b20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 17b40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 17b60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 17b80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 17ba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 17bc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 17be0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 17c00 | 65 6d 61 63 73 71 6c 2d 34 2e 33 2e 31 2f 2e 64 69 72 2d 6c 6f 63 61 6c 73 2e 65 6c 00 00 00 00 | emacsql-4.3.1/.dir-locals.el.... |
| 17c20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 17c40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 17c60 | 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 | ....0000644.0000000.0000000.0000 |
| 17c80 | 30 30 30 30 32 32 37 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 32 33 35 00 20 30 00 00 00 | 0000227.00000000000.014235..0... |
| 17ca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 17cc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 17ce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 17d00 | 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .ustar...root................... |
| 17d20 | 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .........root................... |
| 17d40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 17d60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 17d80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 17da0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 17dc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 17de0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 17e00 | 28 28 6e 69 6c 0a 20 20 28 69 6e 64 65 6e 74 2d 74 61 62 73 2d 6d 6f 64 65 20 2e 20 6e 69 6c 29 | ((nil...(indent-tabs-mode...nil) |
| 17e20 | 29 0a 20 28 6d 61 6b 65 66 69 6c 65 2d 6d 6f 64 65 0a 20 20 28 69 6e 64 65 6e 74 2d 74 61 62 73 | )..(makefile-mode...(indent-tabs |
| 17e40 | 2d 6d 6f 64 65 20 2e 20 74 29 29 0a 20 28 67 69 74 2d 63 6f 6d 6d 69 74 2d 6d 6f 64 65 0a 20 20 | -mode...t))..(git-commit-mode... |
| 17e60 | 28 67 69 74 2d 63 6f 6d 6d 69 74 2d 6d 61 6a 6f 72 2d 6d 6f 64 65 20 2e 20 67 69 74 2d 63 6f 6d | (git-commit-major-mode...git-com |
| 17e80 | 6d 69 74 2d 65 6c 69 73 70 2d 74 65 78 74 2d 6d 6f 64 65 29 29 29 0a 00 00 00 00 00 00 00 00 00 | mit-elisp-text-mode))).......... |
| 17ea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 17ec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 17ee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 17f00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 17f20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 17f40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 17f60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 17f80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 17fa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 17fc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 17fe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18000 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 180a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 180c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 180e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 181a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 181c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 181e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18200 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 182a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 182c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 182e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 183a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 183c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 183e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18400 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18420 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18460 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 184a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 184c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 184e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 185a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 185c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 185e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 186a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 186c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 186e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 187a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 187c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 187e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18800 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 188a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 188c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 188e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 189a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 189c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 189e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18a00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18a20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18a40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18a60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18a80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18aa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18ac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18ae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18b00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18b20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18b40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18b60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18b80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18ba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18bc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18be0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18c00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18c20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18c40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18c60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18c80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18ca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18cc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18ce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18d00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18d20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18d40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18d60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18d80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18da0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18dc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18de0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18e00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18e20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18e40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18e60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18e80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18ea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18ec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18ee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18f00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18f20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18f40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18f60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18f80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18fa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18fc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18fe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |