śĪRŗGū³      !"#$%&'()*+,-./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 //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. /wThe unique identifier associated with this entity. In general, backends also define a type synonym for this, such that "type MyEntityId = Key MyEntity". 0&Fields which can be updated using the " and #  functions. 1 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. 2"How you can sort the results of a select. 3)Unique keys in existence on this entity. 456789:;<=>?@ABCDE.A value which can be marshalled to and from a T. FGHIJCA 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. KLMNOPQ1FIXME 8-byte integer; should be renamed SqlInt64 RSTHA raw value which can be stored in any backend and can be marshalled to  and from a E. U(intended especially for MongoDB backend VWXYZ[\]^_`aJInsert a value, checking for conflicts with any unique constraints. If a 5 duplicate exists in the database, it is returned as ³. Otherwise, the  new / is returned as “. bA modification of (, which takes the . itself instead  of a 3! value. Returns a value matching one of the unique keys. This 9 function makes the most sense on entities with a single 3  constructor. cKCheck 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. dCall select" but return the result as a list. limit offset ed  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdedT`_^]\[ZYXWVUJSRQPONMLKEFGHI./0123456789:;<=>?@ABCD !"#$%&'()*+  ,-dabc e d    !"#$%&'()*+ !"#$%&'()*+,--./0123456789:;<=>?@ABCD/0123456789:;<=>?@ABCDEFGHIFGHIJ SRQPONMLKKLMNOPQRST `_^]\[ZYXWVUUVWXYZ[\]^_`abcde f@Parses a quasi-quoted syntax into a list of entity definitions. ·ø¹ŗ»¼½¾æfff.ghijklmnopqrstuvwxyz{|}~€‚ƒ„…†Ą‡1Create the list of columns for the given entity. ˆĮ‰Š‹Œinclude table name? ŽĀĆ*ghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ*xyz{|}~€‚ƒrstuvw†…„‡klmnopqjˆ‰Š‹ghiŒŽ*ghihijklmnopqlmnopqrstuvwstuvwx yz{|}~€‚ƒyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—‘’“”•–—”•‘’“—–‘’“’“”•–—˜ÄřĘǚ›ČÉŹĖ̜žŸ ”Same as  2, but returns a list of the SQL commands executed % instead of printing them to stderr. Ķ is silent? ¢Ī£rx‘’“˜™š›œžŸ ”¢£‘’“x™r›š˜œžŸ ”¢£ ˜™š›œžŸ ”¢£ ¤„¦§Ø©Ŗ«¬­®Æ° ¤„¦§Ø©Ŗ«¬­®Æ° ­®Æ¤„¦§Ø©Ŗ«¬° ¤„¦§Ø©Ŗ«¬„¦§Ø©Ŗ«¬­®Æ®Æ°±²ĻŠŃұ²±²±²² - !"#$%&'()*+./0123456789:;<=>?@ABCDEFGHIabcd-EFGHI./0123456789:;<=>?@ABCD !"#$%&'()*+dabcÓ     !""#$%&'()*+,-./01234556789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnnopqqrstuvwwxyz{||}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“””•{z–—˜™š›œžŸ ”¢£¤¤„¦§Ø©Ŗ«¬­®Æ¬®°±²°±³“µ¶“µ·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌpersistent-0.5.0Database.Persist.UtilDatabase.Persist.BaseDatabase.Persist.Quasi$Database.Persist.GenericSql.InternalDatabase.Persist.GenericSql.RawDatabase.Persist.GenericSqlDatabase.Persist.JoinDatabase.Persist.Join.SqlDatabase.Persistnullable 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