h$G4+      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ Safe-Inferred^ persistent-sqlite?Newtype wrapping SQLite C API pointer for a prepared statement. persistent-sqliteNewtype wrapping SQLite C API pointer for a database connection. persistent-sqliteSQLite connection type, consist of an IORef tracking whether the connection has been closed and the raw SQLite C API pointer, wrapped in a 'Connection'' newtype.None persistent-sqlite2Run-time status parameter that can be returned by S function.persistent-sqliteThis parameter is the current amount of memory checked out using sqlite3_malloc(), either directly or indirectly. The figure includes calls made to sqlite3_malloc() by the application and internal memory usage by the SQLite library. Scratch memory controlled by SQLITE_CONFIG_SCRATCH and auxiliary page-cache memory controlled by SQLITE_CONFIG_PAGECACHE is not included in this parameter. The amount returned is the sum of the allocation sizes as reported by the xSize method in sqlite3_mem_methods.persistent-sqliteThis parameter returns the number of pages used out of the pagecache memory allocator that was configured using SQLITE_CONFIG_PAGECACHE. The value returned is in pages, not in bytes. persistent-sqliteThis parameter returns the number of bytes of page cache allocation which could not be satisfied by the SQLITE_CONFIG_PAGECACHE buffer and where forced to overflow to sqlite3_malloc(). The returned value includes allocations that overflowed because they where too large (they were larger than the "sz" parameter to SQLITE_CONFIG_PAGECACHE) and allocations that overflowed because no space was left in the page cache. persistent-sqliteThis parameter returns the number of allocations used out of the scratch memory allocator configured using SQLITE_CONFIG_SCRATCH. The value returned is in allocations, not in bytes. Since a single thread may only have one scratch allocation outstanding at time, this parameter also reports the number of threads using scratch memory at the same time. persistent-sqliteThis parameter returns the number of bytes of scratch memory allocation which could not be satisfied by the SQLITE_CONFIG_SCRATCH buffer and where forced to overflow to sqlite3_malloc(). The values returned include overflows because the requested allocation was too larger (that is, because the requested allocation was larger than the "sz" parameter to SQLITE_CONFIG_SCRATCH) and because no scratch buffer slots were available. persistent-sqliteThis parameter records the largest memory allocation request handed to sqlite3_malloc() or sqlite3_realloc() (or their internal equivalents). Only the value returned in  field of 4 record is of interest. The value written into the  field is Nothing. persistent-sqliteThis parameter records the largest memory allocation request handed to pagecache memory allocator. Only the value returned in the  field of 4 record is of interest. The value written into the  field is Nothing.persistent-sqliteThis parameter records the largest memory allocation request handed to scratch memory allocator. Only the value returned in the  field of 4 record is of interest. The value written into the  field is Nothing.persistent-sqliteThis parameter records the number of separate memory allocations currently checked out.persistent-sqliteReturn type of the S functionpersistent-sqliteThe current value of the parameter. Some parameters do not record current value.persistent-sqliteThe highest recorded value. Some parameters do not record the highest value.persistent-sqlite=Configuration option for SQLite to be used together with the R function.persistent-sqlite!A function to be used for loggingpersistent-sqlite8persistent-sqlite>A custom exception type to make it easier to catch exceptions.Bpersistent-sqlite6Execute a database statement. It's recommended to use C1 instead, because it gives better error messages.Cpersistent-sqlite5Execute a database statement. This function uses the 1 passed to it to give better error messages than B.Ppersistent-sqliteWraps a given function to a  to be further used with . First argument of given function will take error code, second - log message. Returned value should be released with Q when no longer required.Qpersistent-sqlite!Releases a native FunPtr for the .Rpersistent-sqliteSets SQLite global configuration parameter. See SQLite documentation for the  (https://www.sqlite.org/c3ref/config.htmlsqlite3_config function. In short, this must be called prior to any other SQLite function if you want the call to succeed.Spersistent-sqliteRetrieves runtime status information about the performance of SQLite, and optionally resets various highwater marks. The first argument is a status parameter to measure, the second is reset flag. If reset flag is True then the highest recorded value is reset after being returned from this function.Tpersistent-sqliteSets and/or queries the soft limit on the amount of heap memory that may be allocated by SQLite. If the argument is zero then the soft heap limit is disabled. If the argument is negative then no change is made to the soft heap limit. Hence, the current size of the soft heap limit can be determined by invoking this function with a negative argument.  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRST !"#$%&'()*+,-./0123456789:;< =>ABCDEFGHIJKLMNOPQRST?@None 2<=>?/_ persistent-sqliteWrapper for persistent SqlBackends that carry the corresponding .` persistent-sqlite5Data type for reporting foreign key violations using z.bpersistent-sqlite$The table of the violated constraintcpersistent-sqlite%The column of the violated constraintdpersistent-sqlite=The ROWID of the row with the violated foreign key constraintepersistent-sqliteInformation required to connect to a sqlite database. We export lenses instead of fields to avoid being limited to the current implementation.fpersistent-sqlite0Information required to setup a connection pool.lpersistent-sqlite$Create a pool of SQLite connections.+Note that this should not be used with the :memory: connection string, as the pool will regularly remove connections, destroying your database. Instead, use p.mpersistent-sqlite$Create a pool of SQLite connections.+Note that this should not be used with the :memory: connection string, as the pool will regularly remove connections, destroying your database. Instead, use p.npersistent-sqlite,Run the given action with a connection pool.Like l, this should not be used with :memory:.opersistent-sqlite,Run the given action with a connection pool.Like l, this should not be used with :memory:.qpersistent-sqliterpersistent-sqliteWrap up a raw  as a Persistent SQL  Connection. Example usage {-# LANGUAGE GADTs #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE QuasiQuotes #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} import Control.Monad.IO.Class (liftIO) import Database.Persist import Database.Sqlite import Database.Persist.Sqlite import Database.Persist.TH share [mkPersist sqlSettings, mkMigrate "migrateAll"] [persistLowerCase| Person name String age Int Maybe deriving Show |] main :: IO () main = do conn <- open "/home/sibi/test.db" (backend :: SqlBackend) <- wrapConnection conn (\_ _ _ _ -> return ()) flip runSqlPersistM backend $ do runMigration migrateAll insert_ $ Person "John doe" $ Just 35 insert_ $ Person "Hema" $ Just 36 (pers :: [Entity Person]) <- selectList [] [] liftIO $ print pers close' backend%On executing it, you get this output: Migrating: CREATE TABLE "person"("id" INTEGER PRIMARY KEY,"name" VARCHAR NOT NULL,"age" INTEGER NULL) [Entity {entityKey = PersonKey {unPersonKey = SqlBackendKey {unSqlBackendKey = 1}}, entityVal = Person {personName = "John doe", personAge = Just 35}},Entity {entityKey = PersonKey {unPersonKey = SqlBackendKey {unSqlBackendKey = 2}}, entityVal = Person {personName = "Hema", personAge = Just 36}}]s persistent-sqliteRetry if a Busy is thrown, following an exponential backoff strategy.t persistent-sqlite?Wait until some noop action on the database does not return an  . See s.upersistent-sqliteWrap up a raw  as a Persistent SQL  Connection4, allowing full control over WAL and FK constraints.vpersistent-sqliteA convenience helper which creates a new database connection and runs the given block, handling  MonadResource and  MonadLogger9 requirements. Note that all log messages are discarded.wpersistent-sqliteA convenience helper which creates a new database connection and runs the given block, handling  MonadResource and  MonadLogger9 requirements. Note that all log messages are discarded.xpersistent-sqliteMock a migration even when the database is not present. This function performs the same functionality of  with the difference that an actual database isn't needed for it.ypersistent-sqliteCreates a SqliteConnectionInfo from a connection string, with the default settings.z persistent-sqliteOutputs all (if any) the violated foreign key constraints in the database.The main use is to validate that no foreign key constraints were broken/corrupted by anyone operating on the database with foreign keys disabled. See .{ persistent-sqliteLike q, but exposes the internal . For power users who want to manually interact with SQLite's C API via internals exposed by Database.Sqlite.Internal| persistent-sqliteLike m , but like { it exposes the internal .For power users who want to manually interact with SQLite's C API via internals exposed by Database.Sqlite.Internal. The callback can be used to run arbitrary actions on the connection upon allocation from the pool.} persistent-sqliteLike |>, but doesn't require a callback operating on the connection.~ persistent-sqliteLike createSqlitePoolInfo, but based on |. persistent-sqliteLike createSqlitePoolInfo, but based on }.npersistent-sqlitenumber of connections to openopersistent-sqlitenumber of connections to openvpersistent-sqliteconnection stringpersistent-sqlitedatabase actionwpersistent-sqlitedatabase action|persistent-sqlite%An action that is run whenever a new _ connection is allocated in the pool. The main use of this function is to register custom functions with the SQLite connection upon creation.~persistent-sqlitenumber of connections to openpersistent-sqlitenumber of connections to open_`abcdefghijklmnopqrstuvwxyz{|}~'nopqlmfghijkeyvwruxst`abcdz_{|}~      !"#$%&'()*+,-./01234567889:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^__`abcddefghijklmnopqrstuvwxyz{|}~1persistent-sqlite-2.13.1.0-5WVBcoqU5lEFLt18fKazUVDatabase.Sqlite.InternalDatabase.SqliteDatabase.Persist.Sqlite Statement Connection' ConnectionSqliteStatusVerbSqliteStatusMemoryUsedSqliteStatusPagecacheUsedSqliteStatusPagecacheOverflowSqliteStatusScratchUsedSqliteStatusScratchOverflowSqliteStatusMallocSizeSqliteStatusPagecacheSizeSqliteStatusScratchSizeSqliteStatusMallocCount SqliteStatussqliteStatusCurrentsqliteStatusHighwaterConfig ConfigLogFn LogFunction StepResultRowDoneErrorErrorOK ErrorError ErrorInternalErrorPermission ErrorAbort ErrorBusy ErrorLocked ErrorNoMemory ErrorReadOnlyErrorInterruptErrorIO ErrorNotFound ErrorCorrupt ErrorFullErrorCan'tOpen ErrorProtocol ErrorEmpty ErrorSchema ErrorTooBigErrorConstraint ErrorMismatch ErrorMisuseErrorNoLargeFileSupportErrorAuthorization ErrorFormat ErrorRangeErrorNotAConnectionErrorRow ErrorDoneSqliteExceptionseErrorseFunctionName seDetailsopencloseenableExtendedResultCodesdisableExtendedResultCodespreparestepstepConnresetfinalizebindBlob bindDoublebindInt bindInt64bindNullbindTextbindcolumncolumnschanges mkLogFunctionfreeLogFunctionconfigstatus softHeapLimit$fExceptionSqliteException$fShowSqliteException$fEqSqliteStatus$fShowSqliteStatus$fEqColumnType$fShowColumnType$fEqStepResult$fShowStepResult $fEqError $fShowError RawSqliteForeignKeyViolationforeignKeyTableforeignKeyColumnforeignKeyRowIdSqliteConnectionInfo SqliteConfSqliteConfInfo sqlDatabase sqlPoolSize sqlConnInfocreateSqlitePoolcreateSqlitePoolFromInfowithSqlitePoolwithSqlitePoolInfowithSqliteConnwithSqliteConnInfowrapConnection retryOnBusywaitForDatabasewrapConnectionInfo runSqlite runSqliteInfo mockMigrationmkSqliteConnectionInfocheckForeignKeyswithRawSqliteConnInfocreateRawSqlitePoolFromInfocreateRawSqlitePoolFromInfo_withRawSqlitePoolInfowithRawSqlitePoolInfo_$fFromJSONSqliteConnectionInfo$fPersistConfigSqliteConf$fFromJSONSqliteConf$fPersistCoreRawSqlite$fBackendCompatiblebRawSqlite$fEqForeignKeyViolation$fOrdForeignKeyViolation$fShowForeignKeyViolation$fShowSqliteConf$fShowSqliteConnectionInfo$fFromJSONBackendKey$fToJSONBackendKey$fBoundedBackendKey$fEnumBackendKey$fRealBackendKey$fPersistFieldSqlBackendKey$fPersistFieldBackendKey$fIntegralBackendKey$fNumBackendKey$fOrdBackendKey$fEqBackendKey$fReadBackendKey$fShowBackendKey$fPersistUniqueWriteRawSqlite$fPersistQueryWriteRawSqlite$fPersistStoreWriteRawSqlite$fPersistUniqueReadRawSqlite$fPersistQueryReadRawSqlite$fPersistStoreReadRawSqlite$fHasPersistBackendRawSqlitepersistentBackendrawSqliteConnection extraPragmas fkEnabledsqlConnectionStr walEnabled*persistent-2.13.3.0-DwD3q1bNYaTAdxMPo3UGjaDatabase.Persist.Sql.MigrationprintMigrationDatabase.Persist.SqltransactionUndoWithIsolationtransactionUndotransactionSaveWithIsolationtransactionSave runSqlCommand addMigrations addMigration reportErrors reportErrormigraterunMigrationUnsafeQuietrunMigrationUnsaferunMigrationSilentrunMigrationQuiet runMigration getMigration showMigrationparseMigration'parseMigrationSqlCautiousMigration MigrationPersistUnsafeMigrationException(Database.Persist.Sql.Orphan.PersistQuerydecorateSQLWithLimitOffset orderClausefilterClauseWithVals filterClauseupdateWhereCountdeleteWhereCountFilterTablePrefixPrefixTableNamePrefixExcluded(Database.Persist.Sql.Orphan.PersistStore fieldDBName getFieldName tableDBName getTableName fromSqlKeytoSqlKey withRawQueryDatabase.Persist.Sql.Runclose' withSqlConncreateSqlPoolWithConfig createSqlPoolwithSqlPoolWithConfig withSqlPoolliftSqlPersistMPoolrunSqlPersistMPoolrunSqlPersistMrunSqlConnWithIsolation runSqlConnacquireSqlConnWithIsolationacquireSqlConnrunSqlPoolWithExtensibleHooksrunSqlPoolWithHooksrunSqlPoolNoTransactionrunSqlPoolWithIsolation runSqlPoolDatabase.Persist.Sql.RawrawSql getStmtConnrawExecuteCount rawExecute rawQueryResrawQueryDatabase.Persist.Sql.ClassunPrefixRawSqlrawSqlProcessRow rawSqlColsrawSqlColCountReasonEntityWithPrefixunEntityWithPrefixPersistFieldSqlsqlTypeDatabase.PersistlimitOffsetOrder toJsonText mapToJSON listToJSON||./<-.<-.>=.>.<=.<.!=.==./=.*=.-=.+=.=.Database.Persist.Sql.Internal mkColumnsdefaultAttributeemptyBackendSpecificOverrides setBackendSpecificForeignKeyName getBackendSpecificForeignKeyNameBackendSpecificOverridesDatabase.Persist.Sql.TypesdefaultConnectionPoolConfigColumn cReferencecMaxLencDefaultConstraintName cGeneratedcDefaultcSqlTypecNamecNullColumnReferencecrFieldCascade crTableNamecrConstraintNamePersistentSqlExceptionStatementAlreadyFinalizedCouldn'tGetSQLConnection SqlPersistT SqlPersistMConnectionPoolConnectionPoolConfigconnectionPoolConfigSizeconnectionPoolConfigStripesconnectionPoolConfigIdleTimeoutSingleunSingle#Database.Persist.Sql.Types.Internal readToUnknown readToWritewriteToUnknownSqlReadBackend$$sel:unSqlReadBackend:SqlReadBackendSqlWriteBackend&$sel:unSqlWriteBackend:SqlWriteBackendSqlBackendCanReadSqlBackendCanWriteSqlReadT SqlWriteT IsSqlBackendDatabase.Persist.Class PersistUnique PersistQuery PersistStore$Database.Persist.Class.DeleteCascadedeleteCascadeWhere DeleteCascade deleteCascade#Database.Persist.Class.PersistQueryselectKeysList selectList selectKeys selectSourcePersistQueryReadexists selectKeysRes selectFirstcountselectSourceResPersistQueryWrite updateWhere deleteWhere$Database.Persist.Class.PersistUniquecheckUniqueUpdateable checkUnique replaceUnique getByValue onlyUniqueinsertUniqueEntityinsertByonlyOneUniqueDefPersistUniqueReadgetByPersistUniqueWriteputManyupsertByupsertdeleteBy insertUniqueOnlyOneUniqueKey onlyUniquePNoUniqueKeysErrorMultipleUniqueKeysErrorAtLeastOneUniqueKeyrequireUniquesP$Database.Persist.SqlBackend.Internal SqlBackend#Database.Persist.Class.PersistStore insertRecord getEntity insertEntity belongsToJust belongsTo getJustEntitygetJust liftPersistwithCompatibleBackendwithBaseBackend BaseBackendHasPersistBackendpersistBackendIsPersistBackendBackendCompatibleprojectBackendPersistRecordBackend ToBackendKey toBackendKeyfromBackendKey BackendKey SqlBackendKeySqlWriteBackendKeySqlReadBackendKeyunSqlBackendKeyunSqlWriteBackendKeyunSqlReadBackendKey PersistCorePersistStoreReadgetgetManyPersistStoreWrite updateGetreplace repsertManyrepsert insertKeyinsertEntityMany insertMany_ insertManyinsert_updatedeleteinsert$Database.Persist.Class.PersistEntityfromPersistValueJSONtoPersistValueJSONentityIdFromJSONentityIdToJSONkeyValueEntityFromJSONkeyValueEntityToJSON entityValuesUnique EntityFieldKeyPersistEntityBackend PersistEntitykeyFromRecordM fieldLenspersistUniqueToValuespersistUniqueToFieldNamespersistUniqueKeysfromPersistValuestoPersistFieldspersistFieldDef entityDefpersistIdField keyFromValues keyToValuesBackendSpecificUpdateUpdate BackendUpdate updateUpdate updateField updateValue SelectOptLimitToOffsetByAscDescBackendSpecificFilterFilter BackendFilterFilterOr FilterAnd filterFilter filterField filterValue FilterValue UnsafeValue FilterValuesEntity entityKey entityVal SymbolToField symbolToField#Database.Persist.Class.PersistField getPersistMap PersistFieldtoPersistValuefromPersistValueOverflowNaturalunOverflowNaturalSomePersistFieldDatabase.Persist.EntityDefoverEntityFieldsgetEntityKeyFieldssetEntityIdDef setEntityIdgetEntityIdField getEntityId isEntitySumgetEntityFieldsDatabasegetEntityFieldsgetEntityForeignDefsgetEntityCommentssetEntityDBNamegetEntityExtragetEntityDBNamegetEntityHaskellNamegetEntityUniquesDatabase.Persist.FieldDef isFieldMaybeisFieldNullable addFieldAttroverFieldAttrs setFieldAttrs1Database.Persist.SqlBackend.Internal.MkSqlBackendLogFunc4Database.Persist.SqlBackend.Internal.InsertSqlResultInsertSqlResult ISRManyKeys ISRSingle ISRInsertGet.Database.Persist.SqlBackend.Internal.Statement stmtQuery stmtExecute stmtFinalize stmtResetDatabase.Persist.Types.BaserenderCascadeActionrenderFieldCascade noCascadeisHaskellFieldisFieldNotGeneratedparseFieldAttrskeyAndEntityFields entityPrimaryentitiesPrimaryfieldAttrsContainsNullable CheckmarkActiveInactive IsNullableNullable NotNullable WhyNullable ByMaybeAttrByNullableAttr EntityDef EntityIdDef EntityIdFieldEntityIdNaturalKey ExtraLineAttr FieldAttrFieldAttrOther FieldAttrSqlFieldAttrMaxlenFieldAttrSqltypeFieldAttrDefaultFieldAttrConstraintFieldAttrReferenceFieldAttrNoreferenceFieldAttrSafeToRemoveFieldAttrMigrationOnlyFieldAttrMaybeFieldAttrNullable FieldTypeFTListFTApp FTTypeConFTTypePromoted ReferenceDef SelfReference CompositeRefEmbedRef NoReference ForeignRefEmbedEntityDefembeddedHaskellembeddedFields EmbedFieldDef emFieldDB emFieldEmbed UniqueDef uniqueAttrs uniqueFields uniqueHaskell uniqueDBName CompositeDefcompositeFieldscompositeAttrsForeignFieldDef ForeignDefforeignToPrimaryforeignNullable foreignAttrs foreignFieldsforeignFieldCascadeforeignConstraintNameDBNameforeignConstraintNameHaskellforeignRefTableHaskellforeignRefTableDBName FieldCascade fcOnUpdate fcOnDelete CascadeAction SetDefaultSetNullCascadeRestrictPersistExceptionPersistMongoDBUnsupportedPersistMongoDBErrorPersistForeignConstraintUnmetPersistInvalidField PersistErrorPersistMarshalErrorSqlTypeSqlOtherSqlBlob SqlDayTimeSqlTimeSqlDaySqlBool SqlNumericSqlRealSqlInt64 SqlStringSqlInt32 PersistFilterNotInLeGeLtGtNeEqInUpdateException KeyNotFound UpsertError PersistUpdateDivideMultiplySubtractAssignAddFieldDeffieldIsImplicitIdColumnfieldGenerated fieldComments fieldCascadefieldReference fieldStrict fieldAttrs fieldSqlType fieldType fieldHaskellfieldDB3Database.Persist.SqlBackend.Internal.IsolationLevelIsolationLevel SerializableRepeatableReadReadUncommitted ReadCommittedDatabase.Persist.PersistValuefromPersistValueText PersistValuePersistDbSpecificPersistLiteralEscapedPersistLiteralPersistLiteral_ PersistArrayPersistObjectId PersistMap PersistList PersistNullPersistUTCTimePersistTimeOfDay PersistDay PersistBoolPersistRational PersistDouble PersistInt64 PersistTextPersistByteString LiteralType DbSpecificEscaped UnescapedDatabase.Persist.Names DatabaseName escapeWith FieldNameDB unFieldNameDB FieldNameHS unFieldNameHS EntityNameHSunEntityNameHS EntityNameDBunEntityNameDBConstraintNameDBunConstraintNameDBConstraintNameHSunConstraintNameHS$Database.Persist.Class.PersistConfigPersistConfigPoolPersistConfigBackend PersistConfigrunPoolcreatePoolConfigapplyEnv loadConfig