h&O8      !"#$%&'()*+,-./01234567 Safe-Inferred.generic-persistenceA data type holding meta-data about a type. The Phantom type parameter a ensures type safety for reflective functions that use this type to create type instances (See module RecordtypeReflection).generic-persistencethis function is a smart constructor for TypeInfo objects. It takes a value of type a and returns a `TypeInfo a` object. If the type has no named fields, an error is thrown. If the type has more than one constructor, an error is thrown.8generic-persistence'This function ensures that the type of a has exactly one constructor. If the type has exactly one constructor, the constructor is returned. otherwise, an error is thrown.generic-persistenceThis function creates a TypeInfo object from the context of a function call. The Phantom Type parameter a is used to convince the compiler that the `TypeInfo a` object really describes type a. See also https://stackoverflow.com/questions/75171829/how-to-obtain-a-data-data-constr-etc-from-a-type-representation generic-persistence5This function returns the (unqualified) type name of a from a `TypeInfo a` object.9generic-persistenceThis function returns the list of field names of an entity of type a.   Safe-Inferred) : generic-persistenceA function that takes an entity and a field name as input parameters and returns the value of the field as a String. Example: fieldValue (Person John 42) "name" = SqlString John Example: fieldValue (Person John 42) "age" = SqlInt64 42 if the field is not present in the entity, an error is thrown.:generic-persistence5This function takes a `TypeInfo a`and a List of HDBC ;s and returns a `Maybe a`. If the conversion fails, Nothing is returned, otherwise Just a.<generic-persistenceThis function takes a = and a list of >* values and returns a `Maybe a`. If an aentity could be constructed, Just a is returned, otherwise Nothing. See also  https://stackoverflow.com/questions/47606189/fromconstrb-or-something-other-useful& for Info on how to use fromConstrM?generic-persistenceconvert a SqlValue into a Dynamic value that is backed by a value of the type represented by the SomeTypeRep parameter. If conversion fails, return Nothing. conversion to Dynamic is required to allow the use of fromDynamic in applyConstr see also https://stackoverflow.com/questions/46992740/how-to-specify-type-of-value-via-typerep   Safe-Inferred< generic-persistenceThe resolution cache maps an EntityId to a Dynamic value (representing an Entity). It is used to resolve circular references during loading and storing of Entities.generic-persistenceThe EntityId is a tuple of the TypeRep and the primary key value of an Entity. It is used as a key in the resolution cache.generic-persistencetype Ctx defines the context in which the persistence operations are executed. It contains a connection to the database and a resolution cache for circular lookups.generic-persistence+Converts a database row to a value of type a.generic-persistenceConverts a value of type a to a database row.generic-persistence5Returns the name of the primary key field for a type a.generic-persistenceReturns a list of tuples that map field names to column names for a type a.generic-persistence)Returns the name of the table for a type a.generic-persistenceA convenience function: returns the name of the column for a field of a type a.generic-persistenceA convenience function: returns the TypeRep of a field of a type a. generic-persistence3Returns a string representation of a value of type a.generic-persistence=A convenience function: returns an evidence instance of type a. This is useful for type inference where no instance is available.   Safe-Inferred!generic-persistenceA function that returns an SQL insert statement for an entity. Type a must be an instance of Data. The function will use the field names of the data type to generate the column names in the insert statement. The values of the fields will be used as the values in the insert statement. Output example: INSERT INTO Person (id, name, age, address) VALUES (123456, Alice, 25, "123 Main St");"generic-persistenceA function that returns an SQL update statement for an entity. Type a must be an instance of Entity.#generic-persistenceA function that returns an SQL select statement for entity type a with primary key @.!"#$%&'(!"#&$%'( Safe-InferredQ )generic-persistenceA function that retrieves an entity from a database. The function takes entity id as parameter. If an entity with the given id exists in the database, it is returned as a Just value. If no such entity exists, Nothing is returned. An error is thrown if there are more than one entity with the given id.*generic-persistence-This function retrieves all entities of type a from a database. The function takes an HDBC connection as parameter. The type a3 is determined by the context of the function call.,generic-persistenceA function that persists an entity to a database. The function takes an HDBC connection and an entity as parameters. The entity is either inserted or updated, depending on whether it already exists in the database. The required SQL statements are generated dynamically using Haskell generics and reflection-generic-persistence>A function that explicitely inserts an entity into a database..generic-persistence?@ABCDEFGHIJKLMNOPQRSTUVWX#generic-persistence-0.2.0.0-inplaceDatabase.GP.GenericPersistenceDatabase.GP.TypeInfo Database.GP.RecordtypeReflectionDatabase.GP.EntityDatabase.GP.SqlGenerator Database.GPPaths_generic_persistencebaseControl.Monad.IO.ClassliftIO mtl-2.2.2Control.Monad.Reader.ClasslocalaskTypeInfotypeConstructor fieldNames fieldTypestypeInfotypeInfoFromContexttypeName$fShowTypeInfo fieldValuegFromRowgToRowResolutionCacheEntityIdGPCtx connectioncacheEntityfromRowtoRowidFieldfieldsToColumns tableName columnNameFor fieldTypeFormaybeFieldTypeFortoStringevidence evidenceFrom insertStmtFor updateStmtFor selectStmtForselectAllStmtForselectAllWhereStmtFor deleteStmtForcreateTableStmtFordropTableStmtFor retrieveById retrieveAllretrieveAllWherepersistinsertupdatedelete setupTableForgetElseRetrieveextendCtxCacheentityIdidValuerunGP$fConvertibleaSqlValue$fConvertibleSqlValueaensureSingleConstructor fieldNamesOfbuildFromRecordHDBC-2.4.0.4-a94d1703Database.HDBC.SqlValueSqlValue applyConstr Data.DataConstr Data.DynamicDynamicconvertToDynamicGHC.BaseidversiongetDataFileName getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDir