Удалить неиспользуемы представления

Тема в разделе "Lotus - Программирование", создана пользователем dimat, 20 сен 2010.

  1. dimat

    dimat Lotus team
    Lotus team

    Регистрация:
    31 июл 2008
    Сообщения:
    518
    Симпатии:
    0
    Всем привет!
    Есть бд в которой накопилось очень много представлений, среди них есть те, которыми никто не пользуется и хотелось бы их удалить.
    Для этого хочу узнать когда последний раз обращались к представлению(это возможно?), исходя из этого сформировать список неиспользуемых представлений для удаления.

    Как это можно реализовать?
    Или может есть еще какие то варианты?
     
  2. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.046
    Симпатии:
    18
    dimat
    В любом виде 5я закладка Index -> Discard указывается через сколько дней данный вид очищать от индекса если он не используется.
    Итого если вид не используется он ужимается сам.

    Если уж очень приспичило прямо сейчас избавиться от вида то через администратор выделите нужную базу и правым кликом выберите самый нижний пункт Manage Views... получите список всех видов и папок а так же их размер.
    По умолчанию если не меняли настройки вида, то через 45 дней они очищаются и их размер будет 0, это и позволит вам понять какие можно удалить.
     
  3. dimat

    dimat Lotus team
    Lotus team

    Регистрация:
    31 июл 2008
    Сообщения:
    518
    Симпатии:
    0
    А програмно это можно узнать для каждого вида?

    Добавлено:
    Проблема в том что несипользуемых представлений (с размером индекса 0) больше 200. через Manage Views со списком представлений ничего не сделать. вот и хотелось бы програмно найти все представления с размером индекса 0 и удалить их.

    Это возможно?
     
  4. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    А зачем их совсем удалять? Если индексы пустые, то они не влияют на работоспособность БД, по-идее.
    Думаю, что такую инфу можно получить через Notes API. Либо сделать скрин из Manage Views и пройтись по нему руцями.
    А вообще, то необходимость вида определяют не через размер индекса, а из его целевого предназначения.
     
  5. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.046
    Симпатии:
    18
    dimat
    Не задавался такой задачей, но вот вам начало:
    Код (LotusScript):
    Set nc = db.CreateNoteCollection(True)
    Call nc.SelectAllIndexElements(True) ' - виды
    nid = nc.GetFirstNoteId
    For i = 1 To nc.Count
    Set doc = db.GetDocumentByID(nid) ' Документ вида - возможно поле $ViewFormat содержит необходимую инфу
    nid = nc.GetNextNoteId(nid)
    Next
     
  6. dimat

    dimat Lotus team
    Lotus team

    Регистрация:
    31 июл 2008
    Сообщения:
    518
    Симпатии:
    0
    Это я уже сделал, вот как раз из какого поля выдирать размер индекса и не знал
     
  7. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    И шо, размер индекса хранится в поле?
     
  8. dimat

    dimat Lotus team
    Lotus team

    Регистрация:
    31 июл 2008
    Сообщения:
    518
    Симпатии:
    0
    Я понятия не имею где он хранится, в этом и вопрос
     
  9. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    хм... а в цитате "не знал" в прошлом )) я уж было испугался, что размер индекса в поле вида лежит ))
     
  10. dimat

    dimat Lotus team
    Lotus team

    Регистрация:
    31 июл 2008
    Сообщения:
    518
    Симпатии:
    0
    Можно по подробнее? С Win API ниразу не сталкивался
     
  11. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
Загрузка...

Поделиться этой страницей