úÎY§Mb¡      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª[ 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". /&Fields which can be updated using the ! and "  functions. 0 Filters which are available for (, " 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. 1"How you can sort the results of a (. 2)Unique keys in existence on this entity. 3456789:;<=>?@ABCD.A value which can be marshalled to and from a S. EFGHICA 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. JKLMNOP+8-byte integer; should be renamed SqlInt64 QRSHA raw value which can be stored in any backend and can be marshalled to  and from a D. TUVWXYZ[\]GTry to insert the given entity; if another entity exists with the same M unique key, return that entity; otherwise, return the newly created entity. 0This function is deprecated in favor of insertBy'. In the next major 8 version, this function will be replaced with that one. ^This is an improved version of ]!, indicating whether a new value H was inserted. If a duplicate exists in the database, it is returned as  «. Otherwise, the new . is returned as ¬. _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 (" but return the result as a list. limit offset a[  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a[S\[ZYXWVUTIRQPONMLKJDEFGH-./0123456789:;<=>?@ABC !"#$%&'()* +,`]^_ a[     !"#$%&'()* !"#$%&'()*+,,-./0123456789:;<=>?@ABC./0123456789:;<=>?@ABCDEFGHEFGHI RQPONMLKJJKLMNOPQRS \[ZYXWVUTTUVWXYZ[\]^_`a*¯°±²³´b"Create data types and appropriate - instances for the given  -s. Works well with the persist quasi-quoter. µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓcdeÔbcdebcdebcde fHConverts a quasi-quoted syntax into a list of entity definitions, to be D used as input to the template haskell generation code (mkPersist). ÕÖרÙÚÛÜÝÞfff(ghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ßˆ1Create the list of columns for the given entity. ‰àŠ‹Œ&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? žïŸð ECreates a single function to perform all migrations for the entities N defined here. One thing to be aware of is dependencies: if you have entities I with foreign references, make sure to place those definitions after the  entities they reference. rxŽ“”•–—˜™š›œžŸ Žx”r—•–“˜™š›œžŸ “”•–—˜™š›œžŸ / !"#$%&'()*-./0123456789:;<=>?@ABCDEFGH]^_`bf/DEFGH-./0123456789:;<=>?@ABC !"#$%&'()*bf`]^_ñ       !"#$%&'()*+,-./01233456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnnopqqrstuvwwxyz{||}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ{z‘’“”•–—˜™š›œžŸ ¡¡ ¢£¤¥¥¦§¨©ª¨©«¬­®¬­¯°°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñpersistent-0.2.4.1Database.Persist.PoolDatabase.Persist.BaseDatabase.Persist.THDatabase.Persist.Quasi$Database.Persist.GenericSql.InternalDatabase.Persist.GenericSql.RawDatabase.Persist.GenericSqlDatabase.PersistPool createPool createPoolF withPool' withPoolF'withPool withPoolFPersistExceptionPersistMarshalException DeleteCascade deleteCascade PersistOrderDescAsc PersistFilterNotInInLeGeLtGtNeEq EntityDef entityName entityAttribs entityColumns entityUniques entityDerivesPersistBackendinsertreplaceupdate updateWheredeletedeleteBy deleteWheregetgetByselect selectKeyscountSomePersistField PersistEntityKeyUpdateFilterOrderUnique entityDeftoPersistFieldsfromPersistValues halfDefined toPersistKeyfromPersistKeyshowPersistKeypersistFilterToFieldNamepersistFilterToFilterpersistFilterToValuepersistOrderToFieldNamepersistOrderToOrderpersistUpdateToFieldNamepersistUpdateToValuepersistUniqueToFieldNamespersistUniqueToValuespersistUniqueKeys PersistFieldtoPersistValuefromPersistValuesqlType isNullableSqlTypeSqlBlob SqlDayTimeSqlTimeSqlDaySqlBoolSqlReal SqlIntegerSqlInt32 SqlString PersistValue PersistNullPersistUTCTimePersistTimeOfDay PersistDay PersistBool PersistDouble PersistInt64PersistByteString PersistStringinsertBy insertBy' checkUnique selectListdeleteCascadeWhere mkPersistshare2mkSavemkDeleteCascadepersistRawName unRawName UniqueDefColumncNamecNullcTypecDefault cReference StatementfinalizeresetexecutewithStmt Connectionprepare insertSqlstmtMapclose migrateSqlbegincommitrollback escapeNamenoLimit RowPopper withSqlPool withSqlPoolF withSqlConn mkColumnsrefName tableColumns rawFieldName rawTableName SqlPersistgetStmtgetStmt' MigrationConnectionPool runSqlPool runSqlPoolF runSqlConnparseMigrationparseMigration'printMigration getMigration runMigrationrunMigrationSilentrunMigrationUnsafemigrate mkMigratePoolExhaustedExceptionpoolMaxpoolDatapoolMakePoolData poolAvail poolCreatedbase Data.EitherLeftRightghc-primGHC.BoolTrueFalseDep depTargetdepSourceTabledepSourceField depSourceNullrecName lowerFirst upperFirst dataTypeDec keyTypeDec filterTypeDec entityFilters isFilterListmkFilter updateTypeDec entityUpdatesmkUpdate orderTypeDec entityOrdersmkOrder uniqueTypeDecmkUnique pairToTypedegenmkToPersistFieldsmkToFieldNamesmkUniqueToValues mkToFieldName mkToOrder mkToFilter mkToValue mkToFiltValue mkHalfDefinedapEmkFromPersistValuesmkEntity mkUniqueKeysparse_removeLeadingSpaces killCarriagewords'words''nestparse'takeCols takeUniqs takeDerivesclose' getSqlValueCautiousMigrationSql withStmt'execute'dummyFromUnique getFieldName tableColumn dummyFromKey filterClausedummyFromFiltsallSql unsafeSqlsafeSql runMigration'executeMigrategetFiltsValues