BĤ+      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                  ! " # $ % & ' ( ) * (c) Ole Krger 2016BSD3Ole Krger <ole@vprsm.de>None+Show as  ByteString,Read as  ByteString-UTF-8 correct alternative to  fromString..Lift  ByteString.+,-.+,-.+,-.(c) Ole Krger 2016BSD3Ole Krger <ole@vprsm.de>Safe%&*+,9:;<=?DOQRTfOGenerate a function which collects the parameters and packs then into a 'Tuple.FBuild a function type using the given parameter types and return type.*Helper class to extract an element from a . Extract the n-th element from the product./Helper class for the Show (Tuple ts) instanceGeneric product typeExtract 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."$Extract element that is not the head#Extract head element%*Show all elements, starting with the first&Nothing to show/0 !"#$%&/0 !"#$%&(c) Ole Krger 2016BSD3Ole Krger <ole@vprsm.de>None 'Preparable query object)Name of the prepared statement* SQL statement+Parameter type hints,Parameter generator- Query object/ SQL statement0 Parameters1 SQL statement3Attach 1 tag.4Attach 1 tag.'()*+,-./01234'()*+,-./0123412-./0'()*+,34'()*+,-./01234(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.23Shortcut for the internal monad transformer inside <=(An error that occured when parsing a row?$Errors that occur during row parsing@ Underlying </ wants more columns than are currently present.A#A column value could not be parsed.BLocation of an errorDProcess the each row of the 3 with the given <.E9Terminate the parsing tree by returning the final result.F)Terminate the parsing tree with an error.G Transform the result of another <U. Similar to monadic bind. Also keeps track of how many columns are needed in total.H Chain two <'s, but discard the result of the first.IJust like the '( * )' operator.JSkip a number of columns.K)Check if the following n columns are not NULL.L!Process the contents of a column.M%Retrieve a column's type and content.NRetrieve a column's content.<452=>?@ABCDEFGHIJKLMNO<=>?@ABCDEFGHIJKLMN<BC?@A=>DGHIEFJKLMN<452=>?@ABCDEFGHIJKLMNOG1H1I4(c) Ole Krger 2016BSD3Ole Krger <ole@vprsm.de>None ,<=AQRTfY_Generator for queries, its type parameter hints the type needed to generate the attached values^Assemble the query object._Assemble for query preparation.`7Embed a generator which requires an external parameter.6Format identifier properly.a;Insert an identifying name. Takes care of proper quotation.bYConnect two identifiers with a dot. Each identifier is surrounded by quotes if necessary.c6Surround with quotes and escape delimiting characters.d4Join multiple query generators with a piece of code.e Redirect the n!-th parameter for the given queryf7Redirect the 0th paramter to the given query generator.g7Redirect the 1st paramter to the given query generator.h7Redirect the 2nd paramter to the given query generator.i7Redirect the 3rd paramter to the given query generator.j7Redirect the 4th paramter to the given query generator.k7Redirect the 5th paramter to the given query generator.l7Redirect the 6th paramter to the given query generator.m7Redirect the 7th paramter to the given query generator.n7Redirect the 8th paramter to the given query generator.o7Redirect the 9th paramter to the given query generator.YZ[\]^_`6abcdefghijklmnopqrsYZ[\]^_`abcdefghijklmnoYZ[\]^_`abcdefghijklmnoYZ[\]^_`6abcdefghijklmnopqrs(c) Ole Krger 2016BSD3Ole Krger <ole@vprsm.de>Safe%&*,/9:;DQR%t Make sure aA has a safe generic representation. Types that qualify implement 72 (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.u| representation of a data typev Analyze the tc 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.wMappings between a 7 representation and our |-based representationxt representationy|-based representationzFrom t representation{To t representation|Information about a data type}Record~ Enumeration Analyze the th representation of constructors. Make sure every constructor has zero fields. Then transform it into a .Mappings between a 7 representation and our -based representationt representation-based representationFrom t representationTo t representation4Information about the constructors of an enumerationCombination of valuesSingle value of the enumeration Analyze the t_ representation of the selectors. Make sure it has 1 or more fields. Then transform it into a .Mappings between a 7 representation and our -based representationt representation-based representationFrom t representationTo t 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 record2tuvwxyz{|}~89:;<=>?@ABCD)tuvwyxz{y98|}~<:;>=tu|}~wxyz{vtuvwxyz{|}~?8@9A:;B<C=D>(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 entityEGeneric enumeration valueGeneric record entityGeneric Y 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 9F Construct a Y using a G.HParse 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 entitiesBEIJFH7EIJFH(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 7C 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 7@ 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>NoneK Shortcut for Tagged t TableL Query segmentMNameN Type nameOQualified type namePTableQSelectorRSelector aliasS ParameterTEntityU Entity codeV QuotationWUninterpreted segmentX!Segment that is part of the queryYPack Z code into a  ByteString.[ Translate a  QuerySegment to an expression.\+Parse a query string in order to produce a Y expression. Generate a Y 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.KL]^_`abcdMNOPQRSTUVWXYe[\fgKL]^_`abcdMNOPQRSTUVWXYe[\fg (c) Ole Krger 2016BSD3Ole Krger <ole@vprsm.de>NoneYZ[\]^_`abcdefghijklmno (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 3 to the given function. An interaction with the database Error codes Error during errand No h has been returned.A user has thrown an error.Query execution failed.Result processing failed.Run an errand.iValidate the result.j3Counts the rows that have been affected by a query.kExtract the result.1Execute the query and return its internal result.Same as  but instead of a 3( 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.'l     ijkm           l     ijkm (c) Ole Krger 2016BSD3Ole Krger <ole@vprsm.de>NoneF '()*+,-./0=>?@ABC     I-./0'()*+,     =>BC?@An               !"#$%&'()*+,-./01234556789::;<==>?@ABCDEFGHHIJKLLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                  ! " # $ % & ' ( ) * + , - . / 0 1 2 3 456 78 9G:;<=}>?@ABCDEFGHIJKLMNOP Q R S T U V W X Y Z [ \ ] ^ _<`a b c d e f g h i j k l m nop9 q r s  tu%pg-store-0.5.0-18i73QFlNpK4ybIFmprgKuDatabase.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 withTupleFunction HasElement getElementTupleNilCons getElement0 getElement1 getElement2 getElement3 getElement4 getElement5 getElement6 getElement7 getElement8 getElement9 $fWithTuple: $fWithTuple[]$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 ShowElement 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 tableSegmentselectorSegmentselectorAliasSegment paramSegmententityNameSegmententityCodeSegment quoteSegment otherSegment querySegmentpackCodeGHC.BaseStringtranslateSegment queryGenE QueryEntityQueryEntityCode QueryQuote QueryOther QueryTable QuerySelectorQuerySelectorAlias QueryParamtableDescriptionEqueryE prepQueryE*attoparsec-0.13.2.0-AfH4AJNBvD32svvRrV8DFv#Data.Attoparsec.ByteString.InternalvalidateResultcountAffectedRowstransformResult acceptResult