SH      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ d name, type, attribs name, columns  !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. )GGet a record by unique key, if available. Returns also the identifier. *EGet all records matching the given criterion in the specified order.  Returns also the identifiers. limit offset +Get the 0/s of all records matching the given criterion. ,<The total number of records fulfilling the given criterion. -./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. 0wThe unique identifier associated with this entity. In general, backends also define a type synonym for this, such that "type MyEntityId = Key MyEntity". 1&Fields which can be updated using the # and $  functions. 2 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. 3"How you can sort the results of a select. 4)Unique keys in existence on this entity. 56789:;<=>?@ABCDEF.A value which can be marshalled to and from a U. GHIJKCA 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. LMNOPQR1FIXME 8-byte integer; should be renamed SqlInt64 STUHA raw value which can be stored in any backend and can be marshalled to  and from a F. VJintended especially for MongoDB backend. FIXME: rename to PersistObjectId WXYZ[\]^_`abJInsert a value, checking for conflicts with any unique constraints. If a 5 duplicate exists in the database, it is returned as . Otherwise, the  new 0 is returned as . cA modification of ), which takes the / itself instead  of a 4! value. Returns a value matching one of the unique keys. This 9 function makes the most sense on entities with a single 4  constructor. dKCheck 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. eCall select" but return the result as a list. limit offset fd  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefdUa`_^]\[ZYXWVKTSRQPONMLFGHIJ/0123456789:;<=>?@ABCDE !"#$%&'()*+, -.ebcd f d    !"#$%&'()*+,!"#$%&'()*+,-../0123456789:;<=>?@ABCDE0123456789:;<=>?@ABCDEFGHIJGHIJK TSRQPONMLLMNOPQRSTU a`_^]\[ZYXWVVWXYZ[\]^_`abcdef g@Parses a quasi-quoted syntax into a list of entity definitions. ggg.hijklmnopqrstuvwxyz{|}~1Create the list of columns for the given entity. include table name? *hijklmnopqrstuvwxyz{|}~*yz{|}~stuvwxlmnopqrkhij*hijijklmnopqrmnopqrstuvwxtuvwxy z{|}~z{|}~Same as 2, but returns a list of the SQL commands executed % instead of printing them to stderr.  is silent? syys    - !"#$%&'()*+,/0123456789:;<=>?@ABCDEFGHIJbcde-FGHIJ/0123456789:;<=>?@ABCDE !"#$%&'()*+,ebcd    !"#$$%&'()*+,-./01234567789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnoppqrsstuvwxyyz{|}~~}|   persistent-0.5.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 PersistUpdateDivideMultiplySubtractAddUpdatePersistExceptionPersistMarshalException DeleteCascade deleteCascade PersistOrderDescAsc PersistFilterNotInInLeGeLtGtNeEq EntityDef entityName entityAttribs entityColumns entityUniques entityDerivesPersistBackendinsertreplaceupdate updateWheredeletedeleteBy deleteWheregetgetBy selectEnum selectKeyscountSomePersistField PersistEntityKeyFilterOrderUnique entityDeftoPersistFieldsfromPersistValues halfDefined toPersistKeyfromPersistKeypersistFilterToFieldNamepersistFilterToFilterpersistFilterToValuepersistOrderToFieldNamepersistOrderToOrderpersistUpdateToFieldNamepersistUpdateToUpdatepersistUpdateToValuepersistUniqueToFieldNamespersistUniqueToValuespersistUniqueKeys PersistFieldtoPersistValuefromPersistValuesqlType isNullableSqlTypeSqlBlob SqlDayTimeSqlTimeSqlDaySqlBoolSqlReal SqlIntegerSqlInt32 SqlString PersistValuePersistForeignKey PersistMap PersistList PersistNullPersistUTCTimePersistTimeOfDay PersistDay PersistBool PersistDouble PersistInt64PersistByteString PersistTextinsertBy getByValue checkUnique selectListdeleteCascadeWhereparseRawName unRawName UniqueDefColumncNamecNullcTypecDefault cReference StatementfinalizeresetexecutewithStmt Connectionprepare insertSqlstmtMapclose migrateSqlbegincommitrollback escapeNamenoLimit RowPopper withSqlPool withSqlConn mkColumnsrefName tableColumns rawFieldName rawTableName filterClausedummyFromFilts getFieldNamegetFiltsValues orderClause SqlPersist unSqlPersistgetStmtgetStmt' MigrationConnectionPool runSqlPool runSqlConnparseMigrationparseMigration'printMigration getMigration runMigrationrunMigrationSilentrunMigrationUnsafemigrate SelectOneMany somFilterOne somOrderOne somFilterMany somOrderMany somFilterKeys somGetKeysomIncludeNoMatchRunJoinResultrunJoin selectOneManybase Data.EitherLeftRightghc-primGHC.BoolTrueFalseremoveLeadingSpaces killCarriagewords'words''nestparse'takeCols takeUniqs takeDerivesclose' getSqlValue tableColumndummyFromOrderCautiousMigrationSql withStmt'execute'dummyFromUnique dummyFromKeyallSql unsafeSqlsafeSql runMigration'executeMigratefromPersistValuesIdselectOneMany'addTable colsPlusId