!"#      !"BConditionally adding Show instance for mysql-haskell's ConnectInfoSafeNone &',>HVXg=persistent-mysql-haskell An alias for q. The type previously was only used to copy a single value, but was expanded to be handle more complex queries.persistent-mysql-haskellAThis type is used to determine how to update rows using MySQL's "INSERT ... ON DUPLICATE KEY UPDATE functionality, exposed via  in this library.#persistent-mysql-haskell(Copy the field directly from the record.$persistent-mysql-haskell=Only copy the field if it is not equal to the provided value.persistent-mysql-haskellMySQL connection information. persistent-mysql-haskell;Information required to connect to a MySQL database using  persistentE's generic facilities. These values are the same that are given to  .%persistent-mysql-haskell*Extra column information from MySQL schema&persistent-mysql-haskellSee the definition of the '+ function to see how these fields are used.(persistent-mysql-haskellGetter a) is a function that converts an incoming  MySQLValue into a data type a.)persistent-mysql-haskellnewtype around * that supports the + type class. persistent-mysql-haskellCreate a MySQL connection pool and run the given action. The pool is properly released after the action finishes using it. Note that you should not use the given ,; outside the action since it may be already been released. persistent-mysql-haskellCreate a MySQL connection pool. Note that it's your responsibility to properly close the connection pool when unneeded. Use   for automatic resource control. persistent-mysql-haskellSame as  O, but instead of opening a pool of connections, only one connection is opened.-persistent-mysql-haskellInternal function that opens a  mysql-haskell connection to the server..persistent-mysql-haskellInternal function that opens a  persistent! connection to the MySQL server./persistent-mysql-haskellSet autocommit setting0persistent-mysql-haskellStart a transaction.1persistent-mysql-haskellCommit the current transaction.2persistent-mysql-haskell!Rollback the current transaction.3persistent-mysql-haskelljPrepare a query. We don't support prepared statements, but we'll do some client-side preprocessing here.4persistent-mysql-haskell1SQL code to be executed when inserting an entity.5persistent-mysql-haskell5Execute an statement that doesn't return any results.6persistent-mysql-haskell$query' allows arguments to be empty.7persistent-mysql-haskell7Execute an statement that does return results. unlike persistent-mysql, we actually _stream_ results.8persistent-mysql-haskell'Encode a Haskell bool into a MySQLValue9persistent-mysql-haskell)Decode a whole number into a PersistInt64:persistent-mysql-haskell,Decode a decimal number into a PersistDouble;persistent-mysql-haskellGet the corresponding ( *& depending on the type of the column.<persistent-mysql-haskell(Create the migration plan for the given = val.>persistent-mysql-haskellFind out the type of a column.?persistent-mysql-haskell0Find out the maxlen of a column (default to 200)@persistent-mysql-haskellFind out the maxlen of a fieldApersistent-mysql-haskell Helper for &; that finds out the which primary key columns to reference.Bpersistent-mysql-haskellReturns all of the Cs/ in the given table currently in the database.Dpersistent-mysql-haskell.Get the information about a column in a table.Epersistent-mysql-haskell1Parse the type of column as returned by MySQL's INFORMATION_SCHEMA tables.Fpersistent-mysql-haskell!getAlters allDefs tblName new old* finds out what needs to be changed from old to become new.Gpersistent-mysql-haskellfindAlters newColumn oldColumns4 finds out what needs to be changed in the columns  oldColumns for  newColumn to be supported.Hpersistent-mysql-haskellPrints the part of a  CREATE TABLE! statement about a given column.Ipersistent-mysql-haskell Renders an J in MySQL's format.Kpersistent-mysql-haskell3Render an action that must be done on the database.Lpersistent-mysql-haskell.Render an action that must be done on a table.'persistent-mysql-haskell/Render an action that must be done on a column.Mpersistent-mysql-haskell1Escape a database name to be included on a query.persistent-mysql-haskell Extract connection configs from   @since 0.4.1persistent-mysql-haskell"Extract connection pool size from   @since 0.4.1persistent-mysql-haskellPublic constructor for  MySQLConf.persistent-mysql-haskellPublic constructor for MySQLConnectInfo.persistent-mysql-haskellUpdate port number for MySQLConnectInfo.persistent-mysql-haskellUpdate character set for MySQLConnectInfo.persistent-mysql-haskellSet TLS ClientParams for MySQLConnectInfo.persistent-mysql-haskellMock a migration even when the database is not present. This function will mock the migration for a database even when the actual database isn't already present in the system.persistent-mysql-haskellMySQL specific upsert_. This will prevent multiple queries, when one will do. The record will be inserted into the database. In the event that the record already exists in the database, the record will have the relevant updates performed.persistent-mysql-haskellCombination of  and N. @since 5.1.0persistent-mysql-haskellWCopy the field into the database only if the value in the corresponding record is non-NULL. @since 2.6.2persistent-mysql-haskellCopy the field into the database only if the value in the corresponding record is non-empty, where "empty" means the Monoid definition for O . Useful for P, Q,  ByteString, etc.The resulting  type is useful for the  function. @since 2.6.2persistent-mysql-haskellCopy the field into the database only if the field is not equal to the provided value. This is useful to avoid copying weird nullary data into the database.The resulting  type is useful for the  function. @since 2.6.2persistent-mysql-haskell(Copy the field directly from the record.persistent-mysql-haskellDo a bulk insert on the given records in the first parameter. In the event that a key conflicts with a record currently in the database, the second and third parameters determine what will happen.The second parameter is a list of fields to copy from the original value. This allows you to specify which fields to copy from the record you're trying to insert into the database to the preexisting row.The third parameter is a list of updates to perform that are independent of the value that is provided. You can use this to increment a counter value. These updates only occur if the original record is present in the database.More details on  usageThe [] parameter allows you to specify which fields (and under which conditions) will be copied from the inserted rows. For a brief example, consider the following data model and existing data set: nItem name Text description Text price Double Maybe quantity Int Maybe Primary name  items: +------+-------------+-------+----------+ | name | description | price | quantity | +------+-------------+-------+----------+ | foo | very good | | 3 | | bar | | 3.99 | | +------+-------------+-------+----------+-This record type has a single natural key on itemNamea. Let's suppose that we download a CSV of new items to store into the database. Here's our CSV: Hname,description,price,quantity foo,,2.50,6 bar,even better,,5 yes,wow,,-We parse that into a list of Haskell records: records = [ Item { itemName = "foo", itemDescription = "" , itemPrice = Just 2.50, itemQuantity = Just 6 } , Item "bar" "even better" Nothing (Just 5) , Item "yes" "wow" Nothing Nothing ] .The new CSV data is partial. It only includes updates from the upstream vendor. Our CSV library parses the missing description field as an empty string. We don't want to override the existing description. So we can use the : function to say: "Don't update when the value is empty."Likewise, the new row for bark includes a quantity, but no price. We do not want to overwrite the existing price in the database with a NULL value. So we can use & to only copy the existing values in.!The final code looks like this:   records [  ItemDescription ,  ItemPrice ,  ItemQuantity ] [] HOnce we run that code on the datahase, the new data set looks like this: ,items: +------+-------------+-------+----------+ | name | description | price | quantity | +------+-------------+-------+----------+ | foo | very good | 2.50 | 6 | | bar | even better | 3.99 | 5 | | yes | wow | | | +------+-------------+-------+----------+persistent-mysql-haskellCombination of  and R @since 5.1.0Spersistent-mysql-haskellThis creates the query for bulkInsertOnDuplicateKeyUpdate. If you provide an empty list of updates to perform, then it will generate a dummy/no-op update using the first field of the record. This avoids duplicate key exceptions. persistent-mysql-haskellConnection information.persistent-mysql-haskell2Number of connections to be kept open in the pool.persistent-mysql-haskell4Action to be executed that uses the connection pool. persistent-mysql-haskellConnection information.persistent-mysql-haskell2Number of connections to be kept open in the pool. persistent-mysql-haskellConnection information.persistent-mysql-haskell/Action to be executed that uses the connection.Ipersistent-mysql-haskell maxlenpersistent-mysql-haskell"include character set information?persistent-mysql-haskellThe connection information.persistent-mysql-haskell;How many connections should be held on the connection pool.persistent-mysql-haskellhostnamepersistent-mysql-haskellusernamepersistent-mysql-haskellpasswordpersistent-mysql-haskelldatabasepersistent-mysql-haskellNumeric ID of collation. See  ;https://dev.mysql.com/doc/refman/5.7/en/show-collation.html.persistent-mysql-haskell*Reference connectInfo to perform update onpersistent-mysql-haskell ClientParams$ to establish a TLS connection with.persistent-mysql-haskell*Reference connectInfo to perform update onpersistent-mysql-haskell3A list of the records you want to insert, or updatepersistent-mysql-haskell+A list of the fields you want to copy over.persistent-mysql-haskellRA list of the updates to apply that aren't dependent on the record being inserted.persistent-mysql-haskell3A list of the records you want to insert, or updatepersistent-mysql-haskell+A list of the fields you want to copy over.persistent-mysql-haskellRA list of the updates to apply that aren't dependent on the record being inserted.Spersistent-mysql-haskellGA list of the records you want to insert, or update, possibly with keyspersistent-mysql-haskell+A list of the fields you want to copy over.persistent-mysql-haskellRA list of the updates to apply that aren't dependent on the record being inserted.TUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~C,      RN!"#$%&'()*=+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~*J           !"#$%&'()*+,-./0123.456789:;<=>?@ABCDE.FGHIJKL.4MNOPQRS./TUVW.XYZ[\]^_Z[`.Xab.cd.ce.cf.cg.hi.hj.hk.hl.hm.hn.ho.hp.hq.rs.rt.ru.vw.vx.vy.vz.v{.v|.v}.~.~.~.~.~.~.~.~.~.~.~.~.................................4.4M.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4..................................................................... . . . . ........X.X.X.X.X.X.X.X.X.X.X.X .X!.X".X#.X$.X%.X&.v'.v(.v).v*.v+.v,.X-.X..X/.X0.X1.X2.X3.X4.X5.X6.X7.X8.X9.X:.X;.X<.F=.F>.F?.F@.FA.FB.FC.FD.FE.FF.FG.FH.FI.FJ.FK.FL.FM.FN.FO.FP.FQ.FR.FS.FT.FT.FU.FV.FW.FX.FY.FZ.F[.F\.F].F^.F_.F_.F`.Fa.Fb.Fc.Fd.Fe.Ff.Ff.Fg.Fh.ij.ik.il.im.in.in./o./p./q./r./s./t./u./v./w./x./y./z./{./|./}./}./~./././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././^././././././././././././S.......5persistent-mysql-haskell-0.5.2-BCZdSWDHQJc4V9YYKFWVPvDatabase.Persist.MySQL-Database.Persist.MySQLConnectInfoShowInstance*tcp-streams-1.0.1.1-2v4t8HR19o0KW4NmW04EXlData.TLSSetting CustomCAStoreMozillaCAStore SystemCAStoreTrustedCAStoremakeClientParamsmakeClientParams' SomeFieldHandleUpdateCollisionMySQLConnectInfo MySQLConf withMySQLPoolcreateMySQLPool withMySQLConn myConnInfo myPoolSize mkMySQLConfmkMySQLConnectInfosetMySQLConnectInfoPortsetMySQLConnectInfoCharsetsetMySQLConnectInfoTLS mockMigrationinsertOnDuplicateKeyUpdate insertEntityOnDuplicateKeyUpdatecopyUnlessNullcopyUnlessEmpty copyUnlessEq copyFieldinsertManyOnDuplicateKeyUpdate$insertEntityManyOnDuplicateKeyUpdate $fQueryParamP$fPersistConfigMySQLConf$fFromJSONMySQLConf$fShowMySQLConnectInfo$fShowMySQLConf CopyField CopyUnlessEq ColumnInfo AddReference showAlterGetterP'persistent-2.9.1-9oPQODdMGG72sYskVJ1nV2Database.Persist.Types.Base PersistValue+mysql-haskell-0.8.4.2-DUwb09i1jMEzV4azh7VapDatabase.MySQL.QueryParamDatabase.Persist.Sql.TypesConnectionPoolconnect'open' autocommit'begin'commit' rollback'prepare' insertSql'execute'query' withStmt' encodeBool decodeInteger decodeDouble getGettermigrate'$Database.Persist.Class.PersistEntity PersistEntityfindTypeOfColumnfindMaxLenOfColumnfindMaxLenOfField addReference getColumnsColumn getColumnparseColumnType getAlters findAlters showColumn showSqlTypeSqlType showAlterDbshowAlterTable escapeDBName#Database.Persist.Class.PersistStore insertKeybaseGHC.Basemempty text-1.2.3.1Data.Text.InternalTextStringinsertEntityManymkBulkInsertQueryDatabase.Persist.SqltransactionUndoWithIsolationtransactionUndotransactionSaveWithIsolationtransactionSaveDatabase.Persist.Sql.MigrationmigraterunMigrationUnsaferunMigrationSilent runMigration getMigration showMigrationprintMigrationparseMigration'parseMigration(Database.Persist.Sql.Orphan.PersistQuerydecorateSQLWithLimitOffsetupdateWhereCountdeleteWhereCount(Database.Persist.Sql.Orphan.PersistStore fieldDBName getFieldName tableDBName getTableName fromSqlKeytoSqlKey withRawQueryDatabase.Persist.Sql.Runclose' withSqlConn askLogFunc createSqlPool withSqlPoolliftSqlPersistMPoolrunSqlPersistMPoolrunSqlPersistMrunSqlConnWithIsolation runSqlConnrunSqlPoolWithIsolation runSqlPoolDatabase.Persist.Sql.RawrawSql getStmtConnrawExecuteCount rawExecute rawQueryResrawQueryDatabase.Persist.Sql.ClassRawSql rawSqlColsrawSqlColCountReasonrawSqlProcessRowPersistFieldSqlsqlTypeDatabase.PersistlimitOffsetOrder toJsonText mapToJSON listToJSON||./<-.<-.>=.>.<=.<.!=.==./=.*=.-=.+=.=.Database.Persist.Sql.Internal mkColumnsdefaultAttribute ConnectioncNamecNullcSqlTypecDefaultcDefaultConstraintNamecMaxLen cReferencePersistentSqlExceptionStatementAlreadyFinalizedCouldn'tGetSQLConnection SqlPersistT SqlPersist SqlPersistMSqlCautiousMigration MigrationSingleunSingle#Database.Persist.Sql.Types.Internal readToUnknown readToWritewriteToUnknownLogFuncInsertSqlResult ISRSingle ISRInsertGet ISRManyKeys Statement stmtFinalize stmtReset stmtExecute stmtQueryIsolationLevelReadUncommitted ReadCommittedRepeatableRead Serializable SqlBackend connPrepare connInsertSqlconnInsertManySql connUpsertSqlconnPutManySql connStmtMap connCloseconnMigrateSql connBegin connCommit connRollbackconnEscapeName connNoLimit connRDBMSconnLimitOffset connLogFunc connMaxParamsconnRepsertManySqlSqlReadBackendunSqlReadBackendSqlWriteBackendunSqlWriteBackendSqlBackendCanReadSqlBackendCanWriteSqlReadT SqlWriteT IsSqlBackendDatabase.Persist.Class PersistUnique PersistQuery PersistStore$Database.Persist.Class.DeleteCascadedeleteCascadeWhere DeleteCascade deleteCascade#Database.Persist.Class.PersistQueryselectKeysList selectList selectKeys selectSourcePersistQueryReadcountselectSourceRes selectFirst selectKeysResPersistQueryWrite updateWhere deleteWhere$Database.Persist.Class.PersistUnique checkUnique replaceUnique getByValue onlyUniqueinsertUniqueEntityinsertByPersistUniqueReadgetByPersistUniqueWritedeleteBy insertUniqueupsertupsertByputMany insertRecord getEntity insertEntity belongsToJust belongsTo getJustEntitygetJust liftPersistHasPersistBackend BaseBackendpersistBackendIsPersistBackendBackendCompatibleprojectBackendPersistRecordBackend ToBackendKey toBackendKeyfromBackendKeySqlWriteBackendKeySqlReadBackendKey SqlBackendKeyunSqlWriteBackendKeyunSqlReadBackendKeyunSqlBackendKey PersistCore BackendKeyPersistStoreReadgetManygetPersistStoreWritedeleteinsertupdatereplaceinsert_ insertMany insertMany_repsert repsertMany updateGetfromPersistValueJSONtoPersistValueJSONentityIdFromJSONentityIdToJSONkeyValueEntityFromJSONkeyValueEntityToJSON entityValuesUniqueKeyPersistEntityBackend EntityField keyToValues keyFromValuespersistIdField entityDefpersistFieldDeftoPersistFieldsfromPersistValuespersistUniqueKeyspersistUniqueToFieldNamespersistUniqueToValues fieldLensBackendSpecificUpdateUpdate BackendUpdate updateField updateValue updateUpdate SelectOptAscDescOffsetByLimitToBackendSpecificFilterFilter FilterAndFilterOr BackendFilter filterField filterValue filterFilterEntity entityKey entityVal#Database.Persist.Class.PersistField getPersistMap PersistFieldtoPersistValuefromPersistValueSomePersistFieldfromPersistValueTexttoEmbedEntityDefkeyAndEntityFieldsentityKeyFields entityPrimary CheckmarkActiveInactive IsNullableNullable NotNullable WhyNullable ByMaybeAttrByNullableAttr EntityDef entityHaskellentityDBentityId entityAttrs entityFields entityUniquesentityForeigns entityDerives entityExtra entitySum ExtraLine HaskellName unHaskellNameDBNameunDBNameAttr FieldType FTTypeConFTAppFTListFieldDef fieldHaskellfieldDB fieldType fieldSqlType fieldAttrs fieldStrictfieldReference ReferenceDef NoReference ForeignRefEmbedRef CompositeRef SelfReferenceEmbedEntityDefembeddedHaskellembeddedFields EmbedFieldDef emFieldDB emFieldEmbed emFieldCycle UniqueDef uniqueHaskell uniqueDBName uniqueFields uniqueAttrs CompositeDefcompositeFieldscompositeAttrsForeignFieldDef ForeignDefforeignRefTableHaskellforeignRefTableDBNameforeignConstraintNameHaskellforeignConstraintNameDBName foreignFields foreignAttrsforeignNullablePersistException PersistErrorPersistMarshalErrorPersistInvalidFieldPersistForeignConstraintUnmetPersistMongoDBErrorPersistMongoDBUnsupported PersistTextPersistByteString PersistInt64 PersistDoublePersistRational PersistBool PersistDayPersistTimeOfDayPersistUTCTime PersistNull PersistList PersistMapPersistObjectIdPersistDbSpecific SqlStringSqlInt32SqlInt64SqlReal SqlNumericSqlBoolSqlDaySqlTime SqlDayTimeSqlBlobSqlOther PersistFilterEqNeGtLtGeLeInNotInUpdateException KeyNotFound UpsertErrorOnlyUniqueException PersistUpdateAssignAddSubtractMultiplyDivide$Database.Persist.Class.PersistConfig PersistConfigPersistConfigBackendPersistConfigPool loadConfigapplyEnvcreatePoolConfigrunPool