;ELC   
;;; Compiled
;;; in Emacs version 29.3
;;; with all optimizations.



(byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\210\300\305!\210\300\306!\210\300\307!\207" [require compat cond-let eieio eieio-base emacsql emacsql-sqlite llama] 2)#@22 

(fn DB &rest BODY)
(defalias 'closql-with-transaction '(macro . #[385 "\300\301\302BBBB\207" [emacsql-with-transaction oref (connection)] 6 (#$ . 263)]))
(byte-code "\300\301\302\303#\304\305\306\307!\"\210\304\310\311\307!\"\210\304\312\310\"\210\313\312\314\315#\210\316\307\317\310#\320\307\321\322\323$\207" [function-put closql-with-transaction lisp-indent-function 1 defalias closql-object-p eieio-make-class-predicate closql-object closql-object--eieio-childp eieio-make-child-predicate closql-object-child-p make-obsolete "use (cl-typep ... 'closql-object) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal nil ((closql-class-prefix :initform nil :allocation :class) (closql-class-suffix :initform nil :allocation :class) (closql-table :initform nil :allocation :class) (closql-primary-key :initform nil :allocation :class) (closql-foreign-key :initform nil :allocation :class) (closql-order-by :initform nil :allocation :class) (closql-database :initform nil :initarg :closql-database)) (:abstract t)] 7)#@71 You cannot create a new object of type `closql-object'.

(fn &rest _)
(defalias 'closql-object #[128 "\300\301!\207" [error "Class closql-object is abstract"] 3 (#$ . 1316)])#@12 

(fn OBJ)
(defalias 'closql--closql-object-p #[257 "\300K\301\302\"\216\300\303M\210\304!)\207" [eieio--full-class-object make-closure #[0 "\301\300M\207" [V0 eieio--full-class-object] 2] eieio--class-object closql-object--eieio-childp] 5 (#$ . 1496)])#@75 If OBJ is a `closql-object', delegate to `closql-oref'.

(fn FN OBJ SLOT)
(defalias 'eieio-oref@closql-object #[771 "\300!\203 \301\"\207\"\207" [closql--closql-object-p closql-oref] 6 (#$ . 1757)])
(advice-add 'eieio-oref :around 'eieio-oref@closql-object)#@17 

(fn OBJ SLOT)
(defalias 'closql--oref #[514 "\300\211\211\301H\262\2119\203 \211\302N\206 \262\202 \211\266\202\"H\207" [eieio--slot-name-index 0 cl--class] 8 (#$ . 2027)])#@19 

(fn CLASS SLOT)
(defalias 'closql--oref-default #[514 "9\203 \300N\202% \211\211\301H\262\2119\203\" \211\300N\206# \262\202% \211\266\202\211\302H\303\"H\207" [cl--class 0 9 eieio--class-slot-name-index] 7 (#$ . 2215)])#@17 

(fn OBJ SLOT)
(defalias 'closql-oref #[514 "\2119\204 \301\302\303\304E\"\210\211\211\305H\262\2119\203$ \211\306N\206% \262\202' \211\266\202\3072e \310\"\211\203L \311\307H\211=\203G \312\"\202H \211\262\"\210\210\313\"\211\203^ \311\307\314HH\"\210\210\315\316#0\207" [eieio--unbound signal wrong-type-argument symbol slot 0 cl--class #1=#::cond-let115 eieio--slot-name-index throw closql-dref eieio--class-slot-name-index 9 slot-missing oref] 10 (#$ . 2451)])
(byte-code "\300\301\302\301\303\304#\305#\210\306\301\304\303\304\307%\207" [defalias closql-dref cl-generic-define (obj slot) nil "\n\n(fn OBJ SLOT)" cl-generic-define-method #[514 "\300\211\211\301H\262\2119\203 \211\302N\206 \262\202 \211\266\202\"\303\304\"\305\"\3062'\307\310\"\211\203o \311\306\312\313\n\314\315\316\317\320\321\322\323\324\325\"\206O \326&\324\327\"\324\f\330\"\303\324\331\"\"\324\331\"&#I\"\210\210\307\332\"\211\203\255 \311\306\333\"\334\335\336\"\203\216 \337\202\217 \340\313\n\341\n@\303\324\331\"\"\nA@&\"I\262\"\210\210\307\342\"\211\203\311\306\242\243\211\242\243\n\334\340\313\343\344\345\346\"!	\f\344\345\347\"!\344\345\347\"!\344\345\350\324\327\"#!\303\324\331\"\"\303\351\"&\n\"I\266\204\"\210\210\352\211\211\211\301H\262\2119\203\211\302N\206 \262\202\"\211\266\202\353$0\207" [eieio--slot-name-index 0 cl--class closql--oref closql-database closql--slot-properties #::cond-let116 alist-get :closql-class throw closql--remake-instances emacsql vector :select * :from $i1 :where (= $i2 $s3) :order-by closql--oref-default closql-order-by [(asc $i4)] closql-table closql-foreign-key closql-primary-key :closql-table closql--table-columns mapcar length= 2 cadr cdr [:select * :from $i1 :where (= $i2 $s3) :order-by [(asc $i4)]] :closql-tables [:select $i1 :from $i2 :join $i3 :on (= $i4 $i5) :where (= $i6 $s7) :order-by [(asc id)]] intern format "%s:*" "%s:id" "%s:%s" id slot-unbound oref] 31 "\n\n(fn OBJ SLOT)"]] 6)#@81 If OBJ is a `closql-object', delegate to `closql-oset'.

(fn FN OBJ SLOT VALUE)
(defalias 'eieio-oset@closql-object #[1028 "\300!\203\f \301#\207#\207" [closql--closql-object-p closql-oset] 8 (#$ . 4495)])
(advice-add 'eieio-oset :around 'eieio-oset@closql-object)#@23 

(fn OBJ SLOT VALUE)
(defalias 'closql--oset #[771 "\300\211\211\301H\262\2119\203 \211\302N\206 \262\202 \211\266\202\"I\207" [eieio--slot-name-index 0 cl--class] 9 (#$ . 4773)])#@23 

(fn OBJ SLOT VALUE)
(defalias 'closql-oset #[771 "9\204 \300\301\302\303E\"\210\211\211\304H\262\2119\203$ \211\305N\206% \262\202' \211\266\202\3062\202 \307\"\211\203] \310\306\311	$\210\312=\204U \313\312\"\203U \314#\210I\"\210\210\315\"\211\203z \310\306\316	$\210\317HI\"\210\210\320\321$0\207" [signal wrong-type-argument symbol slot 0 cl--class #1=#::cond-let121 eieio--slot-name-index throw eieio--validate-slot-value closql-database closql--oref closql-dset eieio--class-slot-name-index eieio--validate-class-slot-value 9 slot-missing oset] 12 (#$ . 4968)])
(byte-code "\300\301\302\301\303\304#\305#\210\306\301\304\303\304\307%\207" [defalias closql-dset cl-generic-define (obj slot value &optional drop-unknown) nil "\n\n(fn OBJ SLOT VALUE &optional DROP-UNKNOWN)" cl-generic-define-method #[1027 "\302\303\"\304\305\"\302\"\306\"\3072\306\310\311\"\203% \312\307\313\314!\"\210\310\315\"\310\316\"\2062 \211@\211\203\245\312\307\317\320\"\321CT\321\322\323#\216\242\204\240\3241\223\325U\203_ \326\327\"\210\330\f\"\331	#\210\332\"\321\211\f\203\227 \333\334\"\262\333@:\204\216 \335\202\217 \336\"\262\202\252 \337\340\"\203\252 \333\335\"\262\333\335\"\262\341\342\343\344\345%\262\341\342\343\344\345%\262@\262@\262\204\314 \211\205w@@\203\203\336 \231\203\346\326\347\350\351\352\353\fB\325\"$\354\335\fB#%\210A\262\266\202\274 \230\2039\232\204,\355\322\356\n&AAAA$\210A\262A\262\266\202\274 \203_\3571U\326\360\361B!$0\210\202V\210A\262\266\202\274 \326\362\361B!$\210A\262\266\202\274 \266\204\262\211\262\325U\203\211\326\363\"\210\364\240\2620\210\202K \210\326\365\"\210\366\367!\210\202K *\266\203\"\210\210\326\370\304\f\371\"	=\203\273\372\202\275		&\2620\207" [emacsql--transaction-level eieio--unbound closql--oref closql-database eieio-oref-default closql-primary-key closql--slot-properties #::cond-let122 alist-get :closql-class throw error "Not implemented for closql-class slots: oset" :closql-tables :closql-table eieio-oref connection nil make-closure #[0 "\n\303U\205 \300\242?\205 \304\301\305\"\207" [V0 V1 emacsql--transaction-level 1 emacsql [:rollback]] 3] (emacsql-locked) 1 emacsql [:begin] closql--table-columns closql--oset closql-oref mapcar #[257 "\211@C\207" #1=[] 2 "\n\n(fn %)"] list #[257 "\211@C\207" #1# 2 "\n\n(fn %)"] length= 2 compat--sort :lessp string< :key car apply vector :delete-from $i1 :where closql--where-equal cl-mapcan cl-mapc #[771 "\232?\205 \305\304\306\302\301@\303\301A@\300&	\207" [V0 V1 V2 V3 V4 emacsql [:update $i1 :set (= $i2 $s3) :where (and (= $i4 $s5) (= $i6 $s7))]] 13 "\n\n(fn COL VAL1 VAL2)"] (error) [:insert-into $i1 :values $v2] vconcat [:insert-into $i1 :values $v2] [:commit] t [:rollback] sleep-for 0.05 [:update $i1 :set (= $i2 $s3) :where (= $i4 $s5)] closql-table eieio-unbound] 33 "\n\n(fn OBJ SLOT VALUE &optional DROP-UNKNOWN)"]] 6)#@29 

(fn OBJECT-OR-CLASS SLOT)
(defalias 'closql--slot-properties #[514 "\301\302!\303\304$\211\205 \305!>\204 \306\307\310D\"\210\211\311H\207" [cl-struct-cl-slot-descriptor-tags cl-find closql--object-slots :key cl--slot-descriptor-name type-of signal wrong-type-argument cl-slot-descriptor 4] 7 (#$ . 8017)])#@24 

(fn OBJECT-OR-CLASS)
(defalias 'closql--object-slots #[257 "\301\302!\203$ \211\211\303H\262\2119\203 \211\304N\206 \262\2024 \211\266\202\2024 \305!>\2030 \2024 \306\307\"!\207" [cl-struct-eieio--class-tags eieio-class-slots eieio-object-p 0 cl--class type-of find-class error] 6 (#$ . 8338)])
(defconst closql--slot-properties '(:closql-class :closql-table :closql-tables))#@115 Handle additional slot properties used by `closql-object' derived classes.

(fn CNAME SUPERCLASSES SLOTS OPTIONS)
(defalias 'eieio-defclass-internal@closql-object #[1028 "\302N\211\205 \303\304\"\211\205y \211\205w \211@\211\242\243\305\306\307H\310\"\311\312$\211\203n \211@\313\"\211\203f \314!	>\204E \315\316\317D\"\210\307H\236\211\203V \211\241\266\202g \307B\211\262\307HBI\266\210A\266\202\202' \266A\266\202\202 \262\207" [closql--slot-properties cl-struct-cl-slot-descriptor-tags cl--class child-of-class-p closql-object cl-find cl-coerce 4 list :key #[257 "\211\300H\207" [1] 3 "\n\n(fn ELT)"] plist-get type-of signal wrong-type-argument cl-slot-descriptor] 20 (#$ . 8732)])
(advice-add 'eieio-defclass-internal :after 'eieio-defclass-internal@closql-object)#@98 Handle additional slot properties used by `closql-object' derived classes.

(fn OLD NEW SKIPNIL)
(defalias 'eieio--slot-override@closql-object #[771 "\211\205^ \211@\302\303!	>\204 \304\305\306D\"\210\307H\"\211\203V \303!	>\2043 \304\305\306D\"\210\307H\236\211\203E \211\241\266\202W \307B\211\262	\307HBI\266\210A\266\202\202 \207" [closql--slot-properties cl-struct-cl-slot-descriptor-tags alist-get type-of signal wrong-type-argument cl-slot-descriptor 4] 12 (#$ . 9538)])
(byte-code "\300\301\302\303#\210\304\305\306\307!\"\210\304\310\311\307!\"\210\304\312\310\"\210\313\312\314\315#\210\316\307\317\310#\320\307\321\322\323$\207" [advice-add eieio--slot-override :after eieio--slot-override@closql-object defalias closql-database-p eieio-make-class-predicate closql-database closql-database--eieio-childp eieio-make-child-predicate closql-database-child-p make-obsolete "use (cl-typep ... 'closql-database) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (eieio-singleton) ((name :initform nil :allocation :class) (object-class :initform nil :allocation :class) (file :initform nil :allocation :class) (schemata :initform nil :allocation :class) (version :initform nil :allocation :class) (disabled :initform nil :allocation :class) (connection :initform nil :initarg :connection)) (:abstract t)] 6)#@73 You cannot create a new object of type `closql-database'.

(fn &rest _)
(defalias 'closql-database #[128 "\300\301!\207" [error "Class closql-database is abstract"] 3 (#$ . 10911)])
(byte-code "\300\301\302\303\302\304%\210\300\305\302\306\302\307%\210\300\310\302\311\302\312%\210\300\313\302\314\302\315%\210\300\316\302\317\302\320%\210\300\321\302\322\302\323%\210\300\324\302\325\302\326%\210\300\327\302\330\302\331%\210\300\332\302\333\302\334%\210\300\335\302\336\302\337%\210\300\340\302\341\302\342%\210\300\343\302\344\302\345%\210\300\346\302\347\302\350%\210\300\351\302\352\302\353%\210\300\354\302\355\302\356%\207" [cl-generic-define-method closql-db nil ((class (subclass closql-database)) &optional livep connection-class) #[769 "\3012\226 \302\303\"\211\205 \211=?\205 \304\305\"\211\205 \306!\211\203' \307\301\"\210\266?\205\225 \307\301\310!\2069 \311 \312\313#\312!\314\305#\210\315\316\"\210\3172\221 \320!\204^ \307\317\321!\"\210\302\322\"\323!W\203\213 \307\317\324\325\302\326\"$\210\327\330\331#\210\332!\210\333\211\262\"\210\334!\266\2020\210\266\203\"0\207" [eieio--unbound #::cond-let*127 eieio-oref-default singleton eieio-oref connection emacsql-live-p throw closql--db-prepare-storage emacsql-sqlite-default-connection make-instance :file eieio-oset emacsql [:pragma (= foreign-keys on)] #::cond-let129 emacsql-sqlite-list-tables closql--db-create-schema version closql--db-get-version message "Please update %s package (database schema version %s < %s)" name eieio-oset-default disabled t emacsql-close nil closql--db-update-schema] 18 "\n\n(fn CLASS &optional LIVEP CONNECTION-CLASS)"] closql--db-prepare-storage ((class (subclass closql-database))) #[257 "\300\301\"\211\205 \2119\203 \211J\262\302\303!\304\"\210\211\207" [eieio-oref-default file make-directory file-name-directory t] 5 "\n\n(fn CLASS)"] closql--db-create-schema ((db closql-database)) #[257 "\301\302\"\303CT\303\304\305#\216\242\204s \3061f \307U\203& \310\311\"\210\312\313\"J\211\203E \211@\211\242\243\310	\314$\266A\266\202\202+ \210\315\312\316\"\"\211\262\307U\203\\ \310\317\"\210\320\240\2620\210\202 \210\310\321\"\210\322\323!\210\202 *\207" [emacsql--transaction-level eieio-oref connection nil make-closure #[0 "\n\303U\205 \300\242?\205 \304\301\305\"\207" [V0 V1 emacsql--transaction-level 1 emacsql #1=[:rollback]] 3] (emacsql-locked) 1 emacsql #2=[:begin] eieio-oref-default schemata [:create-table $i1 $S2] closql--db-set-version version #3=[:commit] t #4=[:rollback] sleep-for 0.05] 14 "\n\n(fn DB)"] closql--db-update-schema ((db closql-database)) #[257 "\300\301\"\302!\211W\205  \303\304\305#\210\306!\210\307\310\300\311\"$\207" [eieio-oref-default version closql--db-get-version eieio-oset-default disabled t emacsql-close error "Please update %s database (schema version %s < %s)" name] 8 "\n\n(fn DB)"] emacsql-live-p ((db closql-database)) #[257 "\300\301\"\211\205 \302!\207" [eieio-oref connection emacsql-live-p] 4 "\n\n(fn DB)"] emacsql-enable-debugging ((db closql-database)) #[257 "\300\301\302\"!\207" [emacsql-enable-debugging eieio-oref connection] 5 "\n\n(fn DB)"] emacsql-close ((db closql-database)) #[257 "\300\301\302\"!\210\303\302\304#\207" [emacsql-close eieio-oref connection eieio-oset nil] 5 "\n\n(fn DB)"] emacsql ((db closql-database) sql &rest args) #[642 "\300\301\302\303\304\305\"\300\306\"$\"\207" [mapcar closql--extern-unbound apply emacsql eieio-oref connection #[257 "\211;\203 \300!\301\302G\303$\210\207\207" [copy-sequence set-text-properties 0 nil] 7 "\n\n(fn ARG)"]] 12 "\n\n(fn DB SQL &rest ARGS)"] closql-insert ((db closql-database) obj &optional replace) #[770 "\303\304#\210\305\306\211\211\307H\262\2119\203 \211\310N\206  \262\202\" \211\266\202!\211\203` \211@\311!>\2048 \312\313\314D\"\210\211\315H\262\316\317\320\"\"\203Y \211\321\"BB\262\303	#\210A\266\202\202# \210\322\323\"\305C\nT\305\324\325#\216\242\204\372 \3261\355 \n\315U\203\207 \327\330\"\210\327\203\223 \331\202\224 \332\333\n\334\"\335\336\f\337\"!\211\242\243\211\242\243\305\340\341!B!\262\266\204\262$\210\211\205\323 \211@\211\242\243\342#\266A\266\202\202\272 \262\211\262\n\315U\203\343 \327\343\"\210\344\240\2620\210\202s \210\327\345\"\210\346\347!\210\202s *\266\207" [cl-struct-cl-slot-descriptor-tags eieio--unbound emacsql--transaction-level closql--oset closql-database nil eieio-class-slots 0 cl--class type-of signal wrong-type-argument cl-slot-descriptor 1 alist-get :closql-table closql--slot-properties closql-oref eieio-oref connection make-closure #[0 "\n\303U\205 \300\242?\205 \304\301\305\"\207" [V0 V1 emacsql--transaction-level 1 emacsql #1#] 3] (emacsql-locked) emacsql #2# [:insert-or-replace-into $i1 :values $v2] [:insert-into $i1 :values $v2] eieio-oref-default closql-table closql--intern-unbound closql--coerce list vconcat closql--abbrev-class closql-dset #3# t #4# sleep-for 0.05] 21 "\n\n(fn DB OBJ &optional REPLACE)"] closql-delete ((obj closql-object)) #[257 "\300\301\"\302\303\304\"\305\300\306\"\303\"%\207" [eieio-oref-default closql-primary-key emacsql closql--oref closql-database [:delete-from $i1 :where (= $i2 $s3)] closql-table] 10 "\n\n(fn OBJ)"] closql-reload ((obj closql-object)) #[257 "\300\301\302\"\301\303\304\"\"\305!#\206 \306\307!\207" [closql-get closql--oref closql-database eieio-oref-default closql-primary-key eieio-object-class error "Cannot reload object"] 8 "\n\n(fn OBJ)"] closql-get ((db closql-database) ident &optional class resolve) #[1026 "\204\n \300\301\"\262\302\303\300\304\"\300\305\"%@\211\205% \306$\207" [eieio-oref-default object-class emacsql [:select * :from $i1 :where (= $i2 $s3)] closql-table closql-primary-key closql--remake-instance] 11 "\n\n(fn DB IDENT &optional CLASS RESOLVE)"] closql-query ((db closql-database) &optional select pred class) #[1025 "\203 \300$\203 9\203 \301\302\"\207\207\303#\207" [closql-select mapcar car closql-entries] 9 "\n\n(fn DB &optional SELECT PRED CLASS)"] closql-entries ((db closql-database) &optional pred class) #[769 "\211C\211\242\204 \211\300\301\"\240\210\302\303\304#\305\306\242$\"\207" [eieio-oref-default object-class mapcar make-closure #[257 "\302\300\242\301#\207" [V0 V1 closql--remake-instance] 5 "\n\n(fn ROW)"] closql-select *] 11 "\n\n(fn DB &optional PRED CLASS)"] closql-select ((db closql-database) select &optional pred class) #[1026 "\211\204\n \300\301\"\262\302\303\304\305\306\307\310\311\n\205 \312\313\300\f\314\"\211\262\203+ \315D\202, \316\262\"BBBB\"\300\317\"\205D \320\n\"\300\321\"&\207" [eieio-oref-default object-class emacsql apply vector :select $i1 :from $i2 append [:where class :in $v3] nil closql-order-by :order-by (:order-by [(asc $i4)]) closql-table closql-where-class-in closql-primary-key] 18 "\n\n(fn DB SELECT &optional PRED CLASS)"]] 6)#@17 

(fn DB TABLE)
(defalias 'closql--table-columns #[514 "\300\301\302\303#\"\207" [mapcar cadr emacsql [:pragma (funcall table-info $i1)]] 8 (#$ . 17907)])#@11 

(fn DB)
(defalias 'closql--db-get-version #[257 "\300\301\"@@\207" [emacsql [:pragma user-version]] 4 (#$ . 18069)])#@19 

(fn DB VERSION)
(defalias 'closql--db-set-version #[514 "\211\250\204	 \300\301!\210\302\303#\207" [cl--assertion-failed (integerp version) emacsql [:pragma (= user-version $s1)]] 6 (#$ . 18194)])
(cl-generic-define-method 'closql--remake-instance nil '((class (subclass closql-object)) db row &optional resolve) nil #[1027 "\301!\211\242\243\302\"\211\2119\203 \211\303N\206 \202 \211\262\304\305H!\306\307\nB\"\310HG\311\211W\203E THI\210\211T\262\2020 \266\203P \312!\210\203Y \311I\210\207" [eieio-backward-compatibility closql--extern-unbound closql--expand-abbrev cl--class copy-sequence 10 apply vector 4 0 closql--resolve-slots] 17 "\n\n(fn CLASS DB ROW &optional RESOLVE)"])#@22 

(fn CLASS DB ROWS)
(defalias 'closql--remake-instances #[771 "\300\301\302#\"\207" [mapcar make-closure #[257 "\302\301\300#\207" [V0 V1 closql--remake-instance] 5 "\n\n(fn ROW)"]] 8 (#$ . 18915)])
(byte-code "\300\301\302\303#\304\305\306\307\306\310%\207" [function-put closql--remake-instances lisp-indent-function defun cl-generic-define-method closql--resolve-slots nil ((obj closql-object)) #[257 "\301\211\211\302H\262\2119\203 \211\303N\206 \262\202 \211\266\202!\211\205b \211@\304!>\2041 \305\306\307D\"\210\211\310H\262\311\"\204[ \312\"\313\314\"\206L \313\315\"\262\203[ \316\317\"#\210A\266\202\202 \207" [cl-struct-cl-slot-descriptor-tags eieio-class-slots 0 cl--class type-of signal wrong-type-argument cl-slot-descriptor 1 slot-boundp closql--slot-properties alist-get :closql-class :closql-table closql--oset closql-oref] 9 "\n\n(fn OBJ)"]] 7)#@12 

(fn ROW)
(defalias 'closql--intern-unbound #[257 "\300\301\"\207" [mapcar #[257 "\211=\203 \301\207\207" [eieio--unbound eieio-unbound] 3 "\n\n(fn ELT)"]] 4 (#$ . 19813)])#@12 

(fn ROW)
(defalias 'closql--extern-unbound #[257 "\300\301\"\207" [mapcar #[257 "\211\301=\203 \207\207" [eieio--unbound eieio-unbound] 3 "\n\n(fn ELT)"]] 4 (#$ . 19995)])#@20 

(fn OBJECT TYPE)
(defalias 'closql--coerce #[514 "\301G\302\303\"\304\211W\203 HI\210\211T\262\202 \210\305\304H!>\2031 \211\304\304H\306HI\210\262\"\207" [cl-struct-eieio--class-tags cl-coerce make-vector -1 0 type-of 1] 10 (#$ . 20177)])
(byte-code "\300\301\302\303\302\304%\210\300\305\302\306\302\307%\207" [cl-generic-define-method closql--abbrev-class nil ((class (subclass closql-object))) #[257 "\300!\301\302\"\301\303\"\304\203 G\202 \305\205 G[O!\207" [symbol-name eieio-oref-default closql-class-prefix closql-class-suffix intern 0] 8 "\n\n(fn CLASS)"] closql--expand-abbrev ((class (subclass closql-object)) abbrev) #[514 "\300\301\302\"\303!\301\304\"Q!\207" [intern eieio-oref-default closql-class-prefix symbol-name closql-class-suffix] 8 "\n\n(fn CLASS ABBREV)"]] 6)#@21 

(fn VALUE OFFSET)
(defalias 'closql--where-equal #[514 "\211C\300\301\302\303\304\"\"B!\207" [vector and mapcar make-closure #[257 "\211\203 \301\302\303\304\300\211\242T\240\"!\302\303\305\300\211\242T\240\"!E\207\306\302\303\304\300\211\242\307\\\240S\"!D\207" [V0 = intern format "$i%i" "$s%i" isnull 2] 8 "\n\n(fn V)"]] 9 (#$ . 20999)])#@26 

(fn ARGS &optional DB)
(defalias 'closql-where-class-in #[513 "9\203	 C\262\300!\203+ \211\204 \301\302!\210\303\304\"\305C\306\307\310#\"\210\311\242!\207\311\312\313\314\315\"\"!\207" [vectorp error "closql-where-class-in: DB cannot be nil if ARGS is a vector" eieio-oref-default object-class nil mapc make-closure #[257 "\302!\303\304\"\204 \305\306\"\210\307\224\310\311\312\"!\313\224\203% \314\315\301\"!\2021 \316\315\301\"!?\2051 \211C\300\203> \317\300\242\"\202B \300\242\244\240\207" [V0 V1 symbol-name string-match "\\`\\(!\\)?\\([^*]+\\)\\(\\*\\)?\\'" error "`closql-where-class-in': invalid type: %s" 1 intern match-string 2 3 closql--list-subabbrevs closql--expand-abbrev class-abstract-p cl-set-difference] 9 "\n\n(fn ARG)"] vconcat mapcar closql--abbrev-class mapcan #[257 "\300!\301\302\"\203 \303\304\305\306O!\307\"\207\301\310\"\203# \304\305\311O!C\207C\207" [symbol-name string-suffix-p "--eieio-childp" closql--list-subclasses intern 0 -14 nil "-p" -2] 7 "\n\n(fn SYM)"]] 9 (#$ . 21351)])#@31 

(fn CLASS &optional RESULT)
(defalias 'closql--list-subclasses #[513 "\300!\204 \301\"\204 B\262\302N\211\303H\262\211\203- \211@\304\"\262A\266\202\202 \210\207" [class-abstract-p memql cl--class 6 closql--list-subclasses] 7 (#$ . 22400)])
(byte-code "\300\301\302\303\302\304%\210\300\305\302\306\302\307%\207" [cl-generic-define-method closql--list-subabbrevs nil ((class (subclass closql-object)) &optional wildcards) #[513 "\300\301C\211\302\303#\240\210\211\242\262!\304\"\207" [sort nil make-closure #[257 "\211\302N\211\303H\262\3041 \305!0\202 \210\306\307!?\205 \211C\301\2055 \2055 \2033 \310\311\312\"!\2024 \313C\244\314\300\242\"\244\207" [V0 V1 cl--class 6 (error) closql--abbrev-class nil class-abstract-p intern format "%s*" * mapcan] 8 "\n\n(fn CLASS)"] string<] 9 "\n\n(fn CLASS &optional WILDCARDS)"] closql--set-object-class ((db closql-database) obj class) #[771 "\300\301\"\300\302\"\303\"\304\305\2119\203 \211\306N\206  \202\" \211\262\211\307H\262!\304HI\210\310\311\312!&\207" [eieio-oref-default closql-table closql-primary-key closql--oref 0 copy-sequence cl--class 10 emacsql [:update $i1 :set (= class $s2) :where (= $i3 $s4)] closql--abbrev-class] 13 "\n\n(fn DB OBJ CLASS)"]] 6)#@566 Format a string out of a format STRING and an OBJECT's SLOTS.

STRING is a format-string like for `format'.  OBJECT is an Eieio
object and SLOTS are slots of that object, their values are used
like `format' uses its OBJECTS arguments (which are unrelated to
this function's OBJECT argument, they just have similar names).

While this function does not have much to do with the purpose of
`closql', it is being defined here anyway because Eieio does not
define a similar function under a more appropriate name such as
`eieio-format'.

(fn OBJECT STRING &rest SLOTS)
(defalias 'closql-format #[642 "\300\301\302\303\304\"\"#\207" [apply format mapcar make-closure #[257 "\301\300\"\207" [V0 eieio-oref] 4 "\n\n(fn SLOT)"]] 10 (#$ . 23670)])
(provide 'closql)
