?Cl      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$% & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\ ] ^ _ ` 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 { | } ~                                                                           !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijkNone"+,-6;<=>?FSTVah-rlmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None"+,-6;<=>?FQSTVah8  !"#$%&%&$#! " %&None"+,-6;<=>?FSTVahR",)Column information gathered from a parser.name retrieved from the parser/normalized name of the field0generate TH name1generated TH type2original sql type3+list of constraints that have to be applied4List of constraints that can be applied to a Column and affect generated datatype Currently, only Null constraint affects it by wrapping data type with  8GWhen something goes wrong, this explains what went wrong - hopefully...@)Entity information gathered from a parserB>name retrieved from the parser, basically a computed value of Cgenerated TH nameD&original sql name retrieved by hssqlppEgenerated datatypeF+list of constraints that have to be appliedGlist of all columnsQ<Minimal context we need to generate a foreign key constraintSname of the foreign keyVreferenced entityWreferenced columns_;Minimal context we need to generate a unique key constraintaname of the constraintbreferenced entitycreferenced columnsj<Minimal context we need to generate a primary key constraintlname of the constraintmreferenced entitynreferenced columnsshFull parse context. This datatype is filled with information as parser goes trough the sql file. After s5 is filled, TH takes over and code generation starts.ulist of entities foundvall foreign keyswall primary keysxall unique constraintsDefines null values for all datatypes that we support in Basic. This is basically a hack to avoid usage of unsafeCoerce, because with unsafeCoerce you can hit segmentation faults due to wrong memory allocation (e.g.  and ).L,-3210/.476589@AGFEDCBHIJKLMQRWVUTSXYZ[\]_`cbadefghjknmlopqstxwvuyz{}~]89;:4567,-./0123MLKJIHN@ABCDEFGO]\[ZYXQRSTUVWhgfed_`abcqpojklmn{zystuvwx}~ ,-./0123456789@ABCDEFGQRSTUVW_`abcjklmnstuvwx}~None"+,-6;<=>?FSTVahjlifts a list of types to a type level (i.e. typelevel list) e.g. `listToTypeLeve [Int, String, Double] = '[ Int, String, Double ]`Used to append n times ` $ field` to the expressionUsed to append ` $$ field` at the end of the expression<returns a plural of a known noun. Basically just appends s or es#Tries to name multiples constraints\Mechanism for naming unnamed constraints. If a constraint cannot be named, an error is trown.Provides default naming scheme for constraints Converts a 3 to a plain text @TODO test complex naming schemes1Retrieves a list of optional columns in an entitycTries to retrieve entity information. If an entity with that name doesn't exist an error is thrown.cTries to retrieve entity information. If an entity with that name doesn't exist an error is thrown.nTries to retrieve column information from entity. If a column with that name doesn't exist an error is thrown.;Converts camel case or snake case to normal form. Examples: normalizeName "ABCDE""abcde" > normalizeName ABC_DE "abcDe" > normalizeName AbcDeM "abcDe" > normalizeName "abcDe" "abcDe" > normalizeName "abcde" "abcde"-Retrieves the primary key for an entity from sAGenerates name for the column lens (i.e. lowercases first letter)(c) Nikola Henezi, Luka HorvatMIT)nikola@henezi.com, luka.horvat9@gmail.comNone"+,-6;<=>?FSTVahsConversion between  to haskell .  is used internaly by KApplies special constraint rules. Rules: "serial" type needs to have 6Actual conversions. The following Postgres types are currently supported: > serial > bigint > integer > int > int4 > boolean > timestamp > time > point > double precision > double > character varying > text > bytea > date > numericNone"+,-68;<=>?FSTVahtNone"+,-6;<=>?CFQSTVahuLQ None"&'+,-6;<=>?FSTVah{E<Eany postgresql composite type whose fields are compatible with types ts%('&)*+-,./01234567+,-98<.)*;:/0%&'(1234567%&'()*+,-None!"&'+,-.67;<=>?AFKQSTVahZIDefines I kind.yISo dfoldMap knows to behave like an expression when used inside of a dmap;Wrapps every DbExp in the tuple with the GroupMappableDbExpSA kind and type used so LiftAggregation can differentiate types like `m a` from  by their kind.   !"#$%&@ABCDEFHGIJKLMNOPUVTQRSdefghijklmnopqrstuvwxyz{|}~     PQRSTUVNOLMXWIJKFGHCDE@AB     "-,+*)(%$'&0/.!#1 54329876WV<;:}~U|z{A@?>=yvwxCBustHGFEDqropmnklhijPONMLKJIgQfdeTSR  ,@ABCDEFGHIJKLMNOPQRSTUVdehijklmnopqrstvwxz{}~     None"+,-6;<=>?AFSTVahn\KA synonym for ModifyableField. It still checks if the field is already set.]A field that's settable, but also potentially gettable (if it's already set). If it is gettable then you can modify it, otherwise you can just set it.\]^`_abcdefghklmn"cbdae^_`ji]\fghklooooooooooooooomn^_`kl None"&'+,-6;<=>?FQSTVahX~~ None"+,-6;<=>?FSTVah  44444432 None"&'+,-6;<=>?FQSTVah%EHandles SQL by querying a PostgreSQL database. Leaves logs unhandled.FHandles SQL by querying a PostgreSQL database. Writes logs to console.(   #None"+,-6;<=>?FSTVah"-None"+,-6;<=>?FSTVah None"+,-6;<=>?FSTVah; None"+,-6;<=>?FSTVah           None"+,-6;<=>?FSTVahS\]^_`abcdefghklmn   None"+,-6;<=>?FSTVah*Generates a data constructor for an entity data Post = Post { _ostId :: Key , _ostName :: Text , _ostUserId :: Key } deriving (Show, Read, Generic)*Generates a fromRow instance for a entity. Hinstance FromRow Post where fromRow = Post <$> field <*> field <*> fieldfromRowInstance takes a name of the entity and a list of [a], which is just used to count how many fields does the entity have - nothing else. It generates something similar shown in a code snippet above - a working FromRow instance for that datatype.'Generates field optics for all entities#Generates field optics for a column name :: (FieldOptic "username" fun inType outType inVal outVal) => PolyOptic fun inType outType inVal outVal name = fieldOpticProxy (Proxy :: Proxy "username")kApplies basic constraint depending on sql constraint If columns is marked as primary or unique, add the Unique haskell datatype-Generates a table field instance for a column pinstance TableField Post "user_id" where type TableFieldType Post "user_id" = Key tableFieldLens = ostUserId9Generates required table field instances for all entities'Generates final type for the sql column(Generates initial accessor for the table *allPosts = allRows (Proxy :: Proxy "post")Generates foreign key opticsGenerates foreign key optic xauthor :: ForeignKeyLensProxy (Proxy "blog_post_author_fkey" -> o) => o author = foreignKeyLens @"blog_post_author_fkey"Generates virtual table opticsGenerates virtual table optic posts :: VirtualTable "blog_post_author_fkey" res => Getter' (Entity ('FromDb c) (ForeignKeyTo "blog_post_author_fkey")) res posts = virtualTableLensProxy (Proxy :: Proxy "blog_post_author_fkey")/Generates all constraint declarations from the s (Generates unique key constraint instance instance UniqueConstraint "blog_user_pkey" where type UniqueTable "blog_user_pkey" = User type UniqueFields "blog_user_pkey" = '["id"]!Generates primary key instance .instance PrimaryKeyConstraint "blog_user_pkey""Generates foreign key instance instance ForeignKeyConstraint "blog_post_author_fkey" where type ForeignKeyFrom "blog_post_author_fkey" = Post type ForeignKeyFromFields "blog_post_author_fkey" = '["author"] type ForeignKeyTo "blog_post_author_fkey" = User type ForeignKeyToFields "blog_post_author_fkey" = '["id"]#0Generates a table instance for an entity from a s "instance Table Post where type TableName Post = "blog_post" type TableFields Post = ["id", "name", "author"] type TableConstraints Post = '[] type TablePrimaryKey Post = 'Nothing type TableRequiredFields Post = ['DynamicDefault 'id, 'Required "name", 'Required "author"]$Generates a empty entity vnewPost :: Entity ('Fresh ['DynamicDefault "id", 'Required "name", 'Required "author"]) newPost = Entity (Post 1 "" 1)%Applies Required constraint to list of columns&Applies DynamicDefault constraint to a list of columns'4Modifies column type depending on column constraints(Generates coerce body. See  why this is needed*OGenerated the value representing the schema that can be applied to the database !"#$%&'()* !"#$%&'()*None"+,-6;<=>?FSTVah޻/Updates CompileContext] with data. The kind of data that is being added depends on the statement being processed.0Updates CompileContext8 with constraints that have been added using alter table1jUpdates compile context from CREATE TABLE statement. Used when CREATE TABLE statement is used. Adds to CompileContext7 any constraints that are found and returns updated @ and CompileContext2+Adds sql row constraints to compile context3YAdds sql constraint to compile context. If a sql constraint is unnamed, it will be named.4'Adds sql constraint to compile context. +,-./01234 +,-./01234None"&'+,-.6;<=>?FQSTVah5(Generates haskell code from an SQL file.6/Generates haskell code from multiple SQL files.7=Allows you to print generated template haskell code to a file567567None"+,-6;<=>?FSTVahz  }@ABCDEFHGIJKLklopqr   \]abkm  567{LIJK   @ABCDEbkm  qrop  kl567FGHa]\}None"+,-6;<=>?FSTVahONone"+,-6;<=>?FSTVah789:;<@ABCDEFGSTUVWXYZ[\]^_`abc-89:;<GFENMLKJIH@ABCDUTSkjihgfedVWXYZ[\]^_`abc89:;<@ABCD  !"!#!#!$!%!%&'&(&()*+,*+-*+.*/0*12*13*13456789:;<=>?@ABCDEFGHIJKLMNOOPQRSTUVWXYZZ[\]^_`aabcdefghijklmnopqqrstuvwxyz{|}~~%#(      !"#$%&'()*+,-./01 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K LMMNOPQRSRTUVWWXXYZ[\]^_`abcdefghijklmnopqrsstuvwxyz{|}~q      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLM 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 { | } ~                                                      _      !"#$%&'(()*+,-.//0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ<[\]^_^`abacZdZeZf[\ghihjklZmnonpnqnrnsntnunvnwnxnynz[{|[{}[{~hhhhhhhhhhhhZZZZZZZZ[{[{[{[{[{[{[{[{hhhhhhhhZZZZZ!!!!ZZZZ[[[[[[[ Z Z Z [ [[[h[[[[[[[Z !"#$%Z&'()*+,*+-*+.*+/*+0*+1*+2*+3*+4*56*78*79*:;*:<*:=*:>*:?*:@*: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*bc*bd*be*bf*bg*bh*bi*bj*bk*bl*bm*bn*bo*bp*bq*br*bs*bt*bu*bv*bw*bx*by*bz*b{*b|*b}*b~*b*b*b*b*b*b*b*b*b*b****************&**********************ZZZ!!!!!!!!!!!!!!!!!!!!!!!kkkkkkkkkkkkkk     &&&&&&&&&& & &!&"&"&#$%$&$'$($)$*$+$,$-$.$/$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]bcdedefgfhfhfifijklmnopqrstuvwxyz{|}~$hhhhhh^^^^^^^^^^^^^^^^^^^^^^^^^^^^^aaZZZZZZZZZZZZZZ[{[{[{     4545 45!45"45#45$45%45&45&45'45())data-basic-0.3.0.0-2ESi7NIli2NLrppnJcPU4fInternal.Data.Basic.TypeLevelInternal.Data.Basic.Types Data.BasicInternal.Data.Basic.TH.TypesInternal.Data.Basic.TH.Helper#Internal.Data.Basic.TH.SqlToHsTypes Internal.Data.Basic.SqlToHsTypesInternal.Data.Basic.Sql.TypesInternal.CompositeInternal.Data.Basic.LensInternal.Data.Basic.CompilerInternal.Data.Basic.CompareInternal.Control.Effects.BasicInternal.Data.Basic.CommonInternal.Data.Basic.VirtualInternal.Data.Basic.ReplaceInternal.Data.Basic.Foreign Internal.Data.Basic.TH.GeneratorInternal.Data.Basic.TH.CompilerInternal.Data.Basic.THData.Basic.ExampleInternal.InterludeDatabaseHsSqlPppInternal.Data.BasicData.Basic.Tutorialbase GHC.TypeLits TypeError:<>::$$:ShowTypeData.SemigroupgetMinMingetMaxMax Data.MonoidgetSumSum ErrorMessage0postgresql-simple-0.5.3.0-6eTHlfxVftL2qHOdnEfBBr"Database.PostgreSQL.Simple.FromRowfieldfromRowFromRow#Database.PostgreSQL.Simple.InternalconnectPostgreSQL Database.PostgreSQL.Simple.Types fromPGArrayPGArray.simple-effects-0.10.0.0-5tMpdy9cJQn1NPDRdippt6Control.Effects MonadEffect-simple-logging-0.2.0.3-FAR50hBDvgHFLGFehfDxcoControl.Effects.LoggingprettyPrintSummarySetEqualTrivial++ ListToTuple TypeSatisfiesOnMaybeNotNullWithoutIsSubsetNotCheckWithError ErrorText EqualOrErrorElem AllSatisfy mapTypeList$fAllSatisfyac:$fAllSatisfykc[]$fNotNullafield$fTypeSatisfiescxfield $fTrivialka ColumnInfo$sel:_columnInfoText:ColumnInfo%$sel:_columnInfoNormalName:ColumnInfo$sel:_columnInfoName:ColumnInfo$sel:_columnInfoType:ColumnInfo"$sel:_columnInfoSqlType:ColumnInfo&$sel:_columnInfoConstraints:ColumnInfoColumnConstraintNullConstraintNotNullConstraintDefaultConstraint ParseError$fMonoidParseError$fSemigroupParseError$fShowParseError$fShowColumnConstraint$fEqColumnConstraint$fShowColumnInfo EntityInfo$sel:_entityInfoText:EntityInfo$sel:_entityInfoName:EntityInfo"$sel:_entityInfoSQLName:EntityInfo$sel:_entityInfoType:EntityInfo)$sel:_entityInfoConstraintList:EntityInfo$$sel:_entityInfoColumnMap:EntityInfocolumnInfoConstraintscolumnInfoNamecolumnInfoNormalNamecolumnInfoSqlTypecolumnInfoTextcolumnInfoType$fEqColumnInfo$fEqEntityInfo$fShowEntityInfoForeignKeyConstraint!$sel:_fkName:ForeignKeyConstraint"$sel:_fkFromT:ForeignKeyConstraint%$sel:_fkFromCols:ForeignKeyConstraint $sel:_fkToT:ForeignKeyConstraint#$sel:_fkToCols:ForeignKeyConstraintentityInfoColumnMapentityInfoConstraintListentityInfoNameentityInfoSQLNameentityInfoTextentityInfoType$fShowForeignKeyConstraintUniqueKeyConstraint $sel:_uqName:UniqueKeyConstraint"$sel:_uqEntity:UniqueKeyConstraint $sel:_uqCols:UniqueKeyConstraint fkFromColsfkFromTfkNamefkToColsfkToT$fShowUniqueKeyConstraintPrimaryKeyConstraint!$sel:_pkName:PrimaryKeyConstraint#$sel:_pkEntity:PrimaryKeyConstraint!$sel:_pkCols:PrimaryKeyConstraintuqColsuqEntityuqName$fShowPrimaryKeyConstraint ParseContext$sel:_entities:ParseContext$sel:_fks:ParseContext$sel:_pks:ParseContext$sel:_uqs:ParseContextpkColspkEntitypkName$fShowParseContextSchema NullValue nullValueentitiesfkspksuqs$fMonoidParseContext$fSemigroupParseContext$fNullValueMaybe$fNullValueByteString$fNullValueDay$fNullValueScientific$fNullValueText$fNullValueDouble$fNullValue(,)$fNullValueTimeOfDay$fNullValueLocalTime$fNullValueBool$fNullValueIntThrows liftErrorlistToTypeLevel addFieldsaddField quasyPluralnameUnnamedConstraintsnameUnnamedConstraintnameConstraintgetNamegetDynamicDefaultColumnsgetEntityByNamegetEntityBySQLName getColumn lowerFirst upperFirst normalizeNamenormalizeTablegetEntityPrimaryKeycolumnNameToLensNametoHsTypePoint$fToFieldPoint$fFromFieldPoint $fEqPoint $fReadPoint $fShowPoint$fGenericPoint $fToJSONPoint$fFromJSONPointSomeFromRowProxy SqlResultSqlExpSelectInsertRawQueryDeleteUpdateGrouping SelectionSelectEverythingSelectExpressionsLimit SqlValueExp SimpleName TableRecordSqlFunctionApplication SqlLiteralAggregateFunctionAvgCountOnlyArrayAgg ConditionSqlAndSqlOr SqlOperatorIsNull IsNotNullInBoolLitLikeQualifiedTable TableValueQualifiedFieldSqlFunctionName SortDirection Ascending Descending ComparisonLessThan LessOrEqual GreaterThanGreaterOrEqualEqualNotEqual QuerySegmentsToQuery actionToQuery tableToQuerycomparisonToQuery fieldToQuerytableValueToQueryaggregateFunctionToQuery valueToQueryconditionToQueryorderingToQuery limitToQueryselectionToQuery groupToQuery listToTuple separateBy sqlExpToQuery$fSemigroupQuery$fIsStringQuerySegment$fSemigroupQuerySegment$fMonoidQuerySegment$fSemigroupCondition$fShowQuerySegment$fEqComparison$fOrdComparison$fReadComparison$fShowComparison$fEqSortDirection$fOrdSortDirection$fReadSortDirection$fShowSortDirection$fEqSqlFunctionName$fOrdSqlFunctionName$fReadSqlFunctionName$fShowSqlFunctionName$fEqQualifiedField$fOrdQualifiedField$fReadQualifiedField$fShowQualifiedField$fEqTableValue$fOrdTableValue$fReadTableValue$fShowTableValue$fEqQualifiedTable$fOrdQualifiedTable$fReadQualifiedTable$fShowQualifiedTable$fShowAggregateFunction$fShowSqlValueExp$fShowCondition $fEqLimit $fOrdLimit $fReadLimit $fShowLimit$fShowSelection$fShowGrouping $fShowSqlExpCompositeFormatPlainQuotedNullStr FieldParsersfromCompositeFormats CompositeEmptyComposite ConsCompositepgCompositeFieldParser fromCompositecompositeFormat compositequotedplainfmtdelimitfmt'esc$fShowComposite$fShowComposite0$fFieldParsers:$fFieldParsers[]$fFromFieldComposite$fEqCompositeFormat$fShowCompositeFormat$fOrdCompositeFormatEntity$sel:_getEntity:Entity EntityKindFreshFromDbCachedLive MissingFieldRequiredDynamicDefaultKeyVar VarContext FilteringUpdatingSortingFoldingMapping $fToJSONKey $fFromJSONKey$fEqVar$fOrdVar $fReadVar $fShowVar$fEqKey$fOrdKey $fReadKey $fShowKey$fNumKey$fFromFieldKey $fToFieldKey AggregatablegetAggregatingAggregationResultBadAggregateBaseErrorAggregatableBaseAggregationBaseResultgetAggregatingBaseListMappable getMapping MapResult MappableBase MapResultBasegetMappingBaseInterpretAsGroupMap GroupMappablegetGroupMappingGroupMapResultGroupMappableBasegetGroupMappingBaseGroupMapResultBaseGroupMappableThingGroupMappableDbExpGroupMappableVarGroupMappableAggr Groupable AsAggregate getGrouping asAggregateLiteralCollectiongetLiteralCollectionSortable getOrdering SomeDbExpSomeVarDbExpFieldLiteralExpressionKindFieldExp LiteralExp ConditionExpCompareBoolOp UpdateExpNoUpdateSetFieldAggregateStatement AggregateAMGroupStatementGroupOn DbStatementTableFilterJoinRawExecuteSortOnTakeMapAsGroupGroupMap FlattenTuple TupleToListListToSimpleTuple FieldIsNotSetFieldIsGettableFieldIsGettableBoolCanMap CanAggregateCanTake ResultTypeFiltered UnfilteredInsertedDeletedUpdatedSortedLimitedGroupedMappedFolded RawQueriedAndOr TableSetVarsmakeVars VariablesDbResult CanUpdateCanInsertMissingCanInsertFresh CanInsert' CanInsertWithoutMissingFieldsWithoutMissingField WithFieldsSet WithFieldSetMissingFieldsNamesMissingFieldNameForeignKeyFrom ForeignKeyToForeignKeyFromFieldsForeignKeyToFieldsUniqueConstraint UniqueTable UniqueFields TableFieldTableFieldTypeTableFieldCapsNametableFieldLens CapsName'CapsName ValueAsDbExp' valueAsDbExp' ValueAsDbExp valueAsDbExp IsDbStatement KindOfDbExpIsDbExpValidConstraint TableName TableFieldsTableConstraintsTablePrimaryKeyTableRequiredFields newEntity SameTypesFoldCompositeIntoEntityfoldCompositeIntoEntity EqableField OrdableFieldGetEntityFromValueMissingFieldsFromValuegetEntityFromObject JSONableFieldAllTypesSatisfy mapFieldsHasCapsFieldName capsFieldNameTableFieldTypes SetFields MissingFieldsFieldConstraintUnique ForeignKey getEntity toFreshEntityreorderMissingFieldsTocompositeToEntity getDbFieldsvarFromUpdateExpgetAggrnameText $fShowEntity$fFromRowEntity$fJSONableFieldan$fTableSetVarsctx:$fTableSetVarsctx:0$fTableSetVarsctx:1$fTableSetVarsctx[]$fIsStringDbExp $fNumDbExp$fGetEntityFromValue:a$fValueAsDbExp'Falseab$fValueAsDbExp'Trueab$fValidConstrainttableUnique$fHasCapsFieldNamets $fValidConstrainttableForeignKey$fEqableFieldtablefield$fOrdableFieldtablefield $fEqEntity $fOrdEntity$fFromJSONEntity$fGetEntityFromValue[]a$fToJSONEntity$fToJSONEntity0$fAllTypesSatisfyctable:$fAllTypesSatisfyctable[]$fFromFieldEntity$fFoldCompositeIntoEntity::a$fFoldCompositeIntoEntity[][]a$fValueAsDbExpab$fSortable(,,) $fSortable(,)$fSortableDown$fSortableDbExp$fLiteralCollectionTYPE[]x$fLiteralCollectionk(,,)x$fLiteralCollectionk(,)x$fLiteralCollectionTYPEDbExpb$fGroupable(,,,)$fGroupable(,,)$fGroupable(,)$fGroupMappablem$fGroupMappable(,,,,)$fGroupMappable(,,,)$fGroupMappable(,,)$fGroupMappable(,)$fMappableBaseVar$fMappableBaseDbExp $fMappablea$fMappable(,,,,)$fMappable(,,,)$fMappable(,,) $fMappable(,)$fAggregatableBaseList$fAggregatableBaseList0$fAggregatableBaseOnly$fAggregatableBaseSum$fAggregatableBaseCount$fAggregatableBaseAvg$fAggregatableBaseMin$fAggregatableBaseMax$fAggregatableBasea$fAggregatablea$fAggregatable(,,)$fAggregatable(,)$fGroupMappableBasea$fGroupableVar$fGroupableDbExp $fEqBoolOp $fOrdBoolOp $fReadBoolOp $fShowBoolOp SettableFieldModifyableFieldSupportedModifyAccess ExistingValuetransformModifyFunction GettableFieldGetter' PolyOpticfieldOpticVarExpfieldOpticEntityGetfieldOpticEntityModifyfieldOpticUpdateVarSetfieldOpticUpdatedSet&$fSupportedModifyAccessBoolFalseoutVal%$fSupportedModifyAccessBoolTrueoutValFieldOpticProxyfieldOpticProxy fieldOpticfieldOpticEntitySet$fFieldOpticProxyt0$fFieldOpticProxyt00$fFieldOpticProxyt01$fFieldOpticProxyt02$fFieldOpticProxyt03$fFieldOpticProxyt04$fFieldOpticProxyt05$fFieldOpticProxyt06$fFieldOpticProxyt07$fFieldOpticProxyt08$fFieldOpticProxyt09$fFieldOpticProxyt010$fFieldOpticProxyt011$fFieldOpticProxyt012$fFieldOpticProxyt013expToSqlvarToSqlsomeDbExpToSqlExpliteralCollectionToSql boolExpToSqlconditionToSql uniqueNames compileTableupdatedExpToSql updateToSql orderingToSql mappingToSqlmapToSql groupMapToSqlgrouppingToSqlgroupStatementToSql foldingToSqlaggregateStatementToSql compileToSqlComparableInDbExpcompareInDbExp>.==./=.<.<=.>=.&&.||.$fComparableInDbExpaDbExp$fComparableInDbExpDbExpbNoOnlynoOnly WithoutOnlyAllHaveFromRowInstancecompositeToTuple AllTablesBasicExceptionBasicFormatErrorBasicQueryErrorBasicResultError BasicSqlErrorBasic SqlRequest$sel:getSqlRequest:SqlRequest BasicMethods$sel:_runSql:BasicMethods$sel:_executeSql:BasicMethodsrunSql executeSqlhandleBasicPsqlWithLoggingthrowBasicToIO logOnlyErrorshandleBasicPsqlrunDbStatementexecuteDbStatementrunAggregateStatementrunMapStatementD:R:EffMethodsBasicm0 $fEffectBasic$fAllHaveFromRowInstance:$fAllHaveFromRowInstance:0$fAllHaveFromRowInstance:1 $fNoOnlya $fNoOnlyOnly$fShowSqlRequest$fEqBasicException$fShowBasicExceptionAllRowsLiftedStatement liftDbExpdjoindfilterddeleteallRows allRowsProxyrawQueryinsertdupdatedsortOndtakedgroupOndmapAll dgroupMap$fLiftedStatementfstsm$fLiftedStatementfsts1dbsLiftedAggregationliftAggregationLiftedMapStatementliftMapStatementDmap'dmap'dmapdfoldMap dfoldMapInnerdelem disNothingdisJustdtruedfalselikeilike executeQuery applySchema $fDmap't0 $fDmap't00 $fDmap't01 $fDmap't02$fLiftedMapStatementfstsm$fLiftedMapStatementfsts1dbs$fLiftedAggregationiaggrm$fLiftedAggregationiaggraggStat"$fLiftedAggregationTrueaggraggStat VirtualTableAllFieldsMatchallFieldsMatch fieldMatchvirtualTableDbExpLensvirtualTableLensvirtualTableLensProxy"$fAllFieldsMatch::toTablefromTable#$fAllFieldsMatch::toTablefromTable0 SetAllFields setAllFieldsPrimaryKeyMatchprimaryKeyMatchsave$fPrimaryKeyMatch:table$fPrimaryKeyMatch:table0$fSetAllFields:table$fSetAllFields[]tableForeignKeyLensSetForeignKeyLensGetForeignKeyFieldsMatchforeignKeyFieldsMatchforeignKeyFieldsSetforeignKeyLensGetforeignKeyLensSet$fForeignKeyFieldsMatchfk::$fForeignKeyFieldsMatchfk::0ForeignKeyLensProxyforeignKeyLensProxyforeignKeyLens$fForeignKeyLensProxyt0$fForeignKeyLensProxyt00$fForeignKeyLensProxyt01$fForeignKeyLensProxyt02dataConstructorfromRowInstance fieldOpticsfieldConstraint tableField tableFields finalTypeinitialAccessorfkOpticsfkOptic virtualTables virtualTableallConstraintsuniqueConstraintInstanceprimaryKeyInstanceforeignKeyConstraint tableInstance emptyEntityrequireddynamicDefaultapplyConstraint coerceBody nullValue' schemaValue compileSQLcompileContext compileEntitycompileSQLStatementscompileSQLStatementhandleAlterTableOperations updateContextcompileRowConstraintcompileConstraintcompileConstraint' mkFromFile mkFromFiles printToFileUser$sel:_userId:User$sel:_userName:User$sel:_userLocation:User$fEqUser $fReadUser $fShowUserPost$sel:_postId:Post$sel:_postName:Post$sel:_postUserId:PostuserId userLocationuserName $fFromRowUser$fTableFieldUser"location"$fTableFieldUser"name"$fTableFieldUser"id"&$fPrimaryKeyConstraint"blog_user_pkey""$fUniqueConstraint"blog_user_pkey" $fTableUser$fEqPost $fOrdPost $fReadPost $fShowPostpostIdpostName postUserIdallUsersallPostsnewUsernewPostpostsidnamelocationauthorIdauthortest1testputQputQLn-$fForeignKeyConstraint"blog_post_author_fkey"$fTableFieldPost"author"$fTableFieldPost"name"$fTableFieldPost"id" $fFromRowPost&$fPrimaryKeyConstraint"blog_post_pkey""$fUniqueConstraint"blog_post_pkey" $fTablePostGHC.Baseghc-primGHC.PrimseqGHC.Listfilterzip Data.Tuplefstsnd otherwisemap$coerceGHC.Real fromIntegral realToFrac Control.MonadguardjoinGHC.EnumBoundedminBoundmaxBoundEnumenumFrom enumFromThenenumFromThenTo enumFromTofromEnumtoEnumsuccpred GHC.ClassesEq==/= GHC.FloatFloatingpiexplogsqrt**logBasesincostanasinacosatansinhcoshtanhasinhacoshatanh Fractional fromRational/recipIntegral toIntegerquotremdivmodquotRemdivModMonadfail>>=>>returnFunctorfmap<$GHC.NumNum*+-negate fromIntegerabssignumOrd>=minmax><<=compareGHC.ReadReadreadList readsPrecReal toRational RealFloat floatRadix floatDigits floatRange decodeFloat encodeFloatexponent significand scaleFloatisNaN isInfiniteisDenormalizedisNegativeZeroisIEEEatan2RealFracproperFractiontruncateroundceilingfloorGHC.ShowShow showsPrecshowList Data.StringIsString fromString Applicativepure<*>*><* Data.FoldableFoldabletoListfoldrlengthfoldMapnullfoldlfoldl'foldl1sumproductfoldr1maximumminimumelemfoldfoldr'Data.Traversable TraversabletraversemapM sequenceAsequence Semigroup<>sconcatstimesMonoidmemptymappendmconcat GHC.TypesBoolFalseTrueCharDoubleFloatInt integer-gmpGHC.Integer.TypeIntegerMaybeNothingJustOrderingLTEQGTRationalIOWord Data.EitherEitherLeftRightType Constraint★ CoercibleliftMeither mtl-2.2.1-DscMMmDQUE6GBfOSl4qMUHControl.Monad.State.Classgetbytestring-0.10.8.2Data.ByteString.Internal ByteString Data.Functor<$>String#text-1.2.2.2-EakMpasry3jA6OIwSZhq9MData.Text.InternalText$aeson-1.2.4.0-18yGL0aLZDxCNpigNRqRjt Data.AesoneitherDecodeStrict' eitherDecode'eitherDecodeStrict eitherDecode decodeStrict'decode' decodeStrictdecodeencodeData.Aeson.TypesfoldableData.Aeson.Types.ClassGToJSON GToEncodingData.Aeson.Types.ToJSON toEncoding2toJSON2 toEncoding1toJSON1genericLiftToEncodinggenericToEncodinggenericLiftToJSON genericToJSONToArgsNoToArgsTo1ArgsToJSONtoJSON toEncoding toJSONListtoEncodingListKeyValue.= ToJSONKey toJSONKey toJSONKeyListToJSONKeyFunction ToJSONKeyTextToJSONKeyValueToJSON1 liftToJSONliftToJSONListliftToEncodingliftToEncodingListToJSON2 liftToJSON2liftToJSONList2liftToEncoding2liftToEncodingList2Data.Aeson.Encoding.Internalpairs fromEncodingEncodingSeriesData.Aeson.Types.FromJSON.!=.:!.:?.:fromJSONwithEmbeddedJSONwithBoolwithScientific withNumber withArraywithText withObject parseJSON2 parseJSON1genericLiftParseJSONgenericParseJSON GFromJSON gParseJSONFromArgs NoFromArgs From1ArgsFromJSON parseJSON parseJSONList FromJSONKey fromJSONKeyfromJSONKeyListFromJSONKeyFunctionFromJSONKeyCoerceFromJSONKeyTextFromJSONKeyTextParserFromJSONKeyValue FromJSON1 liftParseJSONliftParseJSONList FromJSON2liftParseJSON2liftParseJSONList2Data.Aeson.Parser.Internaljson'jsonData.Aeson.Types.InternalcamelTo2defaultTaggedObjectdefaultOptionsobjectResultErrorSuccessObjectArrayValueNumberNull DotNetTimefromDotNetTimeOptionsfieldLabelModifierconstructorTagModifierallNullaryToStringTagomitNothingFields sumEncodingunwrapUnaryRecordstagSingleConstructors SumEncoding TaggedObject UntaggedValueObjectWithSingleField TwoElemArray tagFieldNamecontentsFieldNameData.Aeson.Types.GenericZeroOne GHC.UnicodeisSpaceisAlphaisDigit Text.Readread MonadPlusmzeromplusdiffoption mtimesDefaultstimesIdempotentstimesIdempotentMonoid stimesMonoidcycle1ArgArgMinArgMaxFirstgetFirstLastgetLast WrappedMonoid WrapMonoid unwrapMonoidOption getOptionData.Bifunctor BifunctorfirstsecondbimapControl.Monad.IO.ClassMonadIOliftIOmfilter<$!>unless replicateM_ replicateMfoldM_foldM zipWithM_zipWithM mapAndUnzipMforever<=<>=>filterM Debug.Trace traceMarkerIO traceMarker traceEventIO traceEvent traceStack traceShowMtraceM traceShowId traceShowtraceIdtrace putTraceMsgtraceIO Data.ListisSubsequenceOf mapAccumR mapAccumLforMData.Functor.IdentityIdentity runIdentity System.IOreadIOreadLn appendFile writeFileinteract getContentsgetLinegetCharputStrputCharGHC.IO.ExceptionioErrorGHC.IOFilePath userErrorIOErrorfindnotElem minimumBy maximumByallanyorand concatMapconcatmsumasum sequence_ sequenceA_forM_mapM_for_ traverse_foldlMfoldrMDualgetDualEndoappEndoAllgetAllAnygetAnyProduct getProduct Data.OldListunwordswordsunlineslinesunfoldrsortOnsortBysort permutations subsequencestailsinitsgroupBygroupdeleteFirstsByunzip7unzip6unzip5unzip4zipWith7zipWith6zipWith5zipWith4zip7zip6zip5zip4genericReplicate genericIndexgenericSplitAt genericDrop genericTake genericLengthinsertBy partition transpose intercalate intersperse intersectBy intersectunionByunion\\deleteBydeletenubBynub isInfixOf isSuffixOf isPrefixOf findIndices findIndex elemIndices elemIndex stripPrefix dropWhileEnd Data.Char isSeparatorisNumberisMarkisLetter digitToIntreadsData.OrdDown Data.Proxy asProxyTypeOfProxyKProxy readLitChar lexLitCharlex readParenText.ParserCombinators.ReadPReadStoTitletoUppertoLowerisLowerisUpperisPrint isControl isAlphaNumisSymbol isPunctuation isHexDigit isOctDigit isAsciiUpper isAsciiLowerisLatin1isAsciigeneralCategoryGeneralCategoryControlUppercaseLetterLowercaseLetterTitlecaseLetterModifierLetter OtherLetterNonSpacingMarkSpacingCombiningMark EnclosingMark DecimalNumber LetterNumber OtherNumberConnectorPunctuationDashPunctuationOpenPunctuationClosePunctuation InitialQuote FinalQuoteOtherPunctuation MathSymbolCurrencySymbolModifierSymbol OtherSymbolSpace LineSeparatorParagraphSeparatorFormat Surrogate PrivateUse NotAssigned Data.Function&onfixvoidlcmgcd^^^oddevenGHC.Charchr intToDigit showLitChar showParen showStringshowCharshowsShowSunzip3unzipzipWith3zipWithzip3!!lookupreversebreakspansplitAtdroptake dropWhile takeWhilecycle replicaterepeatiteratescanr1scanrscanl'scanl1scanlfoldl1'initlasttailuncons Data.MaybemapMaybe catMaybes listToMaybe maybeToList fromMaybefromJust isNothingisJustmaybeuncurrycurrysubtractasTypeOfuntil$!flip.constordapliftM5liftM4liftM3liftM2when=<<GHC.Err undefinederrorWithoutStackTraceerror&&||not lens-4.16-CBDCQgeHEiPL6gBAVTGiQdControl.Lens.TH makeLenses lensRulesControl.Lens.Fold^?Control.Lens.Getter^.viewControl.Lens.Setter.~%~modify'transformers-0.5.2.0Control.Monad.Trans.State.Lazy evalState'string-conv-0.1.2-GXBFAR1hBTEYZnQDZEByuData.String.Conv StringConvstrConvLeniencyStrictLenienttoStoSLconvSconvSLshowidentityhead unsafeHeadputStrLnprintputTextreadFile foldl1Def%hssqlppp-0.6.1-K9s8Qp5SocjJPJxJcO6lZd'Database.HsSqlPpp.Internals.AstInternalNameTypeNametemplate-haskellLanguage.Haskell.TH.SyntaxapplyColumnConstraintscolumnTypeToHs implementEffect EffMethodsCanLift liftThrough mergeContexteffectRuntimeImplementedgetRuntimeImplemented MonadEffects