!aZp      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnoSafepqrstuvwNone=>?X+ @snaplet-postgresql-simple7Data type holding all the snaplet's config information.Bsnaplet-postgresql-simpleA libpq connection string.Csnaplet-postgresql-simpleRThe number of distinct sub-pools to maintain. The smallest acceptable value is 1.Dsnaplet-postgresql-simplehAmount of time for which an unused resource is kept open. The smallest acceptable value is 0.5 seconds.Esnaplet-postgresql-simpleYMaximum number of resources to keep open per stripe. The smallest acceptable value is 1.Fsnaplet-postgresql-simple Instantiate this typeclass on 'Handler b YourAppState' so this snaplet can find the connection source. If you need to have multiple instances of the postgres snaplet in your application, then don't provide this instance and leverage the default instance by using " with dbLens<" in front of calls to snaplet-postgresql-simple functions.Isnaplet-postgresql-simpleThe state for the postgresql-simple snaplet. To use it in your app include this in your application state and use pgsInit to initialize it.Lsnaplet-postgresql-simpleQReturns a config object with default values and the specified connection string.Msnaplet-postgresql-simpleFunction that reserves a single connection for the duration of the given action. Nested calls to withPG will only reserve one connection. For example, the following code calls withPG twice in a nested way yet only results in a single connection being reserved: myHandler = withPG $ do queryTheDatabase commonDatabaseMethod commonDatabaseMethod = withPG $ do moreDatabaseActions evenMoreDatabaseActions^This is useful in a practical setting because you may often find yourself in a situation where you have common code (that requires a database connection) that you wish to call from other blocks of code that may require a database connection and you still want to make sure that you are only using one connection through all of your nested methods.Nsnaplet-postgresql-simplePConvenience function for executing a function that needs a database connection.Osnaplet-postgresql-simplebConvenience function for executing a function that needs a database connection specialized to IO.xsnaplet-postgresql-simplePConvenience function for executing a function that needs a database connection.Lsnaplet-postgresql-simpleCA connection string such as "host=localhost port=5432 dbname=mydb"@AEDCBFHGIKJLMNOxNone "#%=>?XN~Psnaplet-postgresql-simple)Produce a connection string from a configQsnaplet-postgresql-simpleInitialize the snapletRsnaplet-postgresql-simple6Initialize the snaplet using a specific configuration.Ssnaplet-postgresql-simpleBuilds a PGSConfig object from a configurator Config object. This function uses getConnectionString to construct the connection string. The rest of the PGSConfig fields are obtained from "numStripes", "idleTime", and "maxResourcesPerStripe".Tsnaplet-postgresql-simpleSee yUsnaplet-postgresql-simpleSee zVsnaplet-postgresql-simpleSee {Wsnaplet-postgresql-simpleXsnaplet-postgresql-simpleYsnaplet-postgresql-simpleZsnaplet-postgresql-simple[snaplet-postgresql-simple\snaplet-postgresql-simple]snaplet-postgresql-simple^snaplet-postgresql-simple_snaplet-postgresql-simple`snaplet-postgresql-simple'Be careful that you do not call Snap's  finishWith9 function anywhere inside the function that you pass to `9. Doing so has been known to cause DB connection leaks.asnaplet-postgresql-simple'Be careful that you do not call Snap's  finishWith9 function anywhere inside the function that you pass to a9. Doing so has been known to cause DB connection leaks.bsnaplet-postgresql-simple'Be careful that you do not call Snap's  finishWith9 function anywhere inside the function that you pass to b9. Doing so has been known to cause DB connection leaks.csnaplet-postgresql-simple'Be careful that you do not call Snap's  finishWith9 function anywhere inside the function that you pass to b9. Doing so has been known to cause DB connection leaks.dsnaplet-postgresql-simple'Be careful that you do not call Snap's  finishWith9 function anywhere inside the function that you pass to b9. Doing so has been known to cause DB connection leaks.gsnaplet-postgresql-simplelA convenience instance to make it easier to use functions written for this snaplet in non-snaplet contexts.hsnaplet-postgresql-simpleaA convenience instance to make it easier to use this snaplet in the Initializer monad like this: ]d <- nestSnaplet "db" db pgsInit count <- liftIO $ runReaderT (execute "INSERT ..." params) disnaplet-postgresql-simpleDefault instanceg #"! $%,+*)('&0/.-54321768:9=<;?>@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgIJKFGH@ABCDELSQRPM%NOTUWXYZ[\]^_V`abcdef8:9=<;,+*)('&543210/.- #"! ?>76$None"#Z|snaplet-postgresql-simpleJDatatype containing the names of the columns for the authentication table.jsnaplet-postgresql-simple9Initializer for the postgres backend to the auth snaplet.}snaplet-postgresql-simple*Create the user table if it doesn't exist.~snaplet-postgresql-simple#Default authentication table layoutsnaplet-postgresql-simpleGList of deconstructors so it's easier to extract column names from an |.osnaplet-postgresql-simplejsnaplet-postgresql-simpleLens to the session snapletsnaplet-postgresql-simpleThe postgres snapletjj                   ! " # $ % & ' ( ) * + , , -. -/ -0 -1 -2 -3 -4 -5 -5 -6 -7 -8 -8 -9 -: -; -< -< => =? @A @B @B @C @D @D @E @EFFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|} ~Y ~Z ~[8snaplet-postgresql-simple-1.2.0.0-HyZsaJ8G22CLsfsIRbPtRLSnap.Snaplet.PostgresqlSimple+Snap.Snaplet.Auth.Backends.PostgresqlSimplePaths_snaplet_postgresql_simple&Snap.Snaplet.PostgresqlSimple.InternalOnly-0.1-4eYnxvcrr7tEbYgCvIkHLbData.Tuple.OnlyfromOnlyOnly.postgresql-simple-0.6.1-93Ek3RkvCBMDxqMQFRbgEA"Database.PostgreSQL.Simple.FromRowfieldfromRow$Database.PostgreSQL.Simple.FromField errMessageerrHaskellType errSQLFielderrSQLTableOid errSQLTypeConversionFailedUnexpectedNull Incompatible ResultErrorFromRow&Database.PostgreSQL.Simple.Transaction beginMode beginLevelbegincommitrollbackdefaultReadWriteModedefaultIsolationLeveldefaultTransactionMode SerializableRepeatableRead ReadCommittedDefaultIsolationLevelIsolationLevelReadOnly ReadWriteDefaultReadWriteMode ReadWriteMode readWriteModeisolationLevelTransactionMode#Database.PostgreSQL.Simple.InternaldefaultConnectInfo Connection sqlErrorHintsqlErrorDetail sqlErrorMsg sqlExecStatussqlStateSqlErrorqeQuery qeMessage QueryError fmtParamsfmtQuery fmtMessage FormatError Database.PostgreSQL.Simple.ToRowtoRowToRow Database.PostgreSQL.Simple.TypesQueryIn fromBinaryBinary:. PGSConfig pgsConnStr pgsNumStripes pgsIdleTime pgsResources HasPostgresgetPostgresStatesetLocalPostgresStatePostgres PostgresPool PostgresConnpgsDefaultConfigwithPGliftPGliftPG'getConnectionStringpgsInitpgsInit' mkPGSConfigqueryquery_ returningfoldfoldWithOptionsfold_foldWithOptions_forEachforEach_executeexecute_ executeManywithTransactionwithTransactionLevelwithTransactionModewithTransactionEitherwithTransactionModeEither formatMany formatQuery$fHasPostgresReaderT$fHasPostgresReaderT0$fHasPostgresHandlerinitPostgresAuth$fToFieldPassword$fFromRowAuthUser$fFromFieldPassword$fFromFieldUserId!$fIAuthBackendPostgresAuthManagerversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileNamewithConnectionDatabase.PostgreSQL.Simple AuthTablecreateTableIfMissing defAuthTablecolDef