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


#@50 Path to the psql (PostgreSQL client) executable.
(require 'emacsql)
(defvar emacsql-psql-executable "psql" (#$ . 83))#@191 Return a reason if the psql executable is not available.
:no-executable -- cannot find the executable
:cannot-execute -- cannot run the executable
:old-version -- sqlite3 version is too old
(defalias 'emacsql-psql-unavailable-p #[0 "\301!\204	 \302\207\30316 \304\305\306\"r\211q\210\307\310\"\216\311\312p\312\313%\210\314\315 !AA@\316\317\"\2051 \320*\266\2020\207\321\207" [emacsql-psql-executable executable-find :no-executable (error) generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205	 \302\300!\207" [V0 buffer-name kill-buffer] 2] call-process nil "--version" split-string buffer-string version< "1.0.0" :old-version :cannot-execute] 9 (#$ . 207)])#@114 List of all of PostgreSQL's reserved words.
http://www.postgresql.org/docs/7.3/static/sql-keywords-appendix.html
(defconst emacsql-psql-reserved (emacsql-register-reserved '(ALL ANALYSE ANALYZE AND ANY AS ASC AUTHORIZATION BETWEEN BINARY BOTH CASE CAST CHECK COLLATE COLUMN CONSTRAINT CREATE CROSS CURRENT_DATE CURRENT_TIME CURRENT_TIMESTAMP CURRENT_USER DEFAULT DEFERRABLE DESC DISTINCT DO ELSE END EXCEPT FALSE FOR FOREIGN FREEZE FROM FULL GRANT GROUP HAVING ILIKE IN INITIALLY INNER INTERSECT INTO IS ISNULL JOIN LEADING LEFT LIKE LIMIT LOCALTIME LOCALTIMESTAMP NATURAL NEW NOT NOTNULL NULL OFF OFFSET OLD ON ONLY OR ORDER OUTER OVERLAPS PLACING PRIMARY REFERENCES RIGHT SELECT SESSION_USER SIMILAR SOME TABLE THEN TO TRAILING TRUE UNION UNIQUE USER USING VERBOSE WHEN WHERE)) (#$ . 888))#@84 Access the slot `types' from object of class
`emacsql-psql-connection'.

(fn THIS)#@85 Access the slot `dbname' from object of class
`emacsql-psql-connection'.

(fn THIS)#@80 Create a new object of class type `emacsql-psql-connection'.

(fn &rest SLOTS)
(byte-code "\300\301\302\303!\"\210\300\304\305\303!\"\210\300\306\304\"\210\307\306\310\311#\210\312\303\313\304#\314\303\315\316\317$\210\320\321\322\323\322\324%\210\320\325\322\326\322\327%\207" [defalias emacsql-psql-connection-p eieio-make-class-predicate emacsql-psql-connection emacsql-psql-connection--eieio-childp eieio-make-child-predicate emacsql-psql-connection-child-p make-obsolete "use (cl-typep ... 'emacsql-psql-connection) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (emacsql-connection) ((dbname :reader emacsql-psql-dbname :initarg :dbname) (types :allocation :class :reader emacsql-types :initform '((integer "BIGINT") (float "DOUBLE PRECISION") (object "TEXT") (nil "TEXT")))) (:documentation "A connection to a PostgreSQL database via psql.") cl-generic-define-method emacsql-types nil ((this emacsql-psql-connection)) #[257 "\300\301\"\207" [slot-value types] 4 (#$ . 1685)] emacsql-psql-dbname ((this emacsql-psql-connection)) #[257 "\300\301\"\207" [slot-value dbname] 4 (#$ . 1773)]] 7)
(defalias 'emacsql-psql-connection #[128 "\300\301\302#\207" [apply make-instance emacsql-psql-connection] 5 (#$ . 1862)])#@26 

(fn WHOLE &rest SLOTS)
(byte-code "\300\301\302\303#\300\207" [function-put emacsql-psql-connection compiler-macro emacsql-psql-connection--anon-cmacro] 4)
(defalias 'emacsql-psql-connection--anon-cmacro #[385 "\211@;\204 \207\300\301\302@@#@\303@DABB\304\211@%\207" [macroexp-warn-and-return format "Obsolete name arg %S to constructor %S" identity nil] 8 (#$ . 3123)])#@116 Connect to a PostgreSQL server using the psql command line program.

(fn DBNAME &key USERNAME HOSTNAME PORT DEBUG)#@15 

(fn PROC _)
(defalias 'emacsql-psql #[385 "\301\302\"A@\301\303\"A@\301\304\"A@\301\305\"A@\211\203K \211@\306>\2034 \211A\204/ \307\310@\"\210AA\202 \311>A@\203B \210\312\202 \307\313@\"\210\202 \210C\203W B\262\314B\262\203j \315B\262B\262\203x \316B\262B\262\237\317\320!\321\322B\323#\324\325\326P#\327\330\331\332%\333\334\"\210\335\336\337\"\312\"\210\203\251 \340!\210\341\342\343\"\344\"\210\345!\210\346\347\"\210\350!\207" [emacsql-psql-executable plist-member :username :hostname :port :debug (:username :hostname :port :debug :allow-other-keys) error "Missing argument for %s" :allow-other-keys nil "Keyword argument %s not one of (:username :hostname :port :debug)" "-n" "-p" "-h" generate-new-buffer " *emacsql-psql*" mapconcat shell-quote-argument " " start-process-shell-command "emacsql-psql" "stty raw && " make-instance emacsql-psql-connection :handle :dbname set-process-sentinel #[514 "\300\301!!\207" [kill-buffer process-buffer] 5 (#$ . 3630)] set-process-query-on-exit-flag eieio-oref handle emacsql-enable-debugging mapc apply-partially emacsql-send-message ("\\pset pager off" "\\pset null nil" "\\a" "\\t" "\\f ' '" "SET client_min_messages TO ERROR;" "\\set PROMPT1 ]" "EMACSQL;") emacsql-wait emacsql [:set (= default-transaction-isolation 'SERIALIZABLE)] emacsql-register] 17 (#$ . 3510)])#@19 

(fn CONNECTION)#@27 

(fn CONNECTION MESSAGE)
(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\321\322!\207" [cl-generic-define-method emacsql-close nil ((connection emacsql-psql-connection)) #[257 "\300\301\"\302!\205 \303\304\"\207" [eieio-oref handle process-live-p process-send-string "\\q\n"] 5 (#$ . 5006)] emacsql-send-message ((connection emacsql-psql-connection) message) #[514 "\300\301\"\302\"\210\302\303\"\207" [eieio-oref handle process-send-string "\n"] 6 (#$ . 5029)] emacsql-waiting-p ((connection emacsql-psql-connection)) #[257 "r\300!q\210\301 \302U\203 \303 \304\230\202\" \301 \302V\205\" d\305Zd{\306\230)\207" [emacsql-buffer buffer-size 1 buffer-string "]" 2 "\n]"] 3 (#$ . 5006)] emacsql-check-error ((connection emacsql-psql-connection)) #[257 "r\301!q\210\302eb\210\303\304!\205 \305 \306 \307\310{C\"\266\202*\207" [case-fold-search emacsql-buffer t looking-at "error:" line-beginning-position line-end-position signal emacsql-error] 7 (#$ . 5006)] emacsql-parse ((connection emacsql-psql-connection)) #[257 "\301!\210r\302!q\210peb\210\3032? \304\211\305\306!\2047 \307 C\244\262\305\310!\203 \211C\244\262\311u\210\304\262\202 \312\303\"\266\3040*\207" [standard-input emacsql-check-error emacsql-buffer --cl-block-nil-- nil looking-at "]" read "\n" 1 throw] 6 (#$ . 5006)] provide emacsql-psql] 6)
