packages feed

hedis 0.16.3 → 0.16.4

raw patch · 5 files changed

+70/−41 lines, 5 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Database.Redis.Cluster: instance GHC.Classes.Eq Database.Redis.Cluster.Node
- Database.Redis.Cluster: instance GHC.Classes.Eq Database.Redis.Cluster.NodeConnection
- Database.Redis.Cluster: instance GHC.Classes.Eq Database.Redis.Cluster.NodeRole
- Database.Redis.Cluster: instance GHC.Classes.Eq Database.Redis.Cluster.Shard
- Database.Redis.Cluster: instance GHC.Classes.Ord Database.Redis.Cluster.Node
- Database.Redis.Cluster: instance GHC.Classes.Ord Database.Redis.Cluster.NodeConnection
- Database.Redis.Cluster: instance GHC.Classes.Ord Database.Redis.Cluster.NodeRole
- Database.Redis.Cluster: instance GHC.Classes.Ord Database.Redis.Cluster.Shard
- Database.Redis.Cluster.Command: instance GHC.Classes.Eq Database.Redis.Cluster.Command.Flag
- Database.Redis.Cluster.HashSlot: instance GHC.Classes.Eq Database.Redis.Cluster.HashSlot.HashSlot
- Database.Redis.Cluster.HashSlot: instance GHC.Classes.Ord Database.Redis.Cluster.HashSlot.HashSlot
- Database.Redis.Connection: instance GHC.Classes.Eq Database.Redis.Connection.ClusterConnectError
- Database.Redis.Connection: instance GHC.Classes.Eq Database.Redis.Connection.ClusterDownError
- Database.Redis.Connection: instance GHC.Classes.Eq Database.Redis.Connection.ConnectError
- Database.Redis.ConnectionContext: instance GHC.Classes.Eq Database.Redis.ConnectionContext.ConnectAddr
- Database.Redis.Core.Internal: instance Control.Monad.IO.Class.MonadIO Database.Redis.Core.Internal.Redis
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.ARGrepCombine
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.ARGrepOpts
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.ARGrepPredicate
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.ARIndexValuePairsResponse
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.ARInfoResponse
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.ARLastItemsOpts
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.AROpCount
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.AROpValue
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.ARScanOpts
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.Aggregate
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.ClientSetInfoOpts
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.ClusterInfoResponse
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.ClusterInfoResponseState
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.ClusterMigrationSlotRange
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.ClusterMigrationStatusResponse
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.ClusterMigrationTask
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.ClusterNodesResponse
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.ClusterNodesResponseEntry
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.ClusterNodesResponseSlotSpec
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.ClusterSlotStatsMetric
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.ClusterSlotStatsOrderByOpts
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.ClusterSlotStatsQuery
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.ClusterSlotStatsResponse
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.ClusterSlotStatsResponseEntry
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.CommandListFilter
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.Condition
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.CopyOpts
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.Cursor
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.DebugMode
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.DelexCondition
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.FunctionListOpts
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.FunctionRestorePolicy
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.GeoAddOpts
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.GeoCoordinates
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.GeoLocation
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.GeoOrder
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.GeoSearchBy
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.GeoSearchFrom
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.GeoSearchOpts
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.GeoSearchStoreOpts
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.GeoUnit
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.GetExOpts
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.HGetExOpts
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.HSetExCondition
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.HSetExOpts
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.HashFieldExpirationInfo
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.HashFieldExpirationStatus
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.HotkeysGetResponse
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.HotkeysMetric
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.HotkeysSlotRange
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.HotkeysStartOpts
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.IncrexExpiration
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.LPosOpts
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.ListDirection
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.MigrateAuth
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.MigrateOpts
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.ReplyMode
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.ScanOpts
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.SetOpts
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.SintercardOpts
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.SizeCondition
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.Slowlog
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.SortOpts
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.SortOrder
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.StreamsRecord
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.VAddOpts
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.VAddQuantization
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.VEmbRawResponse
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.VInfoResponse
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.VLinksResponse
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.VLinksWithScoresResponse
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.VQuantization
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.VSimOpts
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.VSimQuery
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.VSimWithAttribsResponse
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.VSimWithAttribsResult
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.XCfgSetOpts
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.XClaimOpts
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.XEntryDeletionOpts
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.XEntryDeletionResult
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.XGroupCreateOpts
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.XInfoConsumersResponse
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.XInfoGroupsResponse
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.XInfoStreamResponse
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.XNackMode
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.XNackOpts
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.XPendingDetailRecord
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.XPendingSummaryResponse
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.XReadGroupOpts
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.XReadOpts
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.XReadResponse
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.XRefPolicy
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.ZAggregateOpts
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.ZPopMinMax
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.ZPopResponse
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.ZRangeStoreOpts
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.ZRangeStoreRange
- Database.Redis.ManualCommands: instance GHC.Classes.Eq Database.Redis.ManualCommands.ZaddOpts
- Database.Redis.ManualCommands: instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.Redis.ManualCommands.IncrexOpts a)
- Database.Redis.ManualCommands: instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.Redis.ManualCommands.RangeLex a)
- Database.Redis.ManualCommands: instance GHC.Classes.Eq resultFormat => GHC.Classes.Eq (Database.Redis.ManualCommands.XAutoclaimResult resultFormat)
- Database.Redis.ManualCommands.BF: instance GHC.Classes.Eq Database.Redis.ManualCommands.BF.BFInfo
- Database.Redis.ManualCommands.BF: instance GHC.Classes.Eq Database.Redis.ManualCommands.BF.BFInsertOpts
- Database.Redis.ManualCommands.BF: instance GHC.Classes.Eq Database.Redis.ManualCommands.BF.BFReserveOpts
- Database.Redis.ManualCommands.CF: instance GHC.Classes.Eq Database.Redis.ManualCommands.CF.CFInfo
- Database.Redis.ManualCommands.CF: instance GHC.Classes.Eq Database.Redis.ManualCommands.CF.CFInsertOpts
- Database.Redis.ManualCommands.CF: instance GHC.Classes.Eq Database.Redis.ManualCommands.CF.CFInsertResult
- Database.Redis.ManualCommands.CF: instance GHC.Classes.Eq Database.Redis.ManualCommands.CF.CFReserveOpts
- Database.Redis.ManualCommands.Cms: instance GHC.Classes.Eq Database.Redis.ManualCommands.Cms.CMSInfo
- Database.Redis.ManualCommands.Cms: instance GHC.Classes.Eq Database.Redis.ManualCommands.Cms.CMSMergeOpts
- Database.Redis.ManualCommands.FT: instance GHC.Classes.Eq Database.Redis.ManualCommands.FT.FTAggregateLoad
- Database.Redis.ManualCommands.FT: instance GHC.Classes.Eq Database.Redis.ManualCommands.FT.FTAggregateOpts
- Database.Redis.ManualCommands.FT: instance GHC.Classes.Eq Database.Redis.ManualCommands.FT.FTAlterOpts
- Database.Redis.ManualCommands.FT: instance GHC.Classes.Eq Database.Redis.ManualCommands.FT.FTApply
- Database.Redis.ManualCommands.FT: instance GHC.Classes.Eq Database.Redis.ManualCommands.FT.FTCommonFieldOpts
- Database.Redis.ManualCommands.FT: instance GHC.Classes.Eq Database.Redis.ManualCommands.FT.FTCreateField
- Database.Redis.ManualCommands.FT: instance GHC.Classes.Eq Database.Redis.ManualCommands.FT.FTCreateOpts
- Database.Redis.ManualCommands.FT: instance GHC.Classes.Eq Database.Redis.ManualCommands.FT.FTCursorOpts
- Database.Redis.ManualCommands.FT: instance GHC.Classes.Eq Database.Redis.ManualCommands.FT.FTCursorReadOpts
- Database.Redis.ManualCommands.FT: instance GHC.Classes.Eq Database.Redis.ManualCommands.FT.FTExplainOpts
- Database.Redis.ManualCommands.FT: instance GHC.Classes.Eq Database.Redis.ManualCommands.FT.FTFieldIdentifier
- Database.Redis.ManualCommands.FT: instance GHC.Classes.Eq Database.Redis.ManualCommands.FT.FTGeoFilter
- Database.Redis.ManualCommands.FT: instance GHC.Classes.Eq Database.Redis.ManualCommands.FT.FTGeoShapeFieldOpts
- Database.Redis.ManualCommands.FT: instance GHC.Classes.Eq Database.Redis.ManualCommands.FT.FTGroupBy
- Database.Redis.ManualCommands.FT: instance GHC.Classes.Eq Database.Redis.ManualCommands.FT.FTHighlightOpts
- Database.Redis.ManualCommands.FT: instance GHC.Classes.Eq Database.Redis.ManualCommands.FT.FTHybridCombine
- Database.Redis.ManualCommands.FT: instance GHC.Classes.Eq Database.Redis.ManualCommands.FT.FTHybridLoad
- Database.Redis.ManualCommands.FT: instance GHC.Classes.Eq Database.Redis.ManualCommands.FT.FTHybridOpts
- Database.Redis.ManualCommands.FT: instance GHC.Classes.Eq Database.Redis.ManualCommands.FT.FTHybridSearchClause
- Database.Redis.ManualCommands.FT: instance GHC.Classes.Eq Database.Redis.ManualCommands.FT.FTHybridSort
- Database.Redis.ManualCommands.FT: instance GHC.Classes.Eq Database.Redis.ManualCommands.FT.FTHybridVSimClause
- Database.Redis.ManualCommands.FT: instance GHC.Classes.Eq Database.Redis.ManualCommands.FT.FTHybridVectorQuery
- Database.Redis.ManualCommands.FT: instance GHC.Classes.Eq Database.Redis.ManualCommands.FT.FTIndexAllMode
- Database.Redis.ManualCommands.FT: instance GHC.Classes.Eq Database.Redis.ManualCommands.FT.FTNumericFilter
- Database.Redis.ManualCommands.FT: instance GHC.Classes.Eq Database.Redis.ManualCommands.FT.FTOn
- Database.Redis.ManualCommands.FT: instance GHC.Classes.Eq Database.Redis.ManualCommands.FT.FTProfileOpts
- Database.Redis.ManualCommands.FT: instance GHC.Classes.Eq Database.Redis.ManualCommands.FT.FTProfileQueryType
- Database.Redis.ManualCommands.FT: instance GHC.Classes.Eq Database.Redis.ManualCommands.FT.FTReduce
- Database.Redis.ManualCommands.FT: instance GHC.Classes.Eq Database.Redis.ManualCommands.FT.FTReturnField
- Database.Redis.ManualCommands.FT: instance GHC.Classes.Eq Database.Redis.ManualCommands.FT.FTSearchContentMode
- Database.Redis.ManualCommands.FT: instance GHC.Classes.Eq Database.Redis.ManualCommands.FT.FTSearchOpts
- Database.Redis.ManualCommands.FT: instance GHC.Classes.Eq Database.Redis.ManualCommands.FT.FTSearchPayloadMode
- Database.Redis.ManualCommands.FT: instance GHC.Classes.Eq Database.Redis.ManualCommands.FT.FTSearchScoreMode
- Database.Redis.ManualCommands.FT: instance GHC.Classes.Eq Database.Redis.ManualCommands.FT.FTSearchSortKeysMode
- Database.Redis.ManualCommands.FT: instance GHC.Classes.Eq Database.Redis.ManualCommands.FT.FTSortBy
- Database.Redis.ManualCommands.FT: instance GHC.Classes.Eq Database.Redis.ManualCommands.FT.FTSortProperty
- Database.Redis.ManualCommands.FT: instance GHC.Classes.Eq Database.Redis.ManualCommands.FT.FTSortable
- Database.Redis.ManualCommands.FT: instance GHC.Classes.Eq Database.Redis.ManualCommands.FT.FTSpellcheckOpts
- Database.Redis.ManualCommands.FT: instance GHC.Classes.Eq Database.Redis.ManualCommands.FT.FTSpellcheckTermsMode
- Database.Redis.ManualCommands.FT: instance GHC.Classes.Eq Database.Redis.ManualCommands.FT.FTSugAddOpts
- Database.Redis.ManualCommands.FT: instance GHC.Classes.Eq Database.Redis.ManualCommands.FT.FTSummarizeOpts
- Database.Redis.ManualCommands.FT: instance GHC.Classes.Eq Database.Redis.ManualCommands.FT.FTTagFieldOpts
- Database.Redis.ManualCommands.FT: instance GHC.Classes.Eq Database.Redis.ManualCommands.FT.FTTextFieldOpts
- Database.Redis.ManualCommands.FT: instance GHC.Classes.Eq Database.Redis.ManualCommands.FT.FTVectorFieldOpts
- Database.Redis.ManualCommands.Function: instance GHC.Classes.Eq Database.Redis.ManualCommands.Function.FunctionRestoreOpts
- Database.Redis.ManualCommands.JSON: instance GHC.Classes.Eq Database.Redis.ManualCommands.JSON.JSONArrIndexOpts
- Database.Redis.ManualCommands.JSON: instance GHC.Classes.Eq Database.Redis.ManualCommands.JSON.JSONGetOpts
- Database.Redis.ManualCommands.JSON: instance GHC.Classes.Eq Database.Redis.ManualCommands.JSON.JSONSetCondition
- Database.Redis.ManualCommands.JSON: instance GHC.Classes.Eq Database.Redis.ManualCommands.JSON.JSONSetFPHA
- Database.Redis.ManualCommands.JSON: instance GHC.Classes.Eq Database.Redis.ManualCommands.JSON.JSONSetOpts
- Database.Redis.ManualCommands.Tdigest: instance GHC.Classes.Eq Database.Redis.ManualCommands.Tdigest.TDigestCreateOpts
- Database.Redis.ManualCommands.Tdigest: instance GHC.Classes.Eq Database.Redis.ManualCommands.Tdigest.TDigestInfo
- Database.Redis.ManualCommands.Tdigest: instance GHC.Classes.Eq Database.Redis.ManualCommands.Tdigest.TDigestMergeOpts
- Database.Redis.ManualCommands.Topk: instance GHC.Classes.Eq Database.Redis.ManualCommands.Topk.TopkInfo
- Database.Redis.ManualCommands.Ts: instance GHC.Classes.Eq Database.Redis.ManualCommands.Ts.TsAddOpts
- Database.Redis.ManualCommands.Ts: instance GHC.Classes.Eq Database.Redis.ManualCommands.Ts.TsAggregationOpts
- Database.Redis.ManualCommands.Ts: instance GHC.Classes.Eq Database.Redis.ManualCommands.Ts.TsAggregator
- Database.Redis.ManualCommands.Ts: instance GHC.Classes.Eq Database.Redis.ManualCommands.Ts.TsAggregators
- Database.Redis.ManualCommands.Ts: instance GHC.Classes.Eq Database.Redis.ManualCommands.Ts.TsAlterOpts
- Database.Redis.ManualCommands.Ts: instance GHC.Classes.Eq Database.Redis.ManualCommands.Ts.TsBucketTimestamp
- Database.Redis.ManualCommands.Ts: instance GHC.Classes.Eq Database.Redis.ManualCommands.Ts.TsCreateOpts
- Database.Redis.ManualCommands.Ts: instance GHC.Classes.Eq Database.Redis.ManualCommands.Ts.TsDuplicatePolicy
- Database.Redis.ManualCommands.Ts: instance GHC.Classes.Eq Database.Redis.ManualCommands.Ts.TsEncoding
- Database.Redis.ManualCommands.Ts: instance GHC.Classes.Eq Database.Redis.ManualCommands.Ts.TsGetOpts
- Database.Redis.ManualCommands.Ts: instance GHC.Classes.Eq Database.Redis.ManualCommands.Ts.TsGroupByReduce
- Database.Redis.ManualCommands.Ts: instance GHC.Classes.Eq Database.Redis.ManualCommands.Ts.TsIgnore
- Database.Redis.ManualCommands.Ts: instance GHC.Classes.Eq Database.Redis.ManualCommands.Ts.TsIncrByOpts
- Database.Redis.ManualCommands.Ts: instance GHC.Classes.Eq Database.Redis.ManualCommands.Ts.TsInfoOpts
- Database.Redis.ManualCommands.Ts: instance GHC.Classes.Eq Database.Redis.ManualCommands.Ts.TsLabelSelection
- Database.Redis.ManualCommands.Ts: instance GHC.Classes.Eq Database.Redis.ManualCommands.Ts.TsMGetOpts
- Database.Redis.ManualCommands.Ts: instance GHC.Classes.Eq Database.Redis.ManualCommands.Ts.TsMRangeOpts
- Database.Redis.ManualCommands.Ts: instance GHC.Classes.Eq Database.Redis.ManualCommands.Ts.TsRangeOpts
- Database.Redis.ManualCommands.Ts: instance GHC.Classes.Eq Database.Redis.ManualCommands.Ts.TsSample
- Database.Redis.ManualCommands.Wait: instance GHC.Classes.Eq Database.Redis.ManualCommands.Wait.WaitAofResult
- Database.Redis.Protocol: instance GHC.Classes.Eq Database.Redis.Protocol.Reply
- Database.Redis.PubSub: instance GHC.Classes.Eq (Database.Redis.PubSub.Cmd a b)
- Database.Redis.PubSub: instance GHC.Classes.Eq Database.Redis.PubSub.PubSub
- Database.Redis.PubSub: instance GHC.Classes.Eq Database.Redis.PubSub.UnregisterHandle
- Database.Redis.Transactions: instance Control.Monad.IO.Class.MonadIO Database.Redis.Transactions.RedisTx
- Database.Redis.Transactions: instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.Redis.Transactions.TxResult a)
- Database.Redis.Types: instance Database.Redis.Types.RedisArg GHC.Num.Integer.Integer
- Database.Redis.Types: instance Database.Redis.Types.RedisArg GHC.Types.Double
- Database.Redis.Types: instance Database.Redis.Types.RedisResult GHC.Num.Integer.Integer
- Database.Redis.Types: instance Database.Redis.Types.RedisResult GHC.Types.Bool
- Database.Redis.Types: instance Database.Redis.Types.RedisResult GHC.Types.Double
- Database.Redis.Types: instance GHC.Classes.Eq Database.Redis.Types.RedisType
- Database.Redis.Types: instance GHC.Classes.Eq Database.Redis.Types.Status
+ Database.Redis.Cluster: instance GHC.Internal.Classes.Eq Database.Redis.Cluster.Node
+ Database.Redis.Cluster: instance GHC.Internal.Classes.Eq Database.Redis.Cluster.NodeConnection
+ Database.Redis.Cluster: instance GHC.Internal.Classes.Eq Database.Redis.Cluster.NodeRole
+ Database.Redis.Cluster: instance GHC.Internal.Classes.Eq Database.Redis.Cluster.Shard
+ Database.Redis.Cluster: instance GHC.Internal.Classes.Ord Database.Redis.Cluster.Node
+ Database.Redis.Cluster: instance GHC.Internal.Classes.Ord Database.Redis.Cluster.NodeConnection
+ Database.Redis.Cluster: instance GHC.Internal.Classes.Ord Database.Redis.Cluster.NodeRole
+ Database.Redis.Cluster: instance GHC.Internal.Classes.Ord Database.Redis.Cluster.Shard
+ Database.Redis.Cluster.Command: instance GHC.Internal.Classes.Eq Database.Redis.Cluster.Command.Flag
+ Database.Redis.Cluster.HashSlot: instance GHC.Internal.Classes.Eq Database.Redis.Cluster.HashSlot.HashSlot
+ Database.Redis.Cluster.HashSlot: instance GHC.Internal.Classes.Ord Database.Redis.Cluster.HashSlot.HashSlot
+ Database.Redis.Connection: instance GHC.Internal.Classes.Eq Database.Redis.Connection.ClusterConnectError
+ Database.Redis.Connection: instance GHC.Internal.Classes.Eq Database.Redis.Connection.ClusterDownError
+ Database.Redis.Connection: instance GHC.Internal.Classes.Eq Database.Redis.Connection.ConnectError
+ Database.Redis.ConnectionContext: instance GHC.Internal.Classes.Eq Database.Redis.ConnectionContext.ConnectAddr
+ Database.Redis.Core.Internal: instance GHC.Internal.Control.Monad.IO.Class.MonadIO Database.Redis.Core.Internal.Redis
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.ARGrepCombine
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.ARGrepOpts
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.ARGrepPredicate
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.ARIndexValuePairsResponse
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.ARInfoResponse
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.ARLastItemsOpts
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.AROpCount
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.AROpValue
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.ARScanOpts
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.Aggregate
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.ClientSetInfoOpts
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.ClusterInfoResponse
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.ClusterInfoResponseState
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.ClusterMigrationSlotRange
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.ClusterMigrationStatusResponse
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.ClusterMigrationTask
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.ClusterNodesResponse
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.ClusterNodesResponseEntry
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.ClusterNodesResponseSlotSpec
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.ClusterSlotStatsMetric
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.ClusterSlotStatsOrderByOpts
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.ClusterSlotStatsQuery
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.ClusterSlotStatsResponse
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.ClusterSlotStatsResponseEntry
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.CommandListFilter
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.Condition
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.CopyOpts
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.Cursor
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.DebugMode
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.DelexCondition
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.FunctionListOpts
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.FunctionRestorePolicy
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.GeoAddOpts
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.GeoCoordinates
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.GeoLocation
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.GeoOrder
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.GeoSearchBy
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.GeoSearchFrom
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.GeoSearchOpts
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.GeoSearchStoreOpts
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.GeoUnit
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.GetExOpts
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.HGetExOpts
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.HSetExCondition
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.HSetExOpts
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.HashFieldExpirationInfo
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.HashFieldExpirationStatus
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.HotkeysGetResponse
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.HotkeysMetric
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.HotkeysSlotRange
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.HotkeysStartOpts
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.IncrexExpiration
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.LPosOpts
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.ListDirection
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.MigrateAuth
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.MigrateOpts
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.ReplyMode
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.ScanOpts
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.SetOpts
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.SintercardOpts
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.SizeCondition
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.Slowlog
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.SortOpts
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.SortOrder
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.StreamsRecord
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.VAddOpts
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.VAddQuantization
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.VEmbRawResponse
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.VInfoResponse
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.VLinksResponse
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.VLinksWithScoresResponse
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.VQuantization
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.VSimOpts
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.VSimQuery
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.VSimWithAttribsResponse
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.VSimWithAttribsResult
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.XCfgSetOpts
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.XClaimOpts
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.XEntryDeletionOpts
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.XEntryDeletionResult
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.XGroupCreateOpts
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.XInfoConsumersResponse
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.XInfoGroupsResponse
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.XInfoStreamResponse
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.XNackMode
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.XNackOpts
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.XPendingDetailRecord
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.XPendingSummaryResponse
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.XReadGroupOpts
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.XReadOpts
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.XReadResponse
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.XRefPolicy
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.ZAggregateOpts
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.ZPopMinMax
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.ZPopResponse
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.ZRangeStoreOpts
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.ZRangeStoreRange
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.ZaddOpts
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq a => GHC.Internal.Classes.Eq (Database.Redis.ManualCommands.IncrexOpts a)
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq a => GHC.Internal.Classes.Eq (Database.Redis.ManualCommands.RangeLex a)
+ Database.Redis.ManualCommands: instance GHC.Internal.Classes.Eq resultFormat => GHC.Internal.Classes.Eq (Database.Redis.ManualCommands.XAutoclaimResult resultFormat)
+ Database.Redis.ManualCommands.BF: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.BF.BFInfo
+ Database.Redis.ManualCommands.BF: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.BF.BFInsertOpts
+ Database.Redis.ManualCommands.BF: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.BF.BFReserveOpts
+ Database.Redis.ManualCommands.CF: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.CF.CFInfo
+ Database.Redis.ManualCommands.CF: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.CF.CFInsertOpts
+ Database.Redis.ManualCommands.CF: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.CF.CFInsertResult
+ Database.Redis.ManualCommands.CF: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.CF.CFReserveOpts
+ Database.Redis.ManualCommands.Cms: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.Cms.CMSInfo
+ Database.Redis.ManualCommands.Cms: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.Cms.CMSMergeOpts
+ Database.Redis.ManualCommands.FT: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.FT.FTAggregateLoad
+ Database.Redis.ManualCommands.FT: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.FT.FTAggregateOpts
+ Database.Redis.ManualCommands.FT: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.FT.FTAlterOpts
+ Database.Redis.ManualCommands.FT: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.FT.FTApply
+ Database.Redis.ManualCommands.FT: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.FT.FTCommonFieldOpts
+ Database.Redis.ManualCommands.FT: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.FT.FTCreateField
+ Database.Redis.ManualCommands.FT: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.FT.FTCreateOpts
+ Database.Redis.ManualCommands.FT: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.FT.FTCursorOpts
+ Database.Redis.ManualCommands.FT: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.FT.FTCursorReadOpts
+ Database.Redis.ManualCommands.FT: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.FT.FTExplainOpts
+ Database.Redis.ManualCommands.FT: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.FT.FTFieldIdentifier
+ Database.Redis.ManualCommands.FT: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.FT.FTGeoFilter
+ Database.Redis.ManualCommands.FT: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.FT.FTGeoShapeFieldOpts
+ Database.Redis.ManualCommands.FT: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.FT.FTGroupBy
+ Database.Redis.ManualCommands.FT: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.FT.FTHighlightOpts
+ Database.Redis.ManualCommands.FT: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.FT.FTHybridCombine
+ Database.Redis.ManualCommands.FT: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.FT.FTHybridLoad
+ Database.Redis.ManualCommands.FT: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.FT.FTHybridOpts
+ Database.Redis.ManualCommands.FT: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.FT.FTHybridSearchClause
+ Database.Redis.ManualCommands.FT: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.FT.FTHybridSort
+ Database.Redis.ManualCommands.FT: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.FT.FTHybridVSimClause
+ Database.Redis.ManualCommands.FT: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.FT.FTHybridVectorQuery
+ Database.Redis.ManualCommands.FT: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.FT.FTIndexAllMode
+ Database.Redis.ManualCommands.FT: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.FT.FTNumericFilter
+ Database.Redis.ManualCommands.FT: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.FT.FTOn
+ Database.Redis.ManualCommands.FT: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.FT.FTProfileOpts
+ Database.Redis.ManualCommands.FT: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.FT.FTProfileQueryType
+ Database.Redis.ManualCommands.FT: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.FT.FTReduce
+ Database.Redis.ManualCommands.FT: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.FT.FTReturnField
+ Database.Redis.ManualCommands.FT: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.FT.FTSearchContentMode
+ Database.Redis.ManualCommands.FT: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.FT.FTSearchOpts
+ Database.Redis.ManualCommands.FT: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.FT.FTSearchPayloadMode
+ Database.Redis.ManualCommands.FT: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.FT.FTSearchScoreMode
+ Database.Redis.ManualCommands.FT: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.FT.FTSearchSortKeysMode
+ Database.Redis.ManualCommands.FT: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.FT.FTSortBy
+ Database.Redis.ManualCommands.FT: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.FT.FTSortProperty
+ Database.Redis.ManualCommands.FT: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.FT.FTSortable
+ Database.Redis.ManualCommands.FT: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.FT.FTSpellcheckOpts
+ Database.Redis.ManualCommands.FT: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.FT.FTSpellcheckTermsMode
+ Database.Redis.ManualCommands.FT: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.FT.FTSugAddOpts
+ Database.Redis.ManualCommands.FT: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.FT.FTSummarizeOpts
+ Database.Redis.ManualCommands.FT: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.FT.FTTagFieldOpts
+ Database.Redis.ManualCommands.FT: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.FT.FTTextFieldOpts
+ Database.Redis.ManualCommands.FT: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.FT.FTVectorFieldOpts
+ Database.Redis.ManualCommands.Function: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.Function.FunctionRestoreOpts
+ Database.Redis.ManualCommands.JSON: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.JSON.JSONArrIndexOpts
+ Database.Redis.ManualCommands.JSON: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.JSON.JSONGetOpts
+ Database.Redis.ManualCommands.JSON: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.JSON.JSONSetCondition
+ Database.Redis.ManualCommands.JSON: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.JSON.JSONSetFPHA
+ Database.Redis.ManualCommands.JSON: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.JSON.JSONSetOpts
+ Database.Redis.ManualCommands.Tdigest: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.Tdigest.TDigestCreateOpts
+ Database.Redis.ManualCommands.Tdigest: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.Tdigest.TDigestInfo
+ Database.Redis.ManualCommands.Tdigest: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.Tdigest.TDigestMergeOpts
+ Database.Redis.ManualCommands.Topk: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.Topk.TopkInfo
+ Database.Redis.ManualCommands.Ts: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.Ts.TsAddOpts
+ Database.Redis.ManualCommands.Ts: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.Ts.TsAggregationOpts
+ Database.Redis.ManualCommands.Ts: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.Ts.TsAggregator
+ Database.Redis.ManualCommands.Ts: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.Ts.TsAggregators
+ Database.Redis.ManualCommands.Ts: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.Ts.TsAlterOpts
+ Database.Redis.ManualCommands.Ts: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.Ts.TsBucketTimestamp
+ Database.Redis.ManualCommands.Ts: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.Ts.TsCreateOpts
+ Database.Redis.ManualCommands.Ts: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.Ts.TsDuplicatePolicy
+ Database.Redis.ManualCommands.Ts: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.Ts.TsEncoding
+ Database.Redis.ManualCommands.Ts: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.Ts.TsGetOpts
+ Database.Redis.ManualCommands.Ts: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.Ts.TsGroupByReduce
+ Database.Redis.ManualCommands.Ts: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.Ts.TsIgnore
+ Database.Redis.ManualCommands.Ts: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.Ts.TsIncrByOpts
+ Database.Redis.ManualCommands.Ts: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.Ts.TsInfoOpts
+ Database.Redis.ManualCommands.Ts: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.Ts.TsLabelSelection
+ Database.Redis.ManualCommands.Ts: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.Ts.TsMGetOpts
+ Database.Redis.ManualCommands.Ts: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.Ts.TsMRangeOpts
+ Database.Redis.ManualCommands.Ts: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.Ts.TsRangeOpts
+ Database.Redis.ManualCommands.Ts: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.Ts.TsSample
+ Database.Redis.ManualCommands.Wait: instance GHC.Internal.Classes.Eq Database.Redis.ManualCommands.Wait.WaitAofResult
+ Database.Redis.Protocol: instance GHC.Internal.Classes.Eq Database.Redis.Protocol.Reply
+ Database.Redis.PubSub: instance GHC.Internal.Classes.Eq (Database.Redis.PubSub.Cmd a b)
+ Database.Redis.PubSub: instance GHC.Internal.Classes.Eq Database.Redis.PubSub.PubSub
+ Database.Redis.PubSub: instance GHC.Internal.Classes.Eq Database.Redis.PubSub.UnregisterHandle
+ Database.Redis.Transactions: instance GHC.Internal.Classes.Eq a => GHC.Internal.Classes.Eq (Database.Redis.Transactions.TxResult a)
+ Database.Redis.Transactions: instance GHC.Internal.Control.Monad.IO.Class.MonadIO Database.Redis.Transactions.RedisTx
+ Database.Redis.Types: instance Database.Redis.Types.RedisArg GHC.Internal.Bignum.Integer.Integer
+ Database.Redis.Types: instance Database.Redis.Types.RedisArg GHC.Internal.Types.Double
+ Database.Redis.Types: instance Database.Redis.Types.RedisResult GHC.Internal.Bignum.Integer.Integer
+ Database.Redis.Types: instance Database.Redis.Types.RedisResult GHC.Internal.Types.Bool
+ Database.Redis.Types: instance Database.Redis.Types.RedisResult GHC.Internal.Types.Double
+ Database.Redis.Types: instance GHC.Internal.Classes.Eq Database.Redis.Types.RedisType
+ Database.Redis.Types: instance GHC.Internal.Classes.Eq Database.Redis.Types.Status
- Database.Redis: ConnInfo :: !ConnectAddr -> !Maybe ByteString -> !Maybe ByteString -> !Integer -> !Int -> !Maybe Int -> !NominalDiffTime -> !Maybe NominalDiffTime -> !Maybe ClientParams -> !Hooks -> !Text -> ConnectInfo
+ Database.Redis: ConnInfo :: ConnectAddr -> Maybe ByteString -> Maybe ByteString -> Integer -> Int -> Maybe Int -> NominalDiffTime -> Maybe NominalDiffTime -> Maybe ClientParams -> Hooks -> Text -> ConnectInfo
- Database.Redis: [connectAddr] :: ConnectInfo -> !ConnectAddr
+ Database.Redis: [connectAddr] :: ConnectInfo -> ConnectAddr
- Database.Redis: [connectAuth] :: ConnectInfo -> !Maybe ByteString
+ Database.Redis: [connectAuth] :: ConnectInfo -> Maybe ByteString
- Database.Redis: [connectDatabase] :: ConnectInfo -> !Integer
+ Database.Redis: [connectDatabase] :: ConnectInfo -> Integer
- Database.Redis: [connectHooks] :: ConnectInfo -> !Hooks
+ Database.Redis: [connectHooks] :: ConnectInfo -> Hooks
- Database.Redis: [connectMaxConnections] :: ConnectInfo -> !Int
+ Database.Redis: [connectMaxConnections] :: ConnectInfo -> Int
- Database.Redis: [connectMaxIdleTime] :: ConnectInfo -> !NominalDiffTime
+ Database.Redis: [connectMaxIdleTime] :: ConnectInfo -> NominalDiffTime
- Database.Redis: [connectNumStripes] :: ConnectInfo -> !Maybe Int
+ Database.Redis: [connectNumStripes] :: ConnectInfo -> Maybe Int
- Database.Redis: [connectPoolLabel] :: ConnectInfo -> !Text
+ Database.Redis: [connectPoolLabel] :: ConnectInfo -> Text
- Database.Redis: [connectTLSParams] :: ConnectInfo -> !Maybe ClientParams
+ Database.Redis: [connectTLSParams] :: ConnectInfo -> Maybe ClientParams
- Database.Redis: [connectTimeout] :: ConnectInfo -> !Maybe NominalDiffTime
+ Database.Redis: [connectTimeout] :: ConnectInfo -> Maybe NominalDiffTime
- Database.Redis: [connectUsername] :: ConnectInfo -> !Maybe ByteString
+ Database.Redis: [connectUsername] :: ConnectInfo -> Maybe ByteString
- Database.Redis.Connection: ConnInfo :: !ConnectAddr -> !Maybe ByteString -> !Maybe ByteString -> !Integer -> !Int -> !Maybe Int -> !NominalDiffTime -> !Maybe NominalDiffTime -> !Maybe ClientParams -> !Hooks -> !Text -> ConnectInfo
+ Database.Redis.Connection: ConnInfo :: ConnectAddr -> Maybe ByteString -> Maybe ByteString -> Integer -> Int -> Maybe Int -> NominalDiffTime -> Maybe NominalDiffTime -> Maybe ClientParams -> Hooks -> Text -> ConnectInfo
- Database.Redis.Connection: [connectAddr] :: ConnectInfo -> !ConnectAddr
+ Database.Redis.Connection: [connectAddr] :: ConnectInfo -> ConnectAddr
- Database.Redis.Connection: [connectAuth] :: ConnectInfo -> !Maybe ByteString
+ Database.Redis.Connection: [connectAuth] :: ConnectInfo -> Maybe ByteString
- Database.Redis.Connection: [connectDatabase] :: ConnectInfo -> !Integer
+ Database.Redis.Connection: [connectDatabase] :: ConnectInfo -> Integer
- Database.Redis.Connection: [connectHooks] :: ConnectInfo -> !Hooks
+ Database.Redis.Connection: [connectHooks] :: ConnectInfo -> Hooks
- Database.Redis.Connection: [connectMaxConnections] :: ConnectInfo -> !Int
+ Database.Redis.Connection: [connectMaxConnections] :: ConnectInfo -> Int
- Database.Redis.Connection: [connectMaxIdleTime] :: ConnectInfo -> !NominalDiffTime
+ Database.Redis.Connection: [connectMaxIdleTime] :: ConnectInfo -> NominalDiffTime
- Database.Redis.Connection: [connectNumStripes] :: ConnectInfo -> !Maybe Int
+ Database.Redis.Connection: [connectNumStripes] :: ConnectInfo -> Maybe Int
- Database.Redis.Connection: [connectPoolLabel] :: ConnectInfo -> !Text
+ Database.Redis.Connection: [connectPoolLabel] :: ConnectInfo -> Text
- Database.Redis.Connection: [connectTLSParams] :: ConnectInfo -> !Maybe ClientParams
+ Database.Redis.Connection: [connectTLSParams] :: ConnectInfo -> Maybe ClientParams
- Database.Redis.Connection: [connectTimeout] :: ConnectInfo -> !Maybe NominalDiffTime
+ Database.Redis.Connection: [connectTimeout] :: ConnectInfo -> Maybe NominalDiffTime
- Database.Redis.Connection: [connectUsername] :: ConnectInfo -> !Maybe ByteString
+ Database.Redis.Connection: [connectUsername] :: ConnectInfo -> Maybe ByteString
- Database.Redis.Sentinel: ConnInfo :: !ConnectAddr -> !Maybe ByteString -> !Maybe ByteString -> !Integer -> !Int -> !Maybe Int -> !NominalDiffTime -> !Maybe NominalDiffTime -> !Maybe ClientParams -> !Hooks -> !Text -> ConnectInfo
+ Database.Redis.Sentinel: ConnInfo :: ConnectAddr -> Maybe ByteString -> Maybe ByteString -> Integer -> Int -> Maybe Int -> NominalDiffTime -> Maybe NominalDiffTime -> Maybe ClientParams -> Hooks -> Text -> ConnectInfo
- Database.Redis.Sentinel: [connectAddr] :: ConnectInfo -> !ConnectAddr
+ Database.Redis.Sentinel: [connectAddr] :: ConnectInfo -> ConnectAddr
- Database.Redis.Sentinel: [connectAuth] :: ConnectInfo -> !Maybe ByteString
+ Database.Redis.Sentinel: [connectAuth] :: ConnectInfo -> Maybe ByteString
- Database.Redis.Sentinel: [connectDatabase] :: ConnectInfo -> !Integer
+ Database.Redis.Sentinel: [connectDatabase] :: ConnectInfo -> Integer
- Database.Redis.Sentinel: [connectHooks] :: ConnectInfo -> !Hooks
+ Database.Redis.Sentinel: [connectHooks] :: ConnectInfo -> Hooks
- Database.Redis.Sentinel: [connectMaxConnections] :: ConnectInfo -> !Int
+ Database.Redis.Sentinel: [connectMaxConnections] :: ConnectInfo -> Int
- Database.Redis.Sentinel: [connectMaxIdleTime] :: ConnectInfo -> !NominalDiffTime
+ Database.Redis.Sentinel: [connectMaxIdleTime] :: ConnectInfo -> NominalDiffTime
- Database.Redis.Sentinel: [connectNumStripes] :: ConnectInfo -> !Maybe Int
+ Database.Redis.Sentinel: [connectNumStripes] :: ConnectInfo -> Maybe Int
- Database.Redis.Sentinel: [connectPoolLabel] :: ConnectInfo -> !Text
+ Database.Redis.Sentinel: [connectPoolLabel] :: ConnectInfo -> Text
- Database.Redis.Sentinel: [connectTLSParams] :: ConnectInfo -> !Maybe ClientParams
+ Database.Redis.Sentinel: [connectTLSParams] :: ConnectInfo -> Maybe ClientParams
- Database.Redis.Sentinel: [connectTimeout] :: ConnectInfo -> !Maybe NominalDiffTime
+ Database.Redis.Sentinel: [connectTimeout] :: ConnectInfo -> Maybe NominalDiffTime
- Database.Redis.Sentinel: [connectUsername] :: ConnectInfo -> !Maybe ByteString
+ Database.Redis.Sentinel: [connectUsername] :: ConnectInfo -> Maybe ByteString

Files

CHANGELOG view
@@ -1,5 +1,9 @@ # Changelog for Hedis +## 0.16.4++- Various fixes in connect for all types of the connection. Thannks to Andrey Prokopenko (and Chordify)+ ## 0.16.3  - Fix disconnect. Thanks to Andrey Prokopenko (and Chordify)
hedis.cabal view
@@ -1,7 +1,7 @@ cabal-version:      3.0 build-type:         Simple name:               hedis-version:            0.16.3+version:            0.16.4 synopsis:     Client library for the Redis datastore: supports full command set,     pipelining.
src/Database/Redis/Cluster.hs view
@@ -30,7 +30,7 @@ import Data.Maybe(mapMaybe, fromMaybe) import Data.Map(fromListWith, assocs) import Data.Function(on)-import Control.Exception(Exception, throwIO, BlockedIndefinitelyOnMVar(..), catches, Handler(..), bracketOnError, uninterruptibleMask_)+import Control.Exception(Exception, throwIO, BlockedIndefinitelyOnMVar(..), catches, Handler(..), bracketOnError, uninterruptibleMask_, mask_, finally) import Control.Concurrent.MVar(MVar, newMVar, readMVar, modifyMVar, modifyMVar_) import Control.Monad(zipWithM, when, replicateM, forM_) import Database.Redis.Cluster.HashSlot(HashSlot, keyToSlot)@@ -149,19 +149,29 @@         shardMap <- readMVar shardMapVar         stateVar <- newMVar $ Pending []         pipelineVar <- newMVar $ Pipeline stateVar-        nodeConns <- nodeConnections shardMap-        return $ Connection nodeConns pipelineVar shardMapVar (CMD.newInfoMap commandInfos) hooks' where-    nodeConnections :: ShardMap -> IO (HM.HashMap NodeID NodeConnection)-    nodeConnections shardMap = HM.fromList <$> connectNodes (nub $ nodes shardMap)-    connectNodes :: [Node] -> IO [(NodeID, NodeConnection)]-    connectNodes [] = return []-    connectNodes (z@Node{nodeHost = host, nodePort = port}:ns) = do+        withNodeConnections shardMap $ \nodeConns ->+           Connection nodeConns pipelineVar shardMapVar (CMD.newInfoMap commandInfos) hooks' where+    withNodeConnections :: ShardMap -> (HM.HashMap NodeID NodeConnection -> x) -> IO x+    withNodeConnections shardMap f =         bracketOnError-          (CC.connect (CC.ConnectAddrHostPort host $ toEnum port) timeoutOpt mTlsParams)-          (CC.disconnect) $ \ctx0 -> do-            nodeConn <- connectNode z ctx0-            rest <- connectNodes ns-            return $ nodeConn : rest+            (IOR.newIORef [])+            (\connsRef -> uninterruptibleMask_ $ do+              conns <- IOR.readIORef connsRef+              foldr (\x r -> CC.disconnect x `finally` r) (return ()) conns)+            $ \connsRef ->+                f . HM.fromList <$> connectNodes connsRef (nub $ nodes shardMap)+    connectNodes :: IOR.IORef [CC.ConnectionContext] -> [Node] -> IO [(NodeID, NodeConnection)]+    connectNodes connsRef ns = do+        traverse (\z@Node{nodeHost = host, nodePort = port} -> do+            ctx0 <- bracketOnError+                       (CC.connect (CC.ConnectAddrHostPort host $ toEnum port) timeoutOpt mTlsParams)+                       (CC.disconnect)+                       $ \ctx0 -> mask_ $ do+                          IOR.modifyIORef' connsRef (ctx0:)+                          return ctx0+            conn <- connectNode z ctx0+            return conn) ns+     connectNode :: Node -> CC.ConnectionContext -> IO (NodeID, NodeConnection)     connectNode Node{nodeId = n, nodeHost = host, nodePort = port} ctx0 = do         ref <- IOR.newIORef Nothing
src/Database/Redis/Connection.hs view
@@ -136,23 +136,28 @@ createConnection ConnInfo{..} = do     let timeoutOptUs =           round . (1000000 *) <$> connectTimeout-    conn' <- PP.connectWithHooks connectAddr timeoutOptUs connectTLSParams connectHooks-    PP.beginReceiving conn'--    runRedisInternal conn' $ do-        -- AUTH-        forM_ connectAuth $ \pass -> do+    -- In a case of an asynchronous exception happening after+    -- connection is created but not yet initialized opened connection+    -- could be lost, in order to fix that we use 'bracketOnError'+    bracketOnError+      (PP.connectWithHooks connectAddr timeoutOptUs connectTLSParams connectHooks)+      PP.disconnect+      $ \conn' -> do+        PP.beginReceiving conn'+        runRedisInternal conn' $ do+          -- AUTH+          forM_ connectAuth $ \pass -> do             resp <- authOpts pass defaultAuthOpts{ authOptsUsername = connectUsername}             case resp of               Left r -> liftIO $ throwIO $ ConnectAuthError r               _      -> return ()-        -- SELECT-        when (connectDatabase /= 0) $ do-          resp <- select connectDatabase-          case resp of+          -- SELECT+          when (connectDatabase /= 0) $ do+            resp <- select connectDatabase+            case resp of               Left r -> liftIO $ throwIO $ ConnectSelectError r               _      -> return ()-    return conn'+        return conn'  -- | Constructs a 'Connection' pool to a Redis server designated by the --  given 'ConnectInfo'.@@ -170,9 +175,12 @@ --  established. checkedConnect :: ConnectInfo -> IO Connection checkedConnect connInfo = do-    conn <- connect connInfo-    runRedis conn $ void ping-    return conn+    bracketOnError+        (connect connInfo)+        (disconnect)+        $ \conn -> do+            runRedis conn $ void ping+            return conn  -- |Constructs a 'Connection' pool to a Redis cluster designated by the --  given 'ConnectInfo', then tests if the server is actually there.@@ -181,13 +189,16 @@ --  established. checkedConnectCluster :: ConnectInfo -> IO Connection checkedConnectCluster connInfo = do-  conn <- connectCluster connInfo-  res <- runRedis conn clusterInfo-  case res of-    Right r -> case clusterInfoResponseState r of-      OK -> pure conn-      Down -> throwIO $ ClusterDownError r-    Left e -> throwIO $ ClusterConnectError e+    bracketOnError+        (connectCluster connInfo)+        (disconnect)+        $ \conn -> do+           res <- runRedis conn clusterInfo+           case res of+             Right r -> case clusterInfoResponseState r of+               OK -> pure conn+               Down -> throwIO $ ClusterDownError r+             Left e -> throwIO $ ClusterConnectError e  newtype ClusterDownError = ClusterDownError ClusterInfoResponse   deriving (Eq, Show)
src/Database/Redis/ProtocolPipelining.hs view
@@ -21,6 +21,7 @@ ) where  import           Prelude+import           Control.Exception (bracketOnError) import           Control.Monad import qualified Scanner import qualified Data.ByteString as S@@ -56,12 +57,15 @@ connect connectAddr timeoutOpt mTlsParams = connectWithHooks connectAddr timeoutOpt mTlsParams defaultHooks  connectWithHooks :: CC.ConnectAddr -> Maybe Int -> Maybe TLS.ClientParams -> Hooks -> IO Connection-connectWithHooks connectAddr timeoutOpt mTlsParams hooks = do-    connCtx <- CC.connect connectAddr timeoutOpt mTlsParams-    connReplies <- newIORef []-    connPending <- newIORef []-    connPendingCnt <- newIORef 0-    return Conn{..}+connectWithHooks connectAddr timeoutOpt mTlsParams hooks =+    bracketOnError+        (CC.connect connectAddr timeoutOpt mTlsParams)+        (CC.disconnect)+        $ \connCtx -> do+            connReplies <- newIORef []+            connPending <- newIORef []+            connPendingCnt <- newIORef 0+            return Conn{..}  beginReceiving :: Connection -> IO () beginReceiving conn = do