IS_IPV4() Call Triggers baseBuiltinFunc.vecEvalString() should never be called Error
- Dominant language
- Go
- Stars
- 40.5k
- Forks
- 6.2k
- PR merge metrics
- PR metrics pending
Description
## Bug Report
### 1. Minimal reproduce step (Required)
```sql
DROP TABLE IF EXISTS table1;
CREATE TABLE IF NOT EXISTS table1 (
active BIT
);
INSERT INTO table1 (active)
VALUES (1);
SELECT 1 AS c0 FROM table1 AS tom1 WHERE COALESCE(IS_IPV4( COALESCE( tom1.active ) ));
```
### 2. What did you expect to see? (Required)
Based on this error message, we should expect no errors.
### 3. What did you see instead (Required)
[HY000][1105] baseBuiltinFunc.evalString() should never be called, please contact the TiDB team for help
### 4. What is your TiDB version? (Required)
Release Version: v9.0.0-beta.2.pre-1263-g7411da7
Edition: Community
Git Commit Hash: 7411da72cc15bd40f98f7b7e9264224a6e9e8fe8
Git Branch: HEAD
UTC Build Time: 2026-02-26 04:40:53
GoVersion: go1.25.6
Race Enabled: false
Check Table Before Drop: false
Store: tikv
Kernel Type: Classic
Contributor guide
Research direction
Start by running the reported SQL reproduction and trace the IS_IPV4() and COALESCE() evaluation path associated with the baseBuiltinFunc.evalString() error. Done means the query completes without that error and a regression test covers this case.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, sql
- Domain
- databases
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100