| ofs | hex dump | ascii |
|---|
| 0000 | 63 6c 6f 73 71 6c 2d 32 30 32 35 30 39 31 33 2e 31 39 32 36 2f 00 00 00 00 00 00 00 00 00 00 00 | closql-20250913.1926/........... |
| 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 32 33 31 35 00 20 35 00 00 00 | 0000000.00000000000.012315..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 | 63 6c 6f 73 71 6c 2d 32 30 32 35 30 39 31 33 2e 31 39 32 36 2f 63 6c 6f 73 71 6c 2d 70 6b 67 2e | closql-20250913.1926/closql-pkg. |
| 0220 | 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 00 00 00 00 | el.............................. |
| 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 30 30 37 36 34 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 37 32 32 00 20 30 00 00 00 | 0000764.00000000000.014722..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 20 2d 2a 2d 20 6e 6f 2d 62 79 74 65 2d 63 6f 6d 70 69 6c 65 3a 20 74 3b 20 6c 65 78 69 63 | ;;.-*-.no-byte-compile:.t;.lexic |
| 0420 | 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 6e 69 6c 20 2d 2a 2d 0a 28 64 65 66 69 6e 65 2d 70 61 63 6b | al-binding:.nil.-*-.(define-pack |
| 0440 | 61 67 65 20 22 63 6c 6f 73 71 6c 22 20 22 32 30 32 35 30 39 31 33 2e 31 39 32 36 22 0a 20 20 22 | age."closql"."20250913.1926"..." |
| 0460 | 53 74 6f 72 65 20 45 49 45 49 4f 20 6f 62 6a 65 63 74 73 20 75 73 69 6e 67 20 45 6d 61 63 53 51 | Store.EIEIO.objects.using.EmacSQ |
| 0480 | 4c 2e 22 0a 20 20 27 28 28 65 6d 61 63 73 20 20 20 22 32 38 2e 31 22 29 0a 20 20 20 20 28 63 6f | L."...'((emacs..."28.1").....(co |
| 04a0 | 6d 70 61 74 20 20 22 33 30 2e 31 22 29 0a 20 20 20 20 28 65 6d 61 63 73 71 6c 20 22 34 2e 33 22 | mpat.."30.1").....(emacsql."4.3" |
| 04c0 | 29 29 0a 20 20 3a 75 72 6c 20 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 65 6d | ))...:url."https://github.com/em |
| 04e0 | 61 63 73 63 6f 6c 6c 65 63 74 69 76 65 2f 63 6c 6f 73 71 6c 22 0a 20 20 3a 63 6f 6d 6d 69 74 20 | acscollective/closql"...:commit. |
| 0500 | 22 66 35 64 64 30 32 34 63 34 37 62 37 39 32 64 61 63 34 39 39 64 61 63 39 34 63 39 30 36 61 66 | "f5dd024c47b792dac499dac94c906af |
| 0520 | 36 30 30 34 34 64 32 61 64 22 0a 20 20 3a 72 65 76 64 65 73 63 20 22 66 35 64 64 30 32 34 63 34 | 60044d2ad"...:revdesc."f5dd024c4 |
| 0540 | 37 62 37 22 0a 20 20 3a 6b 65 79 77 6f 72 64 73 20 27 28 22 65 78 74 65 6e 73 69 6f 6e 73 22 29 | 7b7"...:keywords.'("extensions") |
| 0560 | 0a 20 20 3a 61 75 74 68 6f 72 73 20 27 28 28 22 4a 6f 6e 61 73 20 42 65 72 6e 6f 75 6c 6c 69 22 | ...:authors.'(("Jonas.Bernoulli" |
| 0580 | 20 2e 20 22 65 6d 61 63 73 2e 63 6c 6f 73 71 6c 40 6a 6f 6e 61 73 2e 62 65 72 6e 6f 75 6c 6c 69 | ..."emacs.closql@jonas.bernoulli |
| 05a0 | 2e 64 65 76 22 29 29 0a 20 20 3a 6d 61 69 6e 74 61 69 6e 65 72 73 20 27 28 28 22 4a 6f 6e 61 73 | .dev"))...:maintainers.'(("Jonas |
| 05c0 | 20 42 65 72 6e 6f 75 6c 6c 69 22 20 2e 20 22 65 6d 61 63 73 2e 63 6c 6f 73 71 6c 40 6a 6f 6e 61 | .Bernoulli"..."emacs.closql@jona |
| 05e0 | 73 2e 62 65 72 6e 6f 75 6c 6c 69 2e 64 65 76 22 29 29 29 0a 00 00 00 00 00 00 00 00 00 00 00 00 | s.bernoulli.dev")))............. |
| 0600 | 63 6c 6f 73 71 6c 2d 32 30 32 35 30 39 31 33 2e 31 39 32 36 2f 63 6c 6f 73 71 6c 2e 65 6c 00 00 | closql-20250913.1926/closql.el.. |
| 0620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0660 | 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 |
| 0680 | 30 30 36 32 36 37 32 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 31 35 31 00 20 30 00 00 00 | 0062672.00000000000.014151..0... |
| 06a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 06c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 06e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0700 | 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................... |
| 0720 | 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................... |
| 0740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 07a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 07c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 07e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0800 | 3b 3b 3b 20 63 6c 6f 73 71 6c 2e 65 6c 20 2d 2d 2d 20 53 74 6f 72 65 20 45 49 45 49 4f 20 6f 62 | ;;;.closql.el.---.Store.EIEIO.ob |
| 0820 | 6a 65 63 74 73 20 75 73 69 6e 67 20 45 6d 61 63 53 51 4c 20 20 2d 2a 2d 20 6c 65 78 69 63 61 6c | jects.using.EmacSQL..-*-.lexical |
| 0840 | 2d 62 69 6e 64 69 6e 67 3a 74 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 | -binding:t.-*-..;;.Copyright.(C) |
| 0860 | 20 32 30 31 36 2d 32 30 32 35 20 4a 6f 6e 61 73 20 42 65 72 6e 6f 75 6c 6c 69 0a 0a 3b 3b 20 41 | .2016-2025.Jonas.Bernoulli..;;.A |
| 0880 | 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 63 6c | uthor:.Jonas.Bernoulli.<emacs.cl |
| 08a0 | 6f 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 | osql@jonas.bernoulli.dev>.;;.Hom |
| 08c0 | 65 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 65 6d 61 63 73 63 | epage:.https://github.com/emacsc |
| 08e0 | 6f 6c 6c 65 63 74 69 76 65 2f 63 6c 6f 73 71 6c 0a 3b 3b 20 4b 65 79 77 6f 72 64 73 3a 20 65 78 | ollective/closql.;;.Keywords:.ex |
| 0900 | 74 65 6e 73 69 6f 6e 73 0a 0a 3b 3b 20 50 61 63 6b 61 67 65 2d 56 65 72 73 69 6f 6e 3a 20 32 30 | tensions..;;.Package-Version:.20 |
| 0920 | 32 35 30 39 31 33 2e 31 39 32 36 0a 3b 3b 20 50 61 63 6b 61 67 65 2d 52 65 76 69 73 69 6f 6e 3a | 250913.1926.;;.Package-Revision: |
| 0940 | 20 66 35 64 64 30 32 34 63 34 37 62 37 0a 3b 3b 20 50 61 63 6b 61 67 65 2d 52 65 71 75 69 72 65 | .f5dd024c47b7.;;.Package-Require |
| 0960 | 73 3a 20 28 0a 3b 3b 20 20 20 20 20 28 65 6d 61 63 73 20 22 32 38 2e 31 22 29 0a 3b 3b 20 20 20 | s:.(.;;.....(emacs."28.1").;;... |
| 0980 | 20 20 28 63 6f 6d 70 61 74 20 22 33 30 2e 31 22 29 0a 3b 3b 20 20 20 20 20 28 65 6d 61 63 73 71 | ..(compat."30.1").;;.....(emacsq |
| 09a0 | 6c 20 22 34 2e 33 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 | l."4.3"))..;;.SPDX-License-Ident |
| 09c0 | 69 66 69 65 72 3a 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 3b 3b 20 54 68 69 73 | ifier:.GPL-3.0-or-later..;;.This |
| 09e0 | 20 66 69 6c 65 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 63 61 6e 20 | .file.is.free.software:.you.can. |
| 0a00 | 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 3b 3b | redistribute.it.and/or.modify.;; |
| 0a20 | 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 | .it.under.the.terms.of.the.GNU.G |
| 0a40 | 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 | eneral.Public.License.as.publish |
| 0a60 | 65 64 0a 3b 3b 20 62 79 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 | ed.;;.by.the.Free.Software.Found |
| 0a80 | 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 4c | ation,.either.version.3.of.the.L |
| 0aa0 | 69 63 65 6e 73 65 2c 0a 3b 3b 20 6f 72 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 | icense,.;;.or.(at.your.option).a |
| 0ac0 | 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 3b 3b 0a 3b 3b 20 54 68 69 73 20 66 69 6c | ny.later.version..;;.;;.This.fil |
| 0ae0 | 65 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 | e.is.distributed.in.the.hope.tha |
| 0b00 | 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 3b 3b 20 62 75 74 20 57 49 54 48 | t.it.will.be.useful,.;;.but.WITH |
| 0b20 | 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 | OUT.ANY.WARRANTY;.without.even.t |
| 0b40 | 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 3b 3b 20 4d 45 52 43 48 41 | he.implied.warranty.of.;;.MERCHA |
| 0b60 | 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 | NTABILITY.or.FITNESS.FOR.A.PARTI |
| 0b80 | 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 3b 3b 20 47 4e 55 20 47 | CULAR.PURPOSE...See.the.;;.GNU.G |
| 0ba0 | 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 | eneral.Public.License.for.more.d |
| 0bc0 | 65 74 61 69 6c 73 2e 0a 3b 3b 0a 3b 3b 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 | etails..;;.;;.You.should.have.re |
| 0be0 | 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c | ceived.a.copy.of.the.GNU.General |
| 0c00 | 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 3b 3b 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 | .Public.License.;;.along.with.th |
| 0c20 | 69 73 20 66 69 6c 65 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 73 3a 2f 2f 77 | is.file...If.not,.see.<https://w |
| 0c40 | 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 3b 3b 3b 20 43 6f 6d 6d | ww.gnu.org/licenses/>...;;;.Comm |
| 0c60 | 65 6e 74 61 72 79 3a 0a 0a 3b 3b 20 53 74 6f 72 65 20 75 6e 69 66 6f 72 6d 20 45 49 45 49 4f 20 | entary:..;;.Store.uniform.EIEIO. |
| 0c80 | 6f 62 6a 65 63 74 73 20 69 6e 20 61 6e 20 45 6d 61 63 53 51 4c 20 64 61 74 61 62 61 73 65 2e 20 | objects.in.an.EmacSQL.database.. |
| 0ca0 | 20 53 51 4c 69 74 65 20 69 73 20 75 73 65 64 0a 3b 3b 20 61 73 20 62 61 63 6b 65 6e 64 2e 20 20 | .SQLite.is.used.;;.as.backend... |
| 0cc0 | 54 68 69 73 20 6c 69 62 72 61 72 79 20 69 6d 70 6f 73 65 73 20 73 6f 6d 65 20 72 65 73 74 72 69 | This.library.imposes.some.restri |
| 0ce0 | 63 74 69 6f 6e 73 20 6f 6e 20 77 68 61 74 20 6b 69 6e 64 20 6f 66 0a 3b 3b 20 6f 62 6a 65 63 74 | ctions.on.what.kind.of.;;.object |
| 0d00 | 73 20 63 61 6e 20 62 65 20 73 74 6f 72 65 64 3b 20 69 74 20 69 73 6e 27 74 20 69 6e 74 65 6e 64 | s.can.be.stored;.it.isn't.intend |
| 0d20 | 65 64 20 74 6f 20 73 74 6f 72 65 20 61 72 62 69 74 72 61 72 79 20 6f 62 6a 65 63 74 73 2e 0a 3b | ed.to.store.arbitrary.objects..; |
| 0d40 | 3b 20 41 6c 6c 20 6f 62 6a 65 63 74 73 20 68 61 76 65 20 74 6f 20 73 68 61 72 65 20 61 20 63 6f | ;.All.objects.have.to.share.a.co |
| 0d60 | 6d 6d 6f 6e 20 73 75 70 65 72 63 6c 61 73 73 20 61 6e 64 20 73 75 62 63 6c 61 73 73 65 73 20 63 | mmon.superclass.and.subclasses.c |
| 0d80 | 61 6e 6e 6f 74 0a 3b 3b 20 61 64 64 20 61 6e 79 20 61 64 64 69 74 69 6f 6e 61 6c 20 69 6e 73 74 | annot.;;.add.any.additional.inst |
| 0da0 | 61 6e 63 65 20 73 6c 6f 74 73 2e 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28 72 65 71 75 69 72 65 | ance.slots...;;;.Code:..(require |
| 0dc0 | 20 27 63 6f 6d 70 61 74 29 0a 28 72 65 71 75 69 72 65 20 27 65 69 65 69 6f 29 0a 28 72 65 71 75 | .'compat).(require.'eieio).(requ |
| 0de0 | 69 72 65 20 27 65 69 65 69 6f 2d 62 61 73 65 29 0a 28 72 65 71 75 69 72 65 20 27 65 6d 61 63 73 | ire.'eieio-base).(require.'emacs |
| 0e00 | 71 6c 29 0a 28 72 65 71 75 69 72 65 20 27 65 6d 61 63 73 71 6c 2d 73 71 6c 69 74 65 29 0a 0a 28 | ql).(require.'emacsql-sqlite)..( |
| 0e20 | 65 76 61 6c 2d 77 68 65 6e 2d 63 6f 6d 70 69 6c 65 20 28 72 65 71 75 69 72 65 20 27 73 75 62 72 | eval-when-compile.(require.'subr |
| 0e40 | 2d 78 29 29 0a 0a 28 65 76 61 6c 2d 77 68 65 6e 2d 63 6f 6d 70 69 6c 65 0a 20 20 28 63 6c 2d 70 | -x))..(eval-when-compile...(cl-p |
| 0e60 | 75 73 68 6e 65 77 20 27 63 6f 6e 6e 65 63 74 69 6f 6e 20 65 69 65 69 6f 2d 2d 6b 6e 6f 77 6e 2d | ushnew.'connection.eieio--known- |
| 0e80 | 73 6c 6f 74 2d 6e 61 6d 65 73 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 63 6c 6f 73 71 6c 2d 77 | slot-names))..(defmacro.closql-w |
| 0ea0 | 69 74 68 2d 74 72 61 6e 73 61 63 74 69 6f 6e 20 28 64 62 20 26 72 65 73 74 20 62 6f 64 79 29 0a | ith-transaction.(db.&rest.body). |
| 0ec0 | 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 60 28 65 6d 61 63 73 | ..(declare.(indent.1))...`(emacs |
| 0ee0 | 71 6c 2d 77 69 74 68 2d 74 72 61 6e 73 61 63 74 69 6f 6e 20 28 6f 72 65 66 20 2c 64 62 20 63 6f | ql-with-transaction.(oref.,db.co |
| 0f00 | 6e 6e 65 63 74 69 6f 6e 29 0a 20 20 20 20 20 2c 40 62 6f 64 79 29 29 0a 0a 3b 3b 3b 20 4f 62 6a | nnection)......,@body))..;;;.Obj |
| 0f20 | 65 63 74 73 0a 0a 28 64 65 66 63 6c 61 73 73 20 63 6c 6f 73 71 6c 2d 6f 62 6a 65 63 74 20 28 29 | ects..(defclass.closql-object.() |
| 0f40 | 0a 20 20 28 28 63 6c 6f 73 71 6c 2d 63 6c 61 73 73 2d 70 72 65 66 69 78 20 20 3a 69 6e 69 74 66 | ...((closql-class-prefix..:initf |
| 0f60 | 6f 72 6d 20 6e 69 6c 20 3a 61 6c 6c 6f 63 61 74 69 6f 6e 20 3a 63 6c 61 73 73 29 0a 20 20 20 28 | orm.nil.:allocation.:class)....( |
| 0f80 | 63 6c 6f 73 71 6c 2d 63 6c 61 73 73 2d 73 75 66 66 69 78 20 20 3a 69 6e 69 74 66 6f 72 6d 20 6e | closql-class-suffix..:initform.n |
| 0fa0 | 69 6c 20 3a 61 6c 6c 6f 63 61 74 69 6f 6e 20 3a 63 6c 61 73 73 29 0a 20 20 20 28 63 6c 6f 73 71 | il.:allocation.:class)....(closq |
| 0fc0 | 6c 2d 74 61 62 6c 65 20 20 20 20 20 20 20 20 20 3a 69 6e 69 74 66 6f 72 6d 20 6e 69 6c 20 3a 61 | l-table.........:initform.nil.:a |
| 0fe0 | 6c 6c 6f 63 61 74 69 6f 6e 20 3a 63 6c 61 73 73 29 0a 20 20 20 28 63 6c 6f 73 71 6c 2d 70 72 69 | llocation.:class)....(closql-pri |
| 1000 | 6d 61 72 79 2d 6b 65 79 20 20 20 3a 69 6e 69 74 66 6f 72 6d 20 6e 69 6c 20 3a 61 6c 6c 6f 63 61 | mary-key...:initform.nil.:alloca |
| 1020 | 74 69 6f 6e 20 3a 63 6c 61 73 73 29 0a 20 20 20 28 63 6c 6f 73 71 6c 2d 66 6f 72 65 69 67 6e 2d | tion.:class)....(closql-foreign- |
| 1040 | 6b 65 79 20 20 20 3a 69 6e 69 74 66 6f 72 6d 20 6e 69 6c 20 3a 61 6c 6c 6f 63 61 74 69 6f 6e 20 | key...:initform.nil.:allocation. |
| 1060 | 3a 63 6c 61 73 73 29 0a 20 20 20 28 63 6c 6f 73 71 6c 2d 6f 72 64 65 72 2d 62 79 20 20 20 20 20 | :class)....(closql-order-by..... |
| 1080 | 20 3a 69 6e 69 74 66 6f 72 6d 20 6e 69 6c 20 3a 61 6c 6c 6f 63 61 74 69 6f 6e 20 3a 63 6c 61 73 | .:initform.nil.:allocation.:clas |
| 10a0 | 73 29 0a 20 20 20 28 63 6c 6f 73 71 6c 2d 64 61 74 61 62 61 73 65 20 20 20 20 20 20 3a 69 6e 69 | s)....(closql-database......:ini |
| 10c0 | 74 66 6f 72 6d 20 6e 69 6c 20 3a 69 6e 69 74 61 72 67 20 3a 63 6c 6f 73 71 6c 2d 64 61 74 61 62 | tform.nil.:initarg.:closql-datab |
| 10e0 | 61 73 65 29 29 0a 20 20 3a 61 62 73 74 72 61 63 74 20 74 29 0a 0a 28 64 65 66 75 6e 20 63 6c 6f | ase))...:abstract.t)..(defun.clo |
| 1100 | 73 71 6c 2d 2d 63 6c 6f 73 71 6c 2d 6f 62 6a 65 63 74 2d 70 20 28 6f 62 6a 29 0a 20 20 3b 3b 20 | sql--closql-object-p.(obj)...;;. |
| 1120 | 50 72 65 76 65 6e 74 20 61 20 72 65 63 75 72 73 69 76 65 20 6c 6f 61 64 20 77 68 65 6e 20 74 68 | Prevent.a.recursive.load.when.th |
| 1140 | 65 20 63 6c 61 73 73 20 6f 62 6a 65 63 74 20 69 73 20 61 75 74 6f 6c 6f 61 64 65 64 2e 0a 20 20 | e.class.object.is.autoloaded.... |
| 1160 | 3b 3b 20 53 65 65 20 63 31 61 39 62 38 31 36 65 63 2e 20 20 44 6f 6e 27 74 20 23 27 71 75 6f 74 | ;;.See.c1a9b816ec...Don't.#'quot |
| 1180 | 65 3b 20 64 6f 65 73 6e 27 74 20 65 78 69 73 74 20 69 6e 20 6f 6c 64 65 72 20 72 65 6c 65 61 73 | e;.doesn't.exist.in.older.releas |
| 11a0 | 65 73 2e 0a 20 20 28 63 6c 2d 6c 65 74 66 20 28 28 28 73 79 6d 62 6f 6c 2d 66 75 6e 63 74 69 6f | es....(cl-letf.(((symbol-functio |
| 11c0 | 6e 20 27 65 69 65 69 6f 2d 2d 66 75 6c 6c 2d 63 6c 61 73 73 2d 6f 62 6a 65 63 74 29 0a 20 20 20 | n.'eieio--full-class-object).... |
| 11e0 | 20 20 20 20 20 20 20 20 20 20 23 27 65 69 65 69 6f 2d 2d 63 6c 61 73 73 2d 6f 62 6a 65 63 74 29 | ..........#'eieio--class-object) |
| 1200 | 29 0a 20 20 20 20 28 63 6c 6f 73 71 6c 2d 6f 62 6a 65 63 74 2d 2d 65 69 65 69 6f 2d 63 68 69 6c | ).....(closql-object--eieio-chil |
| 1220 | 64 70 20 6f 62 6a 29 29 29 0a 0a 3b 3b 3b 3b 20 4f 72 65 66 0a 0a 28 64 65 66 69 6e 65 2d 61 64 | dp.obj)))..;;;;.Oref..(define-ad |
| 1240 | 76 69 63 65 20 65 69 65 69 6f 2d 6f 72 65 66 20 28 3a 61 72 6f 75 6e 64 20 28 66 6e 20 6f 62 6a | vice.eieio-oref.(:around.(fn.obj |
| 1260 | 20 73 6c 6f 74 29 20 63 6c 6f 73 71 6c 2d 6f 62 6a 65 63 74 29 0a 20 20 22 49 66 20 4f 42 4a 20 | .slot).closql-object)..."If.OBJ. |
| 1280 | 69 73 20 61 20 60 63 6c 6f 73 71 6c 2d 6f 62 6a 65 63 74 27 2c 20 64 65 6c 65 67 61 74 65 20 74 | is.a.`closql-object',.delegate.t |
| 12a0 | 6f 20 60 63 6c 6f 73 71 6c 2d 6f 72 65 66 27 2e 22 0a 20 20 28 69 66 20 28 63 6c 6f 73 71 6c 2d | o.`closql-oref'."...(if.(closql- |
| 12c0 | 2d 63 6c 6f 73 71 6c 2d 6f 62 6a 65 63 74 2d 70 20 6f 62 6a 29 0a 20 20 20 20 20 20 28 63 6c 6f | -closql-object-p.obj).......(clo |
| 12e0 | 73 71 6c 2d 6f 72 65 66 20 6f 62 6a 20 73 6c 6f 74 29 0a 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 | sql-oref.obj.slot).....(funcall. |
| 1300 | 66 6e 20 6f 62 6a 20 73 6c 6f 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 6c 6f 73 71 6c 2d 2d 6f | fn.obj.slot)))..(defun.closql--o |
| 1320 | 72 65 66 20 28 6f 62 6a 20 73 6c 6f 74 29 0a 20 20 28 61 72 65 66 20 6f 62 6a 20 28 65 69 65 69 | ref.(obj.slot)...(aref.obj.(eiei |
| 1340 | 6f 2d 2d 73 6c 6f 74 2d 6e 61 6d 65 2d 69 6e 64 65 78 20 28 65 69 65 69 6f 2d 2d 6f 62 6a 65 63 | o--slot-name-index.(eieio--objec |
| 1360 | 74 2d 63 6c 61 73 73 20 6f 62 6a 29 20 73 6c 6f 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 6c 6f | t-class.obj).slot)))..(defun.clo |
| 1380 | 73 71 6c 2d 2d 6f 72 65 66 2d 64 65 66 61 75 6c 74 20 28 63 6c 61 73 73 20 73 6c 6f 74 29 0a 20 | sql--oref-default.(class.slot).. |
| 13a0 | 20 28 6c 65 74 20 28 28 63 6c 61 73 73 20 28 69 66 20 28 73 79 6d 62 6f 6c 70 20 63 6c 61 73 73 | .(let.((class.(if.(symbolp.class |
| 13c0 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 2d 66 69 6e 64 2d 63 | )....................(cl--find-c |
| 13e0 | 6c 61 73 73 20 63 6c 61 73 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 69 | lass.class)..................(ei |
| 1400 | 65 69 6f 2d 2d 6f 62 6a 65 63 74 2d 63 6c 61 73 73 20 63 6c 61 73 73 29 29 29 29 0a 20 20 20 20 | eio--object-class.class))))..... |
| 1420 | 28 61 72 65 66 20 28 65 69 65 69 6f 2d 2d 63 6c 61 73 73 2d 63 6c 61 73 73 2d 61 6c 6c 6f 63 61 | (aref.(eieio--class-class-alloca |
| 1440 | 74 69 6f 6e 2d 76 61 6c 75 65 73 20 63 6c 61 73 73 29 0a 20 20 20 20 20 20 20 20 20 20 28 65 69 | tion-values.class)...........(ei |
| 1460 | 65 69 6f 2d 2d 63 6c 61 73 73 2d 73 6c 6f 74 2d 6e 61 6d 65 2d 69 6e 64 65 78 20 63 6c 61 73 73 | eio--class-slot-name-index.class |
| 1480 | 20 73 6c 6f 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 6c 6f 73 71 6c 2d 6f 72 65 66 20 28 6f | .slot))))..(defun.closql-oref.(o |
| 14a0 | 62 6a 20 73 6c 6f 74 29 0a 20 20 28 63 6c 2d 63 68 65 63 6b 2d 74 79 70 65 20 73 6c 6f 74 20 73 | bj.slot)...(cl-check-type.slot.s |
| 14c0 | 79 6d 62 6f 6c 29 0a 20 20 28 6c 65 74 20 28 28 63 6c 61 73 73 20 28 65 69 65 69 6f 2d 2d 6f 62 | ymbol)...(let.((class.(eieio--ob |
| 14e0 | 6a 65 63 74 2d 63 6c 61 73 73 20 6f 62 6a 29 29 29 0a 20 20 20 20 28 69 66 2d 6c 65 74 20 28 28 | ject-class.obj))).....(if-let.(( |
| 1500 | 63 20 28 65 69 65 69 6f 2d 2d 73 6c 6f 74 2d 6e 61 6d 65 2d 69 6e 64 65 78 20 63 6c 61 73 73 20 | c.(eieio--slot-name-index.class. |
| 1520 | 73 6c 6f 74 29 29 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 76 61 6c 75 65 20 28 61 72 | slot))).........(let.((value.(ar |
| 1540 | 65 66 20 6f 62 6a 20 63 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 65 71 20 76 61 | ef.obj.c)))...........(if.(eq.va |
| 1560 | 6c 75 65 20 65 69 65 69 6f 2d 2d 75 6e 62 6f 75 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | lue.eieio--unbound)............. |
| 1580 | 20 20 28 63 6c 6f 73 71 6c 2d 64 72 65 66 20 6f 62 6a 20 73 6c 6f 74 29 0a 20 20 20 20 20 20 20 | ..(closql-dref.obj.slot)........ |
| 15a0 | 20 20 20 20 20 76 61 6c 75 65 29 29 0a 20 20 20 20 20 20 28 69 66 2d 6c 65 74 20 28 28 63 20 28 | .....value)).......(if-let.((c.( |
| 15c0 | 65 69 65 69 6f 2d 2d 63 6c 61 73 73 2d 73 6c 6f 74 2d 6e 61 6d 65 2d 69 6e 64 65 78 20 63 6c 61 | eieio--class-slot-name-index.cla |
| 15e0 | 73 73 20 73 6c 6f 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 61 72 65 66 20 28 65 69 65 69 | ss.slot)))...........(aref.(eiei |
| 1600 | 6f 2d 2d 63 6c 61 73 73 2d 63 6c 61 73 73 2d 61 6c 6c 6f 63 61 74 69 6f 6e 2d 76 61 6c 75 65 73 | o--class-class-allocation-values |
| 1620 | 20 63 6c 61 73 73 29 20 63 29 0a 20 20 20 20 20 20 20 20 28 73 6c 6f 74 2d 6d 69 73 73 69 6e 67 | .class).c).........(slot-missing |
| 1640 | 20 6f 62 6a 20 73 6c 6f 74 20 27 6f 72 65 66 29 29 29 29 29 0a 0a 28 63 6c 2d 64 65 66 67 65 6e | .obj.slot.'oref)))))..(cl-defgen |
| 1660 | 65 72 69 63 20 63 6c 6f 73 71 6c 2d 64 72 65 66 20 28 6f 62 6a 20 73 6c 6f 74 29 0a 20 20 28 6c | eric.closql-dref.(obj.slot)...(l |
| 1680 | 65 74 20 28 28 63 20 28 65 69 65 69 6f 2d 2d 73 6c 6f 74 2d 6e 61 6d 65 2d 69 6e 64 65 78 20 28 | et.((c.(eieio--slot-name-index.( |
| 16a0 | 65 69 65 69 6f 2d 2d 6f 62 6a 65 63 74 2d 63 6c 61 73 73 20 6f 62 6a 29 20 73 6c 6f 74 29 29 0a | eieio--object-class.obj).slot)). |
| 16c0 | 20 20 20 20 20 20 20 20 28 64 62 20 28 63 6c 6f 73 71 6c 2d 2d 6f 72 65 66 20 6f 62 6a 20 27 63 | ........(db.(closql--oref.obj.'c |
| 16e0 | 6c 6f 73 71 6c 2d 64 61 74 61 62 61 73 65 29 29 0a 20 20 20 20 20 20 20 20 28 70 72 6f 70 73 20 | losql-database)).........(props. |
| 1700 | 28 63 6c 6f 73 71 6c 2d 2d 73 6c 6f 74 2d 70 72 6f 70 65 72 74 69 65 73 20 6f 62 6a 20 73 6c 6f | (closql--slot-properties.obj.slo |
| 1720 | 74 29 29 0a 20 20 20 20 20 20 20 20 63 6c 61 73 73 20 74 61 62 6c 65 20 74 61 62 6c 65 73 29 0a | t)).........class.table.tables). |
| 1740 | 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 28 28 73 65 74 71 20 63 6c 61 73 73 20 28 61 6c 69 | ....(cond......((setq.class.(ali |
| 1760 | 73 74 2d 67 65 74 20 3a 63 6c 6f 73 71 6c 2d 63 6c 61 73 73 20 70 72 6f 70 73 29 29 0a 20 20 20 | st-get.:closql-class.props)).... |
| 1780 | 20 20 20 28 61 73 65 74 20 6f 62 6a 20 63 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 6f 73 | ...(aset.obj.c.............(clos |
| 17a0 | 71 6c 2d 2d 72 65 6d 61 6b 65 2d 69 6e 73 74 61 6e 63 65 73 20 63 6c 61 73 73 20 64 62 0a 20 20 | ql--remake-instances.class.db... |
| 17c0 | 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6d 61 63 73 71 6c 0a 20 20 20 20 20 20 20 20 20 20 20 | ............(emacsql............ |
| 17e0 | 20 20 20 20 64 62 20 60 5b 3a 73 65 6c 65 63 74 20 2a 20 3a 66 72 6f 6d 20 24 69 31 0a 20 20 20 | ....db.`[:select.*.:from.$i1.... |
| 1800 | 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 3d 20 24 69 32 20 24 | .................:where.(=.$i2.$ |
| 1820 | 73 33 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6f 72 64 65 72 2d 62 | s3).....................:order-b |
| 1840 | 79 20 2c 28 6f 72 20 28 63 6c 6f 73 71 6c 2d 2d 6f 72 65 66 2d 64 65 66 61 75 6c 74 20 63 6c 61 | y.,(or.(closql--oref-default.cla |
| 1860 | 73 73 20 27 63 6c 6f 73 71 6c 2d 6f 72 64 65 72 2d 62 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 | ss.'closql-order-by)............ |
| 1880 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 28 61 73 63 20 24 69 | ........................[(asc.$i |
| 18a0 | 34 29 5d 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 6f 73 71 6c 2d 2d 6f 72 | 4)])]................(closql--or |
| 18c0 | 65 66 2d 64 65 66 61 75 6c 74 20 63 6c 61 73 73 20 27 63 6c 6f 73 71 6c 2d 74 61 62 6c 65 29 0a | ef-default.class.'closql-table). |
| 18e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 6f 73 71 6c 2d 2d 6f 72 65 66 2d 64 65 66 | ...............(closql--oref-def |
| 1900 | 61 75 6c 74 20 63 6c 61 73 73 20 27 63 6c 6f 73 71 6c 2d 66 6f 72 65 69 67 6e 2d 6b 65 79 29 0a | ault.class.'closql-foreign-key). |
| 1920 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 6f 73 71 6c 2d 2d 6f 72 65 66 20 6f 62 6a | ...............(closql--oref.obj |
| 1940 | 20 28 63 6c 6f 73 71 6c 2d 2d 6f 72 65 66 2d 64 65 66 61 75 6c 74 20 6f 62 6a 20 27 63 6c 6f 73 | .(closql--oref-default.obj.'clos |
| 1960 | 71 6c 2d 70 72 69 6d 61 72 79 2d 6b 65 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ql-primary-key))................ |
| 1980 | 28 63 6c 6f 73 71 6c 2d 2d 6f 72 65 66 2d 64 65 66 61 75 6c 74 20 63 6c 61 73 73 20 27 63 6c 6f | (closql--oref-default.class.'clo |
| 19a0 | 73 71 6c 2d 70 72 69 6d 61 72 79 2d 6b 65 79 29 29 29 29 29 0a 20 20 20 20 20 28 28 73 65 74 71 | sql-primary-key)))))......((setq |
| 19c0 | 20 74 61 62 6c 65 20 28 61 6c 69 73 74 2d 67 65 74 20 3a 63 6c 6f 73 71 6c 2d 74 61 62 6c 65 20 | .table.(alist-get.:closql-table. |
| 19e0 | 70 72 6f 70 73 29 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 63 6f 6c 75 6d 6e 73 20 28 63 6c | props)).......(let.((columns.(cl |
| 1a00 | 6f 73 71 6c 2d 2d 74 61 62 6c 65 2d 63 6f 6c 75 6d 6e 73 20 64 62 20 74 61 62 6c 65 29 29 29 0a | osql--table-columns.db.table))). |
| 1a20 | 20 20 20 20 20 20 20 20 28 61 73 65 74 20 6f 62 6a 20 63 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ........(aset.obj.c............. |
| 1a40 | 20 20 28 6d 61 70 63 61 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 6c 65 | ..(mapcar................(if.(le |
| 1a60 | 6e 67 74 68 3d 20 63 6f 6c 75 6d 6e 73 20 32 29 20 23 27 63 61 64 72 20 23 27 63 64 72 29 0a 20 | ngth=.columns.2).#'cadr.#'cdr).. |
| 1a80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6d 61 63 73 71 6c 0a 20 20 20 20 20 20 20 20 20 | ..............(emacsql.......... |
| 1aa0 | 20 20 20 20 20 20 20 64 62 20 5b 3a 73 65 6c 65 63 74 20 2a 20 3a 66 72 6f 6d 20 24 69 31 0a 20 | .......db.[:select.*.:from.$i1.. |
| 1ac0 | 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 3d 20 24 69 32 | ...................:where.(=.$i2 |
| 1ae0 | 20 24 73 33 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6f 72 64 65 72 | .$s3).....................:order |
| 1b00 | 2d 62 79 20 5b 28 61 73 63 20 24 69 34 29 5d 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | -by.[(asc.$i4)]]................ |
| 1b20 | 20 74 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 72 20 63 6f 6c 75 | .table.................(car.colu |
| 1b40 | 6d 6e 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 6f 73 71 6c 2d 2d 6f 72 | mns).................(closql--or |
| 1b60 | 65 66 20 6f 62 6a 20 28 63 6c 6f 73 71 6c 2d 2d 6f 72 65 66 2d 64 65 66 61 75 6c 74 20 6f 62 6a | ef.obj.(closql--oref-default.obj |
| 1b80 | 20 27 63 6c 6f 73 71 6c 2d 70 72 69 6d 61 72 79 2d 6b 65 79 29 29 0a 20 20 20 20 20 20 20 20 20 | .'closql-primary-key)).......... |
| 1ba0 | 20 20 20 20 20 20 20 28 63 61 64 72 20 63 6f 6c 75 6d 6e 73 29 29 29 29 29 29 0a 20 20 20 20 20 | .......(cadr.columns))))))...... |
| 1bc0 | 28 28 73 65 74 71 20 74 61 62 6c 65 73 20 28 61 6c 69 73 74 2d 67 65 74 20 3a 63 6c 6f 73 71 6c | ((setq.tables.(alist-get.:closql |
| 1be0 | 2d 74 61 62 6c 65 73 20 70 72 6f 70 73 29 29 0a 20 20 20 20 20 20 28 70 63 61 73 65 2d 6c 65 74 | -tables.props)).......(pcase-let |
| 1c00 | 20 28 28 60 28 2c 73 6c 6f 74 2d 74 61 62 6c 65 20 2c 64 61 74 61 2d 74 61 62 6c 65 29 20 74 61 | .((`(,slot-table.,data-table).ta |
| 1c20 | 62 6c 65 73 29 29 0a 20 20 20 20 20 20 20 20 28 61 73 65 74 20 6f 62 6a 20 63 0a 20 20 20 20 20 | bles)).........(aset.obj.c...... |
| 1c40 | 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 61 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .........(mapcar................ |
| 1c60 | 23 27 63 64 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6d 61 63 73 71 6c 0a 20 20 | #'cdr................(emacsql... |
| 1c80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 62 20 5b 3a 73 65 6c 65 63 74 20 24 69 31 20 3a 66 | ..............db.[:select.$i1.:f |
| 1ca0 | 72 6f 6d 20 24 69 32 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6a 6f 69 | rom.$i2.....................:joi |
| 1cc0 | 6e 20 24 69 33 20 3a 6f 6e 20 28 3d 20 24 69 34 20 24 69 35 29 0a 20 20 20 20 20 20 20 20 20 20 | n.$i3.:on.(=.$i4.$i5)........... |
| 1ce0 | 20 20 20 20 20 20 20 20 20 20 3a 77 68 65 72 65 20 28 3d 20 24 69 36 20 24 73 37 29 0a 20 20 20 | ..........:where.(=.$i6.$s7).... |
| 1d00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6f 72 64 65 72 2d 62 79 20 5b 28 61 73 63 | .................:order-by.[(asc |
| 1d20 | 20 69 64 29 5d 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 74 65 72 6e 20 28 | .id)]].................(intern.( |
| 1d40 | 66 6f 72 6d 61 74 20 22 25 73 3a 2a 22 20 64 61 74 61 2d 74 61 62 6c 65 29 29 0a 20 20 20 20 20 | format."%s:*".data-table))...... |
| 1d60 | 20 20 20 20 20 20 20 20 20 20 20 64 61 74 61 2d 74 61 62 6c 65 20 73 6c 6f 74 2d 74 61 62 6c 65 | ...........data-table.slot-table |
| 1d80 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 74 65 72 6e 20 28 66 6f 72 6d 61 74 | .................(intern.(format |
| 1da0 | 20 22 25 73 3a 69 64 22 20 73 6c 6f 74 2d 74 61 62 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 | ."%s:id".slot-table))........... |
| 1dc0 | 20 20 20 20 20 20 28 69 6e 74 65 72 6e 20 28 66 6f 72 6d 61 74 20 22 25 73 3a 69 64 22 20 64 61 | ......(intern.(format."%s:id".da |
| 1de0 | 74 61 2d 74 61 62 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 74 65 | ta-table)).................(inte |
| 1e00 | 72 6e 20 28 66 6f 72 6d 61 74 20 22 25 73 3a 25 73 22 20 73 6c 6f 74 2d 74 61 62 6c 65 0a 20 20 | rn.(format."%s:%s".slot-table... |
| 1e20 | 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 63 | ..............................(c |
| 1e40 | 6c 6f 73 71 6c 2d 2d 6f 72 65 66 2d 64 65 66 61 75 6c 74 20 6f 62 6a 20 27 63 6c 6f 73 71 6c 2d | losql--oref-default.obj.'closql- |
| 1e60 | 74 61 62 6c 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 6f 73 71 6c | table))).................(closql |
| 1e80 | 2d 2d 6f 72 65 66 20 6f 62 6a 20 28 63 6c 6f 73 71 6c 2d 2d 6f 72 65 66 2d 64 65 66 61 75 6c 74 | --oref.obj.(closql--oref-default |
| 1ea0 | 20 6f 62 6a 20 27 63 6c 6f 73 71 6c 2d 70 72 69 6d 61 72 79 2d 6b 65 79 29 29 0a 20 20 20 20 20 | .obj.'closql-primary-key))...... |
| 1ec0 | 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 6f 73 71 6c 2d 2d 6f 72 65 66 20 6f 62 6a 20 27 69 64 | ...........(closql--oref.obj.'id |
| 1ee0 | 29 29 29 29 29 29 0a 20 20 20 20 20 28 28 73 6c 6f 74 2d 75 6e 62 6f 75 6e 64 20 6f 62 6a 20 28 | ))))))......((slot-unbound.obj.( |
| 1f00 | 65 69 65 69 6f 2d 2d 6f 62 6a 65 63 74 2d 63 6c 61 73 73 20 6f 62 6a 29 20 73 6c 6f 74 20 27 6f | eieio--object-class.obj).slot.'o |
| 1f20 | 72 65 66 29 29 29 29 29 0a 0a 3b 3b 3b 3b 20 4f 73 65 74 0a 0a 28 64 65 66 69 6e 65 2d 61 64 76 | ref)))))..;;;;.Oset..(define-adv |
| 1f40 | 69 63 65 20 65 69 65 69 6f 2d 6f 73 65 74 20 28 3a 61 72 6f 75 6e 64 20 28 66 6e 20 6f 62 6a 20 | ice.eieio-oset.(:around.(fn.obj. |
| 1f60 | 73 6c 6f 74 20 76 61 6c 75 65 29 20 63 6c 6f 73 71 6c 2d 6f 62 6a 65 63 74 29 0a 20 20 22 49 66 | slot.value).closql-object)..."If |
| 1f80 | 20 4f 42 4a 20 69 73 20 61 20 60 63 6c 6f 73 71 6c 2d 6f 62 6a 65 63 74 27 2c 20 64 65 6c 65 67 | .OBJ.is.a.`closql-object',.deleg |
| 1fa0 | 61 74 65 20 74 6f 20 60 63 6c 6f 73 71 6c 2d 6f 73 65 74 27 2e 22 0a 20 20 28 69 66 20 28 63 6c | ate.to.`closql-oset'."...(if.(cl |
| 1fc0 | 6f 73 71 6c 2d 2d 63 6c 6f 73 71 6c 2d 6f 62 6a 65 63 74 2d 70 20 6f 62 6a 29 0a 20 20 20 20 20 | osql--closql-object-p.obj)...... |
| 1fe0 | 20 28 63 6c 6f 73 71 6c 2d 6f 73 65 74 20 6f 62 6a 20 73 6c 6f 74 20 76 61 6c 75 65 29 0a 20 20 | .(closql-oset.obj.slot.value)... |
| 2000 | 20 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 6f 62 6a 20 73 6c 6f 74 20 76 61 6c 75 65 29 29 29 0a | ..(funcall.fn.obj.slot.value))). |
| 2020 | 0a 28 64 65 66 75 6e 20 63 6c 6f 73 71 6c 2d 2d 6f 73 65 74 20 28 6f 62 6a 20 73 6c 6f 74 20 76 | .(defun.closql--oset.(obj.slot.v |
| 2040 | 61 6c 75 65 29 0a 20 20 28 61 73 65 74 20 6f 62 6a 20 28 65 69 65 69 6f 2d 2d 73 6c 6f 74 2d 6e | alue)...(aset.obj.(eieio--slot-n |
| 2060 | 61 6d 65 2d 69 6e 64 65 78 20 28 65 69 65 69 6f 2d 2d 6f 62 6a 65 63 74 2d 63 6c 61 73 73 20 6f | ame-index.(eieio--object-class.o |
| 2080 | 62 6a 29 20 73 6c 6f 74 29 20 76 61 6c 75 65 29 29 0a 0a 28 64 65 66 75 6e 20 63 6c 6f 73 71 6c | bj).slot).value))..(defun.closql |
| 20a0 | 2d 6f 73 65 74 20 28 6f 62 6a 20 73 6c 6f 74 20 76 61 6c 75 65 29 0a 20 20 28 63 6c 2d 63 68 65 | -oset.(obj.slot.value)...(cl-che |
| 20c0 | 63 6b 2d 74 79 70 65 20 73 6c 6f 74 20 73 79 6d 62 6f 6c 29 0a 20 20 28 6c 65 74 20 28 28 63 6c | ck-type.slot.symbol)...(let.((cl |
| 20e0 | 61 73 73 20 28 65 69 65 69 6f 2d 2d 6f 62 6a 65 63 74 2d 63 6c 61 73 73 20 6f 62 6a 29 29 29 0a | ass.(eieio--object-class.obj))). |
| 2100 | 20 20 20 20 28 69 66 2d 6c 65 74 20 28 28 63 20 28 65 69 65 69 6f 2d 2d 73 6c 6f 74 2d 6e 61 6d | ....(if-let.((c.(eieio--slot-nam |
| 2120 | 65 2d 69 6e 64 65 78 20 63 6c 61 73 73 20 73 6c 6f 74 29 29 29 0a 20 20 20 20 20 20 20 20 28 70 | e-index.class.slot))).........(p |
| 2140 | 72 6f 67 6e 20 28 65 69 65 69 6f 2d 2d 76 61 6c 69 64 61 74 65 2d 73 6c 6f 74 2d 76 61 6c 75 65 | rogn.(eieio--validate-slot-value |
| 2160 | 20 63 6c 61 73 73 20 63 20 76 61 6c 75 65 20 73 6c 6f 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 | .class.c.value.slot)............ |
| 2180 | 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 28 6e 6f 74 20 28 65 71 20 73 6c 6f 74 20 27 63 6c | ....(when.(and.(not.(eq.slot.'cl |
| 21a0 | 6f 73 71 6c 2d 64 61 74 61 62 61 73 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | osql-database))................. |
| 21c0 | 20 20 20 20 20 20 20 20 20 20 28 63 6c 6f 73 71 6c 2d 2d 6f 72 65 66 20 6f 62 6a 20 27 63 6c 6f | ..........(closql--oref.obj.'clo |
| 21e0 | 73 71 6c 2d 64 61 74 61 62 61 73 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | sql-database)).................. |
| 2200 | 28 63 6c 6f 73 71 6c 2d 64 73 65 74 20 6f 62 6a 20 73 6c 6f 74 20 76 61 6c 75 65 29 29 0a 20 20 | (closql-dset.obj.slot.value))... |
| 2220 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 73 65 74 20 6f 62 6a 20 63 20 76 61 6c 75 65 29 29 | .............(aset.obj.c.value)) |
| 2240 | 0a 20 20 20 20 20 20 28 69 66 2d 6c 65 74 20 28 28 63 20 28 65 69 65 69 6f 2d 2d 63 6c 61 73 73 | .......(if-let.((c.(eieio--class |
| 2260 | 2d 73 6c 6f 74 2d 6e 61 6d 65 2d 69 6e 64 65 78 20 63 6c 61 73 73 20 73 6c 6f 74 29 29 29 0a 20 | -slot-name-index.class.slot))).. |
| 2280 | 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 20 28 65 69 65 69 6f 2d 2d 76 61 6c 69 64 61 74 65 | .........(progn.(eieio--validate |
| 22a0 | 2d 63 6c 61 73 73 2d 73 6c 6f 74 2d 76 61 6c 75 65 20 63 6c 61 73 73 20 63 20 76 61 6c 75 65 20 | -class-slot-value.class.c.value. |
| 22c0 | 73 6c 6f 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 73 65 74 20 28 65 69 | slot)..................(aset.(ei |
| 22e0 | 65 69 6f 2d 2d 63 6c 61 73 73 2d 63 6c 61 73 73 2d 61 6c 6c 6f 63 61 74 69 6f 6e 2d 76 61 6c 75 | eio--class-class-allocation-valu |
| 2300 | 65 73 20 63 6c 61 73 73 29 20 63 20 76 61 6c 75 65 29 29 0a 20 20 20 20 20 20 20 20 28 73 6c 6f | es.class).c.value)).........(slo |
| 2320 | 74 2d 6d 69 73 73 69 6e 67 20 6f 62 6a 20 73 6c 6f 74 20 27 6f 73 65 74 20 76 61 6c 75 65 29 29 | t-missing.obj.slot.'oset.value)) |
| 2340 | 29 29 29 0a 0a 28 63 6c 2d 64 65 66 67 65 6e 65 72 69 63 20 63 6c 6f 73 71 6c 2d 64 73 65 74 20 | )))..(cl-defgeneric.closql-dset. |
| 2360 | 28 6f 62 6a 20 73 6c 6f 74 20 76 61 6c 75 65 20 26 6f 70 74 69 6f 6e 61 6c 20 64 72 6f 70 2d 75 | (obj.slot.value.&optional.drop-u |
| 2380 | 6e 6b 6e 6f 77 6e 29 0a 20 20 28 6c 65 74 2a 20 28 28 64 62 20 20 20 20 28 63 6c 6f 73 71 6c 2d | nknown)...(let*.((db....(closql- |
| 23a0 | 2d 6f 72 65 66 20 6f 62 6a 20 27 63 6c 6f 73 71 6c 2d 64 61 74 61 62 61 73 65 29 29 0a 20 20 20 | -oref.obj.'closql-database)).... |
| 23c0 | 20 20 20 20 20 20 28 6b 65 79 20 20 20 28 6f 72 65 66 2d 64 65 66 61 75 6c 74 20 6f 62 6a 20 63 | ......(key...(oref-default.obj.c |
| 23e0 | 6c 6f 73 71 6c 2d 70 72 69 6d 61 72 79 2d 6b 65 79 29 29 0a 20 20 20 20 20 20 20 20 20 28 69 64 | losql-primary-key))..........(id |
| 2400 | 20 20 20 20 28 63 6c 6f 73 71 6c 2d 2d 6f 72 65 66 20 6f 62 6a 20 6b 65 79 29 29 0a 20 20 20 20 | ....(closql--oref.obj.key))..... |
| 2420 | 20 20 20 20 20 28 70 72 6f 70 73 20 28 63 6c 6f 73 71 6c 2d 2d 73 6c 6f 74 2d 70 72 6f 70 65 72 | .....(props.(closql--slot-proper |
| 2440 | 74 69 65 73 20 6f 62 6a 20 73 6c 6f 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 74 61 62 6c 65 20 | ties.obj.slot))..........(table. |
| 2460 | 28 61 6c 69 73 74 2d 67 65 74 20 3a 63 6c 6f 73 71 6c 2d 74 61 62 6c 65 20 70 72 6f 70 73 29 29 | (alist-get.:closql-table.props)) |
| 2480 | 0a 20 20 20 20 20 20 20 20 20 28 74 61 62 6c 65 73 20 28 61 6c 69 73 74 2d 67 65 74 20 3a 63 6c | ..........(tables.(alist-get.:cl |
| 24a0 | 6f 73 71 6c 2d 74 61 62 6c 65 73 20 70 72 6f 70 73 29 29 29 0a 20 20 20 20 28 63 6f 6e 64 0a 20 | osql-tables.props))).....(cond.. |
| 24c0 | 20 20 20 20 28 28 61 6c 69 73 74 2d 67 65 74 20 3a 63 6c 6f 73 71 6c 2d 63 6c 61 73 73 20 70 72 | ....((alist-get.:closql-class.pr |
| 24e0 | 6f 70 73 29 0a 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 4e 6f 74 20 69 6d 70 6c 65 6d 65 6e 74 | ops).......(error."Not.implement |
| 2500 | 65 64 20 66 6f 72 20 63 6c 6f 73 71 6c 2d 63 6c 61 73 73 20 73 6c 6f 74 73 3a 20 6f 73 65 74 22 | ed.for.closql-class.slots:.oset" |
| 2520 | 29 29 0a 20 20 20 20 20 28 28 6f 72 20 74 61 62 6c 65 20 28 73 65 74 71 20 74 61 62 6c 65 20 28 | ))......((or.table.(setq.table.( |
| 2540 | 63 61 72 20 74 61 62 6c 65 73 29 29 29 0a 20 20 20 20 20 20 28 63 6c 6f 73 71 6c 2d 77 69 74 68 | car.tables))).......(closql-with |
| 2560 | 2d 74 72 61 6e 73 61 63 74 69 6f 6e 20 64 62 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 63 | -transaction.db.........(let.((c |
| 2580 | 6f 6c 75 6d 6e 73 20 28 63 6c 6f 73 71 6c 2d 2d 74 61 62 6c 65 2d 63 6f 6c 75 6d 6e 73 20 64 62 | olumns.(closql--table-columns.db |
| 25a0 | 20 74 61 62 6c 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 43 61 6c 6c 65 72 20 6d 69 | .table)))...........;;.Caller.mi |
| 25c0 | 67 68 74 20 68 61 76 65 20 6d 6f 64 69 66 69 65 64 20 76 61 6c 75 65 20 69 6e 20 70 6c 61 63 65 | ght.have.modified.value.in.place |
| 25e0 | 2e 0a 20 20 20 20 20 20 20 20 20 20 28 63 6c 6f 73 71 6c 2d 2d 6f 73 65 74 20 6f 62 6a 20 73 6c | ............(closql--oset.obj.sl |
| 2600 | 6f 74 20 65 69 65 69 6f 2d 2d 75 6e 62 6f 75 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 | ot.eieio--unbound)...........(le |
| 2620 | 74 20 28 28 6c 69 73 74 31 20 28 63 6c 6f 73 71 6c 2d 6f 72 65 66 20 6f 62 6a 20 73 6c 6f 74 29 | t.((list1.(closql-oref.obj.slot) |
| 2640 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 32 20 76 61 6c 75 65 29 0a | ).................(list2.value). |
| 2660 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 74 31 20 65 6c 74 32 29 0a 20 20 20 20 20 | ................elt1.elt2)...... |
| 2680 | 20 20 20 20 20 20 20 28 63 6f 6e 64 20 28 74 61 62 6c 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 | .......(cond.(tables............ |
| 26a0 | 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6c 69 73 74 31 20 28 6d 61 70 63 61 72 20 28 6c 61 6d | ........(setq.list1.(mapcar.(lam |
| 26c0 | 62 64 61 20 28 65 29 20 28 6c 69 73 74 20 28 63 61 72 20 65 29 29 29 20 6c 69 73 74 31 29 29 0a | bda.(e).(list.(car.e))).list1)). |
| 26e0 | 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 6c 69 73 74 32 20 28 | ...................(setq.list2.( |
| 2700 | 6d 61 70 63 61 72 20 28 69 66 20 28 61 74 6f 6d 20 28 63 61 72 20 6c 69 73 74 32 29 29 0a 20 20 | mapcar.(if.(atom.(car.list2))... |
| 2720 | 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 | ................................ |
| 2740 | 20 20 20 20 20 20 20 20 20 23 27 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .........#'list................. |
| 2760 | 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 61 6d 62 64 61 | .........................(lambda |
| 2780 | 20 28 65 29 20 28 6c 69 73 74 20 28 63 61 72 20 65 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 | .(e).(list.(car.e))))........... |
| 27a0 | 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 6c 69 73 | .............................lis |
| 27c0 | 74 32 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 6c 65 6e 67 74 68 | t2)))...................((length |
| 27e0 | 3d 20 63 6f 6c 75 6d 6e 73 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | =.columns.2).................... |
| 2800 | 28 73 65 74 71 20 6c 69 73 74 31 20 28 6d 61 70 63 61 72 20 23 27 6c 69 73 74 20 6c 69 73 74 31 | (setq.list1.(mapcar.#'list.list1 |
| 2820 | 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 6c 69 73 74 | ))....................(setq.list |
| 2840 | 32 20 28 6d 61 70 63 61 72 20 23 27 6c 69 73 74 20 6c 69 73 74 32 29 29 29 29 0a 20 20 20 20 20 | 2.(mapcar.#'list.list2))))...... |
| 2860 | 20 20 20 20 20 20 20 3b 3b 20 60 6c 69 73 74 32 27 20 6d 61 79 20 6e 6f 74 20 62 65 20 73 6f 72 | .......;;.`list2'.may.not.be.sor |
| 2880 | 74 65 64 20 61 74 20 61 6c 6c 20 61 6e 64 20 60 6c 69 73 74 31 27 20 68 61 73 20 74 6f 0a 20 20 | ted.at.all.and.`list1'.has.to... |
| 28a0 | 20 20 20 20 20 20 20 20 20 20 3b 3b 20 62 65 20 73 6f 72 74 65 64 20 62 65 63 61 75 73 65 20 45 | ..........;;.be.sorted.because.E |
| 28c0 | 6c 69 73 70 20 61 6e 64 20 53 51 4c 69 74 65 20 73 6f 72 74 20 64 69 66 66 65 72 65 6e 74 6c 79 | lisp.and.SQLite.sort.differently |
| 28e0 | 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6c 69 73 74 31 20 28 63 6c 2d 73 6f | ..............(setq.list1.(cl-so |
| 2900 | 72 74 20 6c 69 73 74 31 20 23 27 73 74 72 69 6e 67 3c 20 3a 6b 65 79 20 23 27 63 61 72 29 29 0a | rt.list1.#'string<.:key.#'car)). |
| 2920 | 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6c 69 73 74 32 20 28 63 6c 2d 73 6f 72 74 | ............(setq.list2.(cl-sort |
| 2940 | 20 6c 69 73 74 32 20 23 27 73 74 72 69 6e 67 3c 20 3a 6b 65 79 20 23 27 63 61 72 29 29 0a 20 20 | .list2.#'string<.:key.#'car))... |
| 2960 | 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 70 72 6f 67 6e 20 28 73 65 74 71 20 65 6c | ..........(while.(progn.(setq.el |
| 2980 | 74 31 20 28 63 61 72 20 6c 69 73 74 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | t1.(car.list1))................. |
| 29a0 | 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 65 6c 74 32 20 28 63 61 72 20 6c 69 73 74 32 29 | ..........(setq.elt2.(car.list2) |
| 29c0 | 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 6f 72 20 | )...........................(or. |
| 29e0 | 65 6c 74 31 20 65 6c 74 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 | elt1.elt2))...............(let.( |
| 2a00 | 28 6b 65 79 31 20 28 63 61 72 20 65 6c 74 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | (key1.(car.elt1))............... |
| 2a20 | 20 20 20 20 20 20 28 6b 65 79 32 20 28 63 61 72 20 65 6c 74 32 29 29 29 0a 20 20 20 20 20 20 20 | ......(key2.(car.elt2)))........ |
| 2a40 | 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.................. |
| 2a60 | 28 28 61 6e 64 20 65 6c 74 31 20 28 6f 72 20 28 6e 6f 74 20 65 6c 74 32 29 20 28 73 74 72 69 6e | ((and.elt1.(or.(not.elt2).(strin |
| 2a80 | 67 3c 20 6b 65 79 31 20 6b 65 79 32 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | g<.key1.key2)))................. |
| 2aa0 | 20 20 28 61 70 70 6c 79 20 23 27 65 6d 61 63 73 71 6c 20 64 62 0a 20 20 20 20 20 20 20 20 20 20 | ..(apply.#'emacsql.db........... |
| 2ac0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 5b 3a 64 65 6c 65 74 65 2d 66 72 6f 6d 20 24 69 | ...............`[:delete-from.$i |
| 2ae0 | 31 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 3a 77 68 | 1............................:wh |
| 2b00 | 65 72 65 20 2c 28 63 6c 6f 73 71 6c 2d 2d 77 68 65 72 65 2d 65 71 75 61 6c 20 28 63 6f 6e 73 20 | ere.,(closql--where-equal.(cons. |
| 2b20 | 69 64 20 65 6c 74 31 29 20 31 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | id.elt1).1)].................... |
| 2b40 | 20 20 20 20 20 20 74 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ......table..................... |
| 2b60 | 20 20 20 20 20 28 63 6c 2d 6d 61 70 63 61 6e 20 23 27 6c 69 73 74 20 63 6f 6c 75 6d 6e 73 20 28 | .....(cl-mapcan.#'list.columns.( |
| 2b80 | 63 6f 6e 73 20 69 64 20 65 6c 74 31 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | cons.id.elt1)))................. |
| 2ba0 | 20 20 28 70 6f 70 20 6c 69 73 74 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ..(pop.list1)).................. |
| 2bc0 | 28 28 73 74 72 69 6e 67 3d 20 6b 65 79 31 20 6b 65 79 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 | ((string=.key1.key2)............ |
| 2be0 | 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 75 61 6c 20 65 6c 74 31 20 65 6c 74 32 29 | .......(unless.(equal.elt1.elt2) |
| 2c00 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 6d 61 70 63 0a 20 20 | .....................(cl-mapc... |
| 2c20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 63 6f 6c 20 | ...................(lambda.(col. |
| 2c40 | 76 61 6c 31 20 76 61 6c 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | val1.val2)...................... |
| 2c60 | 20 20 28 75 6e 6c 65 73 73 20 28 65 71 75 61 6c 20 76 61 6c 31 20 76 61 6c 32 29 0a 20 20 20 20 | ..(unless.(equal.val1.val2)..... |
| 2c80 | 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 6c 20 64 62 | .....................(emacsql.db |
| 2ca0 | 20 5b 3a 75 70 64 61 74 65 20 24 69 31 20 3a 73 65 74 20 28 3d 20 24 69 32 20 24 73 33 29 0a 20 | .[:update.$i1.:set.(=.$i2.$s3).. |
| 2cc0 | 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 | ................................ |
| 2ce0 | 20 20 20 20 20 3a 77 68 65 72 65 20 28 61 6e 64 20 28 3d 20 24 69 34 20 24 73 35 29 20 28 3d 20 | .....:where.(and.(=.$i4.$s5).(=. |
| 2d00 | 24 69 36 20 24 73 37 29 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | $i6.$s7))]...................... |
| 2d20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 74 61 62 6c 65 20 63 6f 6c 20 76 61 6c 32 0a 20 20 20 20 | .............table.col.val2..... |
| 2d40 | 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 63 | ..............................(c |
| 2d60 | 61 72 20 20 63 6f 6c 75 6d 6e 73 29 20 69 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ar..columns).id................. |
| 2d80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 64 72 20 63 6f 6c 75 6d 6e 73 29 | ..................(cadr.columns) |
| 2da0 | 20 6b 65 79 32 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 28 63 | .key2)))......................(c |
| 2dc0 | 64 64 72 20 63 6f 6c 75 6d 6e 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ddr.columns).................... |
| 2de0 | 20 20 28 63 64 72 20 20 65 6c 74 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ..(cdr..elt1)................... |
| 2e00 | 20 20 20 28 63 64 72 20 20 65 6c 74 32 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ...(cdr..elt2)))................ |
| 2e20 | 20 20 20 28 70 6f 70 20 6c 69 73 74 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ...(pop.list1).................. |
| 2e40 | 20 28 70 6f 70 20 6c 69 73 74 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | .(pop.list2))..................( |
| 2e60 | 64 72 6f 70 2d 75 6e 6b 6e 6f 77 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | drop-unknown...................( |
| 2e80 | 69 67 6e 6f 72 65 2d 65 72 72 6f 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ignore-errors................... |
| 2ea0 | 20 20 28 65 6d 61 63 73 71 6c 20 64 62 20 5b 3a 69 6e 73 65 72 74 2d 69 6e 74 6f 20 24 69 31 20 | ..(emacsql.db.[:insert-into.$i1. |
| 2ec0 | 3a 76 61 6c 75 65 73 20 24 76 32 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | :values.$v2].................... |
| 2ee0 | 20 20 20 20 20 20 20 20 20 20 74 61 62 6c 65 20 28 76 63 6f 6e 63 61 74 20 28 63 6f 6e 73 20 69 | ..........table.(vconcat.(cons.i |
| 2f00 | 64 20 65 6c 74 32 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 6f | d.elt2))))...................(po |
| 2f20 | 70 20 6c 69 73 74 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 0a 20 20 | p.list2))..................(t... |
| 2f40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6d 61 63 73 71 6c 20 64 62 20 5b 3a 69 6e | ................(emacsql.db.[:in |
| 2f60 | 73 65 72 74 2d 69 6e 74 6f 20 24 69 31 20 3a 76 61 6c 75 65 73 20 24 76 32 5d 0a 20 20 20 20 20 | sert-into.$i1.:values.$v2]...... |
| 2f80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 61 62 6c 65 20 28 76 63 6f | ......................table.(vco |
| 2fa0 | 6e 63 61 74 20 28 63 6f 6e 73 20 69 64 20 65 6c 74 32 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 | ncat.(cons.id.elt2)))........... |
| 2fc0 | 20 20 20 20 20 20 20 20 28 70 6f 70 20 6c 69 73 74 32 29 29 29 29 29 29 29 29 29 0a 20 20 20 20 | ........(pop.list2)))))))))..... |
| 2fe0 | 20 28 28 65 6d 61 63 73 71 6c 20 64 62 20 5b 3a 75 70 64 61 74 65 20 24 69 31 20 3a 73 65 74 20 | .((emacsql.db.[:update.$i1.:set. |
| 3000 | 28 3d 20 24 69 32 20 24 73 33 29 20 3a 77 68 65 72 65 20 28 3d 20 24 69 34 20 24 73 35 29 5d 0a | (=.$i2.$s3).:where.(=.$i4.$s5)]. |
| 3020 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 65 66 2d 64 65 66 61 75 6c 74 20 6f 62 6a | ...............(oref-default.obj |
| 3040 | 20 63 6c 6f 73 71 6c 2d 74 61 62 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6c | .closql-table)................sl |
| 3060 | 6f 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 65 71 20 76 61 6c 75 65 20 | ot................(if.(eq.value. |
| 3080 | 65 69 65 69 6f 2d 2d 75 6e 62 6f 75 6e 64 29 20 27 65 69 65 69 6f 2d 75 6e 62 6f 75 6e 64 20 76 | eieio--unbound).'eieio-unbound.v |
| 30a0 | 61 6c 75 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6b 65 79 20 69 64 29 29 29 29 29 | alue)................key.id))))) |
| 30c0 | 0a 0a 3b 3b 3b 3b 20 53 6c 6f 74 20 50 72 6f 70 65 72 74 69 65 73 0a 0a 28 64 65 66 75 6e 20 63 | ..;;;;.Slot.Properties..(defun.c |
| 30e0 | 6c 6f 73 71 6c 2d 2d 73 6c 6f 74 2d 70 72 6f 70 65 72 74 69 65 73 20 28 6f 62 6a 65 63 74 2d 6f | losql--slot-properties.(object-o |
| 3100 | 72 2d 63 6c 61 73 73 20 73 6c 6f 74 29 0a 20 20 28 61 6e 64 2d 6c 65 74 2a 20 28 28 64 65 73 63 | r-class.slot)...(and-let*.((desc |
| 3120 | 20 28 63 6c 2d 66 69 6e 64 20 73 6c 6f 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .(cl-find.slot.................. |
| 3140 | 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 6f 73 71 6c 2d 2d 6f 62 6a 65 63 74 2d 73 6c 6f 74 73 | ...........(closql--object-slots |
| 3160 | 20 6f 62 6a 65 63 74 2d 6f 72 2d 63 6c 61 73 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .object-or-class)............... |
| 3180 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6b 65 79 20 23 27 63 6c 2d 2d 73 6c 6f 74 2d 64 65 | ..............:key.#'cl--slot-de |
| 31a0 | 73 63 72 69 70 74 6f 72 2d 6e 61 6d 65 29 29 29 0a 20 20 20 20 28 63 6c 2d 2d 73 6c 6f 74 2d 64 | scriptor-name))).....(cl--slot-d |
| 31c0 | 65 73 63 72 69 70 74 6f 72 2d 70 72 6f 70 73 20 64 65 73 63 29 29 29 0a 0a 28 64 65 66 75 6e 20 | escriptor-props.desc)))..(defun. |
| 31e0 | 63 6c 6f 73 71 6c 2d 2d 6f 62 6a 65 63 74 2d 73 6c 6f 74 73 20 28 6f 62 6a 65 63 74 2d 6f 72 2d | closql--object-slots.(object-or- |
| 3200 | 63 6c 61 73 73 29 0a 20 20 28 65 69 65 69 6f 2d 63 6c 61 73 73 2d 73 6c 6f 74 73 0a 20 20 20 28 | class)...(eieio-class-slots....( |
| 3220 | 63 6f 6e 64 0a 20 20 20 20 28 28 65 69 65 69 6f 2d 6f 62 6a 65 63 74 2d 70 20 6f 62 6a 65 63 74 | cond.....((eieio-object-p.object |
| 3240 | 2d 6f 72 2d 63 6c 61 73 73 29 20 28 65 69 65 69 6f 2d 2d 6f 62 6a 65 63 74 2d 63 6c 61 73 73 20 | -or-class).(eieio--object-class. |
| 3260 | 6f 62 6a 65 63 74 2d 6f 72 2d 63 6c 61 73 73 29 29 0a 20 20 20 20 28 28 65 69 65 69 6f 2d 2d 63 | object-or-class)).....((eieio--c |
| 3280 | 6c 61 73 73 2d 70 20 6f 62 6a 65 63 74 2d 6f 72 2d 63 6c 61 73 73 29 20 6f 62 6a 65 63 74 2d 6f | lass-p.object-or-class).object-o |
| 32a0 | 72 2d 63 6c 61 73 73 29 0a 20 20 20 20 28 28 66 69 6e 64 2d 63 6c 61 73 73 20 6f 62 6a 65 63 74 | r-class).....((find-class.object |
| 32c0 | 2d 6f 72 2d 63 6c 61 73 73 20 27 65 72 72 6f 72 29 29 29 29 29 0a 0a 28 64 65 66 63 6f 6e 73 74 | -or-class.'error)))))..(defconst |
| 32e0 | 20 63 6c 6f 73 71 6c 2d 2d 73 6c 6f 74 2d 70 72 6f 70 65 72 74 69 65 73 20 27 28 3a 63 6c 6f 73 | .closql--slot-properties.'(:clos |
| 3300 | 71 6c 2d 63 6c 61 73 73 20 3a 63 6c 6f 73 71 6c 2d 74 61 62 6c 65 20 3a 63 6c 6f 73 71 6c 2d 74 | ql-class.:closql-table.:closql-t |
| 3320 | 61 62 6c 65 73 29 29 0a 0a 28 64 65 66 69 6e 65 2d 61 64 76 69 63 65 20 65 69 65 69 6f 2d 64 65 | ables))..(define-advice.eieio-de |
| 3340 | 66 63 6c 61 73 73 2d 69 6e 74 65 72 6e 61 6c 0a 20 20 20 20 28 3a 61 66 74 65 72 20 28 63 6e 61 | fclass-internal.....(:after.(cna |
| 3360 | 6d 65 20 5f 73 75 70 65 72 63 6c 61 73 73 65 73 20 73 6c 6f 74 73 20 5f 6f 70 74 69 6f 6e 73 29 | me._superclasses.slots._options) |
| 3380 | 20 63 6c 6f 73 71 6c 2d 6f 62 6a 65 63 74 29 0a 20 20 22 48 61 6e 64 6c 65 20 61 64 64 69 74 69 | .closql-object)..."Handle.additi |
| 33a0 | 6f 6e 61 6c 20 73 6c 6f 74 20 70 72 6f 70 65 72 74 69 65 73 20 75 73 65 64 20 62 79 20 60 63 6c | onal.slot.properties.used.by.`cl |
| 33c0 | 6f 73 71 6c 2d 6f 62 6a 65 63 74 27 20 64 65 72 69 76 65 64 20 63 6c 61 73 73 65 73 2e 22 0a 20 | osql-object'.derived.classes.".. |
| 33e0 | 20 28 77 68 65 6e 2d 6c 65 74 2a 20 28 28 63 6c 61 73 73 20 28 63 6c 2d 2d 66 69 6e 64 2d 63 6c | .(when-let*.((class.(cl--find-cl |
| 3400 | 61 73 73 20 63 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 5f 28 63 68 69 | ass.cname))...............(_(chi |
| 3420 | 6c 64 2d 6f 66 2d 63 6c 61 73 73 2d 70 20 63 6c 61 73 73 20 27 63 6c 6f 73 71 6c 2d 6f 62 6a 65 | ld-of-class-p.class.'closql-obje |
| 3440 | 63 74 29 29 29 0a 20 20 20 20 28 70 63 61 73 65 2d 64 6f 6c 69 73 74 20 28 60 28 2c 6e 61 6d 65 | ct))).....(pcase-dolist.(`(,name |
| 3460 | 20 2e 20 2c 73 6c 6f 74 29 20 73 6c 6f 74 73 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 64 65 | ...,slot).slots).......(let.((de |
| 3480 | 73 63 20 28 63 6c 2d 66 69 6e 64 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | sc.(cl-find.name................ |
| 34a0 | 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 63 6f 65 72 63 65 20 28 65 69 65 69 6f 2d 2d 63 | ............(cl-coerce.(eieio--c |
| 34c0 | 6c 61 73 73 2d 73 6c 6f 74 73 20 63 6c 61 73 73 29 20 27 6c 69 73 74 29 0a 20 20 20 20 20 20 20 | lass-slots.class).'list)........ |
| 34e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6b 65 79 20 28 6c 61 6d 62 64 61 | ....................:key.(lambda |
| 3500 | 20 28 65 6c 74 29 20 28 61 72 65 66 20 65 6c 74 20 31 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 | .(elt).(aref.elt.1)))))......... |
| 3520 | 28 64 6f 6c 69 73 74 20 28 70 72 6f 70 20 63 6c 6f 73 71 6c 2d 2d 73 6c 6f 74 2d 70 72 6f 70 65 | (dolist.(prop.closql--slot-prope |
| 3540 | 72 74 69 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 2d 6c 65 74 0a 20 20 20 20 20 | rties)...........(when-let...... |
| 3560 | 20 20 20 20 20 20 20 20 20 28 28 76 20 28 70 6c 69 73 74 2d 67 65 74 20 73 6c 6f 74 20 70 72 6f | .........((v.(plist-get.slot.pro |
| 3580 | 70 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 66 20 28 61 6c 69 73 74 2d 67 65 | p))).............(setf.(alist-ge |
| 35a0 | 74 20 70 72 6f 70 20 28 63 6c 2d 2d 73 6c 6f 74 2d 64 65 73 63 72 69 70 74 6f 72 2d 70 72 6f 70 | t.prop.(cl--slot-descriptor-prop |
| 35c0 | 73 20 64 65 73 63 29 29 20 76 29 29 29 29 29 29 29 0a 0a 28 64 65 66 69 6e 65 2d 61 64 76 69 63 | s.desc)).v)))))))..(define-advic |
| 35e0 | 65 20 65 69 65 69 6f 2d 2d 73 6c 6f 74 2d 6f 76 65 72 72 69 64 65 0a 20 20 20 20 28 3a 61 66 74 | e.eieio--slot-override.....(:aft |
| 3600 | 65 72 20 28 6f 6c 64 20 6e 65 77 20 5f 73 6b 69 70 6e 69 6c 29 20 63 6c 6f 73 71 6c 2d 6f 62 6a | er.(old.new._skipnil).closql-obj |
| 3620 | 65 63 74 29 0a 20 20 22 48 61 6e 64 6c 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 73 6c 6f 74 20 70 | ect)..."Handle.additional.slot.p |
| 3640 | 72 6f 70 65 72 74 69 65 73 20 75 73 65 64 20 62 79 20 60 63 6c 6f 73 71 6c 2d 6f 62 6a 65 63 74 | roperties.used.by.`closql-object |
| 3660 | 27 20 64 65 72 69 76 65 64 20 63 6c 61 73 73 65 73 2e 22 0a 20 20 28 64 6f 6c 69 73 74 20 28 70 | '.derived.classes."...(dolist.(p |
| 3680 | 72 6f 70 20 63 6c 6f 73 71 6c 2d 2d 73 6c 6f 74 2d 70 72 6f 70 65 72 74 69 65 73 29 0a 20 20 20 | rop.closql--slot-properties).... |
| 36a0 | 20 28 77 68 65 6e 2d 6c 65 74 0a 20 20 20 20 20 20 20 20 28 28 76 20 28 61 6c 69 73 74 2d 67 65 | .(when-let.........((v.(alist-ge |
| 36c0 | 74 20 70 72 6f 70 20 28 63 6c 2d 2d 73 6c 6f 74 2d 64 65 73 63 72 69 70 74 6f 72 2d 70 72 6f 70 | t.prop.(cl--slot-descriptor-prop |
| 36e0 | 73 20 6e 65 77 29 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 66 20 28 61 6c 69 73 74 2d 67 65 74 | s.new)))).......(setf.(alist-get |
| 3700 | 20 70 72 6f 70 20 28 63 6c 2d 2d 73 6c 6f 74 2d 64 65 73 63 72 69 70 74 6f 72 2d 70 72 6f 70 73 | .prop.(cl--slot-descriptor-props |
| 3720 | 20 6f 6c 64 29 29 20 76 29 29 29 29 0a 0a 3b 3b 3b 20 44 61 74 61 62 61 73 65 0a 0a 28 64 65 66 | .old)).v))))..;;;.Database..(def |
| 3740 | 63 6c 61 73 73 20 63 6c 6f 73 71 6c 2d 64 61 74 61 62 61 73 65 20 28 65 69 65 69 6f 2d 73 69 6e | class.closql-database.(eieio-sin |
| 3760 | 67 6c 65 74 6f 6e 29 0a 20 20 28 28 6e 61 6d 65 20 20 20 20 20 20 20 20 20 3a 69 6e 69 74 66 6f | gleton)...((name.........:initfo |
| 3780 | 72 6d 20 6e 69 6c 20 3a 61 6c 6c 6f 63 61 74 69 6f 6e 20 3a 63 6c 61 73 73 29 0a 20 20 20 28 6f | rm.nil.:allocation.:class)....(o |
| 37a0 | 62 6a 65 63 74 2d 63 6c 61 73 73 20 3a 69 6e 69 74 66 6f 72 6d 20 6e 69 6c 20 3a 61 6c 6c 6f 63 | bject-class.:initform.nil.:alloc |
| 37c0 | 61 74 69 6f 6e 20 3a 63 6c 61 73 73 29 0a 20 20 20 28 66 69 6c 65 20 20 20 20 20 20 20 20 20 3a | ation.:class)....(file.........: |
| 37e0 | 69 6e 69 74 66 6f 72 6d 20 6e 69 6c 20 3a 61 6c 6c 6f 63 61 74 69 6f 6e 20 3a 63 6c 61 73 73 29 | initform.nil.:allocation.:class) |
| 3800 | 0a 20 20 20 28 73 63 68 65 6d 61 74 61 20 20 20 20 20 3a 69 6e 69 74 66 6f 72 6d 20 6e 69 6c 20 | ....(schemata.....:initform.nil. |
| 3820 | 3a 61 6c 6c 6f 63 61 74 69 6f 6e 20 3a 63 6c 61 73 73 29 0a 20 20 20 28 76 65 72 73 69 6f 6e 20 | :allocation.:class)....(version. |
| 3840 | 20 20 20 20 20 3a 69 6e 69 74 66 6f 72 6d 20 6e 69 6c 20 3a 61 6c 6c 6f 63 61 74 69 6f 6e 20 3a | .....:initform.nil.:allocation.: |
| 3860 | 63 6c 61 73 73 29 0a 20 20 20 28 64 69 73 61 62 6c 65 64 20 20 20 20 20 3a 69 6e 69 74 66 6f 72 | class)....(disabled.....:initfor |
| 3880 | 6d 20 6e 69 6c 20 3a 61 6c 6c 6f 63 61 74 69 6f 6e 20 3a 63 6c 61 73 73 29 0a 20 20 20 28 63 6f | m.nil.:allocation.:class)....(co |
| 38a0 | 6e 6e 65 63 74 69 6f 6e 20 20 20 3a 69 6e 69 74 66 6f 72 6d 20 6e 69 6c 20 3a 69 6e 69 74 61 72 | nnection...:initform.nil.:initar |
| 38c0 | 67 20 3a 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 0a 20 20 3a 61 62 73 74 72 61 63 74 20 74 29 0a 0a | g.:connection))...:abstract.t).. |
| 38e0 | 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 63 6c 6f 73 71 6c 2d 64 62 20 28 28 63 6c 61 73 73 20 | (cl-defmethod.closql-db.((class. |
| 3900 | 28 73 75 62 63 6c 61 73 73 20 63 6c 6f 73 71 6c 2d 64 61 74 61 62 61 73 65 29 29 0a 20 20 20 20 | (subclass.closql-database))..... |
| 3920 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6f 70 74 69 6f 6e 61 6c 20 6c | .....................&optional.l |
| 3940 | 69 76 65 70 20 63 6f 6e 6e 65 63 74 69 6f 6e 2d 63 6c 61 73 73 29 0a 20 20 28 6f 72 20 28 61 6e | ivep.connection-class)...(or.(an |
| 3960 | 64 2d 6c 65 74 2a 20 28 28 64 62 20 28 6f 72 65 66 2d 64 65 66 61 75 6c 74 20 63 6c 61 73 73 20 | d-let*.((db.(oref-default.class. |
| 3980 | 73 69 6e 67 6c 65 74 6f 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f | singleton))..................(co |
| 39a0 | 6e 6e 20 28 61 6e 64 20 28 6e 6f 74 20 28 65 71 20 64 62 20 65 69 65 69 6f 2d 2d 75 6e 62 6f 75 | nn.(and.(not.(eq.db.eieio--unbou |
| 39c0 | 6e 64 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 20 | nd))............................ |
| 39e0 | 20 28 6f 72 65 66 20 64 62 20 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 29 29 0a 20 20 20 20 20 20 20 | .(oref.db.connection))))........ |
| 3a00 | 20 28 61 6e 64 20 28 65 6d 61 63 73 71 6c 2d 6c 69 76 65 2d 70 20 63 6f 6e 6e 29 20 64 62 29 29 | .(and.(emacsql-live-p.conn).db)) |
| 3a20 | 0a 20 20 20 20 20 20 28 61 6e 64 20 28 6e 6f 74 20 6c 69 76 65 70 29 0a 20 20 20 20 20 20 20 20 | .......(and.(not.livep)......... |
| 3a40 | 20 20 20 28 6c 65 74 2a 20 28 28 66 69 6c 65 20 28 63 6c 6f 73 71 6c 2d 2d 64 62 2d 70 72 65 70 | ...(let*.((file.(closql--db-prep |
| 3a60 | 61 72 65 2d 73 74 6f 72 61 67 65 20 63 6c 61 73 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | are-storage.class))............. |
| 3a80 | 20 20 20 20 20 20 28 63 6f 6e 6e 65 63 74 69 6f 6e 2d 63 6c 61 73 73 20 28 6f 72 20 63 6f 6e 6e | ......(connection-class.(or.conn |
| 3aa0 | 65 63 74 69 6f 6e 2d 63 6c 61 73 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ection-class.................... |
| 3ac0 | 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 6c 2d 73 71 | .....................(emacsql-sq |
| 3ae0 | 6c 69 74 65 2d 64 65 66 61 75 6c 74 2d 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 29 0a 20 20 20 20 20 | lite-default-connection)))...... |
| 3b00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 6e 20 28 6d 61 6b 65 2d 69 6e 73 74 61 6e 63 | .............(conn.(make-instanc |
| 3b20 | 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 2d 63 6c 61 73 73 20 3a 66 69 6c 65 20 66 69 6c 65 29 29 0a | e.connection-class.:file.file)). |
| 3b40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 62 20 28 6d 61 6b 65 2d 69 6e 73 74 | ..................(db.(make-inst |
| 3b60 | 61 6e 63 65 20 63 6c 61 73 73 29 29 29 20 3b 20 69 67 6e 6f 72 65 73 20 73 6c 6f 74 20 61 72 67 | ance.class))).;.ignores.slot.arg |
| 3b80 | 75 6d 65 6e 74 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 73 65 74 20 64 62 20 63 6f 6e | uments..............(oset.db.con |
| 3ba0 | 6e 65 63 74 69 6f 6e 20 63 6f 6e 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6d 61 63 | nection.conn)..............(emac |
| 3bc0 | 73 71 6c 20 63 6f 6e 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 | sql.conn.[:pragma.(=.foreign-key |
| 3be0 | 73 20 6f 6e 29 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 6e 6f 74 20 28 65 | s.on)])..............(if.(not.(e |
| 3c00 | 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 64 62 29 29 0a 20 | macsql-sqlite-list-tables.db)).. |
| 3c20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 6f 73 71 6c 2d 2d 64 62 2d 63 72 65 61 | ................(closql--db-crea |
| 3c40 | 74 65 2d 73 63 68 65 6d 61 20 64 62 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 | te-schema.db)................(le |
| 3c60 | 74 20 28 28 63 6f 64 65 2d 76 65 72 73 69 6f 6e 20 28 6f 72 65 66 2d 64 65 66 61 75 6c 74 20 64 | t.((code-version.(oref-default.d |
| 3c80 | 62 20 76 65 72 73 69 6f 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | b.version))..................... |
| 3ca0 | 20 28 64 61 74 61 2d 76 65 72 73 69 6f 6e 20 28 63 6c 6f 73 71 6c 2d 2d 64 62 2d 67 65 74 2d 76 | .(data-version.(closql--db-get-v |
| 3cc0 | 65 72 73 69 6f 6e 20 64 62 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 | ersion.db)))..................(c |
| 3ce0 | 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 3c 20 63 6f 64 65 2d 76 | ond...................((<.code-v |
| 3d00 | 65 72 73 69 6f 6e 20 64 61 74 61 2d 76 65 72 73 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 | ersion.data-version)............ |
| 3d20 | 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ........(message................ |
| 3d40 | 20 20 20 20 20 22 50 6c 65 61 73 65 20 75 70 64 61 74 65 20 25 73 20 70 61 63 6b 61 67 65 20 28 | ....."Please.update.%s.package.( |
| 3d60 | 64 61 74 61 62 61 73 65 20 73 63 68 65 6d 61 20 76 65 72 73 69 6f 6e 20 25 73 20 3c 20 25 73 29 | database.schema.version.%s.<.%s) |
| 3d80 | 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 65 66 2d 64 65 66 61 | ".....................(oref-defa |
| 3da0 | 75 6c 74 20 64 62 20 6e 61 6d 65 29 20 63 6f 64 65 2d 76 65 72 73 69 6f 6e 20 64 61 74 61 2d 76 | ult.db.name).code-version.data-v |
| 3dc0 | 65 72 73 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 73 65 74 | ersion)....................(oset |
| 3de0 | 2d 64 65 66 61 75 6c 74 20 63 6c 61 73 73 20 64 69 73 61 62 6c 65 64 20 74 29 0a 20 20 20 20 20 | -default.class.disabled.t)...... |
| 3e00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6d 61 63 73 71 6c 2d 63 6c 6f 73 65 20 64 62 29 | ..............(emacsql-close.db) |
| 3e20 | 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 64 62 20 6e 69 6c | ....................(setq.db.nil |
| 3e40 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 63 6c 6f 73 71 6c 2d 2d 64 | ))...................((closql--d |
| 3e60 | 62 2d 75 70 64 61 74 65 2d 73 63 68 65 6d 61 20 64 62 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 | b-update-schema.db)))))......... |
| 3e80 | 20 20 20 20 20 64 62 29 29 29 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 63 6c 6f 73 71 | .....db))))..(cl-defmethod.closq |
| 3ea0 | 6c 2d 2d 64 62 2d 70 72 65 70 61 72 65 2d 73 74 6f 72 61 67 65 20 28 28 63 6c 61 73 73 20 28 73 | l--db-prepare-storage.((class.(s |
| 3ec0 | 75 62 63 6c 61 73 73 20 63 6c 6f 73 71 6c 2d 64 61 74 61 62 61 73 65 29 29 29 0a 20 20 28 77 68 | ubclass.closql-database)))...(wh |
| 3ee0 | 65 6e 2d 6c 65 74 20 28 28 66 69 6c 65 20 28 6f 72 65 66 2d 64 65 66 61 75 6c 74 20 63 6c 61 73 | en-let.((file.(oref-default.clas |
| 3f00 | 73 20 66 69 6c 65 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 73 79 6d 62 6f 6c 70 20 66 69 6c | s.file))).....(when.(symbolp.fil |
| 3f20 | 65 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 66 69 6c 65 20 28 73 79 6d 62 6f 6c 2d 76 61 6c 75 | e).......(setq.file.(symbol-valu |
| 3f40 | 65 20 66 69 6c 65 29 29 29 0a 20 20 20 20 28 6d 61 6b 65 2d 64 69 72 65 63 74 6f 72 79 20 28 66 | e.file))).....(make-directory.(f |
| 3f60 | 69 6c 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 0a 20 20 20 20 | ile-name-directory.file).t)..... |
| 3f80 | 66 69 6c 65 29 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 63 6c 6f 73 71 6c 2d 2d 64 62 | file))..(cl-defmethod.closql--db |
| 3fa0 | 2d 63 72 65 61 74 65 2d 73 63 68 65 6d 61 20 28 28 64 62 20 63 6c 6f 73 71 6c 2d 64 61 74 61 62 | -create-schema.((db.closql-datab |
| 3fc0 | 61 73 65 29 29 0a 20 20 28 63 6c 6f 73 71 6c 2d 77 69 74 68 2d 74 72 61 6e 73 61 63 74 69 6f 6e | ase))...(closql-with-transaction |
| 3fe0 | 20 64 62 0a 20 20 20 20 28 70 63 61 73 65 2d 64 6f 6c 69 73 74 20 28 60 28 2c 74 61 62 6c 65 20 | .db.....(pcase-dolist.(`(,table. |
| 4000 | 2e 20 2c 73 63 68 65 6d 61 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 | ..,schema)....................(s |
| 4020 | 79 6d 62 6f 6c 2d 76 61 6c 75 65 20 28 6f 72 65 66 2d 64 65 66 61 75 6c 74 20 64 62 20 73 63 68 | ymbol-value.(oref-default.db.sch |
| 4040 | 65 6d 61 74 61 29 29 29 0a 20 20 20 20 20 20 28 65 6d 61 63 73 71 6c 20 64 62 20 5b 3a 63 72 65 | emata))).......(emacsql.db.[:cre |
| 4060 | 61 74 65 2d 74 61 62 6c 65 20 24 69 31 20 24 53 32 5d 20 74 61 62 6c 65 20 73 63 68 65 6d 61 29 | ate-table.$i1.$S2].table.schema) |
| 4080 | 29 0a 20 20 20 20 28 63 6c 6f 73 71 6c 2d 2d 64 62 2d 73 65 74 2d 76 65 72 73 69 6f 6e 20 64 62 | ).....(closql--db-set-version.db |
| 40a0 | 20 28 6f 72 65 66 2d 64 65 66 61 75 6c 74 20 64 62 20 76 65 72 73 69 6f 6e 29 29 29 29 0a 0a 28 | .(oref-default.db.version))))..( |
| 40c0 | 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 63 6c 6f 73 71 6c 2d 2d 64 62 2d 75 70 64 61 74 65 2d 73 | cl-defmethod.closql--db-update-s |
| 40e0 | 63 68 65 6d 61 20 28 28 64 62 20 63 6c 6f 73 71 6c 2d 64 61 74 61 62 61 73 65 29 29 0a 20 20 28 | chema.((db.closql-database))...( |
| 4100 | 6c 65 74 20 28 28 63 6f 64 65 2d 76 65 72 73 69 6f 6e 20 28 6f 72 65 66 2d 64 65 66 61 75 6c 74 | let.((code-version.(oref-default |
| 4120 | 20 64 62 20 76 65 72 73 69 6f 6e 29 29 0a 20 20 20 20 20 20 20 20 28 64 61 74 61 2d 76 65 72 73 | .db.version)).........(data-vers |
| 4140 | 69 6f 6e 20 28 63 6c 6f 73 71 6c 2d 2d 64 62 2d 67 65 74 2d 76 65 72 73 69 6f 6e 20 64 62 29 29 | ion.(closql--db-get-version.db)) |
| 4160 | 29 0a 20 20 20 20 28 77 68 65 6e 20 28 3c 20 64 61 74 61 2d 76 65 72 73 69 6f 6e 20 63 6f 64 65 | ).....(when.(<.data-version.code |
| 4180 | 2d 76 65 72 73 69 6f 6e 29 0a 20 20 20 20 20 20 28 6f 73 65 74 2d 64 65 66 61 75 6c 74 20 64 62 | -version).......(oset-default.db |
| 41a0 | 20 64 69 73 61 62 6c 65 64 20 74 29 0a 20 20 20 20 20 20 28 65 6d 61 63 73 71 6c 2d 63 6c 6f 73 | .disabled.t).......(emacsql-clos |
| 41c0 | 65 20 64 62 29 0a 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 50 6c 65 61 73 65 20 75 70 64 61 74 | e.db).......(error."Please.updat |
| 41e0 | 65 20 25 73 20 64 61 74 61 62 61 73 65 20 28 73 63 68 65 6d 61 20 76 65 72 73 69 6f 6e 20 25 73 | e.%s.database.(schema.version.%s |
| 4200 | 20 3c 20 25 73 29 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 65 66 2d 64 65 66 61 75 | .<.%s)"..............(oref-defau |
| 4220 | 6c 74 20 64 62 20 6e 61 6d 65 29 20 64 61 74 61 2d 76 65 72 73 69 6f 6e 20 63 6f 64 65 2d 76 65 | lt.db.name).data-version.code-ve |
| 4240 | 72 73 69 6f 6e 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 | rsion))))..(cl-defmethod.emacsql |
| 4260 | 2d 6c 69 76 65 2d 70 20 28 28 64 62 20 63 6c 6f 73 71 6c 2d 64 61 74 61 62 61 73 65 29 29 0a 20 | -live-p.((db.closql-database)).. |
| 4280 | 20 28 61 6e 64 2d 6c 65 74 2a 20 28 28 63 6f 6e 6e 20 28 6f 72 65 66 20 64 62 20 63 6f 6e 6e 65 | .(and-let*.((conn.(oref.db.conne |
| 42a0 | 63 74 69 6f 6e 29 29 29 0a 20 20 20 20 28 65 6d 61 63 73 71 6c 2d 6c 69 76 65 2d 70 20 63 6f 6e | ction))).....(emacsql-live-p.con |
| 42c0 | 6e 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 65 6e 61 62 | n)))..(cl-defmethod.emacsql-enab |
| 42e0 | 6c 65 2d 64 65 62 75 67 67 69 6e 67 20 28 28 64 62 20 63 6c 6f 73 71 6c 2d 64 61 74 61 62 61 73 | le-debugging.((db.closql-databas |
| 4300 | 65 29 29 0a 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 | e))...(emacsql-enable-debugging. |
| 4320 | 28 6f 72 65 66 20 64 62 20 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 29 0a 0a 28 63 6c 2d 64 65 66 6d | (oref.db.connection)))..(cl-defm |
| 4340 | 65 74 68 6f 64 20 65 6d 61 63 73 71 6c 2d 63 6c 6f 73 65 20 28 28 64 62 20 63 6c 6f 73 71 6c 2d | ethod.emacsql-close.((db.closql- |
| 4360 | 64 61 74 61 62 61 73 65 29 29 0a 20 20 28 65 6d 61 63 73 71 6c 2d 63 6c 6f 73 65 20 28 6f 72 65 | database))...(emacsql-close.(ore |
| 4380 | 66 20 64 62 20 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 0a 20 20 28 6f 73 65 74 20 64 62 20 63 6f 6e | f.db.connection))...(oset.db.con |
| 43a0 | 6e 65 63 74 69 6f 6e 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 | nection.nil))..(cl-defmethod.ema |
| 43c0 | 63 73 71 6c 20 28 28 64 62 20 63 6c 6f 73 71 6c 2d 64 61 74 61 62 61 73 65 29 20 73 71 6c 20 26 | csql.((db.closql-database).sql.& |
| 43e0 | 72 65 73 74 20 61 72 67 73 29 0a 20 20 28 6d 61 70 63 61 72 20 23 27 63 6c 6f 73 71 6c 2d 2d 65 | rest.args)...(mapcar.#'closql--e |
| 4400 | 78 74 65 72 6e 2d 75 6e 62 6f 75 6e 64 0a 20 20 20 20 20 20 20 20 20 20 28 61 70 70 6c 79 20 23 | xtern-unbound...........(apply.# |
| 4420 | 27 65 6d 61 63 73 71 6c 20 28 6f 72 65 66 20 64 62 20 63 6f 6e 6e 65 63 74 69 6f 6e 29 20 73 71 | 'emacsql.(oref.db.connection).sq |
| 4440 | 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 | l..................(mapcar.(lamb |
| 4460 | 64 61 20 28 61 72 67 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 | da.(arg)........................ |
| 4480 | 20 20 20 20 28 69 66 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 | ....(if.(stringp.arg)........... |
| 44a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 63 6f 70 79 | .....................(let.((copy |
| 44c0 | 20 28 63 6f 70 79 2d 73 65 71 75 65 6e 63 65 20 61 72 67 29 29 29 0a 20 20 20 20 20 20 20 20 20 | .(copy-sequence.arg))).......... |
| 44e0 | 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 73 65 74 2d 74 65 78 | ........................(set-tex |
| 4500 | 74 2d 70 72 6f 70 65 72 74 69 65 73 20 30 20 28 6c 65 6e 67 74 68 20 63 6f 70 79 29 20 6e 69 6c | t-properties.0.(length.copy).nil |
| 4520 | 20 63 6f 70 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 20 20 20 | .copy).......................... |
| 4540 | 20 20 20 20 20 20 20 20 63 6f 70 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ........copy)................... |
| 4560 | 20 20 20 20 20 20 20 20 20 20 20 61 72 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ...........arg))................ |
| 4580 | 20 20 20 20 20 20 20 20 20 20 61 72 67 73 29 29 29 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f | ..........args))))..(cl-defmetho |
| 45a0 | 64 20 63 6c 6f 73 71 6c 2d 69 6e 73 65 72 74 20 28 28 64 62 20 63 6c 6f 73 71 6c 2d 64 61 74 61 | d.closql-insert.((db.closql-data |
| 45c0 | 62 61 73 65 29 20 6f 62 6a 20 26 6f 70 74 69 6f 6e 61 6c 20 72 65 70 6c 61 63 65 29 0a 20 20 28 | base).obj.&optional.replace)...( |
| 45e0 | 63 6c 6f 73 71 6c 2d 2d 6f 73 65 74 20 6f 62 6a 20 27 63 6c 6f 73 71 6c 2d 64 61 74 61 62 61 73 | closql--oset.obj.'closql-databas |
| 4600 | 65 20 64 62 29 0a 20 20 28 6c 65 74 20 28 61 6c 69 73 74 29 0a 20 20 20 20 28 64 6f 6c 69 73 74 | e.db)...(let.(alist).....(dolist |
| 4620 | 20 28 73 6c 6f 74 20 28 65 69 65 69 6f 2d 63 6c 61 73 73 2d 73 6c 6f 74 73 20 28 65 69 65 69 6f | .(slot.(eieio-class-slots.(eieio |
| 4640 | 2d 2d 6f 62 6a 65 63 74 2d 63 6c 61 73 73 20 6f 62 6a 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 | --object-class.obj))).......(set |
| 4660 | 71 20 20 73 6c 6f 74 20 28 63 6c 2d 2d 73 6c 6f 74 2d 64 65 73 63 72 69 70 74 6f 72 2d 6e 61 6d | q..slot.(cl--slot-descriptor-nam |
| 4680 | 65 20 73 6c 6f 74 29 29 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 61 6c 69 73 74 2d 67 65 74 20 | e.slot)).......(when.(alist-get. |
| 46a0 | 3a 63 6c 6f 73 71 6c 2d 74 61 62 6c 65 20 28 63 6c 6f 73 71 6c 2d 2d 73 6c 6f 74 2d 70 72 6f 70 | :closql-table.(closql--slot-prop |
| 46c0 | 65 72 74 69 65 73 20 6f 62 6a 20 73 6c 6f 74 29 29 0a 20 20 20 20 20 20 20 20 28 70 75 73 68 20 | erties.obj.slot)).........(push. |
| 46e0 | 28 63 6f 6e 73 20 73 6c 6f 74 20 28 63 6c 6f 73 71 6c 2d 6f 72 65 66 20 6f 62 6a 20 73 6c 6f 74 | (cons.slot.(closql-oref.obj.slot |
| 4700 | 29 29 20 61 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 28 63 6c 6f 73 71 6c 2d 2d 6f 73 65 74 20 | )).alist).........(closql--oset. |
| 4720 | 6f 62 6a 20 73 6c 6f 74 20 65 69 65 69 6f 2d 2d 75 6e 62 6f 75 6e 64 29 29 29 0a 20 20 20 20 28 | obj.slot.eieio--unbound))).....( |
| 4740 | 63 6c 6f 73 71 6c 2d 77 69 74 68 2d 74 72 61 6e 73 61 63 74 69 6f 6e 20 64 62 0a 20 20 20 20 20 | closql-with-transaction.db...... |
| 4760 | 20 28 65 6d 61 63 73 71 6c 20 64 62 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 | .(emacsql.db................(if. |
| 4780 | 72 65 70 6c 61 63 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 3a 69 6e 73 | replace....................[:ins |
| 47a0 | 65 72 74 2d 6f 72 2d 72 65 70 6c 61 63 65 2d 69 6e 74 6f 20 24 69 31 20 3a 76 61 6c 75 65 73 20 | ert-or-replace-into.$i1.:values. |
| 47c0 | 24 76 32 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 3a 69 6e 73 65 72 74 2d 69 | $v2]..................[:insert-i |
| 47e0 | 6e 74 6f 20 24 69 31 20 3a 76 61 6c 75 65 73 20 24 76 32 5d 29 0a 20 20 20 20 20 20 20 20 20 20 | nto.$i1.:values.$v2])........... |
| 4800 | 20 20 20 20 20 28 6f 72 65 66 2d 64 65 66 61 75 6c 74 20 6f 62 6a 20 63 6c 6f 73 71 6c 2d 74 61 | .....(oref-default.obj.closql-ta |
| 4820 | 62 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 63 61 73 65 2d 6c 65 74 20 28 | ble)................(pcase-let.( |
| 4840 | 28 60 28 2c 63 6c 61 73 73 20 2c 5f 64 62 20 2e 20 2c 76 61 6c 75 65 73 29 0a 20 20 20 20 20 20 | (`(,class.,_db...,values)....... |
| 4860 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 6f 73 71 6c 2d 2d 69 | ......................(closql--i |
| 4880 | 6e 74 65 72 6e 2d 75 6e 62 6f 75 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ntern-unbound................... |
| 48a0 | 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 6f 73 71 6c 2d 2d 63 6f 65 72 63 65 20 6f 62 6a 20 27 | ...........(closql--coerce.obj.' |
| 48c0 | 6c 69 73 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 63 6f 6e 63 | list))))..................(vconc |
| 48e0 | 61 74 20 28 63 6f 6e 73 20 28 63 6c 6f 73 71 6c 2d 2d 61 62 62 72 65 76 2d 63 6c 61 73 73 20 63 | at.(cons.(closql--abbrev-class.c |
| 4900 | 6c 61 73 73 29 20 76 61 6c 75 65 73 29 29 29 29 0a 20 20 20 20 20 20 28 70 63 61 73 65 2d 64 6f | lass).values)))).......(pcase-do |
| 4920 | 6c 69 73 74 20 28 60 28 2c 73 6c 6f 74 20 2e 20 2c 76 61 6c 75 65 29 20 61 6c 69 73 74 29 0a 20 | list.(`(,slot...,value).alist).. |
| 4940 | 20 20 20 20 20 20 20 28 63 6c 6f 73 71 6c 2d 64 73 65 74 20 6f 62 6a 20 73 6c 6f 74 20 76 61 6c | .......(closql-dset.obj.slot.val |
| 4960 | 75 65 29 29 29 29 0a 20 20 6f 62 6a 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 63 6c 6f | ue))))...obj)..(cl-defmethod.clo |
| 4980 | 73 71 6c 2d 64 65 6c 65 74 65 20 28 28 6f 62 6a 20 63 6c 6f 73 71 6c 2d 6f 62 6a 65 63 74 29 29 | sql-delete.((obj.closql-object)) |
| 49a0 | 0a 20 20 28 6c 65 74 20 28 28 6b 65 79 20 28 6f 72 65 66 2d 64 65 66 61 75 6c 74 20 6f 62 6a 20 | ...(let.((key.(oref-default.obj. |
| 49c0 | 63 6c 6f 73 71 6c 2d 70 72 69 6d 61 72 79 2d 6b 65 79 29 29 29 0a 20 20 20 20 28 65 6d 61 63 73 | closql-primary-key))).....(emacs |
| 49e0 | 71 6c 20 28 63 6c 6f 73 71 6c 2d 2d 6f 72 65 66 20 6f 62 6a 20 27 63 6c 6f 73 71 6c 2d 64 61 74 | ql.(closql--oref.obj.'closql-dat |
| 4a00 | 61 62 61 73 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 3a 64 65 6c 65 74 65 2d 66 72 6f | abase)..............[:delete-fro |
| 4a20 | 6d 20 24 69 31 20 3a 77 68 65 72 65 20 28 3d 20 24 69 32 20 24 73 33 29 5d 0a 20 20 20 20 20 20 | m.$i1.:where.(=.$i2.$s3)]....... |
| 4a40 | 20 20 20 20 20 20 20 28 6f 72 65 66 2d 64 65 66 61 75 6c 74 20 6f 62 6a 20 63 6c 6f 73 71 6c 2d | .......(oref-default.obj.closql- |
| 4a60 | 74 61 62 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 6b 65 79 0a 20 20 20 20 20 20 20 20 | table)..............key......... |
| 4a80 | 20 20 20 20 20 28 63 6c 6f 73 71 6c 2d 2d 6f 72 65 66 20 6f 62 6a 20 6b 65 79 29 29 29 29 0a 0a | .....(closql--oref.obj.key)))).. |
| 4aa0 | 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 63 6c 6f 73 71 6c 2d 72 65 6c 6f 61 64 20 28 28 6f 62 | (cl-defmethod.closql-reload.((ob |
| 4ac0 | 6a 20 63 6c 6f 73 71 6c 2d 6f 62 6a 65 63 74 29 29 0a 20 20 28 6f 72 20 28 63 6c 6f 73 71 6c 2d | j.closql-object))...(or.(closql- |
| 4ae0 | 67 65 74 20 28 63 6c 6f 73 71 6c 2d 2d 6f 72 65 66 20 6f 62 6a 20 27 63 6c 6f 73 71 6c 2d 64 61 | get.(closql--oref.obj.'closql-da |
| 4b00 | 74 61 62 61 73 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 6f 73 71 | tabase)...................(closq |
| 4b20 | 6c 2d 2d 6f 72 65 66 20 6f 62 6a 20 28 6f 72 65 66 2d 64 65 66 61 75 6c 74 20 6f 62 6a 20 63 6c | l--oref.obj.(oref-default.obj.cl |
| 4b40 | 6f 73 71 6c 2d 70 72 69 6d 61 72 79 2d 6b 65 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | osql-primary-key)).............. |
| 4b60 | 20 20 20 20 20 28 65 69 65 69 6f 2d 6f 62 6a 65 63 74 2d 63 6c 61 73 73 20 6f 62 6a 29 29 0a 20 | .....(eieio-object-class.obj)).. |
| 4b80 | 20 20 20 20 20 28 65 72 72 6f 72 20 22 43 61 6e 6e 6f 74 20 72 65 6c 6f 61 64 20 6f 62 6a 65 63 | .....(error."Cannot.reload.objec |
| 4ba0 | 74 22 29 29 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 63 6c 6f 73 71 6c 2d 67 65 74 20 | t")))..(cl-defmethod.closql-get. |
| 4bc0 | 28 28 64 62 20 63 6c 6f 73 71 6c 2d 64 61 74 61 62 61 73 65 29 20 69 64 65 6e 74 20 26 6f 70 74 | ((db.closql-database).ident.&opt |
| 4be0 | 69 6f 6e 61 6c 20 63 6c 61 73 73 20 72 65 73 6f 6c 76 65 29 0a 20 20 28 75 6e 6c 65 73 73 20 63 | ional.class.resolve)...(unless.c |
| 4c00 | 6c 61 73 73 0a 20 20 20 20 28 73 65 74 71 20 63 6c 61 73 73 20 28 6f 72 65 66 2d 64 65 66 61 75 | lass.....(setq.class.(oref-defau |
| 4c20 | 6c 74 20 64 62 20 6f 62 6a 65 63 74 2d 63 6c 61 73 73 29 29 29 0a 20 20 28 61 6e 64 2d 6c 65 74 | lt.db.object-class)))...(and-let |
| 4c40 | 2a 20 28 28 72 6f 77 20 28 63 61 72 20 28 65 6d 61 63 73 71 6c 20 64 62 20 5b 3a 73 65 6c 65 63 | *.((row.(car.(emacsql.db.[:selec |
| 4c60 | 74 20 2a 20 3a 66 72 6f 6d 20 24 69 31 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | t.*.:from.$i1................... |
| 4c80 | 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 3d 20 24 69 32 20 | ..................:where.(=.$i2. |
| 4ca0 | 24 73 33 29 5d 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 | $s3)]........................... |
| 4cc0 | 20 20 20 20 20 20 28 6f 72 65 66 2d 64 65 66 61 75 6c 74 20 63 6c 61 73 73 20 63 6c 6f 73 71 6c | ......(oref-default.class.closql |
| 4ce0 | 2d 74 61 62 6c 65 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 | -table)......................... |
| 4d00 | 20 20 20 20 20 20 20 20 28 6f 72 65 66 2d 64 65 66 61 75 6c 74 20 63 6c 61 73 73 20 63 6c 6f 73 | ........(oref-default.class.clos |
| 4d20 | 71 6c 2d 70 72 69 6d 61 72 79 2d 6b 65 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ql-primary-key)................. |
| 4d40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 64 65 6e 74 29 29 29 29 0a 20 20 20 20 28 63 | ................ident)))).....(c |
| 4d60 | 6c 6f 73 71 6c 2d 2d 72 65 6d 61 6b 65 2d 69 6e 73 74 61 6e 63 65 20 63 6c 61 73 73 20 64 62 20 | losql--remake-instance.class.db. |
| 4d80 | 72 6f 77 20 72 65 73 6f 6c 76 65 29 29 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 63 6c | row.resolve)))..(cl-defmethod.cl |
| 4da0 | 6f 73 71 6c 2d 71 75 65 72 79 20 28 28 64 62 20 63 6c 6f 73 71 6c 2d 64 61 74 61 62 61 73 65 29 | osql-query.((db.closql-database) |
| 4dc0 | 20 26 6f 70 74 69 6f 6e 61 6c 20 73 65 6c 65 63 74 20 70 72 65 64 20 63 6c 61 73 73 29 0a 20 20 | .&optional.select.pred.class)... |
| 4de0 | 28 69 66 20 73 65 6c 65 63 74 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 76 61 6c 75 65 20 28 63 | (if.select.......(let.((value.(c |
| 4e00 | 6c 6f 73 71 6c 2d 73 65 6c 65 63 74 20 64 62 20 73 65 6c 65 63 74 20 70 72 65 64 20 63 6c 61 73 | losql-select.db.select.pred.clas |
| 4e20 | 73 29 29 29 0a 20 20 20 20 20 20 20 20 28 69 66 20 28 61 6e 64 20 73 65 6c 65 63 74 20 28 73 79 | s))).........(if.(and.select.(sy |
| 4e40 | 6d 62 6f 6c 70 20 73 65 6c 65 63 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 | mbolp.select)).............(mapc |
| 4e60 | 61 72 20 23 27 63 61 72 20 76 61 6c 75 65 29 0a 20 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 29 | ar.#'car.value)...........value) |
| 4e80 | 29 0a 20 20 20 20 28 63 6c 6f 73 71 6c 2d 65 6e 74 72 69 65 73 20 64 62 20 70 72 65 64 20 63 6c | ).....(closql-entries.db.pred.cl |
| 4ea0 | 61 73 73 29 29 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 63 6c 6f 73 71 6c 2d 65 6e 74 | ass)))..(cl-defmethod.closql-ent |
| 4ec0 | 72 69 65 73 20 28 28 64 62 20 63 6c 6f 73 71 6c 2d 64 61 74 61 62 61 73 65 29 20 26 6f 70 74 69 | ries.((db.closql-database).&opti |
| 4ee0 | 6f 6e 61 6c 20 70 72 65 64 20 63 6c 61 73 73 29 0a 20 20 28 75 6e 6c 65 73 73 20 63 6c 61 73 73 | onal.pred.class)...(unless.class |
| 4f00 | 0a 20 20 20 20 28 73 65 74 71 20 63 6c 61 73 73 20 28 6f 72 65 66 2d 64 65 66 61 75 6c 74 20 64 | .....(setq.class.(oref-default.d |
| 4f20 | 62 20 6f 62 6a 65 63 74 2d 63 6c 61 73 73 29 29 29 0a 20 20 28 6d 61 70 63 61 72 20 28 6c 61 6d | b.object-class)))...(mapcar.(lam |
| 4f40 | 62 64 61 20 28 72 6f 77 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 6f 73 71 6c 2d 2d 72 | bda.(row).............(closql--r |
| 4f60 | 65 6d 61 6b 65 2d 69 6e 73 74 61 6e 63 65 20 63 6c 61 73 73 20 64 62 20 72 6f 77 29 29 0a 20 20 | emake-instance.class.db.row))... |
| 4f80 | 20 20 20 20 20 20 20 20 28 63 6c 6f 73 71 6c 2d 73 65 6c 65 63 74 20 64 62 20 27 2a 20 70 72 65 | ........(closql-select.db.'*.pre |
| 4fa0 | 64 20 63 6c 61 73 73 29 29 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 63 6c 6f 73 71 6c | d.class)))..(cl-defmethod.closql |
| 4fc0 | 2d 73 65 6c 65 63 74 20 28 28 64 62 20 63 6c 6f 73 71 6c 2d 64 61 74 61 62 61 73 65 29 20 73 65 | -select.((db.closql-database).se |
| 4fe0 | 6c 65 63 74 20 26 6f 70 74 69 6f 6e 61 6c 20 70 72 65 64 20 63 6c 61 73 73 29 0a 20 20 28 75 6e | lect.&optional.pred.class)...(un |
| 5000 | 6c 65 73 73 20 63 6c 61 73 73 0a 20 20 20 20 28 73 65 74 71 20 63 6c 61 73 73 20 28 6f 72 65 66 | less.class.....(setq.class.(oref |
| 5020 | 2d 64 65 66 61 75 6c 74 20 64 62 20 6f 62 6a 65 63 74 2d 63 6c 61 73 73 29 29 29 0a 20 20 28 65 | -default.db.object-class)))...(e |
| 5040 | 6d 61 63 73 71 6c 20 64 62 0a 20 20 20 20 20 20 20 20 20 20 20 60 5b 3a 73 65 6c 65 63 74 20 24 | macsql.db............`[:select.$ |
| 5060 | 69 31 20 3a 66 72 6f 6d 20 24 69 32 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 40 28 61 6e 64 | i1.:from.$i2..............,@(and |
| 5080 | 20 70 72 65 64 20 5b 3a 77 68 65 72 65 20 63 6c 61 73 73 20 3a 69 6e 20 24 76 33 5d 29 0a 20 20 | .pred.[:where.class.:in.$v3])... |
| 50a0 | 20 20 20 20 20 20 20 20 20 20 20 2c 40 28 69 66 2d 6c 65 74 20 28 28 6f 72 64 65 72 20 28 6f 72 | ...........,@(if-let.((order.(or |
| 50c0 | 65 66 2d 64 65 66 61 75 6c 74 20 63 6c 61 73 73 20 63 6c 6f 73 71 6c 2d 6f 72 64 65 72 2d 62 79 | ef-default.class.closql-order-by |
| 50e0 | 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 3a 6f 72 | )))....................(list.:or |
| 5100 | 64 65 72 2d 62 79 20 6f 72 64 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 | der-by.order)..................' |
| 5120 | 28 3a 6f 72 64 65 72 2d 62 79 20 5b 28 61 73 63 20 24 69 34 29 5d 29 29 5d 0a 20 20 20 20 20 20 | (:order-by.[(asc.$i4)]))]....... |
| 5140 | 20 20 20 20 20 73 65 6c 65 63 74 0a 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 65 66 2d 64 65 66 | .....select............(oref-def |
| 5160 | 61 75 6c 74 20 63 6c 61 73 73 20 63 6c 6f 73 71 6c 2d 74 61 62 6c 65 29 0a 20 20 20 20 20 20 20 | ault.class.closql-table)........ |
| 5180 | 20 20 20 20 28 61 6e 64 20 70 72 65 64 20 28 63 6c 6f 73 71 6c 2d 77 68 65 72 65 2d 63 6c 61 73 | ....(and.pred.(closql-where-clas |
| 51a0 | 73 2d 69 6e 20 70 72 65 64 20 64 62 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 65 66 2d | s-in.pred.db))............(oref- |
| 51c0 | 64 65 66 61 75 6c 74 20 63 6c 61 73 73 20 63 6c 6f 73 71 6c 2d 70 72 69 6d 61 72 79 2d 6b 65 79 | default.class.closql-primary-key |
| 51e0 | 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 6c 6f 73 71 6c 2d 2d 74 61 62 6c 65 2d 63 6f 6c 75 6d 6e | )))..(defun.closql--table-column |
| 5200 | 73 20 28 64 62 20 74 61 62 6c 65 29 0a 20 20 28 6d 61 70 63 61 72 20 23 27 63 61 64 72 20 28 65 | s.(db.table)...(mapcar.#'cadr.(e |
| 5220 | 6d 61 63 73 71 6c 20 64 62 20 5b 3a 70 72 61 67 6d 61 20 28 66 75 6e 63 61 6c 6c 20 74 61 62 6c | macsql.db.[:pragma.(funcall.tabl |
| 5240 | 65 2d 69 6e 66 6f 20 24 69 31 29 5d 20 74 61 62 6c 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 6c | e-info.$i1)].table)))..(defun.cl |
| 5260 | 6f 73 71 6c 2d 2d 64 62 2d 67 65 74 2d 76 65 72 73 69 6f 6e 20 28 64 62 29 0a 20 20 28 63 61 61 | osql--db-get-version.(db)...(caa |
| 5280 | 72 20 28 65 6d 61 63 73 71 6c 20 64 62 20 5b 3a 70 72 61 67 6d 61 20 75 73 65 72 2d 76 65 72 73 | r.(emacsql.db.[:pragma.user-vers |
| 52a0 | 69 6f 6e 5d 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 6c 6f 73 71 6c 2d 2d 64 62 2d 73 65 74 2d 76 | ion])))..(defun.closql--db-set-v |
| 52c0 | 65 72 73 69 6f 6e 20 28 64 62 20 76 65 72 73 69 6f 6e 29 0a 20 20 28 63 6c 2d 61 73 73 65 72 74 | ersion.(db.version)...(cl-assert |
| 52e0 | 20 28 69 6e 74 65 67 65 72 70 20 76 65 72 73 69 6f 6e 29 29 0a 20 20 28 65 6d 61 63 73 71 6c 20 | .(integerp.version))...(emacsql. |
| 5300 | 64 62 20 5b 3a 70 72 61 67 6d 61 20 28 3d 20 75 73 65 72 2d 76 65 72 73 69 6f 6e 20 24 73 31 29 | db.[:pragma.(=.user-version.$s1) |
| 5320 | 5d 20 76 65 72 73 69 6f 6e 29 29 0a 0a 3b 3b 3b 20 4f 62 6a 65 63 74 2f 52 6f 77 20 43 6f 6e 76 | ].version))..;;;.Object/Row.Conv |
| 5340 | 65 72 73 69 6f 6e 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 63 6c 6f 73 71 6c 2d 2d 72 65 | ersion..(cl-defmethod.closql--re |
| 5360 | 6d 61 6b 65 2d 69 6e 73 74 61 6e 63 65 20 28 28 63 6c 61 73 73 20 28 73 75 62 63 6c 61 73 73 20 | make-instance.((class.(subclass. |
| 5380 | 63 6c 6f 73 71 6c 2d 6f 62 6a 65 63 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | closql-object))................. |
| 53a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 62 20 72 6f 77 20 26 6f | .......................db.row.&o |
| 53c0 | 70 74 69 6f 6e 61 6c 20 72 65 73 6f 6c 76 65 29 0a 20 20 28 70 63 61 73 65 2d 6c 65 74 2a 0a 20 | ptional.resolve)...(pcase-let*.. |
| 53e0 | 20 20 20 20 20 28 28 60 28 2c 61 62 62 72 65 76 20 2e 20 2c 76 61 6c 75 65 73 29 20 28 63 6c 6f | .....((`(,abbrev...,values).(clo |
| 5400 | 73 71 6c 2d 2d 65 78 74 65 72 6e 2d 75 6e 62 6f 75 6e 64 20 72 6f 77 29 29 0a 20 20 20 20 20 20 | sql--extern-unbound.row))....... |
| 5420 | 20 28 63 6c 61 73 73 2d 6f 62 6a 20 28 65 69 65 69 6f 2d 2d 63 6c 61 73 73 2d 6f 62 6a 65 63 74 | .(class-obj.(eieio--class-object |
| 5440 | 20 28 63 6c 6f 73 71 6c 2d 2d 65 78 70 61 6e 64 2d 61 62 62 72 65 76 20 63 6c 61 73 73 20 61 62 | .(closql--expand-abbrev.class.ab |
| 5460 | 62 72 65 76 29 29 29 0a 20 20 20 20 20 20 20 28 6f 62 6a 20 28 63 6f 70 79 2d 73 65 71 75 65 6e | brev)))........(obj.(copy-sequen |
| 5480 | 63 65 20 28 65 69 65 69 6f 2d 2d 63 6c 61 73 73 2d 64 65 66 61 75 6c 74 2d 6f 62 6a 65 63 74 2d | ce.(eieio--class-default-object- |
| 54a0 | 63 61 63 68 65 20 63 6c 61 73 73 2d 6f 62 6a 29 29 29 0a 20 20 20 20 20 20 20 28 76 61 6c 75 65 | cache.class-obj)))........(value |
| 54c0 | 73 20 28 61 70 70 6c 79 20 23 27 76 65 63 74 6f 72 20 28 63 6f 6e 73 20 64 62 20 76 61 6c 75 65 | s.(apply.#'vector.(cons.db.value |
| 54e0 | 73 29 29 29 29 0a 20 20 20 20 28 64 6f 74 69 6d 65 73 20 28 69 20 28 6c 65 6e 67 74 68 20 28 65 | s)))).....(dotimes.(i.(length.(e |
| 5500 | 69 65 69 6f 2d 2d 63 6c 61 73 73 2d 73 6c 6f 74 73 20 63 6c 61 73 73 2d 6f 62 6a 29 29 29 0a 20 | ieio--class-slots.class-obj))).. |
| 5520 | 20 20 20 20 20 28 61 73 65 74 20 6f 62 6a 20 28 31 2b 20 69 29 20 28 61 72 65 66 20 76 61 6c 75 | .....(aset.obj.(1+.i).(aref.valu |
| 5540 | 65 73 20 69 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 72 65 73 6f 6c 76 65 0a 20 20 20 20 20 20 | es.i))).....(when.resolve....... |
| 5560 | 28 63 6c 6f 73 71 6c 2d 2d 72 65 73 6f 6c 76 65 2d 73 6c 6f 74 73 20 6f 62 6a 29 29 0a 20 20 20 | (closql--resolve-slots.obj)).... |
| 5580 | 20 6f 62 6a 29 29 0a 0a 28 64 65 66 75 6e 20 63 6c 6f 73 71 6c 2d 2d 72 65 6d 61 6b 65 2d 69 6e | .obj))..(defun.closql--remake-in |
| 55a0 | 73 74 61 6e 63 65 73 20 28 63 6c 61 73 73 20 64 62 20 72 6f 77 73 29 0a 20 20 28 64 65 63 6c 61 | stances.(class.db.rows)...(decla |
| 55c0 | 72 65 20 28 69 6e 64 65 6e 74 20 64 65 66 75 6e 29 29 0a 20 20 28 6d 61 70 63 61 72 20 28 6c 61 | re.(indent.defun))...(mapcar.(la |
| 55e0 | 6d 62 64 61 20 28 72 6f 77 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 6f 73 71 6c 2d 2d | mbda.(row).............(closql-- |
| 5600 | 72 65 6d 61 6b 65 2d 69 6e 73 74 61 6e 63 65 20 63 6c 61 73 73 20 64 62 20 72 6f 77 29 29 0a 20 | remake-instance.class.db.row)).. |
| 5620 | 20 20 20 20 20 20 20 20 20 72 6f 77 73 29 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 63 | .........rows))..(cl-defmethod.c |
| 5640 | 6c 6f 73 71 6c 2d 2d 72 65 73 6f 6c 76 65 2d 73 6c 6f 74 73 20 28 28 6f 62 6a 20 63 6c 6f 73 71 | losql--resolve-slots.((obj.closq |
| 5660 | 6c 2d 6f 62 6a 65 63 74 29 29 0a 20 20 28 64 6f 6c 69 73 74 20 28 73 6c 6f 74 20 28 65 69 65 69 | l-object))...(dolist.(slot.(eiei |
| 5680 | 6f 2d 63 6c 61 73 73 2d 73 6c 6f 74 73 20 28 65 69 65 69 6f 2d 2d 6f 62 6a 65 63 74 2d 63 6c 61 | o-class-slots.(eieio--object-cla |
| 56a0 | 73 73 20 6f 62 6a 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 20 73 6c 6f 74 20 28 63 6c 2d 2d 73 | ss.obj))).....(setq..slot.(cl--s |
| 56c0 | 6c 6f 74 2d 64 65 73 63 72 69 70 74 6f 72 2d 6e 61 6d 65 20 73 6c 6f 74 29 29 0a 20 20 20 20 28 | lot-descriptor-name.slot)).....( |
| 56e0 | 77 68 65 6e 20 28 61 6e 64 20 28 6e 6f 74 20 28 73 6c 6f 74 2d 62 6f 75 6e 64 70 20 6f 62 6a 20 | when.(and.(not.(slot-boundp.obj. |
| 5700 | 73 6c 6f 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 70 72 6f | slot))................(let.((pro |
| 5720 | 70 73 20 28 63 6c 6f 73 71 6c 2d 2d 73 6c 6f 74 2d 70 72 6f 70 65 72 74 69 65 73 20 6f 62 6a 20 | ps.(closql--slot-properties.obj. |
| 5740 | 73 6c 6f 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 61 6c | slot)))..................(or.(al |
| 5760 | 69 73 74 2d 67 65 74 20 3a 63 6c 6f 73 71 6c 2d 63 6c 61 73 73 20 70 72 6f 70 73 29 0a 20 20 20 | ist-get.:closql-class.props).... |
| 5780 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6c 69 73 74 2d 67 65 74 20 3a 63 6c | ..................(alist-get.:cl |
| 57a0 | 6f 73 71 6c 2d 74 61 62 6c 65 20 70 72 6f 70 73 29 29 29 29 0a 20 20 20 20 20 20 28 63 6c 6f 73 | osql-table.props)))).......(clos |
| 57c0 | 71 6c 2d 2d 6f 73 65 74 20 6f 62 6a 20 73 6c 6f 74 20 28 63 6c 6f 73 71 6c 2d 6f 72 65 66 20 6f | ql--oset.obj.slot.(closql-oref.o |
| 57e0 | 62 6a 20 73 6c 6f 74 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 6c 6f 73 71 6c 2d 2d 69 6e 74 | bj.slot)))))..(defun.closql--int |
| 5800 | 65 72 6e 2d 75 6e 62 6f 75 6e 64 20 28 72 6f 77 29 0a 20 20 28 6d 61 70 63 61 72 20 28 6c 61 6d | ern-unbound.(row)...(mapcar.(lam |
| 5820 | 62 64 61 20 28 65 6c 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 65 71 20 65 6c | bda.(elt).............(if.(eq.el |
| 5840 | 74 20 65 69 65 69 6f 2d 2d 75 6e 62 6f 75 6e 64 29 20 27 65 69 65 69 6f 2d 75 6e 62 6f 75 6e 64 | t.eieio--unbound).'eieio-unbound |
| 5860 | 20 65 6c 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 72 6f 77 29 29 0a 0a 28 64 65 66 75 6e 20 63 | .elt))...........row))..(defun.c |
| 5880 | 6c 6f 73 71 6c 2d 2d 65 78 74 65 72 6e 2d 75 6e 62 6f 75 6e 64 20 28 72 6f 77 29 0a 20 20 28 6d | losql--extern-unbound.(row)...(m |
| 58a0 | 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 65 6c 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | apcar.(lambda.(elt)............. |
| 58c0 | 28 69 66 20 28 65 71 20 65 6c 74 20 27 65 69 65 69 6f 2d 75 6e 62 6f 75 6e 64 29 20 65 69 65 69 | (if.(eq.elt.'eieio-unbound).eiei |
| 58e0 | 6f 2d 2d 75 6e 62 6f 75 6e 64 20 65 6c 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 72 6f 77 29 29 | o--unbound.elt))...........row)) |
| 5900 | 0a 0a 28 64 65 66 75 6e 20 63 6c 6f 73 71 6c 2d 2d 63 6f 65 72 63 65 20 28 6f 62 6a 65 63 74 20 | ..(defun.closql--coerce.(object. |
| 5920 | 74 79 70 65 29 0a 20 20 28 63 6c 2d 63 6f 65 72 63 65 20 28 6c 65 74 2a 20 28 28 6c 65 6e 67 74 | type)...(cl-coerce.(let*.((lengt |
| 5940 | 68 20 28 6c 65 6e 67 74 68 20 6f 62 6a 65 63 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | h.(length.object)).............. |
| 5960 | 20 20 20 20 20 20 20 28 76 65 63 74 6f 72 20 28 6d 61 6b 65 2d 76 65 63 74 6f 72 20 6c 65 6e 67 | .......(vector.(make-vector.leng |
| 5980 | 74 68 20 2d 31 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6f 74 69 6d 65 73 | th.-1)))................(dotimes |
| 59a0 | 20 28 69 20 6c 65 6e 67 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 73 | .(i.length)..................(as |
| 59c0 | 65 74 20 76 65 63 74 6f 72 20 69 20 28 61 72 65 66 20 6f 62 6a 65 63 74 20 69 29 29 29 0a 20 20 | et.vector.i.(aref.object.i)))... |
| 59e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 76 65 63 74 6f 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 | .............vector)............ |
| 5a00 | 20 20 74 79 70 65 29 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 63 6c 6f 73 71 6c 2d 2d | ..type))..(cl-defmethod.closql-- |
| 5a20 | 61 62 62 72 65 76 2d 63 6c 61 73 73 20 28 28 63 6c 61 73 73 20 28 73 75 62 63 6c 61 73 73 20 63 | abbrev-class.((class.(subclass.c |
| 5a40 | 6c 6f 73 71 6c 2d 6f 62 6a 65 63 74 29 29 29 0a 20 20 28 6c 65 74 20 28 28 6e 61 6d 65 20 28 73 | losql-object)))...(let.((name.(s |
| 5a60 | 79 6d 62 6f 6c 2d 6e 61 6d 65 20 63 6c 61 73 73 29 29 0a 20 20 20 20 20 20 20 20 28 70 72 65 66 | ymbol-name.class)).........(pref |
| 5a80 | 69 78 20 28 6f 72 65 66 2d 64 65 66 61 75 6c 74 20 63 6c 61 73 73 20 63 6c 6f 73 71 6c 2d 63 6c | ix.(oref-default.class.closql-cl |
| 5aa0 | 61 73 73 2d 70 72 65 66 69 78 29 29 0a 20 20 20 20 20 20 20 20 28 73 75 66 66 69 78 20 28 6f 72 | ass-prefix)).........(suffix.(or |
| 5ac0 | 65 66 2d 64 65 66 61 75 6c 74 20 63 6c 61 73 73 20 63 6c 6f 73 71 6c 2d 63 6c 61 73 73 2d 73 75 | ef-default.class.closql-class-su |
| 5ae0 | 66 66 69 78 29 29 29 0a 20 20 20 20 28 69 6e 74 65 72 6e 20 28 73 75 62 73 74 72 69 6e 67 20 6e | ffix))).....(intern.(substring.n |
| 5b00 | 61 6d 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 28 69 66 20 70 | ame........................(if.p |
| 5b20 | 72 65 66 69 78 20 20 20 20 28 6c 65 6e 67 74 68 20 70 72 65 66 69 78 29 20 20 20 20 30 29 0a 20 | refix....(length.prefix)....0).. |
| 5b40 | 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 20 73 75 66 66 69 78 | ......................(if.suffix |
| 5b60 | 20 28 2d 20 28 6c 65 6e 67 74 68 20 73 75 66 66 69 78 29 29 20 6e 69 6c 29 29 29 29 29 0a 0a 28 | .(-.(length.suffix)).nil)))))..( |
| 5b80 | 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 63 6c 6f 73 71 6c 2d 2d 65 78 70 61 6e 64 2d 61 62 62 72 | cl-defmethod.closql--expand-abbr |
| 5ba0 | 65 76 20 28 28 63 6c 61 73 73 20 28 73 75 62 63 6c 61 73 73 20 63 6c 6f 73 71 6c 2d 6f 62 6a 65 | ev.((class.(subclass.closql-obje |
| 5bc0 | 63 74 29 29 20 61 62 62 72 65 76 29 0a 20 20 28 69 6e 74 65 72 6e 20 28 63 6f 6e 63 61 74 20 28 | ct)).abbrev)...(intern.(concat.( |
| 5be0 | 6f 72 65 66 2d 64 65 66 61 75 6c 74 20 63 6c 61 73 73 20 63 6c 6f 73 71 6c 2d 63 6c 61 73 73 2d | oref-default.class.closql-class- |
| 5c00 | 70 72 65 66 69 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 79 6d 62 6f | prefix)...................(symbo |
| 5c20 | 6c 2d 6e 61 6d 65 20 61 62 62 72 65 76 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | l-name.abbrev).................. |
| 5c40 | 20 28 6f 72 65 66 2d 64 65 66 61 75 6c 74 20 63 6c 61 73 73 20 63 6c 6f 73 71 6c 2d 63 6c 61 73 | .(oref-default.class.closql-clas |
| 5c60 | 73 2d 73 75 66 66 69 78 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 6c 6f 73 71 6c 2d 2d 77 68 65 | s-suffix))))..(defun.closql--whe |
| 5c80 | 72 65 2d 65 71 75 61 6c 20 28 76 61 6c 75 65 20 6f 66 66 73 65 74 29 0a 20 20 28 76 65 63 74 6f | re-equal.(value.offset)...(vecto |
| 5ca0 | 72 0a 20 20 20 28 63 6f 6e 73 20 27 61 6e 64 0a 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 61 72 | r....(cons.'and..........(mapcar |
| 5cc0 | 20 28 6c 61 6d 62 64 61 20 28 76 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .(lambda.(v).................... |
| 5ce0 | 28 69 66 20 76 0a 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 69 | (if.v........................(li |
| 5d00 | 73 74 20 27 3d 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 | st.'=........................... |
| 5d20 | 20 20 20 28 69 6e 74 65 72 6e 20 28 66 6f 72 6d 61 74 20 22 24 69 25 69 22 20 28 63 6c 2d 69 6e | ...(intern.(format."$i%i".(cl-in |
| 5d40 | 63 66 20 6f 66 66 73 65 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | cf.offset))).................... |
| 5d60 | 20 20 20 20 20 20 20 20 20 20 28 69 6e 74 65 72 6e 20 28 66 6f 72 6d 61 74 20 22 24 73 25 69 22 | ..........(intern.(format."$s%i" |
| 5d80 | 20 28 63 6c 2d 69 6e 63 66 20 6f 66 66 73 65 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 | .(cl-incf.offset))))............ |
| 5da0 | 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 27 69 73 6e 75 6c 6c 0a 20 20 20 20 20 20 20 20 | ..........(list.'isnull......... |
| 5dc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 74 65 72 6e 20 28 66 6f 72 6d | ...................(intern.(form |
| 5de0 | 61 74 20 22 24 69 25 69 22 20 28 31 2d 20 28 63 6c 2d 69 6e 63 66 20 6f 66 66 73 65 74 20 32 29 | at."$i%i".(1-.(cl-incf.offset.2) |
| 5e00 | 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 29 29 29 | ))))))..................value))) |
| 5e20 | 29 0a 0a 28 64 65 66 75 6e 20 63 6c 6f 73 71 6c 2d 77 68 65 72 65 2d 63 6c 61 73 73 2d 69 6e 20 | )..(defun.closql-where-class-in. |
| 5e40 | 28 61 72 67 73 20 26 6f 70 74 69 6f 6e 61 6c 20 64 62 29 0a 20 20 28 77 68 65 6e 20 28 73 79 6d | (args.&optional.db)...(when.(sym |
| 5e60 | 62 6f 6c 70 20 61 72 67 73 29 0a 20 20 20 20 28 73 65 74 71 20 61 72 67 73 20 28 6c 69 73 74 20 | bolp.args).....(setq.args.(list. |
| 5e80 | 61 72 67 73 29 29 29 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 28 76 65 63 74 6f 72 70 20 61 72 67 | args)))...(cond....((vectorp.arg |
| 5ea0 | 73 29 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 64 62 0a 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 | s).....(unless.db.......(error." |
| 5ec0 | 63 6c 6f 73 71 6c 2d 77 68 65 72 65 2d 63 6c 61 73 73 2d 69 6e 3a 20 44 42 20 63 61 6e 6e 6f 74 | closql-where-class-in:.DB.cannot |
| 5ee0 | 20 62 65 20 6e 69 6c 20 69 66 20 41 52 47 53 20 69 73 20 61 20 76 65 63 74 6f 72 22 29 29 0a 20 | .be.nil.if.ARGS.is.a.vector")).. |
| 5f00 | 20 20 20 28 6c 65 74 20 28 28 63 6c 61 73 73 20 28 6f 72 65 66 2d 64 65 66 61 75 6c 74 20 64 62 | ...(let.((class.(oref-default.db |
| 5f20 | 20 6f 62 6a 65 63 74 2d 63 6c 61 73 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 61 62 62 72 65 | .object-class))...........(abbre |
| 5f40 | 76 73 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 28 6d 61 70 63 20 28 6c 61 6d 62 64 61 20 28 61 72 | vs.nil)).......(mapc.(lambda.(ar |
| 5f60 | 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 73 74 72 20 28 73 79 6d | g)...............(let.((str.(sym |
| 5f80 | 62 6f 6c 2d 6e 61 6d 65 20 61 72 67 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | bol-name.arg)))................. |
| 5fa0 | 28 75 6e 6c 65 73 73 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5c 5c 60 5c 5c 28 21 5c 5c | (unless.(string-match."\\`\\(!\\ |
| 5fc0 | 29 3f 5c 5c 28 5b 5e 2a 5d 2b 5c 5c 29 5c 5c 28 5c 5c 2a 5c 5c 29 3f 5c 5c 27 22 20 73 74 72 29 | )?\\([^*]+\\)\\(\\*\\)?\\'".str) |
| 5fe0 | 0a 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 60 63 6c 6f 73 | ...................(error."`clos |
| 6000 | 71 6c 2d 77 68 65 72 65 2d 63 6c 61 73 73 2d 69 6e 27 3a 20 69 6e 76 61 6c 69 64 20 74 79 70 65 | ql-where-class-in':.invalid.type |
| 6020 | 3a 20 25 73 22 20 61 72 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 | :.%s".arg)).................(let |
| 6040 | 2a 20 28 28 65 78 63 6c 75 64 65 20 28 6d 61 74 63 68 2d 62 65 67 69 6e 6e 69 6e 67 20 31 29 29 | *.((exclude.(match-beginning.1)) |
| 6060 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 20 28 69 6e 74 65 | ........................(a.(inte |
| 6080 | 72 6e 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 32 20 73 74 72 29 29 29 0a 20 20 20 20 20 20 | rn.(match-string.2.str)))....... |
| 60a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 20 28 63 6f 6e 64 20 28 28 6d 61 74 63 | .................(a.(cond.((matc |
| 60c0 | 68 2d 62 65 67 69 6e 6e 69 6e 67 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | h-beginning.3).................. |
| 60e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 6f 73 71 6c 2d 2d 6c 69 73 74 2d 73 75 | ................(closql--list-su |
| 6100 | 62 61 62 62 72 65 76 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | babbrevs........................ |
| 6120 | 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 6f 73 71 6c 2d 2d 65 78 70 61 6e 64 2d 61 62 62 72 65 | ...........(closql--expand-abbre |
| 6140 | 76 20 63 6c 61 73 73 20 61 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | v.class.a))).................... |
| 6160 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 6e 6f 74 20 28 63 6c 61 73 73 2d 61 62 73 74 72 61 | .............((not.(class-abstra |
| 6180 | 63 74 2d 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 | ct-p............................ |
| 61a0 | 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 6f 73 71 6c 2d 2d 65 78 70 61 6e 64 2d 61 62 62 72 | ............(closql--expand-abbr |
| 61c0 | 65 76 20 63 6c 61 73 73 20 61 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ev.class.a)))................... |
| 61e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 61 29 29 29 29 29 0a 20 20 20 20 | ...............(list.a)))))..... |
| 6200 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 61 62 62 72 65 76 73 0a 20 20 20 20 | ..............(setq.abbrevs..... |
| 6220 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 65 78 63 6c 75 64 65 0a | ....................(if.exclude. |
| 6240 | 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 63 6c 2d | ............................(cl- |
| 6260 | 73 65 74 2d 64 69 66 66 65 72 65 6e 63 65 20 61 62 62 72 65 76 73 20 61 29 0a 20 20 20 20 20 20 | set-difference.abbrevs.a)....... |
| 6280 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 63 6f 6e 63 20 61 62 62 72 65 | ....................(nconc.abbre |
| 62a0 | 76 73 20 61 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 72 67 73 29 0a 20 20 20 | vs.a)))))).............args).... |
| 62c0 | 20 20 20 28 76 63 6f 6e 63 61 74 20 61 62 62 72 65 76 73 29 29 29 0a 20 20 20 28 28 76 63 6f 6e | ...(vconcat.abbrevs)))....((vcon |
| 62e0 | 63 61 74 0a 20 20 20 20 20 28 6d 61 70 63 61 72 20 23 27 63 6c 6f 73 71 6c 2d 2d 61 62 62 72 65 | cat......(mapcar.#'closql--abbre |
| 6300 | 76 2d 63 6c 61 73 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 61 6e 20 28 6c 61 | v-class..............(mapcan.(la |
| 6320 | 6d 62 64 61 20 28 73 79 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | mbda.(sym)...................... |
| 6340 | 20 20 28 6c 65 74 20 28 28 73 74 72 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 73 79 6d 29 29 29 | ..(let.((str.(symbol-name.sym))) |
| 6360 | 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 63 6f 6e 64 20 | ..........................(cond. |
| 6380 | 28 28 73 74 72 69 6e 67 2d 73 75 66 66 69 78 2d 70 20 22 2d 2d 65 69 65 69 6f 2d 63 68 69 6c 64 | ((string-suffix-p."--eieio-child |
| 63a0 | 70 22 20 73 74 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 20 20 | p".str)......................... |
| 63c0 | 20 20 20 20 20 20 20 20 28 63 6c 6f 73 71 6c 2d 2d 6c 69 73 74 2d 73 75 62 63 6c 61 73 73 65 73 | ........(closql--list-subclasses |
| 63e0 | 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 | ................................ |
| 6400 | 20 20 28 69 6e 74 65 72 6e 20 28 73 75 62 73 74 72 69 6e 67 20 73 74 72 20 30 20 2d 31 34 29 29 | ..(intern.(substring.str.0.-14)) |
| 6420 | 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 20 20 20 20 20 20 | .nil)).......................... |
| 6440 | 20 20 20 20 20 20 28 28 73 74 72 69 6e 67 2d 73 75 66 66 69 78 2d 70 20 22 2d 70 22 20 73 74 72 | ......((string-suffix-p."-p".str |
| 6460 | 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 | )............................... |
| 6480 | 20 20 28 6c 69 73 74 20 28 69 6e 74 65 72 6e 20 28 73 75 62 73 74 72 69 6e 67 20 73 74 72 20 30 | ..(list.(intern.(substring.str.0 |
| 64a0 | 20 2d 32 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 | .-2))))......................... |
| 64c0 | 20 20 20 20 20 20 20 28 28 6c 69 73 74 20 73 79 6d 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 | .......((list.sym))))).......... |
| 64e0 | 20 20 20 20 20 20 20 20 20 20 20 20 61 72 67 73 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 | ............args))))))..(defun.c |
| 6500 | 6c 6f 73 71 6c 2d 2d 6c 69 73 74 2d 73 75 62 63 6c 61 73 73 65 73 20 28 63 6c 61 73 73 20 26 6f | losql--list-subclasses.(class.&o |
| 6520 | 70 74 69 6f 6e 61 6c 20 72 65 73 75 6c 74 29 0a 20 20 28 75 6e 6c 65 73 73 20 28 63 6c 61 73 73 | ptional.result)...(unless.(class |
| 6540 | 2d 61 62 73 74 72 61 63 74 2d 70 20 63 6c 61 73 73 29 0a 20 20 20 20 28 63 6c 2d 70 75 73 68 6e | -abstract-p.class).....(cl-pushn |
| 6560 | 65 77 20 63 6c 61 73 73 20 72 65 73 75 6c 74 29 29 0a 20 20 28 64 6f 6c 69 73 74 20 28 63 68 69 | ew.class.result))...(dolist.(chi |
| 6580 | 6c 64 20 28 65 69 65 69 6f 2d 2d 63 6c 61 73 73 2d 63 68 69 6c 64 72 65 6e 20 28 63 6c 2d 2d 66 | ld.(eieio--class-children.(cl--f |
| 65a0 | 69 6e 64 2d 63 6c 61 73 73 20 63 6c 61 73 73 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 72 65 73 | ind-class.class))).....(setq.res |
| 65c0 | 75 6c 74 20 28 63 6c 6f 73 71 6c 2d 2d 6c 69 73 74 2d 73 75 62 63 6c 61 73 73 65 73 20 63 68 69 | ult.(closql--list-subclasses.chi |
| 65e0 | 6c 64 20 72 65 73 75 6c 74 29 29 29 0a 20 20 72 65 73 75 6c 74 29 0a 0a 28 63 6c 2d 64 65 66 6d | ld.result)))...result)..(cl-defm |
| 6600 | 65 74 68 6f 64 20 63 6c 6f 73 71 6c 2d 2d 6c 69 73 74 2d 73 75 62 61 62 62 72 65 76 73 20 28 28 | ethod.closql--list-subabbrevs.(( |
| 6620 | 63 6c 61 73 73 20 28 73 75 62 63 6c 61 73 73 20 63 6c 6f 73 71 6c 2d 6f 62 6a 65 63 74 29 29 0a | class.(subclass.closql-object)). |
| 6640 | 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 | ................................ |
| 6660 | 20 20 20 20 20 20 20 26 6f 70 74 69 6f 6e 61 6c 20 77 69 6c 64 63 61 72 64 73 29 0a 20 20 28 73 | .......&optional.wildcards)...(s |
| 6680 | 6f 72 74 20 28 6e 61 6d 65 64 2d 6c 65 74 20 74 79 70 65 73 20 28 28 63 6c 61 73 73 20 63 6c 61 | ort.(named-let.types.((class.cla |
| 66a0 | 73 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 63 68 69 6c 64 72 65 6e 20 28 | ss))...........(let.((children.( |
| 66c0 | 65 69 65 69 6f 2d 2d 63 6c 61 73 73 2d 63 68 69 6c 64 72 65 6e 20 28 63 6c 2d 2d 66 69 6e 64 2d | eieio--class-children.(cl--find- |
| 66e0 | 63 6c 61 73 73 20 63 6c 61 73 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b | class.class))).................; |
| 6700 | 3b 20 41 6e 20 61 62 73 74 72 61 63 74 20 62 61 73 65 2d 63 6c 61 73 73 20 6d 61 79 20 76 69 6f | ;.An.abstract.base-class.may.vio |
| 6720 | 6c 61 74 65 20 69 74 73 20 6f 77 6e 20 6e 61 6d 69 6e 67 20 72 75 6c 65 73 2e 0a 20 20 20 20 20 | late.its.own.naming.rules....... |
| 6740 | 20 20 20 20 20 20 20 20 20 20 20 28 61 62 62 72 65 76 20 28 69 67 6e 6f 72 65 2d 65 72 72 6f 72 | ...........(abbrev.(ignore-error |
| 6760 | 73 20 28 63 6c 6f 73 71 6c 2d 2d 61 62 62 72 65 76 2d 63 6c 61 73 73 20 63 6c 61 73 73 29 29 29 | s.(closql--abbrev-class.class))) |
| 6780 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 63 6f 6e 63 20 28 61 6e 64 20 28 6e 6f 74 20 28 | ).............(nconc.(and.(not.( |
| 67a0 | 63 6c 61 73 73 2d 61 62 73 74 72 61 63 74 2d 70 20 63 6c 61 73 73 29 29 20 28 6c 69 73 74 20 61 | class-abstract-p.class)).(list.a |
| 67c0 | 62 62 72 65 76 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 | bbrev))....................(and. |
| 67e0 | 77 69 6c 64 63 61 72 64 73 20 63 68 69 6c 64 72 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | wildcards.children.............. |
| 6800 | 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 69 66 20 61 62 62 72 65 76 20 28 69 6e 74 | ...........(list.(if.abbrev.(int |
| 6820 | 65 72 6e 20 28 66 6f 72 6d 61 74 20 22 25 73 2a 22 20 61 62 62 72 65 76 29 29 20 27 2a 29 29 29 | ern.(format."%s*".abbrev)).'*))) |
| 6840 | 0a 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 6e 20 23 27 74 79 | ....................(mapcan.#'ty |
| 6860 | 70 65 73 20 63 68 69 6c 64 72 65 6e 29 29 29 29 0a 20 20 20 20 20 20 20 20 23 27 73 74 72 69 6e | pes.children)))).........#'strin |
| 6880 | 67 3c 29 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 63 6c 6f 73 71 6c 2d 2d 73 65 74 2d | g<))..(cl-defmethod.closql--set- |
| 68a0 | 6f 62 6a 65 63 74 2d 63 6c 61 73 73 20 28 28 64 62 20 63 6c 6f 73 71 6c 2d 64 61 74 61 62 61 73 | object-class.((db.closql-databas |
| 68c0 | 65 29 20 6f 62 6a 20 63 6c 61 73 73 29 0a 20 20 28 6c 65 74 2a 20 28 28 74 61 62 6c 65 20 28 6f | e).obj.class)...(let*.((table.(o |
| 68e0 | 72 65 66 2d 64 65 66 61 75 6c 74 20 6f 62 6a 20 63 6c 6f 73 71 6c 2d 74 61 62 6c 65 29 29 0a 20 | ref-default.obj.closql-table)).. |
| 6900 | 20 20 20 20 20 20 20 20 28 6b 65 79 20 20 20 28 6f 72 65 66 2d 64 65 66 61 75 6c 74 20 6f 62 6a | ........(key...(oref-default.obj |
| 6920 | 20 63 6c 6f 73 71 6c 2d 70 72 69 6d 61 72 79 2d 6b 65 79 29 29 0a 20 20 20 20 20 20 20 20 20 28 | .closql-primary-key))..........( |
| 6940 | 69 64 20 20 20 20 28 63 6c 6f 73 71 6c 2d 2d 6f 72 65 66 20 6f 62 6a 20 6b 65 79 29 29 29 0a 20 | id....(closql--oref.obj.key))).. |
| 6960 | 20 20 20 28 61 73 65 74 20 6f 62 6a 20 30 0a 20 20 20 20 20 20 20 20 20 20 28 61 72 65 66 20 28 | ...(aset.obj.0...........(aref.( |
| 6980 | 63 6f 70 79 2d 73 65 71 75 65 6e 63 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | copy-sequence..................( |
| 69a0 | 65 69 65 69 6f 2d 2d 63 6c 61 73 73 2d 64 65 66 61 75 6c 74 2d 6f 62 6a 65 63 74 2d 63 61 63 68 | eieio--class-default-object-cach |
| 69c0 | 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 69 65 69 6f 2d 2d 63 6c 61 73 | e...................(eieio--clas |
| 69e0 | 73 2d 6f 62 6a 65 63 74 20 63 6c 61 73 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | s-object.class)))............... |
| 6a00 | 20 20 30 29 29 0a 20 20 20 20 28 65 6d 61 63 73 71 6c 20 64 62 20 5b 3a 75 70 64 61 74 65 20 24 | ..0)).....(emacsql.db.[:update.$ |
| 6a20 | 69 31 20 3a 73 65 74 20 28 3d 20 63 6c 61 73 73 20 24 73 32 29 20 3a 77 68 65 72 65 20 28 3d 20 | i1.:set.(=.class.$s2).:where.(=. |
| 6a40 | 24 69 33 20 24 73 34 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 74 61 62 6c 65 0a 20 20 20 | $i3.$s4)]..............table.... |
| 6a60 | 20 20 20 20 20 20 20 20 20 20 28 63 6c 6f 73 71 6c 2d 2d 61 62 62 72 65 76 2d 63 6c 61 73 73 20 | ..........(closql--abbrev-class. |
| 6a80 | 63 6c 61 73 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 6b 65 79 20 69 64 29 29 29 0a 0a 3b | class)..............key.id)))..; |
| 6aa0 | 3b 3b 20 55 74 69 6c 69 74 69 65 73 0a 0a 28 64 65 66 75 6e 20 63 6c 6f 73 71 6c 2d 66 6f 72 6d | ;;.Utilities..(defun.closql-form |
| 6ac0 | 61 74 20 28 6f 62 6a 65 63 74 20 73 74 72 69 6e 67 20 26 72 65 73 74 20 73 6c 6f 74 73 29 0a 20 | at.(object.string.&rest.slots).. |
| 6ae0 | 20 22 46 6f 72 6d 61 74 20 61 20 73 74 72 69 6e 67 20 6f 75 74 20 6f 66 20 61 20 66 6f 72 6d 61 | ."Format.a.string.out.of.a.forma |
| 6b00 | 74 20 53 54 52 49 4e 47 20 61 6e 64 20 61 6e 20 4f 42 4a 45 43 54 27 73 20 53 4c 4f 54 53 2e 0a | t.STRING.and.an.OBJECT's.SLOTS.. |
| 6b20 | 0a 53 54 52 49 4e 47 20 69 73 20 61 20 66 6f 72 6d 61 74 2d 73 74 72 69 6e 67 20 6c 69 6b 65 20 | .STRING.is.a.format-string.like. |
| 6b40 | 66 6f 72 20 60 66 6f 72 6d 61 74 27 2e 20 20 4f 42 4a 45 43 54 20 69 73 20 61 6e 20 45 69 65 69 | for.`format'...OBJECT.is.an.Eiei |
| 6b60 | 6f 0a 6f 62 6a 65 63 74 20 61 6e 64 20 53 4c 4f 54 53 20 61 72 65 20 73 6c 6f 74 73 20 6f 66 20 | o.object.and.SLOTS.are.slots.of. |
| 6b80 | 74 68 61 74 20 6f 62 6a 65 63 74 2c 20 74 68 65 69 72 20 76 61 6c 75 65 73 20 61 72 65 20 75 73 | that.object,.their.values.are.us |
| 6ba0 | 65 64 0a 6c 69 6b 65 20 60 66 6f 72 6d 61 74 27 20 75 73 65 73 20 69 74 73 20 4f 42 4a 45 43 54 | ed.like.`format'.uses.its.OBJECT |
| 6bc0 | 53 20 61 72 67 75 6d 65 6e 74 73 20 28 77 68 69 63 68 20 61 72 65 20 75 6e 72 65 6c 61 74 65 64 | S.arguments.(which.are.unrelated |
| 6be0 | 20 74 6f 0a 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 4f 42 4a 45 43 54 20 61 72 67 75 6d | .to.this.function's.OBJECT.argum |
| 6c00 | 65 6e 74 2c 20 74 68 65 79 20 6a 75 73 74 20 68 61 76 65 20 73 69 6d 69 6c 61 72 20 6e 61 6d 65 | ent,.they.just.have.similar.name |
| 6c20 | 73 29 2e 0a 0a 57 68 69 6c 65 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 64 6f 65 73 20 6e 6f | s)...While.this.function.does.no |
| 6c40 | 74 20 68 61 76 65 20 6d 75 63 68 20 74 6f 20 64 6f 20 77 69 74 68 20 74 68 65 20 70 75 72 70 6f | t.have.much.to.do.with.the.purpo |
| 6c60 | 73 65 20 6f 66 0a 60 63 6c 6f 73 71 6c 27 2c 20 69 74 20 69 73 20 62 65 69 6e 67 20 64 65 66 69 | se.of.`closql',.it.is.being.defi |
| 6c80 | 6e 65 64 20 68 65 72 65 20 61 6e 79 77 61 79 20 62 65 63 61 75 73 65 20 45 69 65 69 6f 20 64 6f | ned.here.anyway.because.Eieio.do |
| 6ca0 | 65 73 20 6e 6f 74 0a 64 65 66 69 6e 65 20 61 20 73 69 6d 69 6c 61 72 20 66 75 6e 63 74 69 6f 6e | es.not.define.a.similar.function |
| 6cc0 | 20 75 6e 64 65 72 20 61 20 6d 6f 72 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 6e 61 6d 65 20 73 | .under.a.more.appropriate.name.s |
| 6ce0 | 75 63 68 20 61 73 0a 60 65 69 65 69 6f 2d 66 6f 72 6d 61 74 27 2e 22 0a 20 20 28 61 70 70 6c 79 | uch.as.`eieio-format'."...(apply |
| 6d00 | 20 23 27 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 61 | .#'format.string..........(mapca |
| 6d20 | 72 20 28 6c 61 6d 62 64 61 20 28 73 6c 6f 74 29 20 28 65 69 65 69 6f 2d 6f 72 65 66 20 6f 62 6a | r.(lambda.(slot).(eieio-oref.obj |
| 6d40 | 65 63 74 20 73 6c 6f 74 29 29 20 73 6c 6f 74 73 29 29 29 0a 0a 3b 3b 3b 20 5f 0a 28 70 72 6f 76 | ect.slot)).slots)))..;;;._.(prov |
| 6d60 | 69 64 65 20 27 63 6c 6f 73 71 6c 29 0a 3b 3b 20 4c 6f 63 61 6c 20 56 61 72 69 61 62 6c 65 73 3a | ide.'closql).;;.Local.Variables: |
| 6d80 | 0a 3b 3b 20 69 6e 64 65 6e 74 2d 74 61 62 73 2d 6d 6f 64 65 3a 20 6e 69 6c 0a 3b 3b 20 45 6e 64 | .;;.indent-tabs-mode:.nil.;;.End |
| 6da0 | 3a 0a 3b 3b 3b 20 63 6c 6f 73 71 6c 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 | :.;;;.closql.el.ends.here....... |
| 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 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6e20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6e40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6e60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6e80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6ea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6ec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6ee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6f00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6f20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6f40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6f60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6f80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6fa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6fc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6fe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7000 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 70a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 70c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 70e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 71a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 71c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 71e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7200 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 72a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 72c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 72e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 73a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 73c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 73e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7400 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7420 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7460 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 74a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 74c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 74e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 75a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 75c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 75e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 76a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 76c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 76e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 77a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 77c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 77e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |