Максимальная длина Android Sqlite String?

В связи с этим вопросом:

Как SQLite на Android обрабатывает длинные строки?

В нем говорится, что по умолчанию SQLite хранит 1 миллиард. Это то же самое, что и фактический сайт.

Однако, как говорит человек, это может быть меньше. Мне было интересно, есть ли у них способ проверить / что это за ценность?

Благодаря!

Solutions Collecting From Web of "Максимальная длина Android Sqlite String?"

Невозможно прочитать ограничения SQLite в Android во время выполнения. (SQLite имеет функцию для этого в своем API C, но Android не раскрывает это.)

В любом случае, я не знаю ни одного разработчика Android, который уменьшил пределы SQLite. (Обычно они увеличивают некоторый предел или позволяют использовать некоторые опции, когда они нуждаются в нем в своих приложениях или когда они пытаются оптимизировать, но они никогда не потрудились что-то изменить).

Максимальная длина строки или BLOB

Максимальное количество байтов в строке или BLOB в SQLite определяется макросом препроцессора SQLITE_MAX_LENGTH. Значение по умолчанию этого макроса составляет 1 миллиард (1 тысяча миллионов или 1 000 000 000). Вы можете повысить или уменьшить это значение во время компиляции с помощью опции командной строки, например:

-DSQLITE_MAX_LENGTH=123456789 

Текущая реализация будет поддерживать только длину строки или BLOB до 231-1 или 2147483647. И некоторые встроенные функции, такие как hex (), могут быть неудачными задолго до этой точки. В защищенных приложениях лучше не пытаться увеличить максимальную длину строки и длины блока. На самом деле, вы можете сделать так, чтобы максимальная длина строки и длины блоба была ниже, чем в нескольких миллионах, если это возможно.

Во время обработки INSERT и SELECT SQLite полное содержимое каждой строки в базе данных кодируется как один BLOB. Таким образом, параметр SQLITE_MAX_LENGTH также определяет максимальное количество байтов в строке.

С http://www.sqlite.org/limits.html .