WkK3      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~a 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. / 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. 0"How you can sort the results of a '. 1)Unique keys in existence on this entity. 23456789:;<=>?@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[\]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 - 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[\]^_`aS\[ZYXWVUTIRQPONMLKJDEFGH,-./0123456789:;<=>?@ABC !"#$%&'()  *+_]^ `a    !"#$%&'() !"#$%&'()*++,-./0123456789:;<=>?@ABC-./0123456789:;<=>?@ABCDEFGHEFGHI RQPONMLKJJKLMNOPQRS \[ZYXWVUTTUVWXYZ[\]^_`1a"Create data types and appropriate , instances for the given  -s. Works well with the persist quasi-quoter. bcdefAutomatically creates a valid D instance for any datatype  that has valid  and ' instances. Can be very convenient for   types. gabcdefgabcdefgabcdefg hHConverts a quasi-quoted syntax into a list of entity definitions, to be D used as input to the template haskell generation code (mkPersist). ihihihi'jklmnopqrstuvwxyz{|}~1Create the list of columns for the given entity. %jklmnopqrstuvwxyz{|}~%{|}~uvwxyznopqrstmjkl%jklklmnopqrstopqrstuvwxyzvwxyz{ |}~|}~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. u{{u / !"#$%&'(),-./0123456789:;<=>?@ABCDEFGH]^_ah/DEFGH,-./0123456789:;<=>?@ABC !"#$%&'()ah_]^      !"#$%&'()*+,-./01123 456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnoopqrrstuvwxxyz{|}}~|{persistent-0.4.2Database.Persist.BaseDatabase.Persist.THDatabase.Persist.Quasi$Database.Persist.GenericSql.InternalDatabase.Persist.GenericSql.RawDatabase.Persist.GenericSqlDatabase.Persist PersistUpdateDivideMultiplySubtractAddUpdatePersistExceptionPersistMarshalException DeleteCascade deleteCascade PersistOrderDescAsc PersistFilterNotInInLeGeLtGtNeEq EntityDef entityName entityAttribs entityColumns entityUniques entityDerivesPersistBackendinsertreplaceupdate updateWheredeletedeleteBy deleteWheregetgetByselect selectKeyscountSomePersistField PersistEntityKeyFilterOrderUnique entityDeftoPersistFieldsfromPersistValues halfDefined toPersistKeyfromPersistKeyshowPersistKeypersistFilterToFieldNamepersistFilterToFilterpersistFilterToValuepersistOrderToFieldNamepersistOrderToOrderpersistUpdateToFieldNamepersistUpdateToUpdatepersistUpdateToValuepersistUniqueToFieldNamespersistUniqueToValuespersistUniqueKeys PersistFieldtoPersistValuefromPersistValuesqlType isNullableSqlTypeSqlBlob SqlDayTimeSqlTimeSqlDaySqlBoolSqlReal SqlIntegerSqlInt32 SqlString PersistValue PersistNullPersistUTCTimePersistTimeOfDay PersistDay PersistBool PersistDouble PersistInt64PersistByteString PersistStringinsertBy checkUnique selectListdeleteCascadeWhere mkPersistshareshare2mkSavemkDeleteCascadederivePersistFieldnullablepersist persistFileRawName unRawName UniqueDefColumncNamecNullcTypecDefault cReference StatementfinalizeresetexecutewithStmt Connectionprepare insertSqlstmtMapclose migrateSqlbegincommitrollback escapeNamenoLimit RowPopper withSqlPool withSqlConn mkColumnsrefName tableColumns rawFieldName rawTableName SqlPersist unSqlPersistgetStmtgetStmt' MigrationConnectionPool runSqlPool runSqlConnparseMigrationparseMigration'printMigration getMigration runMigrationrunMigrationSilentrunMigrationUnsafemigrate mkMigratebase Data.EitherLeftRightghc-primGHC.BoolTrueFalseDep depTargetdepSourceTabledepSourceField depSourceNullrecName lowerFirst upperFirst dataTypeDec keyTypeDec filterTypeDec entityFiltersreadMay isFilterListmkFilter updateTypeDec entityUpdatesmkUpdate orderTypeDec entityOrdersmkOrder uniqueTypeDecmkUnique pairToTypedegenmkToPersistFieldsmkToFieldNames mkToUpdatemkUniqueToValues mkToFieldName mkToOrder mkToFilter mkToValue mkToFiltValue mkHalfDefinedapEmkFromPersistValuesmkEntity updateConName mkUniqueKeysGHC.ShowShowGHC.ReadReadGHC.EnumEnum deprecateparse_removeLeadingSpaces killCarriagewords'words''nestparse'takeCols takeUniqs takeDerivesclose' getSqlValueCautiousMigrationSql withStmt'execute'dummyFromUnique getFieldName tableColumn dummyFromKey filterClausedummyFromFiltsallSql unsafeSqlsafeSql runMigration'executeMigrategetFiltsValues