n,`      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~   !"#$%&'(ACreate a new record in the database, returning the newly created  identifier. )AReplace the record in the database with the given key. Result is , undefined if such a record does not exist. */Update individual fields on a specific record. +EUpdate individual fields on any record matching the given criterion. ,DDelete a specific record by identifier. Does nothing if record does  not exist. -BDelete a specific record by unique key. Does nothing if no record  matches. .1Delete all records matching the given criterion. /*Get a record by identifier, if available. 0GGet a record by unique key, if available. Returns also the identifier. 1EGet all records matching the given criterion in the specified order.  Returns also the identifiers. 2,get just the first record for the criterion 3Get the 65/s of all records matching the given criterion. 4<The total number of records fulfilling the given criterion. 56789:HA single database entity. For example, if writing a blog application, a L blog entry would be an entry, containing fields such as title and content. ;*Parameters: val and datatype of the field <)Unique keys in existence on this entity. =>?@ABCDE Filters which are available for select, + and  .4. Each filter constructor specifies the field being G filtered on, the type of comparison applied (equals, not equals, etc) & and the argument for the comparison. FG4convenient for internal use, not needed for the API HIJKLMNOPQRSTUV.A value which can be marshalled to and from a e. WXYZ[CA SQL data type. Naming attempts to reflect the underlying Haskell L datatypes, eg SqlString instead of SqlVarchar. Different SQL databases may . have different translations for these types. \]^_`ab1FIXME 8-byte integer; should be renamed SqlInt64 cdeHA raw value which can be stored in any backend and can be marshalled to  and from a V. f(intended especially for MongoDB backend ghijklmnopqrstuvwxGeneric Exception yz{|}JInsert a value, checking for conflicts with any unique constraints. If a 5 duplicate exists in the database, it is returned as . Otherwise, the  new 65 is returned as . ~A modification of 0, which takes the : itself instead  of a <! value. Returns a value matching one of the unique keys. This 9 function makes the most sense on entities with a single <  constructor. same as belongsTo, but uses getJust# and therefore is similarly unsafe 8Same as get, but for a non-null (not Maybe) foreign key J Unsafe unless your database is enforcing that the foreign key is valid KCheck whether there are any conflicts for unique keys with this entity and $ existing entities in the database. Returns 9 if the entity would be unique, and could thus safely be  ( ed; returns  on a conflict. Call select" but return the result as a list.   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~eqponmlkjihgf[dcba`_^]\VWXYZ:;=<>?@ABCD'()*+,-./01234  LPONM89}~ rxwvutsQRSTU|EHGFIJK567 !"#$%&yz{    !"#$%&!"#$%&' ()*+,-./01234()*+,-./0123456767899: ;=<>?@ABCD;<=>?@ABCDEHGFIJKFGHIJKLPONMMNOPQRSTURSTUVWXYZWXYZ[ dcba`_^]\\]^_`abcde qponmlkjihgffghijklmnopqrxwvutsstuvwxyz{|}~ @Parses a quasi-quoted syntax into a list of entity definitions. 01Create the list of columns for the given entity. include table name? include table name? include table name? include WHERE? +++ Same as 2, but returns a list of the SQL commands executed % instead of printing them to stderr.  is silent? Perform a database commit. Perform a database rollback. 567567   assign a field a value  assign a field by addition (+=) #assign a field by subtraction (-=) &assign a field by multiplication (*=) assign a field by division (/=) assign a field a value  assign a field by addition (+=) #assign a field by subtraction (-=) &assign a field by multiplication (*=) assign a field by division (/=) assign a field a value  assign a field by addition (+=) #assign a field by subtraction (-=) &assign a field by multiplication (*=) assign a field by division (/=) assign a field a value  assign a field by addition (+=) #assign a field by subtraction (-=) &assign a field by multiplication (*=) assign a field by division (/=) assign a field a value  assign a field by addition (+=) #assign a field by subtraction (-=) &assign a field by multiplication (*=) assign a field by division (/=) assign a field a value  assign a field by addition (+=) #assign a field by subtraction (-=) &assign a field by multiplication (*=) assign a field by division (/=) In NotIn G'()*+,-./01234567:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ}~GVWXYZ:;=<>?@ABCD'()*+,-./01234567}~QRSTULPONMEHGFIJK     !"##$%&'())*+,-./0123456789:;<==>??@ABCDEFGHIJKLMKNOPQRSTUVVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      persistent-0.6.1Database.Persist.TH.LibraryDatabase.Persist.UtilDatabase.Persist.BaseDatabase.Persist.Quasi$Database.Persist.GenericSql.InternalDatabase.Persist.GenericSql.RawDatabase.Persist.GenericSqlDatabase.Persist.JoinDatabase.Persist.Join.SqlDatabase.PersistapEnullable deprecate PersistUpdateDivideMultiplySubtractAddAssign DeleteCascade deleteCascade PersistFilterBackendSpecificFilterNotInInLeGeLtGtNeEq UniqueDef uniqueName uniqueColumns ColumnDef columnName columnType columnAttribs ColumnType ColumnName EntityDef entityName entityAttribs entityColumns entityUniques entityDerivesPersistBackendinsertreplaceupdate updateWheredeletedeleteBy deleteWheregetgetBy selectEnum selectFirst selectKeyscountKeyunKeySomePersistField PersistEntity EntityFieldUniquepersistColumnDef entityDeftoPersistFieldsfromPersistValues halfDefinedpersistUniqueToFieldNamespersistUniqueToValuespersistUniqueKeysFilterFilterOr FilterAnd filterField filterValue filterFilter SelectOptLimitToOffsetByDescAscUpdate updateField updateValue updateUpdate PersistFieldtoPersistValuefromPersistValuesqlType isNullableSqlTypeSqlBlob SqlDayTimeSqlTimeSqlDaySqlBoolSqlReal SqlIntegerSqlInt32 SqlString PersistValuePersistObjectId PersistMap PersistList PersistNullPersistUTCTimePersistTimeOfDay PersistDay PersistBool PersistDouble PersistInt64PersistByteString PersistTextPersistExceptionPersistMongoDBUnsupportedPersistMongoDBErrorPersistForeignConstraintUnmetPersistInvalidFieldPersistMarshalError PersistErrorfst3snd3third3updateFieldNameinsertBy getByValue belongsTo belongsToJustgetJust checkUniquelimitOffsetOrder selectListdeleteCascadeWhereparseRawName unRawName UniqueDef'ColumncNamecNullcTypecDefault cReference StatementfinalizeresetexecutewithStmt Connectionprepare insertSqlstmtMapclose migrateSqlbegincommitC rollbackC escapeNamenoLimit RowPopper withSqlPool withSqlConn mkColumnsrefName tableColumns rawFieldName rawTableNamegetFiltsValues filterClausefilterClauseNoWheredummyFromFilts getFieldName orderClause SqlPersist unSqlPersistgetStmtgetStmt' MigrationConnectionPool runSqlPool runSqlConnparseMigrationparseMigration'printMigration getMigration runMigrationrunMigrationSilentrunMigrationUnsafemigratecommitrollback SelectOneMany somFilterOne somOrderOne somFilterMany somOrderMany somFilterKeys somGetKeysomIncludeNoMatchRunJoinResultrunJoin selectOneMany=.+=.-=.*=./=.==.!=.<.<=.>.>=.<-./<-.||.base Data.EitherLeftRightghc-prim GHC.TypesTrueFalseremoveLeadingSpaces killCarriagewords'words''nestparse'takeCols takeUniqs takeDerivesclose' getSqlValuefilterClauseHelper tableColumndummyFromOrderCautiousMigrationSql withStmt'execute'dummyFromUnique dummyFromKeyallSql unsafeSqlsafeSql runMigration'executeMigrateupdatePersistValuefromPersistValuesIdaddTable colsPlusId filterName