Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / IBExpert Новый топик    Ответить
 Установка размера буфера в заголовке БД в 0  [new]
Tofik Emailovich
Member

Откуда:
Сообщений: 65
Добрый день.

При попытке сбросить буфер в заголовке в 0, т.е. вернуться так сказать к значению из firebird.conf, значение буфера меняется на 20 и выдается ошибка:

bad parameters on attach or create database.
Attempt to set in database number of buffers which is out of acceptable range [50:2147483646].

Собственно вопрос. Можно ли реализовать запись значения 0? По аналогии с gfix -bufers 0.
И сопутствующая ошибка - минимальное значение буфера 50.

Эксперт последний, FB 3.0.4.
1 окт 19, 17:40    [21984177]     Ответить | Цитировать Сообщить модератору
 Re: Установка размера буфера в заголовке БД в 0  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 31835

01.10.2019 17:40, Tofik Emailovich пишет:
> По аналогии с gfix -bufers 0.

это не ЭТО.
задать буфер в хидере базы можно только gfix-ом.
а то что ты пытаешься сделать действует только на период жизни коннекта.
в хидер базы оно не пишется.

Posted via ActualForum NNTP Server 1.5

1 окт 19, 17:50    [21984190]     Ответить | Цитировать Сообщить модератору
 Re: Установка размера буфера в заголовке БД в 0  [new]
Tofik Emailovich
Member

Откуда:
Сообщений: 65
Оп. Промашка вышла. Описание относится к диалогу установки пропертей БД, а не к коннекту.
2 окт 19, 08:47    [21984504]     Ответить | Цитировать Сообщить модератору
 Re: Установка размера буфера в заголовке БД в 0  [new]
Tofik Emailovich
Member

Откуда:
Сообщений: 65
IBExpert,

Если сабж невозможен, надо бы минимальный размер буфера починить.
31 янв 20, 17:07    [22070435]     Ответить | Цитировать Сообщить модератору
 Re: Установка размера буфера в заголовке БД в 0  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 29446
Tofik Emailovich,

интересный вопрос, где пофиксить. Судя по сообщению об ошибке, ошибка лезет из кода FB (jrd.cpp)
void DatabaseOptions::get
case isc_dpb_set_page_buffers:

(хотя я могу ошибаться). А в случае установки параметров БД не должно быть никакого dpb, ибо это вызов services api с параметром isc_spb_prp_page_buffers.
А для сервисов я такого сообщения не нашел.

ИБЕ не туда "лезет"?
8 фев 20, 00:54    [22075873]     Ответить | Цитировать Сообщить модератору
 Re: Установка размера буфера в заголовке БД в 0  [new]
IBExpert
Member

Откуда: От верблюда
Сообщений: 3346
kdv
А в случае установки параметров БД не должно быть никакого dpb, ибо это вызов services api с параметром isc_spb_prp_page_buffers.
А для сервисов я такого сообщения не нашел.

ИБЕ не туда "лезет"?


procedure TpFIBConfigService.SetPageBuffers(Value: Integer);
begin
  ServiceStartParams  := Char(isc_action_svc_properties);
  ServiceStartAddParam (FDatabaseName, isc_spb_dbname);
  ServiceStartAddParam1 (Value, isc_spb_prp_page_buffers);
  InternalServiceStart;
end;


Как-то так.

Сообщение было отредактировано: 8 фев 20, 03:19
8 фев 20, 03:19    [22075893]     Ответить | Цитировать Сообщить модератору
 Re: Установка размера буфера в заголовке БД в 0  [new]
hvlad
Member

Откуда:
Сообщений: 11135
IBExpert,

Tofik Emailovich
При попытке сбросить буфер в заголовке в 0, т.е. вернуться так сказать к значению из firebird.conf, значение буфера меняется на 20
Сколько помню IBE - в нём всегда этот баг был :)

Можешь проверить - поставь в Pages 0 и передай фокус на другой элемент.
Там ещё и в поле KB чудеса происходят :)

Сообщение было отредактировано: 10 фев 20, 12:16
10 фев 20, 12:14    [22076688]     Ответить | Цитировать Сообщить модератору
 Re: Установка размера буфера в заголовке БД в 0  [new]
IBExpert
Member

Откуда: От верблюда
Сообщений: 3346
hvlad
IBExpert,

Tofik Emailovich
При попытке сбросить буфер в заголовке в 0, т.е. вернуться так сказать к значению из firebird.conf, значение буфера меняется на 20
Сколько помню IBE - в нём всегда этот баг был :)

Можешь проверить - поставь в Pages 0 и передай фокус на другой элемент.
Там ещё и в поле KB чудеса происходят :)


Почему баг-то? Там просто MinValue=20 у этого редактора стоит.
11 фев 20, 03:50    [22077312]     Ответить | Цитировать Сообщить модератору
 Re: Установка размера буфера в заголовке БД в 0  [new]
hvlad
Member

Откуда:
Сообщений: 11135
IBExpert
hvlad
IBExpert,

Сколько помню IBE - в нём всегда этот баг был :)

Можешь проверить - поставь в Pages 0 и передай фокус на другой элемент.
Там ещё и в поле KB чудеса происходят :)


Почему баг-то? Там просто MinValue=20 у этого редактора стоит.
А зачем оно там стоит ?
Как сбросить значение в дефолтное ?
gfix -bu 0

IBE пытается угадать диапазон допустимых значений для этого параметра.
Не его это дело. Не надо.
11 фев 20, 11:23    [22077443]     Ответить | Цитировать Сообщить модератору
 Re: Установка размера буфера в заголовке БД в 0  [new]
IBExpert
Member

Откуда: От верблюда
Сообщений: 3346
hvlad
А зачем оно там стоит ?


Я не помню. Оно там стоит со времен появления Services API, и до сих пор никому нафиг не нужно было.
11 фев 20, 11:34    [22077456]     Ответить | Цитировать Сообщить модератору
 Re: Установка размера буфера в заголовке БД в 0  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 10733
IBExpert,

оно было нужно когда один сервер обслуживал несколько БД, и им надо было ограничить использование страничного кеша.
Но в 3.0 это уже не так актуально, ибо есть per-database конфиг
11 фев 20, 11:55    [22077473]     Ответить | Цитировать Сообщить модератору
 Re: Установка размера буфера в заголовке БД в 0  [new]
Tofik Emailovich
Member

Откуда:
Сообщений: 65
IBExpert,

Видать следствие зашло в тупик.

Если если есть реальная возможность дать команду на "сброс" буфера в хидере БД, то в диалоге пропертей базы можно выводить оба значения буферов :) - и из конфига огнептицы, и из хидера. Пускай юзер выбирает чего хочет установить - или свой размерчик, или предустановленный в конфиге. Соответственно на своем установить нужный минимум. Кстати, напомните, у которого сервака был минимум 20?

Пропертя аля вот так.

К сообщению приложен файл. Размер - 38Kb
11 фев 20, 12:03    [22077480]     Ответить | Цитировать Сообщить модератору
 Re: Установка размера буфера в заголовке БД в 0  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 10733
Tofik Emailovich,

насколько я помню минимум был 50 страниц, а не 20
11 фев 20, 12:17    [22077494]     Ответить | Цитировать Сообщить модератору
 Re: Установка размера буфера в заголовке БД в 0  [new]
Tofik Emailovich
Member

Откуда:
Сообщений: 65
Симонов Денис,

Совершенно верно. Поэтому и спрашиваю, может 20 был в каком-то предшественнике?
11 фев 20, 12:51    [22077534]     Ответить | Цитировать Сообщить модератору
 Re: Установка размера буфера в заголовке БД в 0  [new]
hvlad
Member

Откуда:
Сообщений: 11135
Tofik Emailovich
может 20 был в каком-то предшественнике?
Нет, никогда.

Тут не о чем спорить, IBE не должен гадать об умолчаниях и диапазонах значений известных только серверу.
11 фев 20, 14:09    [22077609]     Ответить | Цитировать Сообщить модератору
 Re: Установка размера буфера в заголовке БД в 0  [new]
IBExpert
Member

Откуда: От верблюда
Сообщений: 3346
Tofik Emailovich

Если если есть реальная возможность дать команду на "сброс" буфера в хидере БД, то в диалоге пропертей базы можно выводить оба значения буферов :) - и из конфига огнептицы, и из хидера. Пускай юзер выбирает чего хочет установить - или свой размерчик, или предустановленный в конфиге. Соответственно на своем установить нужный минимум. Кстати, напомните, у которого сервака был минимум 20?


1. Эксперт выводит и меняет только то, что может вывести и изменить через Services API. Другого доступа к конфигам на сервере у него нет.

2. Откуда 20 взялось - я не помню. Но откуда-то оно взялось, раз там прописано. Может, от балды. Возможно, это как-то связано с невнятным сообщением предыдущих версий сервера при попытке установить значение ниже "известного только серверу". Это в тройке он сообщает, что именно ему не нравится, а до тех пор ограничивался скромным "bad parameters on attach or create database".

3. Я уже подрихтовал: сделал возможность установки в 0 и поднял нижний лимит до 50.
12 фев 20, 03:26    [22077948]     Ответить | Цитировать Сообщить модератору
 Re: Установка размера буфера в заголовке БД в 0  [new]
Tofik Emailovich
Member

Откуда:
Сообщений: 65
"Сброс" в 0 работает. А вот минимум теперь стал 10. Все, что в промежутке - классически "округляется". Чет - вниз до 0, нечет - вверх до 10.
18 фев 20, 12:00    [22082041]     Ответить | Цитировать Сообщить модератору
 Re: Установка размера буфера в заголовке БД в 0  [new]
IBExpert
Member

Откуда: От верблюда
Сообщений: 3346
Tofik Emailovich
"Сброс" в 0 работает. А вот минимум теперь стал 10. Все, что в промежутке - классически "округляется". Чет - вниз до 0, нечет - вверх до 10.


А, это я для отладки 50 на 10 поменял, а вернуть забыл...
19 фев 20, 04:13    [22082672]     Ответить | Цитировать Сообщить модератору
Все форумы / IBExpert Ответить