@@ -109,7 +109,7 @@ final class RedisPluginDriver: PluginDatabaseDriver, @unchecked Sendable {
109109
110110 case . keys( let pattern) :
111111 let result = try await conn. executeCommand ( [ " KEYS " , pattern] )
112- return result. stringArrayValue ? . count ?? 0
112+ return result. arrayValue ? . count ?? 0
113113
114114 case . dbsize:
115115 let result = try await conn. executeCommand ( [ " DBSIZE " ] )
@@ -200,7 +200,7 @@ final class RedisPluginDriver: PluginDatabaseDriver, @unchecked Sendable {
200200 // Get total database count from CONFIG GET databases
201201 let configResult = try await conn. executeCommand ( [ " CONFIG " , " GET " , " databases " ] )
202202 var maxDatabases = 16
203- if let array = configResult. stringArrayValue , array. count >= 2 , let count = Int ( array [ 1 ] ) {
203+ if let array = configResult. arrayValue , array. count >= 2 , let count = Int ( redisReplyToString ( array [ 1 ] ) ) {
204204 maxDatabases = count
205205 }
206206
@@ -310,7 +310,7 @@ final class RedisPluginDriver: PluginDatabaseDriver, @unchecked Sendable {
310310 }
311311 let result = try await conn. executeCommand ( [ " CONFIG " , " GET " , " databases " ] )
312312 var maxDatabases = 16
313- if let array = result. stringArrayValue , array. count >= 2 , let count = Int ( array [ 1 ] ) {
313+ if let array = result. arrayValue , array. count >= 2 , let count = Int ( redisReplyToString ( array [ 1 ] ) ) {
314314 maxDatabases = count
315315 }
316316 return ( 0 ..< maxDatabases) . map { " db \( $0) " }
@@ -627,9 +627,10 @@ private extension RedisPluginDriver {
627627
628628 case . keys( let pattern) :
629629 let result = try await conn. executeCommand ( [ " KEYS " , pattern] )
630- guard let keys = result. stringArrayValue else {
630+ guard let items = result. arrayValue else {
631631 return buildEmptyKeyResult ( startTime: startTime)
632632 }
633+ let keys = items. map { redisReplyToString ( $0) }
633634 let capped = Array ( keys. prefix ( PluginRowLimits . defaultMax) )
634635 let keysTruncated = keys. count > PluginRowLimits . defaultMax
635636 return try await buildKeyBrowseResult (
@@ -1298,10 +1299,10 @@ private extension RedisPluginDriver {
12981299 var entryStrings : [ String ] = [ ]
12991300 for entry in entries {
13001301 guard let parts = entry. arrayValue, parts. count >= 2 ,
1301- let entryId = parts [ 0 ] . stringValue,
13021302 let fields = parts [ 1 ] . arrayValue else {
13031303 continue
13041304 }
1305+ let entryId = redisReplyToString ( parts [ 0 ] )
13051306 var fieldPairs : [ String ] = [ ]
13061307 var j = 0
13071308 while j + 1 < fields. count {
@@ -1560,10 +1561,10 @@ private extension RedisPluginDriver {
15601561 var rows : [ [ String ? ] ] = [ ]
15611562 for entry in entries {
15621563 guard let entryParts = entry. arrayValue, entryParts. count >= 2 ,
1563- let entryId = entryParts [ 0 ] . stringValue,
15641564 let fields = entryParts [ 1 ] . arrayValue else {
15651565 continue
15661566 }
1567+ let entryId = redisReplyToString ( entryParts [ 0 ] )
15671568
15681569 var fieldPairs : [ String ] = [ ]
15691570 var i = 0
0 commit comments