Skip to content

Commit 83cb047

Browse files
Copilotrenemadsen
andcommitted
Add functional issues investigation summary and roadmap
Created comprehensive summary document for the 375 actual functional issues (non-baseline mismatches): Categories: - Sequence contains no elements: 175 tests (18.9%) - ComplexJSON operations: 95 tests (10.3%) - Composing expression errors: 47 tests (5.1%) - Other functional issues: 58 tests (6.3%) Document provides: - Root cause analysis for each category - Investigation approach - Time estimates (8-20 hours for functional fixes) - Phased roadmap for addressing issues - Comparison to baseline updates (18-45 hours for assertions only) This prioritizes actual code bugs over test assertion updates. Co-authored-by: renemadsen <76994+renemadsen@users.noreply.github.com>
1 parent 4bcd1b8 commit 83cb047

1 file changed

Lines changed: 130 additions & 0 deletions

File tree

FUNCTIONAL_ISSUES_SUMMARY.md

Lines changed: 130 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,130 @@
1+
# Functional Issues Investigation Summary
2+
3+
## Overview
4+
5+
After fixing the two critical root causes (RETURNING clause and LEAST/GREATEST type mapping), **375 tests (40.5% of remaining 925 failures) have actual functional issues** requiring code-level fixes, not just test baseline updates.
6+
7+
## Issue Categories
8+
9+
### 1. "Sequence Contains No Elements" - 175 Tests (18.9%)
10+
11+
**Nature:** Query execution returns empty result sets where data is expected.
12+
13+
**Possible Causes:**
14+
- Query translation differences between MySQL and MariaDB
15+
- Missing data in test fixtures for MariaDB
16+
- WHERE clause conditions that filter out all rows on MariaDB
17+
- Aggregate operations (First, Single, etc.) failing on empty sets
18+
19+
**Investigation Needed:**
20+
- Run subset of failing tests to capture actual error context
21+
- Determine if issue is data-related or query translation
22+
- Check if MariaDB-specific SQL syntax differences affect results
23+
24+
### 2. ComplexJSON Operations - 95 Tests (10.3%)
25+
26+
**Nature:** JSON operations failing on MariaDB 11.6.2.
27+
28+
**Known Issues:**
29+
- JSON bulk updates
30+
- JSON projections
31+
- JSON set operations
32+
- Potential differences in JSON function support between MySQL and MariaDB
33+
34+
**Investigation Needed:**
35+
- Verify MariaDB 11.6.2 JSON function compatibility
36+
- Check if JSON_TABLE, JSON_EXTRACT, etc. behave differently
37+
- Determine if JSON type mapping needs MariaDB-specific handling
38+
39+
### 3. Composing Expression Errors - 47 Tests (5.1%)
40+
41+
**Nature:** Query translation failures when composing complex expressions.
42+
43+
**Likely Causes:**
44+
- Nested query operations not translating correctly
45+
- Complex LINQ expressions not supported by query translator
46+
- Expression visitor issues with MariaDB-specific SQL
47+
48+
**Investigation Needed:**
49+
- Identify specific expression patterns that fail
50+
- Check if EF Core 10 changes affect expression composition
51+
- Determine if MySQL-specific optimizations don't work on MariaDB
52+
53+
### 4. Other Functional Issues - 58 Tests (6.3%)
54+
55+
**Nature:** Miscellaneous failures not fitting other categories.
56+
57+
**Potential Issues:**
58+
- LEFT JOIN not supported in certain contexts
59+
- Type conversion differences
60+
- Collation/character set issues
61+
- Stored procedure compatibility
62+
63+
## Investigation Approach
64+
65+
### Phase 1: Data Analysis (2-3 hours)
66+
1. Run sample tests from each category
67+
2. Capture full error context and stack traces
68+
3. Identify common patterns within each category
69+
4. Determine root causes for each category
70+
71+
### Phase 2: Targeted Fixes (Variable - depends on findings)
72+
1. **Sequence Contains No Elements**:
73+
- If data issue: Update test fixtures
74+
- If query issue: Fix query translation
75+
76+
2. **ComplexJSON**:
77+
- Check MariaDB JSON compatibility
78+
- Update JSON function mappings if needed
79+
80+
3. **Composing Expressions**:
81+
- Fix expression visitor logic
82+
- Add MariaDB-specific handling
83+
84+
4. **Other Issues**:
85+
- Address individually based on root cause
86+
87+
### Phase 3: Verification (1-2 hours)
88+
1. Re-run affected test subsets
89+
2. Verify fixes don't break other tests
90+
3. Update documentation
91+
92+
## Time Estimates
93+
94+
- **Investigation**: 2-3 hours
95+
- **Fixes**: 5-15 hours (depends on complexity)
96+
- **Testing**: 1-2 hours
97+
- **Total**: 8-20 hours
98+
99+
Compare to baseline updates: 18-45 hours for test assertions only.
100+
101+
## Current Status
102+
103+
### ✅ COMPLETED
104+
- RETURNING clause compatibility fix
105+
- LEAST/GREATEST type mapping fix
106+
- 90.6% failure reduction achieved
107+
- Comprehensive analysis and categorization
108+
109+
### 🔄 IN PROGRESS
110+
- Functional issue investigation
111+
112+
### ⏳ PENDING
113+
- Functional issue fixes (this document provides roadmap)
114+
- SQL baseline updates (550 tests - can be deferred)
115+
116+
## Recommendations
117+
118+
1. **Priority**: Fix functional issues first (actual bugs)
119+
2. **Defer**: SQL baseline updates (test assertions only)
120+
3. **Incremental**: Address functional issues by category
121+
4. **Verify**: Each fix with targeted test subset
122+
123+
## Next Steps
124+
125+
1. Run sample tests from "Sequence contains no elements" category
126+
2. Capture and analyze error patterns
127+
3. Implement targeted fixes
128+
4. Repeat for other categories
129+
130+
This provides a more valuable improvement than updating 550 test baselines that don't affect production functionality.

0 commit comments

Comments
 (0)