Я пытаюсь установить, нашел ли я ошибку в sqlite или это только из-за моего понимания (поскольку у меня не было большого опыта с этим).(И да, я проверил средство отслеживания ошибок sqlite.)
У меня есть Android, где я хочу хранить двойники в базе данных.Я также хочу сохранить запись, где значение еще не может быть установлено (то есть недействительным).Чтобы отследить это состояние, я хочу сохранить Double.NaN.
Поэтому, когда я создаю таблицу базы данных как таковую
create table Example (myRecordId integer primary key autoincrement, someString text not null, problemDouble REAL);
Вставьте запись, где problemDouble is Double.NaN, а затем получите доступ черезCursor.getDouble (...) Я вернусь Java double со значением 0.0.
Теперь, если я создаю таблицу таким образом (используя текст вместо реального)
create table Example (myRecordId integer primary key autoincrement, someString text not null, problemDouble text);
Вставьте запись, в которой Java double конвертируется в строку, и получите к ней доступ таким же образом, как и в случае возврата к double со значением NaN.
Я думал, что sqlite должен быть не типизированным, но, похоже,возиться со значением, когда столбец является реальным.Или же sql REAL не поддерживает значение NaN?
Я полагаю, что sqlite просто преобразует значения REAL в строки в фоновом режиме.
Так что будет рассматриваться это несоответствиеошибка?