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


#@70 Defines a new error symbol for EmacSQL.

(fn SYMBOL PARENTS MESSAGE)
(require 'cl-lib)
(defalias 'emacsql-deferror '(macro . #[771 "\300\301\302\303E\"!\304\305D\306\305D\307\305DF\306\305D\310FF\207" [cl-remove-duplicates append emacsql-error error prog1 quote put 'error-conditions 'error-message] 11 (#$ . 83)]))#@79 Like `error', but signal an emacsql-syntax condition.

(fn FORMAT &rest ARGS)
(byte-code "\300\301\302\303#\304\305\306\307#\210\304\305\310\311#\210\304\312\306\313#\210\304\312\310\314#\210\304\315\306\316#\210\304\315\310\317#\210\304\320\306\321#\210\304\320\310\322#\210\304\323\306\324#\210\304\323\310\325#\210\304\326\306\327#\210\304\326\310\330#\210\304\331\306\332#\210\304\331\310\333#\210\304\334\306\335#\210\304\334\310\336#\210\304\337\306\340#\210\304\337\310\341#\210\304\342\306\343#\210\304\342\310\344#\207" [function-put emacsql-deferror lisp-indent-function 2 put emacsql-error error-conditions (emacsql-error error) error-message "EmacSQL had an unhandled condition" emacsql-syntax (emacsql-syntax emacsql-error error) "Invalid SQL statement" emacsql-internal (emacsql-internal emacsql-error error) "Internal error" emacsql-locked (emacsql-locked emacsql-error error) "Database locked" emacsql-fatal (emacsql-fatal emacsql-error error) "Fatal error" emacsql-memory (emacsql-memory emacsql-error error) "Out of memory" emacsql-corruption (emacsql-corruption emacsql-error error) "Database corrupted" emacsql-access (emacsql-access emacsql-error error) "Database access error" emacsql-timeout (emacsql-timeout emacsql-error error) "Query timeout error" emacsql-warning (emacsql-warning emacsql-error error) "Warning message"] 5)
(defalias 'emacsql-error #[385 "\300\301\302\303#C\"\207" [signal emacsql-syntax apply format] 8 (#$ . 415)])#@60 Collection of all known reserved words, used for escaping.
(defvar emacsql-reserved (make-hash-table :test 'equal) (#$ . 1883))#@75 Register sequence of keywords as reserved words, returning SEQ.

(fn SEQ)
(defalias 'emacsql-register-reserved #[257 "\3012H \211\302\303\203@ :\204 GW\203@ :\203' \211A\262\262\242\202, H\262\304\305\"\226\306\307#\266T\262\202 \310\301\"\266\3030\207" [emacsql-reserved --cl-block-nil-- 0 nil format "%s" puthash t throw] 10 (#$ . 2016)])#@61 Returns non-nil if string NAME is a SQL keyword.

(fn NAME)
(defalias 'emacsql-reserved-p #[257 "\301\226\"\207" [emacsql-reserved gethash] 4 (#$ . 2384)])#@72 Single-quote (scalar) STRING for use in a SQL expression.

(fn STRING)
(defalias 'emacsql-quote-scalar #[257 "\300\301\302\"r\211q\210\303\304\"\216c\210eb\210\305\306\307\302#\203\" \310\311!\210\202 eb\210\306c\210db\210\306c\210\312 *\207" [generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205	 \302\300!\207" [V0 buffer-name kill-buffer] 2] re-search-forward "'" nil replace-match "''" buffer-string] 6 (#$ . 2547)])#@63 Single-quote character C for use in a SQL expression.

(fn C)
(defalias 'emacsql-quote-character #[257 "\300\301\"\203	 \302\207\303\304\"\207" [char-equal 39 "''''" format "'%c'"] 4 (#$ . 2987)])#@76 Double-quote (identifier) STRING for use in a SQL expression.

(fn STRING)
(defalias 'emacsql-quote-identifier #[257 "\300\301\302\303\304#\"\207" [format "\"%s\"" replace-regexp-in-string "\"" "\"\""] 7 (#$ . 3191)])#@60 Escape an identifier, if needed, for SQL.

(fn IDENTIFIER)
(defalias 'emacsql-escape-identifier #[257 "\211\203 \300!\204 \2119\204 \301!\204 \302\303\"\210\301!\203& \304\305\306#\207\211\307=\203. \310\207\311!\312\313\314\315$\266\203\203K \304\305\316\317\320\312\"\"\321#\207\322\323\324\325\326\"#\327\313\314\315$\266\203\204v \330\313\314\315$\266\203\204v \331!\203z \332!\207\207" [keywordp vectorp emacsql-error "Invalid identifier: %S" mapconcat emacsql-escape-identifier ", " * "*" symbol-name ":" nil string-match t mapcar intern split-string "." replace-regexp-in-string "-" "_" format "%S" "[]- - !\"#%&'()*+,./:;<=>?@[\\^`{|}~]" "^[0-9$]" emacsql-reserved-p emacsql-quote-identifier] 11 (#$ . 3415)])#@49 Escape VALUE for sending to SQLite.

(fn VALUE)
(defalias 'emacsql-escape-scalar #[257 "\302\211\211\204\f \303\202 \211\247\203 \304!\202 \305\304!!*\207" [print-escape-control-characters print-escape-newlines t "NULL" prin1-to-string emacsql-quote-scalar] 4 (#$ . 4166)])
(defalias 'emacsql-escape-raw #[257 "\211\204 \300\207\211;\203 \301!\207\302\303!\207" ["NULL" emacsql-quote-scalar error "Expected string or nil"] 3 (#$ . 4166)])#@54 Encode VECTOR into a SQL vector scalar.

(fn VECTOR)
(defalias 'emacsql-escape-vector #[257 "\211\204 \300\301!\207\211<\203 \302\303\304#\207\305!\203\" \306\302\307\304#\310Q\207\300\311\"\207" [emacsql-error "Empty SQL vector expression" mapconcat emacsql-escape-vector ", " vectorp "(" emacsql-escape-scalar ")" "Invalid vector %S"] 6 (#$ . 4620)])#@54 Escape THING for use as a `format' spec.

(fn THING)
(defalias 'emacsql-escape-format #[257 "\300\301\302#\207" [replace-regexp-in-string "%" "%%"] 5 (#$ . 4984)])#@46 An alist mapping EmacSQL types to SQL types.
(defvar emacsql-type-map '((integer "&INTEGER") (float "&REAL") (object "&TEXT") (nil "&NONE")) (#$ . 5154))#@41 Convert KEYWORD into SQL.

(fn KEYWORD)
(defalias 'emacsql--from-keyword #[257 "\300!\301\302O\303\304\305#\226\207" [symbol-name 1 nil replace-regexp-in-string "-" " "] 6 (#$ . 5313)])#@70 Compile CONSTRAINTS into a partial SQL expression.

(fn CONSTRAINTS)
(defalias 'emacsql--prepare-constraints #[257 "\300\301\302\211:\203[ @\262\204 \303\202P \304!\203\" \305!\202P 9\203- \306!\202P \307!\203> \310\311\300\306\312#\"\202P <\203M \310\311\313!@\"\202P \314!B\262A\262\202 \266\202\237\315#\207" [mapconcat identity nil "NULL" keywordp emacsql--from-keyword emacsql-escape-identifier vectorp format "(%s)" ", " emacsql--*expr emacsql-escape-scalar " "] 12 (#$ . 5506)])#@56 Convert COLUMN into a partial SQL string.

(fn COLUMN)#@10 

(fn S)
(defalias 'emacsql--prepare-column #[257 "\301\3029\203 \303!\304\236A@D\202` <\203W \211\203& \211A\262\242\202- \305\306\307GD\"\310\311\303!@\312>\203G \313\211A\262\242\"A@\202L \304\236A@\314!E\"\266\202\202` \315\316\317#\205` \304\320#\207" [emacsql-type-map mapconcat identity emacsql-escape-identifier nil signal wrong-number-of-arguments (name . constraints) cl-delete-if #[257 "\211G\300U\207" [0] 3 (#$ . 6077)] (integer float object) assoc emacsql--prepare-constraints error "cl-etypecase failed: %s, %s" (symbol list) " "] 11 (#$ . 6017)])#@48 Compile SCHEMA into a SQL string.

(fn SCHEMA)
(defalias 'emacsql-prepare-schema #[257 "\300!\203 \301C!\207\211\203 \211A\262\242\202  \302\303\304GD\"\305\306\307\310\"\307\311\"\244\312#\207" [vectorp emacsql-prepare-schema signal wrong-number-of-arguments (columns . constraints) mapconcat identity mapcar emacsql--prepare-column emacsql--prepare-constraints ", "] 9 (#$ . 6663)])#@42 Cache used to memoize `emacsql-prepare'.
(defvar emacsql-prepare-cache (make-hash-table :test 'equal :weakness 'key) (#$ . 7064))#@58 Used within `emacsql-with-params' to collect parameters.
(defvar emacsql--vars nil (#$ . 7199))#@70 Return non-nil if THING looks like a prepared statement.

(fn THING)
(defalias 'emacsql-sql-p #[257 "\300!\205 \211G\301V\205 \302\301H!\207" [vectorp 0 keywordp] 4 (#$ . 7300)])#@244 Return the index and type of THING, or nil if THING is not a parameter.
A parameter is a symbol that looks like $i1, $s2, $v3, etc. The
letter refers to the type: identifier (i), scalar (s),
vector (v), raw string (r), schema (S).

(fn THING)
(defalias 'emacsql-param #[257 "\2119\205M \300!\301\302\303\304$\266\203\205K \305\306\302O!S\307H\211\310\267\202? \210\311\202J \210\312\202J \210\313\202J \210\314\202J \210\315\202J \316\317\320#\205H \302\262B\262\207" [symbol-name "^\\$[isvrS][0-9]+$" nil string-match t read 2 1 #s(hash-table test eq purecopy t data (105 38 115 43 118 48 114 53 83 58)) :identifier :scalar :vector :raw :schema error "cl-ecase failed: %s, %s" (105 115 118 114 83)] 10 (#$ . 7489)])#@253 Evaluate BODY, collecting parameters.
Provided local functions: `param', `identifier', `scalar', `raw',
`svector', `expr', `subsql', and `combine'.  BODY should return a
string, which will be combined with variable definitions.

(fn PREFIX &rest BODY)
(defalias 'emacsql-with-params '(macro . #[385 "\300\301\302\303\304\305\306BE\307BBEE\207" [let ((emacsql--vars nil)) cl-flet* ((combine (prepared) (emacsql--*combine prepared)) (param (thing) (emacsql--!param thing)) (identifier (thing) (emacsql--!param thing :identifier)) (scalar (thing) (emacsql--!param thing :scalar)) (raw (thing) (emacsql--!param thing :raw)) (svector (thing) (combine (emacsql--*vector thing))) (expr (thing) (combine (emacsql--*expr thing))) (subsql (thing) (format "(%s)" (combine (emacsql-prepare thing))))) cons concat progn (emacsql--vars)] 11 (#$ . 8222)]))#@156 Parse, escape, and store THING.
If optional KIND is not specified, then try to guess it.
Only use within `emacsql-with-params'!

(fn THING &optional KIND)#@25 

(fn THING KIND PARAM)
(byte-code "\300\301\302\303#\300\207" [function-put emacsql-with-params lisp-indent-function 1] 4)
(defalias 'emacsql--!param #[513 "\301\302!\211\204O \303\2035 \304\267\2021 \305!\202M \306!\202M \307!\202M \310!\202M \311!\202M \312\202M \203J \313!\204J 9\203J \305!\202M \306!!\207\211A\314=\203Z \315\202[ \316#\210C\244\207" [emacsql--vars #[771 "\205 A=?\205 \300\301#\207" [emacsql-error "Invalid parameter type %s, expecting %s"] 7 (#$ . 9234)] emacsql-param emacsql-escape-format #s(hash-table test eq purecopy t data (:identifier 19 :scalar 25 :vector 31 :raw 37 :schema 43)) emacsql-escape-identifier emacsql-escape-scalar emacsql-escape-vector emacsql-escape-raw emacsql-prepare-schema nil keywordp :schema "(%s)" "%s"] 9 (#$ . 9074)])#@30 Prepare VECTOR.

(fn VECTOR)#@17 

(fn PREPARED)#@14 

(fn THING)
(defalias 'emacsql--*vector #[257 "\301\302\301\211\303\301\304\305\"\301\2119\203 \306	\307\"\202D <\203+ \310\n\311#\202D \312	!\203? \313\314\310\f\311#\"\202D \315\316\n\"\260)B\207" [emacsql--vars nil #[257 "\300!\207" [emacsql--*combine] 3 (#$ . 10075)] #[257 "\300\301\"\207" [emacsql--!param :scalar] 4 (#$ . 10096)] make-closure #[257 "\300\301!!\207" [V0 emacsql--*vector] 4 (#$ . 10096)] emacsql--!param :vector mapconcat ", " vectorp format "(%s)" emacsql-error "Invalid vector: %S"] 15 (#$ . 10041)])#@816 Generate function to look up predefined SQL operator metadata.

The generated function is bound to NAME and accepts two
arguments, OPERATOR-NAME and OPERATOR-ARGUMENT-COUNT.
OPERATOR-PRECEDENCE-GROUPS should be a number of lists containing
operators grouped by operator precedence (in order of precedence
from highest to lowest).  A single operator is represented by a
list of at least two elements: operator name (symbol) and
operator arity (:unary or :binary).  Optionally a custom
expression can be included, which defines how the operator is
expanded into an SQL expression (there are two defaults, one for
:unary and one for :binary operators).

An example for OPERATOR-PRECEDENCE-GROUPS:
(((+ :unary ("+" :operand)) (- :unary ("-" :operand)))
 ((+ :binary) (- :binary)))

(fn NAME OPERATOR-PRECEDENCE-GROUPS)
(defalias 'emacsql--generate-op-lookup-defun '(macro . #[514 "\300\301\302\303\304\305\306!\307\211:\203\245 @\262\306\307\211\211\211\211\211\211\211:\203\221 @\262\211A\262\242\262\211A\262\242\262@\262\310!\226\262\206b \311\267\202a \312B\202b \313\314\315BBB\202b \307\262\316\317\320\321DE\322=\203w \323\202x \324E\325\321D	FDB\262A\262	\210\307\202  \210\266\207\237!\244\262T\262A\262\202 \266\203\237\326\"B\257\207" [defun (operator-name operator-argument-count) "Look up predefined SQL operator metadata.\nSee `emacsql--generate-op-lookup-defun' for details." cond append 1 reverse nil symbol-name #s(hash-table test eq purecopy t data (:unary 81 :binary 87)) (" " :operand) :operand " " (" " :operand) and eq operator-name quote :unary (eql operator-argument-count 1) (>= operator-argument-count 2) list ((t (list nil nil nil)))] 27 (#$ . 10650)]))#@140 Look up predefined SQL operator metadata.
See `emacsql--generate-op-lookup-defun' for details.

(fn OPERATOR-NAME OPERATOR-ARGUMENT-COUNT)
(defalias 'emacsql--get-op #[514 "\300=\203 \211\301Y\203 \302\303\304E\207\305=\203\" \211\301Y\203\" \306\303\301E\207\307=\2033 \211\304=\2033 \310\311\312E\207\313=\203D \211\301Y\203D \314\303\315E\207\316=\203U \211\301Y\203U \317\303\315E\207\320=\203f \211\301Y\203f \321\303\315E\207\322=\203w \211\301Y\203w \323\303\315E\207\324=\203\210 \211\301Y\203\210 \325\303\315E\207\326=\203\231 \211\301Y\203\231 \327\303\315E\207\330=\203\252 \211\301Y\203\252 \331\303\315E\207\332=\203\273 \211\301Y\203\273 \333\303\315E\207\334=\203\314 \211\304=\203\314 \335\311\315E\207\336=\203\335 \211\304=\203\335 \337\311\315E\207\340=\203\356 \211\301Y\203\356 \341\303\315E\207\342=\203\377 \211\301Y\203\377 \343\303\315E\207\344=\203\211\301Y\203\345\303\315E\207\346=\203!\211\301Y\203!\347\303\315E\207\350=\2032\211\301Y\2032\351\303\315E\207\352=\203C\211\301Y\203C\353\303\315E\207\354=\203T\211\301Y\203T\355\303\315E\207\356=\203e\211\301Y\203e\357\303\315E\207\360=\203v\211\301Y\203v\361\303\362E\207\363=\203\207\211\301Y\203\207\364\303\362E\207\365=\203\230\211\301Y\203\230\366\303\362E\207\367=\203\251\211\301Y\203\251\370\303\362E\207\371=\203\272\211\301Y\203\272\372\303\373E\207\374=\203\313\211\301Y\203\313\375\303\376E\207\377=\203\336\211\301Y\203\336\201@ \303\376E\207\201A =\203\363\211\301Y\203\363\201B \303\376E\207\201C =\203\211\301Y\203\201D \303\376E\207\201E =\203\211\301Y\203\201F \303\201G E\207\201H =\2036\211\301Y\2036\201I \303\201G E\207\201E =\203M\211\304=\203M\201J \311\201K E\207\201H =\203d\211\304=\203d\201L \311\201K E\207\201M =\203{\211\301Y\203{\201N \303\201O E\207\201P =\203\222\211\301Y\203\222\201Q \303\201O E\207\201R =\203\251\211\301Y\203\251\201S \303\201O E\207\201T =\203\300\211\301Y\203\300\201U \303\201V E\207\201W =\203\327\211\301Y\203\327\201X \303\201Y E\207\201Z =\203\356\211\304=\203\356\201[ \311\201\\ E\207\201] \211\211E\207" [or 2 (:operand #1=" " "OR" . #2=(" " :operand)) :binary 1 and (:operand #1# "AND" . #2#) not ("NOT" " " :operand) :unary 3 is (:operand #1# "IS" . #2#) 4 is-not (:operand " IS NOT " :operand) match (:operand #1# "MATCH" . #2#) not-match (:operand " NOT MATCH " :operand) like (:operand #1# "LIKE" . #2#) not-like (:operand " NOT LIKE " :operand) in (:operand #1# "IN" . #2#) not-in (:operand " NOT IN " :operand) isnull (:operand " ISNULL") notnull (:operand " NOTNULL") = (:operand #1# "=" . #2#) == (:operand #1# "==" . #2#) != (:operand #1# "!=" . #2#) <> (:operand #1# "<>" . #2#) glob (:operand #1# "GLOB" . #2#) not-glob (:operand " NOT GLOB " :operand) regexp (:operand #1# "REGEXP" . #2#) not-regexp (:operand " NOT REGEXP " :operand) < (:operand #1# "<" . #2#) 5 <= (:operand #1# "<=" . #2#) > (:operand #1# ">" . #2#) >= (:operand #1# ">=" . #2#) escape (:operand " ESCAPE " :operand) 6 & (:operand #1# "&" . #2#) 7 | (:operand #1# "|" . #2#) << (:operand #1# "<<" . #2#) >> (:operand #1# ">>" . #2#) + (:operand #1# "+" . #2#) 8 - (:operand #1# "-" . #2#) ("+" :operand) 9 ("-" :operand) * (:operand #1# "*" . #2#) 10 / (:operand #1# "/" . #2#) % (:operand #1# "%" . #2#) || (:operand #1# "||" . #2#) 11 collate (:operand #1# "COLLATE" . #2#) 12 ~ ("~" :operand) 13 nil] 5 (#$ . 12382)])#@171 Create format-string for an SQL operator.
The format-string returned is intended to be used with `format'
to create an SQL expression.

(fn OP EXPR ARITY ARGUMENT-COUNT)#@10 

(fn X)#@33 

(fn --CL-REPLACE-OPERAND-- E)
(defalias 'emacsql--expand-format-string #[1028 "\205O \300\301\302=\203 \303=\203 \211\"\207\304=\203H \305Y\203H \306!\305Z\307\211W\203@ \310\306	!A\244\262\210T\202+ \266\237\"\207\311\312\"\266\202\207" [#[257 "\211\300=\203 \301\207\207" [:operand "%s"] 3 (#$ . 16010)] #[514 "\300\301#\207" [mapconcat ""] 6 (#$ . 16024)] :unary 1 :binary 2 reverse 0 nil emacsql-error "Wrong number of operands for %s"] 12 (#$ . 15835)])#@417 Lookup SQL operator information for generating an SQL expression.
Returns the following multiple values when an operator can be
identified: a format string (see `emacsql--expand-format-string')
and a precedence value.  If PARENT-PRECEDENCE-VALUE is greater or
equal to the identified operator's precedence, then the format
string returned is wrapped with parentheses.

(fn OP ARGUMENT-COUNT PARENT-PRECEDENCE-VALUE)
(defalias 'emacsql--get-op-info #[771 "\300\"\211G\301U\203 \211A\262\242\202 \302\303\304GD\"\211A\262\242\242\305	$\2043 \306\202A Y\203@ \307\310\"\202A \211D\207" [emacsql--get-op 3 signal wrong-number-of-arguments (format-string arity precedence-value) emacsql--expand-format-string nil format "(%s)"] 12 (#$ . 16516)])#@71 Expand EXPR recursively.

(fn EXPR &optional PARENT-PRECEDENCE-VALUE)#@29 

(fn --CL-COMBINE-- THING)#@10 

(fn N)#@11 

(fn OP)
(defalias 'emacsql--*expr #[513 "\301\302\303\301\304\305\306\301\307\310\n!\203 \211\"\202\367\311\n!\203* \"\202\367	:\2048 \n!\202\367	C\211\242\203L \211\242\211\242A\240\210\242\202T \312\313\314\242GD\"\315\242G\206_ \316#\211@A@\317\320$\321\322>\203\314 \242G\211\323\267\202\303 \324\316!\325!#\266\210\202\367\324\206\223 \316Y\203\234 \326\202\235 \327\325!\n\330=\203\254 \331\202\255 \316!\330=\203\273 \316\202\274 \331!$\266\210\202\367!\266\210\202\367\332=\203\242A@\242G\331U\204\351 !\266\210\202\367\333!\204\370 \334\335\"\266\210\202\367\324\316!\336!#\266\210\202\367\337>\203\324\340\316!\341	!\226#\266\207\202\367\342=\203=\242@\211;\2034!\266\210\202\367\f!\266\210\202\367\343=\203\241\324\344\316!	\242G\331U\203_	\242A@\345=\203_\346\202\233	\242G\347U\203|	\242A@\350=\203|\324\351\331!\"\206\233\352\325\f\242G\301W\203\226B\262T\262\202\204\266\202\237\353##\266\207\202\367\316\242G\301W\203\271B\262T\262\202\247\266\202\237\203\317\354\324\355\"#\266\210\202\367\352\316\n\242G\301W\203\351B\262T\262\202\327\266\202\237\324\356\341\f!\226\"#\266\210\260)B\207" [emacsql--vars nil #[257 "\300!\207" [emacsql--*combine] 3 (#$ . 10075)] #[257 "\300!\207" [emacsql--!param] 3 (#$ . 10096)] #[257 "\300\301\"\207" [emacsql--!param :scalar] 4 (#$ . 10096)] #[257 "\300\301\"\207" [emacsql--!param :raw] 4 (#$ . 10096)] #[514 "\300!!\207" [emacsql--*vector] 5 (#$ . 17357)] #[514 "\300\301\302!!\"\207" [format "(%s)" emacsql-prepare] 7 (#$ . 17357)] emacsql-sql-p vectorp signal wrong-number-of-arguments (op . args) emacsql--get-op-info 0 make-closure #[257 "\302\303\301\2428\300\206 \304\"!\207" [V0 V1 V2 emacsql--*expr 0] 5 (#$ . 17390)] #[257 "\300\301\"\207" [emacsql-error "Wrong number of operands for %s"] 4 (#$ . 17404)] (<= >=) #s(hash-table test eq purecopy t data (2 126 3 140)) format 1 "(%s BETWEEN %s AND %s)" "%s BETWEEN %s AND %s" >= 2 escape characterp emacsql-error "Second operand of escape has to be a character, got %s" emacsql-quote-character (asc desc) "%s %s" symbol-name quote funcall "%s(%s)" * "*" 3 :distinct "DISTINCT %s" mapconcat ", " apply mapcar " %s "] 27 (#$ . 17282)])#@84 Read in a vector of IDENTS identifiers, or just an single identifier.

(fn IDENTS)
(defalias 'emacsql--*idents #[257 "\301\302\301\211\211\211\211\303\304\"\301\305\n\306#\260)B\207" [emacsql--vars nil #[257 "\300!\207" [emacsql--*combine] 3 (#$ . 10075)] make-closure #[257 "\300\301!!\207" [V0 emacsql--*expr] 4 (#$ . 10096)] mapconcat ", "] 13 (#$ . 19720)])#@126 Append parameters from PREPARED to `emacsql--vars', return the string.
Only use within `emacsql-with-params'!

(fn PREPARED)
(defalias 'emacsql--*combine #[257 "\211\203 \211A\262\242\202 \301\302\303GD\"\244\207" [emacsql--vars signal wrong-number-of-arguments (string . vars)] 6 (#$ . 20097)])#@55 Create a prepared statement from STRING.

(fn STRING)#@10 

(fn V)
(defalias 'emacsql-prepare--string #[257 "\301\302\303\301\211\211\211\211\211\304\305\306\307\n\"#\260)B\207" [emacsql--vars nil #[257 "\300!\207" [emacsql--*combine] 3 (#$ . 10075)] #[257 "\300!\207" [emacsql--!param] 3 (#$ . 10096)] replace-regexp-in-string "\\$[isv][0-9]+" make-closure #[257 "\300\301!!\207" [V0 intern] 4 (#$ . 20466)]] 14 (#$ . 20407)])#@51 Create a prepared statement from SEXP.

(fn SEXP)
(defalias 'emacsql-prepare--sexp #[257 "\301\302\303\301\211\211\304\301\305\3062\312 \307	\310\"\301\211\211\211\203\272 \211A\262\242\262\311!\203G \312=\203A \313	\211A\262\n\242\"P\202\256 \314!\202\256 9\203] \315=\203V \316\202\256 \f!\202\256 \317!\203\210 \320!\203r \"\202\256 \321!!\311!\204\256 \322\323\"\262\202\256 <\203\251 \317@!\203\240 \324\322\323\325!\"!\202\256 \326!!\202\256 \324\327!!C\244\262\262\210\301\202 \330\306\331\332\333#\266\202\"\266\3010\260)B\207" [emacsql--vars nil #[257 "\300!\207" [emacsql--*combine] 3 (#$ . 10075)] #[257 "\300!\207" [emacsql--!param] 3 (#$ . 10096)] #[514 "\300!!\207" [emacsql--*vector] 5 (#$ . 17357)] #[514 "\300\301\302!!\"\207" [format "(%s)" emacsql-prepare] 7 (#$ . 17357)] --cl-block-nil-- cl-coerce list keywordp :values "VALUES " emacsql--from-keyword * "*" vectorp emacsql-sql-p emacsql--*idents format "(%s)" emacsql-escape-format emacsql-prepare-schema emacsql--*expr emacsql-escape-scalar throw " " mapconcat identity] 22 (#$ . 20850)])#@66 Expand SQL (string or sexp) into a prepared statement.

(fn SQL)
(defalias 'emacsql-prepare #[257 "	B\302\"\206 \303;\203 \304!\202 \305!#\207" [emacsql-prepare-cache emacsql-type-map gethash puthash emacsql-prepare--string emacsql-prepare--sexp] 7 (#$ . 21974)])#@71 Fill in the variables EXPANSION with ARGS.

(fn EXPANSION &rest ARGS)
(defalias 'emacsql-format #[385 "\211\203 \211A\262\242\202 \302\303\304GD\"\305\211\306\307\305\211\211:\203t @\262\211A\262\242\262\n8\310\267\202c \311!\262\202i \312!\262\202i \313!\262\202i \314!\262\202i \315!\262\202i \316\317\"\262B\262A\262\202  \266\203\237#*\207" [print-length print-level signal wrong-number-of-arguments (format . vars) nil apply format #s(hash-table test eq purecopy t data (:identifier 59 :scalar 67 :vector 75 :raw 83 :schema 91)) emacsql-escape-identifier emacsql-escape-scalar emacsql-escape-vector emacsql-escape-raw emacsql-prepare-schema emacsql-error "Invalid var type %S"] 15 (#$ . 22255)])
(provide 'emacsql-compiler)
