sqldelight
sqldelight copied to clipboard
False positive on 'COLUMN XY is defined AS NOT NULL'
SQLDelight Version
2.0.0
IDE Version
2023.2.1
Dialect
SQLite
Describe the Bug
This is the warning I'm getting. It's technically correct the column is NOT NULL, however by using the left joins, it can indeed be null:
Sql to reproduce:
CREATE TABLE coachee (
id TEXT NOT NULL PRIMARY KEY
);
CREATE TABLE chat (
id TEXT NOT NULL PRIMARY KEY,
coacheeId TEXT NOT NULL
);
CREATE TABLE coachTagCoachee (
coachTagId TEXT NOT NULL,
coacheeId TEXT NOT NULL,
PRIMARY KEY (coachTagId, coacheeId)
);
CREATE TABLE coachTag (
id TEXT NOT NULL PRIMARY KEY,
name TEXT NOT NULL
);
repro:
SELECT
chat.id AS chatId
FROM chat
JOIN coachee
ON chat.coacheeId = coachee.id
LEFT JOIN coachTagCoachee
ON coachTagCoachee.coacheeId = coachee.id
WHERE coachTagCoachee.coachTagId IS NULL
GROUP BY chat.id
;
Stacktrace
No response