try select cast('1.txt' as numeric); my guess: SQLite is now reading '1.' as the numeric part of the text constant, which is a float, where it previously read only '1' as an integer. Also try explain select '1.txt' + 1; 2 String8 0 2 0 1.txt 00 NULL 3 Integer 1 3 0 00 NULL 4 Add 3 2 1 00 NULL Ist there an affinity opcode before the add in 3.31.1?