.      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                  ! " # $ % & ' ( ) * + , - (c) Ole Krger 2016BSD3Ole Krger <ole@vprsm.de>None.Show as  ByteString/Read as  ByteString0UTF-8 correct alternative to  fromString.1Lift  ByteString../01./01./01(c) Ole Krger 2016BSD3Ole Krger <ole@vprsm.de>Safe%&*+,9:;<=?DOQRTfA value of type r% can be created using an instance of Tuple ts.FBuild a function type using the given parameter types and return type.2Do something with a .3Append an element to the end.*Helper class to extract an element from a . Extract the n-th element from the product.4Helper class for the Show (Tuple ts) instanceGeneric product type5-Append a single element to the end of a list.Extract element at index 0.Extract element at index 1.Extract element at index 2.Extract element at index 3.Extract element at index 4.Extract element at index 5.Extract element at index 6.Extract element at index 7.Extract element at index 8.Extract element at index 9. Collect values to construct a Tuple ts&, then apply the given function to it.!2Collect and append product element, then continue."(Apply the given function to the current  state.#Append to non-empty product.$Append to empty product.%$Extract element that is not the head&Extract head element(*Show all elements, starting with the first)Nothing to show"263475 !"#$%&'()  263475 !"#$%&'()55(c) Ole Krger 2016BSD3Ole Krger <ole@vprsm.de>None *Preparable query object,Name of the prepared statement- SQL statement.Parameter type hints/Parameter generator0 Query object2 SQL statement3 Parameters4 SQL statement6Attach 8 tag.7Attach 8 tag.*+,-./01234567*+,-./01234567450123*+,-./67*+,-./01234567(c) Ole Krger 2016BSD3Ole Krger <ole@vprsm.de>None,DOQRTf? Consumes w@ columns of a result set row in order to produce an instance of a.93Shortcut for the internal monad transformer inside ?@(An error that occured when parsing a rowB$Errors that occur during row parsingC Underlying ?/ wants more columns than are currently present.D#A column value could not be parsed.ELocation of an errorGProcess the each row of the : with the given ?.H9Terminate the parsing tree by returning the final result.I)Terminate the parsing tree with an error.J Transform the result of another ?U. Similar to monadic bind. Also keeps track of how many columns are needed in total.K Chain two ?'s, but discard the result of the first.LJust like the '( * )' operator.MSkip a number of columns.N)Check if the following n columns are not NULL.O!Process the contents of a column.P%Retrieve a column's type and content.QRetrieve a column's content.?;<9@ABCDEFGHIJKLMNOPQR?@ABCDEFGHIJKLMNOPQ?EFBCD@AGJKLHIMNOPQ?;<9@ABCDEFGHIJKLMNOPQRJ1K1L4(c) Ole Krger 2016BSD3Ole Krger <ole@vprsm.de>None ,<=AQRTf\_Generator for queries, its type parameter hints the type needed to generate the attached valuesaAssemble the query object.bAssemble for query preparation.c7Embed a generator which requires an external parameter.=Format identifier properly.d;Insert an identifying name. Takes care of proper quotation.eYConnect two identifiers with a dot. Each identifier is surrounded by quotes if necessary.f6Surround with quotes and escape delimiting characters.g4Join multiple query generators with a piece of code.h Redirect the n!-th parameter for the given queryi7Redirect the 0th paramter to the given query generator.j7Redirect the 1st paramter to the given query generator.k7Redirect the 2nd paramter to the given query generator.l7Redirect the 3rd paramter to the given query generator.m7Redirect the 4th paramter to the given query generator.n7Redirect the 5th paramter to the given query generator.o7Redirect the 6th paramter to the given query generator.p7Redirect the 7th paramter to the given query generator.q7Redirect the 8th paramter to the given query generator.r7Redirect the 9th paramter to the given query generator.\]^_`abc=defghijklmnopqrstuv\]^_`abcdefghijklmnopqr\]^_`abcdefghijklmnopqr\]^_`abc=defghijklmnopqrstuv(c) Ole Krger 2016BSD3Ole Krger <ole@vprsm.de>Safe%&*,/9:;DQR%w Make sure aA has a safe generic representation. Types that qualify implement >2 (GHC) and fulfill one of the following criteria:(single constructor with 1 or more fields$multiple constructors with no fieldsmThis constraint is mostly utilized to give the user more information about why their type has been rejected.x representation of a data typey Analyze the wc representation of a data type. If only one constructor exists, further analyzing is delegated to 5. When two or more exist, analyzing is performed by . The results are gather in a  instance.zMappings between a > representation and our -based representation{w representation|-based representation}From w representation~To w representationInformation about a data typeRecord Enumeration Analyze the wh representation of constructors. Make sure every constructor has zero fields. Then transform it into a .Mappings between a > representation and our -based representationw representation-based representationFrom w representationTo w representation4Information about the constructors of an enumerationCombination of valuesSingle value of the enumeration Analyze the w_ representation of the selectors. Make sure it has 1 or more fields. Then transform it into a .Mappings between a > representation and our -based representationw representation-based representationFrom w representationTo w representationInformation about a recordCombination of two records-Single element with meta information and type"Convert to generic representation."Build from generic representation.With multiple constructorsWith single constructor$Combination of multiple constructorsSingle constructorCombination of records Single record2wxyz{|}~?@ABCDEFGHIJK)wxyz|{}~|@?CABEDwxz{|}~ywxyz{|}~F?G@HABICJDKE(c) Ole Krger 2016BSD3Ole Krger <ole@vprsm.de>None*,69:;DQRTf4;An entity that is used as a parameter or result of a query.-Number of values of which the entity consists Embed the entity into the query.Retrieve an instance of a from the result set.CThis is required if you want to use the default implementations of or  with polymorphic data types.Generic entityLGeneric enumeration valueGeneric record entityGeneric \ for an entity.Generic ? for an entity.Embed an entity into the query.Parameter entity at index 0Parameter entity at index 1Parameter entity at index 2Parameter entity at index 3Parameter entity at index 4Parameter entity at index 5Parameter entity at index 6Parameter entity at index 7Parameter entity at index 8Parameter entity at index 9M Construct a \ using a N.OParse the contents of a column.json or jsonbbytea# - byte array encoded in hex formatbytea# - byte array encoded in hex formatchar, varchar or text0 - UTF-8 encoded; does not allow NULL characterschar, varchar or text0 - UTF-8 encoded; does not allow NULL characterschar, varchar or text0 - UTF-8 encoded; does not allow NULL charactersAny numeric typeAny floating-point numberAny floating-point numberAny unsigned integerAny unsigned integerAny unsigned integerAny unsigned integerAny unsigned integerAny unsigned integer Any integer Any integer Any integer Any integer Any integer Any integer booleanA value which may be NULL.Chain of 7 entitiesChain of 6 entitiesChain of 5 entitiesChain of 4 entitiesChain of 3 entitiesChain of 2 entitiesBLPQMO7LPQMO(c) Ole Krger 2016BSD3Ole Krger <ole@vprsm.de>None*,69:;DQRTfCTable entity with extra information about its name and column namesDescribe the table type.Constraint for generic tables)Analyzes a type in order to retrieve its  representation. Check the >C representation of a data type in order to generate an instance of .Provide the means to demote  to a value.Instantiate singletonDescription of a table Table name Table columns!Type-level description of a table Check the >@ representation of a record in order to generate an instance of .Provide the means to demote  to a value.Instantiate singleton"Type-level description of a record5Fetch the table description for a generic table type.Embed table name.4Embed a comma-seperated list of the table's columns.Same as 7 but expands the columns on an alias of the table name. (c) Ole Krger 2016BSD3Ole Krger <ole@vprsm.de>NoneR Shortcut for Tagged t TableS Query segmentTNameU Type nameVQualified type nameWTableXSelectorYSelector aliasZEntity[ Entity code\ Quotation]Uninterpreted segment^!Segment that is part of the query_Pack ` code into a  ByteString.a Translate a  QuerySegment to an expression.b+Parse a query string in order to produce a \ expression. Generate a \ expression.See "Database.PostgreSQL.Store.Query.THI for detailed description of the language accepted by this quasi quoter. Generate a Query8. This utilizes an intermediate query generator of type QueryGenerator ().See "Database.PostgreSQL.Store.Query.THI for detailed description of the language accepted by this quasi quoter. Generate a  PrepQuery,. The intermediate query generator has type QueryGenerator (Tuple ts) where ts has kind [Type]. ts? represents the types of the parameters to this prepared query.xIt is highly recommended that supply a type signature, if you give the resulting expression a name, to avoid ambiguity. q :: PrepQuery '[Int, String] User q = [pgPrepQuery| SELECT #User(u) FROM @User u WHERE age < $(param0) AND name LIKE $(param1) |]See "Database.PostgreSQL.Store.Query.THI for detailed description of the language accepted by this quasi quoter.RScdefghiTUVWXYZ[\]^_jabklRScdefghiTUVWXYZ[\]^_jabkl (c) Ole Krger 2016BSD3Ole Krger <ole@vprsm.de>None\]^_`abcdefghijklmnopqr (c) Ole Krger 2015-2016BSD3Ole Krger <ole@vprsm.de>None,9:;<=DIRT Identifies q as a query object.A type equal to Errand r- or a function which will eventually yield a Errand rExecute the query described in q x and pass its : to the given function. An interaction with the database Error codesError during errandNo m has been returned.A user has thrown an error.Query execution failed.Result processing failed.Run an errand.nValidate the result.o3Counts the rows that have been affected by a query.pExtract the result.1Execute the query and return its internal result.Same as  but instead of a :( it returns the number of affected rows.>Execute a query and process its result set using the provided ?.+Execute a query and process its result set.Prepare a preparable query.Begin a transaction.Commit transaction.$Create savepoint within transaction.Roll back transaction."Roll back to a specific savepoint."Do something within a transaction.'q     nopr !"#          q     nopr !"#(c) Ole Krger 2016BSD3Ole Krger <ole@vprsm.de>NoneF *+,-./0123@ABCDEF     I0123*+,-./      @AEFBCDs               !"#$%&'()*+,-./01234567889:;<==>?@@ABCDEFGHIJKKLMNOOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 789:;<= >? @JABCDEFGHIJKLMNOPQRSTUVW X Y Z [ \ ] ^ _ ` a b c d eCfg h i j k l m n o p q r stu@ v w x  yz%pg-store-0.4.3-I8Vk31d0SXkGtpMmdDQBxiDatabase.PostgreSQL.Store.TypesDatabase.PostgreSQL.StoreDatabase.PostgreSQL.Store.Tuple#Database.PostgreSQL.Store.RowParser'Database.PostgreSQL.Store.Query.Builder"Database.PostgreSQL.Store.Generics Database.PostgreSQL.Store.EntityDatabase.PostgreSQL.Store.Table"Database.PostgreSQL.Store.Query.TH Database.PostgreSQL.Store.Errand#Database.PostgreSQL.Store.UtilitiesDatabase.PostgreSQL.Store.Query/postgresql-libpq-0.9.3.1-2uyCt1bjp2BBNrJ77pyQ3oDatabase.PostgreSQL.LibPQFormatOid SingleTuple FatalError NonfatalError BadResponseCopyBothCopyInCopyOutTuplesOk CommandOk EmptyQuery ExecStatus WithTuple FunctionType appendElement HasElement getElementNTupleEmptyCons getElement0 getElement1 getElement2 getElement3 getElement4 getElement5 getElement6 getElement7 getElement8 getElement9 withTuple$fConsTupletsa(->)$fConsTuplets(->)r$fAppendElement:$fAppendElement[]$fHasElementn:r$fHasElement0:t $fShowTuple$fShowElement:$fShowElement[] PrepQueryprepName prepStatementprepOids prepParamsQueryqueryStatement queryParams StatementtoParam toTypedParam$fShowStatement $fEqStatement$fOrdStatement $fShowQuery $fEqQuery $fOrdQuery$fShowPrepQuery RowParserRowErrorRowErrorDetail TooFewColumnsColumnRejectedRowErrorLocationprocessResultWithfinishcancel>>=$>>$<*>$ skipColumns nonNullCheckprocessContentretrieveColumnretrieveContent$fFunctorRowParser$fShowRowErrorLocation$fEqRowErrorLocation$fOrdRowErrorLocation$fShowRowErrorDetail$fEqRowErrorDetail$fOrdRowErrorDetail$fShowRowError $fEqRowError $fOrdRowErrorQueryGeneratorGenCodeWithMergeassemble assemblePrep withOther genIdentifiergenNestedIdentifiergenQuotejoinGens withParamN withParam0 withParam1 withParam2 withParam3 withParam4 withParam5 withParam6 withParam7 withParam8 withParam9$fHashableQueryGenerator$fIsStringQueryGenerator$fSemigroupQueryGenerator$fMonoidQueryGeneratorGenericRepAnalyzeDataType GDataType DataTypeRepDataType toDataType fromDataType KDataTypeTRecordTFlatSumAnalyzeFlatSumRepGFlatSum FlatSumRepFlatSum toFlatSum fromFlatSumKFlatSumTChooseTValueAnalyzeRecordRepGRecord RecordRepRecordtoRecord fromRecordKRecordTCombineTSingle fromGeneric toGeneric$fGDataTypeTFlatSum$fGDataTypeTRecord$fGFlatSumTChoose$fGFlatSumTValue$fGRecordTCombine$fGRecordTSingle$fShowDataType$fShowDataType0 $fShowFlatSum$fShowFlatSum0 $fShowRecord $fShowRecord0EntityWidth genEntity parseEntity GenericEntityGEntity GEntityWidth gEmbedEntity gParseEntity GEntityRecord GRecordWidth gEmbedRecord gParseRecord genGeneric parseGeneric embedEntityparam0param1param2param3param4param5param6param7param8param9 $fEntityValue$fEntityByteString$fEntityByteString0 $fEntityText $fEntityText0 $fEntity[]$fEntityScientific $fEntityFloat$fEntityDouble$fEntityWord64$fEntityWord32$fEntityWord16 $fEntityWord8 $fEntityWord$fEntityNatural $fEntityInt64 $fEntityInt32 $fEntityInt16 $fEntityInt8 $fEntityInt$fEntityInteger $fEntityBool $fEntityMaybe$fEntity(,,,,,,)$fEntity(,,,,,)$fEntity(,,,,) $fEntity(,,,) $fEntity(,,) $fEntity(,)$fGEntityTFlatSum$fGEntityTRecord$fGEntityEnumTChoose$fGEntityEnumTValue$fGEntityRecordTCombine$fGEntityRecordTSingle TableEntitydescribeTableType GenericTable AnalyzeTableAnalyzeTableRepGTablegDescribeTableTable tableName tableColsKTableTTableGColumnsgDescribeColumnsKColumns TSelectordescribeGenericTable genTableNamegenTableColumnsgenTableColumnsOn$fGTableTTable$fGColumnsTCombine$fGColumnsTSelector $fShowTable $fEqTable $fOrdTable pgQueryGenpgQuery pgPrepQuery$fShowQuerySegment$fEqQuerySegment$fOrdQuerySegment ErrandQuery ErrandResult executeWithErrand ErrorCodeUnknownErrorCauseIntegrityViolationRestrictViolationNotNullViolationForeignKeyViolationUniqueViolationCheckViolationExclusionViolation ErrandErrorNoResult UserError ExecError ParseError runErrandexecuteexecute' queryWithquerypreparebeginTransactioncommitTransactionsaveTransactionrollbackTransactionrollbackTransactionTowithTransaction$fErrandQueryPrepQueryr$fErrandQueryQueryr$fErrandQueryStatementr$fMonoidErrandError$fShowErrorCode $fEqErrorCode$fShowErrandError$fEqErrandError$fFunctorErrand$fApplicativeErrand $fMonadErrand$fAlternativeErrand$fMonadIOErrand$fMonadErrorErrandshowByteStringreadByteStringbuildByteStringliftByteString ConsTuple AppendElement ShowElement|> consTuple gatherShownTextMResult runProcessorformatIdentifierbase GHC.Generics ChooseLeft ChooseRightUnitCombineSingleD:R:DataTypeTFlatSum0D:R:DataTypeTRecord0D:R:FlatSumTChoose0D:R:FlatSumTValue0D:R:RecordTCombine0D:R:RecordTSingle0 GEntityEnumbuildGenbytestring-0.10.8.1 Data.ByteString.Builder.InternalBuilder parseContentgEnumToPayloadgEnumFromPayloadTableTag QuerySegment valueNametypeNamequalifiedTypeName tableSegmentselectorSegmentselectorAliasSegmententityNameSegmententityCodeSegment quoteSegment otherSegment querySegmentpackCodeGHC.BaseStringtranslateSegment queryGenE QueryEntityQueryEntityCode QueryQuote QueryOther QueryTable QuerySelectorQuerySelectorAliastableDescriptionEqueryE prepQueryE*attoparsec-0.13.1.0-5VOOy4VMARE4xFaHzcJxYu#Data.Attoparsec.ByteString.InternalvalidateResultcountAffectedRowstransformResult acceptResult