RussianLDP Рейтинг@Mail.ru
WebMoney: 
WMZ Z294115950220 
WMR R409981405661 
WME E134003968233 
Visa 
4274 3200 2453 6495 

Small. Fast. Reliable.
Choose any three.

SQLite C Interface

Пределы во время выполнения

int sqlite3_limit(sqlite3*, int id, int newVal);

Этот интерфейс позволяет размеру различных конструкций быть ограниченным на связи. Первый параметр соединение с базой данных, предел которого должен быть установлен или запрошен. Второй параметр: одна из категорий предела , которые определяют класс конструкций, чтобы быть ограниченным размером. Третий параметр это новый предел для той конструкции.

Если новый предел это отрицательное число, предел неизменен. Для каждой категории предела SQLITE_LIMIT_NAME это твердая верхняя граница, установленная во время компиляции макросом препроцессора C под названием SQLITE_MAX_NAME. "_LIMIT_" в имени изменяется на "_MAX_". Попытки увеличить предел выше его твердой верхней границы тихо усечены к твердой верхней границе.

Независимо от того, был ли предел изменен, интерфейс sqlite3_limit() возвращает предшествующее значение предела. Следовательно, чтобы найти текущее значение предела, не изменяя его, просто вызовите это с третьим параметром -1.

Пределы во время выполнения предназначаются для использования в запросах, которые управляют и их собственной внутренней базой данных и также базами данных, которыми управляют внешние источники, которым не доверяют. Пример приложения мог бы быть веб-браузером, у которого есть его собственные базы данных для хранения истории и отдельных баз данных, которыми управляют приложения JavaScript, загруженные из Интернета. Внутренним базам данных можно дать большие пределы по умолчанию. Базам данных, управляемым внешними источниками, можно дать намного меньшие пределы, разработанные, чтобы предотвратить атаку "отказ в обслуживании". Разработчики могли бы также хотеть использовать интерфейс sqlite3_set_authorizer(), чтобы далее управлять SQL, которому не доверяют. Размер базы данных, созданной скриптом, которому не доверяют, может быть настроен, используя прагму max_page_count.

Новые категории предела во время выполнения могут быть добавлены в будущих выпусках.