!~p      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                        Safe"None"_W X [ YZ"! %$#('&)*+,-./0123456789:;<=>?@ABCDEHGFJILKNMOPQRSTUV\]^_W X [ YZ"! %$#('&)*+,-./0123456789:;<=>?@ABCDEHGFJILKNMOPQRSTUV]^\ NoneF'hpreqlBEncode a Haskell String to a list of Word8 values, in UTF8 format.Z_ba`cefdgkjihlmnopqtsruvwyxz{|}~Zgkjihcefd_ba`vwyxqtsrunoplm~{|}zNone;*~None-0preql1Errors that can occur in decoding a single field.preqlYA decoding error with information about the row & column of the result where it occured.None"#4Md2preql RowDecoder is  but not b so that we can assemble all of the OIDs before we read any of the field data sent by Postgresj.preqlThe IsString instance does no validation; the limited instances discourage directly manipulating strings, with the high risk of SQL injection. None3J(c) 2013 Leon P SmithBSD3None5preqleA structure representing some of the metadata regarding a PostgreSQL type, mostly taken from the pg_type table.          (c) 2011-2012 Leon P SmithBSD3None77      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ Safe? None=?MHpreqlToSql a is sufficient to pass a( as parameters to a paramaterized query.preql6Types which can be encoded to a single Postgres field.preqlA  FieldEncoder for a type a consists of a function from ah to it's binary representation, and an Postgres OID which tells Postgres it's type & how to decode it.preql]If you want to encode some more specific Haskell type via JSON, it is more efficient to use  rather than this instance. preql]If you want to encode some more specific Haskell type via JSON, it is more efficient to use  and & directly, rather than this instance.   None "#24=?dQ5FpreqlA  FieldDecoder for a type a consists of an OID indicating the Postgres type which can be decoded, and a parser from the binary representation of that type to the Haskell representation.Mpreql]If you want to encode some more specific Haskell type via JSON, it is more efficient to use L rather than this instance.Tpreql]If you want to encode some more specific Haskell type via JSON, it is more efficient to use  and & directly, rather than this instance. BCDEFGHIJKL FGHIJKDEBCL NoneQNoneR9,BCDEFGHIJKLBBDBCDEFGHIJKL None"$dlpreql4A list of n Names beginning with the given characterpreql.Convert a rewritten SQL string to a ByteStringpreql5Given a SQL query with ${} antiquotes, splice a pair (Query p r, p) or a function p' -> (Query p r, p)F if the SQL string includes both antiquote and positional parameters.The sqlD Quasiquoter allows passing parameters to a query by name, inside a ${} antiquote. For example: N[sql| SELECT name, age FROM cats WHERE age >= ${minAge} and age < ${maxAge} |] The Haskell term within {}I must be a variable in scope; more complex expressions are not supported.'Antiquotes are replaced by positional ($1, $2J) parameters supported by Postgres, and the encoded values are sent with  PexecParamsMixed named & numbered parameters are also supported. It is hoped that this will be useful when migrating existing queries. For example: Vquery $ [sql| SELECT name, age FROM cats WHERE age >= ${minAge} and age < $1 |] maxAgec Named parameters will be assigned numbers higher than the highest numbered paramater placeholder.XA quote with only named parameters is converted to a tuple '(Query, p)'. For example: M("SELECT name, age FROM cats WHERE age >= $1 and age < $2", (minAge, maxAge))1 If there are no parameters, the inner tuple is (), like ("SELECT * FROM cats", ())e. If there are both named & numbered params, the splice is a function taking a tuple and returning  (Query, p)? where p includes both named & numbered params. For example: Ma -> ("SELECT name, age FROM cats WHERE age >= $1 and age < $2", (a, maxAge))None&';=?HMSVX|< preql@A Transaction can only contain SQL queries (and pure functions).preqlAn Effect class for running SQL queries. You can think of this as a context specifying a particular Postgres connection (or connection pool). A minimal instance defines runTransaction. A typical instance will use  or functions in  and log & rethrow errors.preql_Run a parameterized query that returns data. The tuple argument is typically provided by the sql Quasiquoter.preql4Run a parameterized query that does not return data.preql&Run multiple queries in a transaction.preqlRun the provided . If it fails with a  , roll back.preql The same query methods can be used within a  Transaction . Nested  Transactions" are implemented using savepoints.preqlDLift through any monad transformer without a more specific instance.preql_Most larger applications will define an instance; this one is suitable to test out the library.None|None}(3BCDEFGHIJKLBD !"#$%&'()*+,-./0121314156768!9!:!;!<!=!>!?!@!A!BCDCECFCGCHCICJCKCLCLMNOPOQOROSOTOUOVOWOXOYOZO[O\O]O^O_O`OaObOcOdOeOfghijklmlnlnopopqrqsqtqu)v)w)xyzy{|}~,,       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~v                     ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                    preql-0.2-FQIFg3A2cXy5fpZFcejdSU Preql.ImportsPreql.QuasiQuoter.Raw.LexPreql.Wire.OrphansPreql.Wire.ErrorsPreql.Wire.InternalPreql.Wire.TuplesPreql.Wire.TypeInfo.TypesPreql.Wire.TypeInfo.StaticPreql.Wire.TypesPreql.Wire.ToSqlPreql.Wire.FromSqlPreql.Wire.QueryPreql.QuasiQuoter.Raw.THPreql.Effect.Internal Paths_preql Data.AesonencodePostgreSQL.Binary.Encoding jsonb_bytes Preql.Wire Preql.EffectPreqlbaseGHC.Basefmap<*>pure*>FunctorData.Typeable.InternalTypeable ApplicativeData.Traversable Traversableghc-prim GHC.TypesTyConbytestring-0.10.8.2Data.ByteString.Internal ByteString Data.Functor<$><|> text-1.2.3.1Data.Text.InternalText<* AlternativeData.Bifunctorsecondfirstbimap BifunctorControl.Monad.IO.ClassliftIOMonadIOfoldMapDefault fmapDefault mapAccumR mapAccumLforMforsequencemapM sequenceAtraverseControl.Applicativeoptional unwrapMonad WrapMonad WrappedMonad unwrapArrow WrapArrow WrappedArrow getZipListZipListGHC.Exception.Type Exception Data.TypeabletypeOf7typeOf6typeOf5typeOf4typeOf3typeOf2typeOf1 rnfTypeReptypeRepFingerprint typeRepTyCon typeRepArgs splitTyConAppmkFunTy funResultTygcast2gcast1gcasteqTcast showsTypeReptypeReptypeOfTypeReprnfTyContyConFingerprint tyConName tyConModule tyConPackageData.Functor.ConstgetConstConst Data.ProxyProxyData.Type.EqualityRefl:~:HRefl:~~:void$><&> Data.Maybe catMaybes fromMaybeliftA3liftA<**><$liftA2manysomeempty&vector-0.12.1.2-E9YBdJZ4ywF23gc9L8wAxp Data.VectorVectorData.Text.EncodingdecodeUtf8WithData.Text.Encoding.Error lenientDecodeAlexAcc AlexAccNone AlexAccSkip AlexLastAccAlexNone AlexLastSkip AlexReturnAlexEOF AlexErrorAlexSkip AlexTokenAlexAddrAlexA# AlexUserStatefilePathTokenSql NumberedParam HaskellParamEOFLocTokenlocunLoc AlexActionAlexunAlex AlexStatealex_posalex_inpalex_chr alex_bytesalex_scdalex_ustAlexPosnAlexPn AlexInputByte utf8EncodeignorePendingBytesalexInputPrevChar alexGetByte alexStartPosalexMoverunAlex alexGetInput alexSetInput alexErroralexGetStartCodealexSetStartCodealexGetUserStatealexSetUserState alexMonadScanskipbeginandBegintoken alex_tab_size alex_base alex_table alex_check alex_deflt alex_accept alex_actionsalexInitUserState getFilePath setFilePathunLexlex'alexMonadScan'alexEOF alexError'runAlex'lexAll parseQuery' parseQuery alex_action_0 alex_action_1 alex_action_2alexIndexInt16OffAddralexIndexInt32OffAddr quickIndexalexScan alexScanUser alex_scan_tkn $fMonadAlex$fApplicativeAlex $fFunctorAlex $fEqAlexPosn$fShowAlexPosn $fShowToken $fEqToken $fOrdToken$fShowLocToken $fFromJSONOid $fToJSONOidUnlocatedFieldErrorUnexpectedNull ParseFailure$fEqUnlocatedFieldError$fShowUnlocatedFieldError FieldErrorerrorRow errorColumnfailure$fFromJSONUnlocatedFieldError$fToJSONUnlocatedFieldError$fExceptionFieldError$fEqFieldError$fShowFieldError TypeMismatchexpectedactualcolumn columnName$fFromJSONFieldError$fToJSONFieldError$fEqTypeMismatch$fShowTypeMismatch QueryErrorConnectionError DecoderErrorPgTypeMismatch$fFromJSONTypeMismatch$fToJSONTypeMismatch$fExceptionQueryError$fEqQueryError$fShowQueryError$fFromJSONQueryError$fToJSONQueryError DecoderState$sel:result:DecoderState$sel:row:DecoderState$sel:column:DecoderStateInternalDecoder RowDecoderQuery decodeRow getNextValue$fApplicativeRowDecoder $fShowQuery$fIsStringQuery$fShowDecoderState$fEqDecoderState$fFunctorRowDecoderalphabetderiveFromSqlTuplederiveToSqlTuple AttributeattnameatttypeTypeInfoBasicArrayRange Compositetypoid typcategorytypdelimtypnametypelem rngsubtypetyprelid attributes$fShowAttribute$fShowTypeInfostaticTypeInfoboolboolOidbyteabyteaOidcharcharOidnamenameOidint8int8Oidint2int2Oidint4int4Oidregproc regprocOidtexttextOidoidoidOidtidtidOidxidxidOidcidcidOidxmlxmlOidpointpointOidlseglsegOidpathpathOidboxboxOidpolygon polygonOidlinelineOidcidrcidrOidfloat4 float4Oidfloat8 float8Oidunknown unknownOidcircle circleOidmoneymoneyOidmacaddr macaddrOidinetinetOidbpchar bpcharOidvarchar varcharOiddatedateOidtimetimeOid timestamp timestampOid timestamptztimestamptzOidinterval intervalOidtimetz timetzOidbitbitOidvarbit varbitOidnumeric numericOid refcursor refcursorOidrecord recordOidvoidOid array_recordarray_recordOid regprocedureregprocedureOidregoper regoperOid regoperatorregoperatorOidregclass regclassOidregtype regtypeOiduuiduuidOidjsonjsonOidjsonbjsonbOid int2vector int2vectorOid oidvector oidvectorOid array_xml array_xmlOid array_json array_jsonOid array_line array_lineOid array_cidr array_cidrOid array_circlearray_circleOid array_moneyarray_moneyOid array_bool array_boolOid array_byteaarray_byteaOid array_char array_charOid array_name array_nameOid array_int2 array_int2Oidarray_int2vectorarray_int2vectorOid array_int4 array_int4Oid array_regprocarray_regprocOid array_text array_textOid array_tid array_tidOid array_xid array_xidOid array_cid array_cidOidarray_oidvectorarray_oidvectorOid array_bpchararray_bpcharOid array_varchararray_varcharOid array_int8 array_int8Oid array_pointarray_pointOid array_lseg array_lsegOid array_path array_pathOid array_box array_boxOid array_float4array_float4Oid array_float8array_float8Oid array_polygonarray_polygonOid array_oid array_oidOid array_macaddrarray_macaddrOid array_inet array_inetOidarray_timestamparray_timestampOid array_date array_dateOid array_time array_timeOidarray_timestamptzarray_timestamptzOidarray_intervalarray_intervalOid array_numericarray_numericOid array_timetzarray_timetzOid array_bit array_bitOid array_varbitarray_varbitOidarray_refcursorarray_refcursorOidarray_regprocedurearray_regprocedureOid array_regoperarray_regoperOidarray_regoperatorarray_regoperatorOidarray_regclassarray_regclassOid array_regtypearray_regtypeOid array_uuid array_uuidOid array_jsonbarray_jsonbOid int4range int4rangeOid _int4range _int4rangeOidnumrange numrangeOid _numrange _numrangeOidtsrange tsrangeOid_tsrange _tsrangeOid tstzrange tstzrangeOid _tstzrange _tstzrangeOid daterange daterangeOid _daterange _daterangeOid int8range int8rangeOid _int8range _int8rangeOidTimeTZ $fShowTimeTZ $fEqTimeTZToSqltoSql ToSqlField toSqlField RowEncoder FieldEncoderrunFieldEncoder runEncoderoneFieldtoSqlJsonField$fContravariantFieldEncoder$fToSqlFieldValue$fToSqlFieldUUID$fToSqlFieldTimeTZ$fToSqlFieldTimeOfDay$fToSqlFieldDay$fToSqlFieldUTCTime$fToSqlFieldByteString$fToSqlFieldByteString0$fToSqlFieldText$fToSqlFieldText0$fToSqlField[]$fToSqlFieldChar$fToSqlFieldDouble$fToSqlFieldFloat$fToSqlFieldInt64$fToSqlFieldInt32$fToSqlFieldInt16$fToSqlFieldBool $fToSql(,,) $fToSql(,) $fToSql() $fToSqlValue $fToSqlUUID $fToSqlTimeTZ$fToSqlTimeOfDay $fToSqlDay$fToSqlUTCTime$fToSqlByteString$fToSqlByteString0 $fToSqlText $fToSqlText0 $fToSql[] $fToSqlChar $fToSqlDouble $fToSqlFloat $fToSqlInt64 $fToSqlInt32 $fToSqlInt16 $fToSqlBool $fToSql(,,,) $fToSql(,,,,)$fToSql(,,,,,)$fToSql(,,,,,,)$fToSql(,,,,,,,)$fToSql(,,,,,,,,)$fToSql(,,,,,,,,,)$fToSql(,,,,,,,,,,)$fToSql(,,,,,,,,,,,)$fToSql(,,,,,,,,,,,,)$fToSql(,,,,,,,,,,,,,)$fToSql(,,,,,,,,,,,,,,)$fToSql(,,,,,,,,,,,,,,,)$fToSql(,,,,,,,,,,,,,,,,)$fToSql(,,,,,,,,,,,,,,,,,)$fToSql(,,,,,,,,,,,,,,,,,,)$fToSql(,,,,,,,,,,,,,,,,,,,)$fToSql(,,,,,,,,,,,,,,,,,,,,)$fToSql(,,,,,,,,,,,,,,,,,,,,,)$fToSql(,,,,,,,,,,,,,,,,,,,,,,) $fToSql(,,,,,,,,,,,,,,,,,,,,,,,)!$fToSql(,,,,,,,,,,,,,,,,,,,,,,,,)FromSqlfromSql FromSqlField fromSqlField FieldDecoder throwLocated decodeVectornotNullnullablefromSqlJsonField$fFromSqlFieldValue$fFromSqlFieldUUID$fFromSqlFieldTimeTZ$fFromSqlFieldTimeOfDay$fFromSqlFieldDay$fFromSqlFieldUTCTime$fFromSqlFieldByteString$fFromSqlFieldByteString0$fFromSqlFieldText$fFromSqlFieldText0$fFromSqlField[]$fFromSqlFieldDouble$fFromSqlFieldFloat$fFromSqlFieldInt64$fFromSqlFieldInt32$fFromSqlFieldInt16$fFromSqlFieldBool $fFromSql(,,) $fFromSql(,)$fFromSqlMaybe$fFromSqlValue $fFromSqlUUID$fFromSqlTimeTZ$fFromSqlTimeOfDay $fFromSqlDay$fFromSqlUTCTime$fFromSqlByteString$fFromSqlByteString0 $fFromSqlText$fFromSqlText0 $fFromSql[]$fFromSqlDouble$fFromSqlFloat$fFromSqlInt64$fFromSqlInt32$fFromSqlInt16 $fFromSqlBool$fFunctorFieldDecoder$fFromSql(,,,)$fFromSql(,,,,)$fFromSql(,,,,,)$fFromSql(,,,,,,)$fFromSql(,,,,,,,)$fFromSql(,,,,,,,,)$fFromSql(,,,,,,,,,)$fFromSql(,,,,,,,,,,)$fFromSql(,,,,,,,,,,,)$fFromSql(,,,,,,,,,,,,)$fFromSql(,,,,,,,,,,,,,)$fFromSql(,,,,,,,,,,,,,,)$fFromSql(,,,,,,,,,,,,,,,)$fFromSql(,,,,,,,,,,,,,,,,)$fFromSql(,,,,,,,,,,,,,,,,,)$fFromSql(,,,,,,,,,,,,,,,,,,)$fFromSql(,,,,,,,,,,,,,,,,,,,)$fFromSql(,,,,,,,,,,,,,,,,,,,,) $fFromSql(,,,,,,,,,,,,,,,,,,,,,)!$fFromSql(,,,,,,,,,,,,,,,,,,,,,,)"$fFromSql(,,,,,,,,,,,,,,,,,,,,,,,)#$fFromSql(,,,,,,,,,,,,,,,,,,,,,,,,) queryWith queryWith_ execParamsqueryquery_connectionErrorcNames makeQuerysql tupleOrSingleexpressionOnlymaxParamnumberAntiquotes TransactionSQLrunTransactionrunTransactionIO$fSQLTransaction$fSQLt $fSQLReaderT$fFunctorTransaction$fApplicativeTransaction$fMonadTransactionversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileNameMonad