To clarify: I am saying that it is not “normal” that the type you get back out is not only not necessarily the type that you put in, but may be different depending on the value that you put in. Put another way, sqlite is strongly typed unless you mistakenly thought that type affinities by themselves made it be strictly typed, in which case it becomes neither strictly nor strictly typed.
I think one of them should be “strongly”, but I understood your point.
Thinking back, I don’t have the doc easily accessible (on phone), but I think the C API state the type you want to read. Like get_int(smt, VALUE_INDEX, …), so at least in the C API, most of this should not be visible. Maybe only the SELECT1='1' part (or others comparaison fully done in the SQL string)?
To clarify: I am saying that it is not “normal” that the type you get back out is not only not necessarily the type that you put in, but may be different depending on the value that you put in. Put another way, sqlite is strongly typed unless you mistakenly thought that type affinities by themselves made it be strictly typed, in which case it becomes neither strictly nor strictly typed.
I think one of them should be “strongly”, but I understood your point.
Thinking back, I don’t have the doc easily accessible (on phone), but I think the C API state the type you want to read. Like
get_int(smt, VALUE_INDEX, …)
, so at least in the C API, most of this should not be visible. Maybe only theSELECT 1 = '1'
part (or others comparaison fully done in the SQL string)?