ɏ5      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~    !!!!!!!!!!!!!""##### # # # # $$$$$$$$%' Safe-Inferred$Data type for SQL DELETE statements.$Data type for SQL UPDATE statements.Expressions in SQL statements.3Aggregate functions separate from normal functions.!A valid SQL name for a parameter.      Safe-Inferred  !"#$  !"#$  !"$#  !"#$ Safe-Inferred%&'%&'%&'%&'%&' Safe-Inferred()*+,-()*+,-()*+,-()*+,- Safe-Inferredbused for hacking in custom SQLgrepresents a default valuej#Cast an expression to a given type.N./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{N./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{N{zyxwuvitsrqponmlkjahgfedcbJ`_^]\[ZYXWVUTSRQPONMLK@IHGFEDCBA3?>=<;:98765412.0/ .0/123 ?>=<;:987654@ IHGFEDCBAJ`_^]\[ZYXWVUTSRQPONMLKahgfedcbi tsrqponmlkjuvwxyz{ Safe-Inferred|}~|}~}~| |} ~ Safe-Inferred Safe-InferredHM    Safe-InferredThe  and  instances for  a; are too general. For example, they allow you to add two  /s. This will be fixed in a subsequent release.  Safe-Inferred36    Safe-InferreddTurn a string into a quoted string. Quote characters and any escaping are handled by this function.  Safe-InferredQuote a string and escape characters that need escaping We use Postgres "escape strings", i.e. strings prefixed with E, to ensure that escaping with backslash is valid.$Escape characters that need escapingName of the table to update.=Conditions which must all be true for a row to be updated.Update the data with this.Name of the tableWhat to insert.Name of the table;Criteria which must all be true for a row to be deleted.  Safe-Inferred9     9     9           Safe-Inferred !"#$%& !"#$%& !"#$%& !"#$%& Safe-Inferred'An '$ takes a collection of rows of type aC, groups them, and transforms each group into a single row of type b(. This corresponds to aggregators using GROUP BY in SQL. '()*+,-./01'()*+,- '()*+,-10/. '()*+,-./01None<23456789:;<=>?@ABCDEFGHIJKLMNOP23456789:;<=>?@ABCDEFGHIJKL>=<;:98765432PONM?@ABCDEFGHIJKL23456789:;<=>?@ABCDEFGHIJKLMNOPNoneQA NULL of any typeSIf the Column (Nullable a) is NULL then return the Column b otherwise map the underlying Column a using the provided function.The Opaleye equivalent of the &' function.TIf the Column (Nullable a)# is NULL then return the provided Column a! otherwise return the underlying Column a.The Opaleye equivalent of the &( functionUThe Opaleye equivalent of &)VIf the argument is &*M return NULL otherwise return the provided value coerced to a nullable type.WXCast a column to any other type. This is safe for some conversions such as uuid to text.QRSTUVW QRSTUVW QRSTUVWQRSTUVWNone246 XYZ[\]^_`XYZ[ XYZ[`_^]\XYZ[\]^_`Noneabcdefghijklmnabcdefghbcadefghnmlkji abcdefghijklmnNoneonRestrict query results to a particular condition. Corresponds to the guard method of the MonadPlus class.opqrstuvwxyz{|}~opqrstuvwxyz{|}~opqrstuvwxyz{|}~opqrstuvwxyz{|}~qrstuvyz+NoneabbaNone3MExample type specialization: ;showSqlForPostgres :: Query (Column a, Column b) -> String  Assuming the makeAdaptorAndInstance+ splice has been run for the product type Foo: MshowSqlForPostgres :: Query (Foo (Column a) (Column b) (Column c)) -> String None246   None3Example type specialization: ?values :: [(Column a, Column b)] -> Query (Column a, Column b)  Assuming the makeAdaptorAndInstance+ splice has been run for the product type Foo: equeryTable :: [Foo (Column a) (Column b) (Column c)] -> Query (Foo (Column a) (Column b) (Column c)) None2346None2346Example specialization: leftJoin :: Query (Column a, Column b) -> Query (Column c, Column (Nullable d)) -> (((Column a, Column b), (Column c, Column (Nullable d))) -> Column ,W) -> Query ((Column a, Column b), (Column (Nullable c), Column (Nullable d))) None2346 None3Example type specialization: runQuery :: Query (Column - , Column .&) -> IO [(Column Int, Column String)]  Assuming the makeAdaptorAndInstance* splice has been run for the product type Foo: runQuery :: Query (Foo (Column - ) (Column . ) (Column ,C) -> IO [(Foo (Column Int) (Column String) (Column Bool)] HOpaleye types are converted to Haskell types based on instances of the / typeclass.Use X to make an instance to allow you to run queries on your own datatypes. For example: cnewtype Foo = Foo Int instance Default QueryRunnerColumn Foo Foo where def = queryRunnerColumn (0) :: Column Foo -> Column PGInt4) Foo def NoneAn E represents an expression to order on and a sort direction. Multiple s can be composed with 120. If two rows are equal according to the first  , the second is used, and so on.   NoneOrder the rows of a a according to the Order. 6Specify an ascending ordering by the given expression.7Specify an descending ordering by the given expression.JLimit the results of the given query to the given maximum number of items.ZOffset the results of the given query by the given amount, skipping that many result rows.None246None3Define a table as follows, where "id", "color", "location", "quantity" and "radius" are the tables columns in Postgres and the types are given in the type signature. The id@ field is an autoincrementing field (i.e. optional for writes). data Widget a b c d e = Widget { wid :: a , color :: b , location :: c , quantity :: d , radius :: e } $(34 "pWidget" ''Widget) widgetTable :: Table (Widget (Maybe (Column PGInt4)) (Column PGText) (Column PGText) (Column PGInt4) (Column PGFloat8)) (Widget (Column PGText) (Column PGText) (Column PGText) (Column PGInt4) (Column PGFloat8)) widgetTable = Table "widgetTable" (pWidget Widget { wid = optional "id" , color = required "color" , location = required "location" , quantity = required "quantity" , radius = required "radius" })   None3Example type specialization: IqueryTable :: Table w (Column a, Column b) -> Query (Column a, Column b)  Assuming the makeAdaptorAndInstance+ splice has been run for the product type Foo: mqueryTable :: Table w (Foo (Column a) (Column b) (Column c)) -> Query (Foo (Column a) (Column b) (Column c))   !None3 XX "None36Example type specialization: uunionAll :: Query (Column a, Column b) -> Query (Column a, Column b) -> Query (Column a, Column b)  Assuming the makeAdaptorAndInstance* splice has been run for the product type Foo: unionAll :: Query (Foo (Column a) (Column b) (Column c)) -> Query (Foo (Column a) (Column b) (Column c)) -> Query (Foo (Column a) (Column b) (Column c)) #NoneGiven a a producing rows of type a and an ' accepting rows of type a3, apply the aggregator to the results of the query.2Group the aggregation by equality on the input to .Sum all rows in a group.-Count the number of non-null rows in a group.Average of a group Maximum of a group Maximum of a group     '        '     $None6    %None3-Remove duplicate items from the query result.Example type specialization: Edistinct :: Query (Column a, Column b) -> Query (Column a, Column b)  Assuming the makeAdaptorAndInstance* splice has been run for the product type Foo: idistinct :: Query (Foo (Column a) (Column b) (Column c)) -> Query (Foo (Column a) (Column b) (Column c)) 5Noneq'23456789:;<=>?@ABCDEFGHIJKLQRSTUVWXabopqrstuvwxyz{|}~    6677889:;<=>?@ABCDEFGHIJKKLMNOPQRSTUVWXYZ[\]^_`abccdefghijklmnopqrstuvwxyz{|}~{       0                 {                                        ! " # $ % & ' ( ) * +,-./0123456N789:;<==>?@ABCDEFGHIJ.KL-MNOP,QRSTUVWXYZ[\]^_`abcdefghijjklmnopqrsstuvwxyz{|}~'g/$    !!!!!!!!!!!!!""#"########$$$$$$$$%        opaleye-0.3Opaleye.Internal.HaskellDB.Sql$Opaleye.Internal.HaskellDB.Sql.PrintOpaleye.Internal.HelpersOpaleye.Internal.Tag$Opaleye.Internal.HaskellDB.PrimQueryOpaleye.Internal.PrimQueryOpaleye.Internal.OptimizeOpaleye.Internal.PackMapOpaleye.Internal.ColumnOpaleye.Internal.Binary'Opaleye.Internal.HaskellDB.Sql.Generate&Opaleye.Internal.HaskellDB.Sql.DefaultOpaleye.Internal.SqlOpaleye.Internal.PrintOpaleye.Internal.AggregateOpaleye.PGTypesOpaleye.ColumnOpaleye.Internal.UnpackspecOpaleye.Internal.QueryArrOpaleye.Operators Opaleye.SqlOpaleye.Internal.ValuesOpaleye.ValuesOpaleye.Internal.Join Opaleye.JoinOpaleye.Internal.RunQueryOpaleye.RunQueryOpaleye.Internal.Order Opaleye.OrderOpaleye.Internal.TableMakerOpaleye.Internal.Table Opaleye.TableOpaleye.ManipulationOpaleye.BinaryOpaleye.AggregateOpaleye.Internal.DistinctOpaleye.Distinct Data.Maybemaybe fromMaybeJustNothingOpaleye.QueryArrPGBoolPGInt4PGTextQueryRunnerColumnDefault unsafeCoerce Data.MonoidmappendData.Profunctor.Product.THmakeAdaptorAndInstanceOpaleye SqlInsert SqlDelete SqlUpdateSqlExpr CastSqlExpr ParensSqlExprPlaceHolderSqlExpr ParamSqlExpr ListSqlExpr CaseSqlExpr ConstSqlExprAggrFunSqlExpr FunSqlExprPostfixSqlExpr PrefixSqlExpr BinSqlExpr ColumnSqlExprSqlOrderSqlDescSqlAscSqlName SqlColumnSqlTableppWhere ppGroupBy ppOrderByppAsppUpdateppDeleteppInsert ppSqlExprcommaHcommaV.:.:..::Tag UnsafeTagstartnext unsafeUnTagtagWithOrderOpOpDescOpAsc OrderExprAggrOp AggrOther AggrBoolAnd AggrBoolOrAggrVarPAggrVar AggrStdDevP AggrStdDevAggrMaxAggrMinAggrAvgAggrSum AggrCountUnOp UnOpOtherOpUpperOpLowerOpNegateOpAbsOpLength OpIsNotNullOpIsNullOpNotBinOpOpAsgOpBitXorOpBitOrOpBitAndOpBitNotOpModOpDivOpMulOpMinusOpPlusOpCatOpOtherOpInOpLikeOpOrOpAndOpNotEqOpGtEqOpGtOpLtEqOpLtOpEqLiteralOtherLit DoubleLit IntegerLit StringLitBoolLit DefaultLitNullLitPrimExprCastExprFunExpr ParamExprListExprCaseExpr ConstExprAggrExprUnExprBinExprBaseTableAttrExprAttrExprSymbolAssocSchemeName Attribute TableName PrimQueryFold PrimQueryBinaryValuesJoinLimitOrder AggregateProduct BaseTableUnitJoinTypeLeftJoinUnionAllUnionExceptLimitOp LimitOffsetOpOffsetOp foldPrimQuerytimesrestrictisUnitoptimize removeUnit mergeProductPMPackMappackmapovernewwriterun extractAttr extractAttrPE$fProductProfunctorPackMap$fProfunctorPackMap$fApplicativePackMap$fFunctorPackMap PGFractionalpgFromRationalPGNum pgFromIntegerNullableColumnunColumnbinOpunOp unsafeCase_unsafeIfThenElseunsafeGtunsafeEq$fFractionalColumn $fNumColumn BinaryspecextractBinaryFields runBinaryspec$fProductProfunctorBinaryspec$fProfunctorBinaryspec$fApplicativeBinaryspec$fFunctorBinaryspec$fDefaultBinaryspecColumnColumn SqlGenerator sqlUpdate sqlDelete sqlInsertsqlExpr sqlLiteralsqlQuoteUnOpType UnOpPostfix UnOpPrefixUnOpFunmkSqlGeneratordefaultSqlGenerator toSqlOrder toSqlAssocdefaultSqlUpdatedefaultSqlInsertdefaultSqlDeletedefaultSqlExpr showBinOpsqlUnOp showAggrOpdefaultSqlLiteraldefaultSqlQuotequoteescape ReturningStringbOpbSelect1bSelect2vAttrsvValues jJoinTypejAttrsjTablesjCondFromattrstablescriteriagroupByorderBylimitoffsetSelect SelectBinary SelectValues SelectJoinTable SelectFromsqlQueryGeneratorsqlunit baseTableproduct aggregateaggrExprorderlimit_joinvaluesbinaryjoinType newSelect sqlBindingppSql ppSelectFrom ppSelectJoinppSelectValuesppSelectBinary ppJoinTypeppAttrsnameAsppTables tableAliasppTableppLimitppOffsetppValues ppValuesRowppBinOpppInsertReturning Aggregator makeAggr'makeAggr runAggregator aggregateUextractAggregateFields$fProductProfunctorAggregator$fProfunctorAggregator$fApplicativeAggregator$fFunctorAggregatorPGUuid PGTimestamptz PGTimestampPGTime PGNumericPGInt2PGInt8PGFloat8PGFloat4PGDate literalColumnpgString pgStrictText pgLazyTextpgInt4pgInt8pgDoublepgBoolpgUUIDunsafePgFormatTimepgDay pgUTCTime pgLocalTime pgTimeOfDay$fPGFractionalPGFloat8 $fPGNumPGInt8 $fPGNumPGInt4$fPGNumPGFloat8nullisNull matchNullable fromNullable toNullablemaybeToNullable unsafeCast UnpackspecunpackspecColumn runUnpackspec$fProductProfunctorUnpackspec$fProfunctorUnpackspec$fApplicativeUnpackspec$fFunctorUnpackspec$fDefaultUnpackspecColumnColumnQueryQueryArrsimpleQueryArr runQueryArrrunSimpleQueryArrrunQueryArrUnpackfirst3$fProductProfunctorQueryArr$fProfunctorQueryArr$fApplicativeQueryArr$fFunctorQueryArr$fArrowQueryArr$fCategory*QueryArr doubleOfInt.==./=.>.<.<=.>=case_ ifThenElse.&&.||not.++loweruppershowSqlForPostgresshowSqlForPostgresUnoptshowSqlForPostgresExplicitshowSqlForPostgresUnoptExplicitformatAndShowSQL ValuesspecvaluesUextractValuesEntryextractValuesField runValuesspec$fProductProfunctorValuesspec$fProfunctorValuesspec$fApplicativeValuesspec$fFunctorValuesspec$fDefaultValuesspecColumnColumnvaluesExplicit NullMakerextractLeftJoinFields$fProductProfunctorNullMaker$fProfunctorNullMaker$fDefaultNullMakerColumnColumn$fDefaultNullMakerColumnColumn0leftJoinleftJoinExplicitqueryRunnerColumnDefault QueryRunnerQueryRunnerColumnfieldQueryRunnerColumn queryRunnerqueryRunnerColumnNullable$fProductProfunctorQueryRunner$fProfunctorQueryRunner$fApplicativeQueryRunner$fFunctorQueryRunner)$fQueryRunnerColumnDefaultPGTimeTimeOfDay.$fQueryRunnerColumnDefaultPGTimestampLocalTime.$fQueryRunnerColumnDefaultPGTimestamptzUTCTime#$fQueryRunnerColumnDefaultPGDateDay$$fQueryRunnerColumnDefaultPGTextText%$fQueryRunnerColumnDefaultPGTextText0$$fQueryRunnerColumnDefaultPGUuidUUID$$fQueryRunnerColumnDefaultPGBoolBool($fQueryRunnerColumnDefaultPGFloat8Double"$fQueryRunnerColumnDefaultPGText[]%$fQueryRunnerColumnDefaultPGInt8Int64#$fQueryRunnerColumnDefaultPGInt4Int$fDefaultQueryRunnerColumnb'$fQueryRunnerColumnDefaultNullableMayberunQueryrunQueryExplicitqueryRunnerColumn SingleOrderorderByUlimit'offset' $fMonoidOrder$fContravariantOrder$fContravariantSingleOrderascdesc ColumnMakerViewColumnMakerrunViewColumnMakerrunColumnMaker tableColumncolumn$fProductProfunctorColumnMaker$fProfunctorColumnMaker$fApplicativeColumnMaker$fFunctorColumnMaker"$fProductProfunctorViewColumnMaker$fProfunctorViewColumnMaker$fApplicativeViewColumnMaker$fFunctorViewColumnMaker $fDefaultColumnMakerColumnColumn $fDefaultViewColumnMaker[]ColumnWriterViewTableProperties queryTable runWriterrequiredoptional$fFunctorTable"$fProductProfunctorTableProperties$fProfunctorTableProperties$fApplicativeTableProperties$fFunctorTableProperties$fProductProfunctorWriter$fProfunctorWriter$fApplicativeWriter$fFunctorWriterqueryTableExplicit arrangeInsertarrangeInsertSql runInsert arrangeUpdatearrangeUpdateSql runUpdate arrangeDeletearrangeDeleteSql runDeletearrangeInsertReturningarrangeInsertReturningSqlrunInsertReturningExplicitrunInsertReturningunionAllunionAllExplicitsumcountavgmaxminboolOrboolAnd DistinctspecdistinctExplicit$fProductProfunctorDistinctspec$fProfunctorDistinctspec$fApplicativeDistinctspec$fFunctorDistinctspec!$fDefaultDistinctspecColumnColumndistinctppColumnbaseGHC.NumNumGHC.Real FractionalGHC.Base