1. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
Скрыть объявление

Уважаемый Гость, в 23:30 по мск форум будет закрыт на профилактику на 1,5 часа до 01:00 24.10.2017

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

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

  1. dimat

    dimat Well-Known Member
    Lotus team

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

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

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

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

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

    dimat Well-Known Member
    Lotus team

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

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

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

    Akupaka А че я?.. О.о

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

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

    Репутация:
    0
    Регистрация:
    6 ноя 2007
    Сообщения:
    3.171
    Симпатии:
    21
    dimat
    Не задавался такой задачей, но вот вам начало:
    Код:
    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 Well-Known Member
    Lotus team

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

    Akupaka А че я?.. О.о

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

    dimat Well-Known Member
    Lotus team

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

    Akupaka А че я?.. О.о

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

    dimat Well-Known Member
    Lotus team

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

    nvyush Well-Known Member
    Lotus team

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

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