Перейти к содержимому


Очистка базы SQLite


Сообщений в теме: 25

#21 scano

    Профи

  • Пользователи
  • PipPipPipPipPip
  • 571 сообщений
  • ГородМосква

Отправлено 18 Ноябрь 2011 - 10:57

Давно бы так, а то даёте ответы в сжатом виде, а у автора новые вопросы появляются и с новыми проблемами, самые значительные детали нужно уточнять же

#22 nek

    Профи

  • Модераторы
  • 2 293 сообщений

Отправлено 19 Ноябрь 2011 - 04:45

Просмотр сообщенияscano (18 Ноябрь 2011 - 01:55) писал:

Забыл сказать для сводки что предлагаемый запрос
delete from `table` where 1
не катит для таблиц в которых имеется индекс (primary key(`...`)), он лишь удаляет элементы, а не полностью очищает всю информацию в таблице.
Если такой же касяк как в MySQL есть и в SQLite, то использовать данный запрос для таблиц с индексами как видите нельзя.
Остаётся лишь искать запрос полной очистки тут, либо пересоздание базы, но в таком случае бот должен быть offline, а иначе в ту долю времени когда бот будет отключён от "x" таблицы может проникнуть другой код с обращением в эту же "x" таблицу, а потом хлыс и консоль залита кровью error'ов.

и еще, Добро пожаловать в сообщество SQLite Forum
У меня работает с Primary key. Что я делаю не так?
По поводу Truncate выше да, был не прав.
И да, бот не должен быть Off. Достаточно во время выполнения поставить блокировку.

#23 AssassinS

    Специалист

  • Пользователи
  • PipPipPipPip
  • 272 сообщений

Отправлено 11 Декабрь 2011 - 09:28

Из-за чего БД может блокироваться?

10.12.2011 23:28:01 [ERROR] - java.sql.SQLException: database locked
10.12.2011 23:28:01 [ERROR] -  
10.12.2011 23:28:01 [ERROR] - 	at org.sqlite.DB.execute(DB.java:270)
10.12.2011 23:28:01 [ERROR] -  
10.12.2011 23:28:01 [ERROR] - 	at org.sqlite.Stmt.exec(Stmt.java:56)
10.12.2011 23:28:01 [ERROR] -  
10.12.2011 23:28:01 [ERROR] - 	at org.sqlite.Stmt.executeQuery(Stmt.java:90)
10.12.2011 23:28:01 [ERROR] -  
10.12.2011 23:28:01 [ERROR] - 	at ru.jimbot.db.DBAdaptor.getValues(DBAdaptor.java:126)
10.12.2011 23:28:01 [ERROR] -  
10.12.2011 23:28:01 [ERROR] - 	at ru.jimbot.modules.chat.Victorina2.getCountQuestion(Victorina2.java:462)
10.12.2011 23:28:01 [ERROR] -  
10.12.2011 23:28:01 [ERROR] - 	at ru.jimbot.modules.chat.Victorina2.GuessParse(Victorina2.java:186)
10.12.2011 23:28:01 [ERROR] -  
10.12.2011 23:28:01 [ERROR] - 	at ru.jimbot.modules.chat.Victorina2.run(Victorina2.java:366)
10.12.2011 23:28:01 [ERROR] -  
10.12.2011 23:28:01 [ERROR] - 	at java.lang.Thread.run(Unknown Source)

А файл базы занимает 80мб.Логи каждые 10 часов удаляются

Сообщение отредактировал AssassinS: 11 Декабрь 2011 - 09:29


#24 DesmoNd777

    Специалист

  • Пользователи
  • PipPipPipPip
  • 231 сообщений

Отправлено 11 Декабрь 2011 - 10:19

База данных может блокироваться, если в нее идет запись.
Поэтому не советуют хранить все в одном файле.

#25 AssassinS

    Специалист

  • Пользователи
  • PipPipPipPip
  • 272 сообщений

Отправлено 11 Декабрь 2011 - 11:15

Спасибо. Сделаю все в разных файлах

#26 nek

    Профи

  • Модераторы
  • 2 293 сообщений

Отправлено 11 Февраль 2012 - 18:16

Настройте нормально блокировки и все будет в порядке.
Зачем плодить кучу баз?





Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 скрытых пользователей