fix: resolve RedisCache array offset error and improve discovery diagnostics

- Fix RedisCache driver to handle MGET failures gracefully with fallback
- Add comprehensive discovery context comparison debug tools
- Identify root cause: WEB context discovery missing 166 items vs CLI
- WEB context missing RequestFactory class entirely (52 vs 69 commands)
- Improved exception handling with detailed binding diagnostics
This commit is contained in:
2025-09-12 20:05:18 +02:00
parent 8040d3e7a5
commit e30753ba0e
46990 changed files with 10789682 additions and 89639 deletions

View File

@@ -120,6 +120,7 @@ final class IndexUsageAnalyzer
/**
* Get MySQL index usage statistics
* @return array<array<string, mixed>>
*/
private function getMySqlIndexUsageStatistics(?string $table = null): array
{
@@ -183,6 +184,7 @@ final class IndexUsageAnalyzer
/**
* Get MySQL unused indexes
* @return array<array<string, mixed>>
*/
private function getMySqlUnusedIndexes(?string $table = null, int $minDaysSinceCreation = 30): array
{
@@ -226,6 +228,7 @@ final class IndexUsageAnalyzer
/**
* Get MySQL duplicate indexes
* @return array<array<string, mixed>>
*/
private function getMySqlDuplicateIndexes(?string $table = null): array
{
@@ -280,6 +283,7 @@ final class IndexUsageAnalyzer
/**
* Get MySQL oversized indexes
* @return array<array<string, mixed>>
*/
private function getMySqlOversizedIndexes(?string $table = null, int $sizeThresholdMb = 100): array
{
@@ -318,6 +322,7 @@ final class IndexUsageAnalyzer
/**
* Get MySQL fragmented indexes
* @return array<array<string, mixed>>
*/
private function getMySqlFragmentedIndexes(?string $table = null, float $fragmentationThreshold = 0.3): array
{
@@ -354,6 +359,7 @@ final class IndexUsageAnalyzer
/**
* Get PostgreSQL index usage statistics
* @return array<array<string, mixed>>
*/
private function getPostgreSqlIndexUsageStatistics(?string $table = null): array
{
@@ -389,6 +395,7 @@ final class IndexUsageAnalyzer
/**
* Get PostgreSQL unused indexes
* @return array<array<string, mixed>>
*/
private function getPostgreSqlUnusedIndexes(?string $table = null, int $minDaysSinceCreation = 30): array
{
@@ -427,6 +434,7 @@ final class IndexUsageAnalyzer
/**
* Get PostgreSQL duplicate indexes
* @return array<array<string, mixed>>
*/
private function getPostgreSqlDuplicateIndexes(?string $table = null): array
{
@@ -491,6 +499,7 @@ final class IndexUsageAnalyzer
/**
* Get PostgreSQL oversized indexes
* @return array<array<string, mixed>>
*/
private function getPostgreSqlOversizedIndexes(?string $table = null, int $sizeThresholdMb = 100): array
{
@@ -530,6 +539,7 @@ final class IndexUsageAnalyzer
/**
* Get PostgreSQL fragmented indexes
* @return array<array<string, mixed>>
*/
private function getPostgreSqlFragmentedIndexes(?string $table = null, float $fragmentationThreshold = 0.3): array
{