fix(redis): comprehensive Redis plugin overhaul#377
Conversation
|
Caution Review failedPull request was closed or merged during review 📝 WalkthroughWalkthroughThis pull request introduces Cloudflare D1 database support to TablePro by adding a complete D1 driver plugin with HTTP API communication, expanding Redis driver capabilities with enhanced command parsing and connection handling, introducing a new Changes
Estimated code review effort🎯 4 (Complex) | ⏱️ ~50 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 1 | ❌ 4❌ Failed checks (4 warnings)
✅ Passed checks (1 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
📝 Coding Plan
Comment |
Summary
Comprehensive fix for the Redis plugin addressing 60+ issues discovered during deep analysis of GitHub issue #374 (Redis queries load forever).
fetchValuePreview(200-600 round-trips) with pipelined batch (2 pipeline calls). Add scan result cache for pagination.\n/\t/\r), empty string tokens, ZADD flag parsing (NX/XX/GT/LT/CH/INCR), ZRANGE modern syntax (BYSCORE/BYLEX/REV/LIMIT). Make statement generator type-aware (HSET for hash, RPUSH for list, etc.).strdup, fix thread-safety races incontextpointer and cancellation flag.SELECT COUNT(*)and enum fetching for Redis, add Redis write/dangerous query detection, skip MULTI/EXEC wrapping for saves, add race guard on database switching, returnFLUSHDBfor truncate, show empty databases in sidebar.Closes #374
Test plan
SET key "hello\nworld"stores actual newlineSET key ""stores empty stringZADD myset NX 1.0 memberparses successfullyFLUSHDBtriggers dangerous-query warningSET key valuedetected as write in read-only modeSummary by CodeRabbit
New Features
Documentation