Вопросы по FB 2.5.0.25904 и FB 2.1
Вопросы по FB 2.5.0.25904 и FB 2.1
1. FB 2.5. Вставка в GTT в рамках readonly-транзакции (isolation level - транзакция)- это фича? В RN не нашел ничего по этому поводу.
2. Есть пользователь, таблица1 и триггер на ней, вставляющий в таблицу2 некие данные. У пользователя нет прав на вставку в таблицу2 (только select), у триггера есть. В FB 2.1 все нормально отрабатывает. FB 2.5 затребовал права на вставку в таблицу2. Так и должно быть?
3. Случай с FB 2.1. В firebird.conf переменная TempDirectories указывала на несуществующую папку (удалили ее, к примеру). В результате, на больших выборках (и при ресторе индексов) FB останавливался с сообщением, что не может создать файл. Естественно, причину нашли. Но можно сделать (или уже сделали), чтобы в сообщении было видно, какой файл (или в какой папке), FB не может создать? Это упростило бы диагностику проблемы.
4. Случай с FB 2.1. Во время пакетной вставки (внутри триггера), закончилось место на диске с БД. firebird.log оказался забитым сообщениями про ненайденные страницы(что-то вроде "запрашивалась 65 страница, найдено только 55 и т.д.). С обработкой таких ситуаций что-нибудь сделали (сделают)?
2. Есть пользователь, таблица1 и триггер на ней, вставляющий в таблицу2 некие данные. У пользователя нет прав на вставку в таблицу2 (только select), у триггера есть. В FB 2.1 все нормально отрабатывает. FB 2.5 затребовал права на вставку в таблицу2. Так и должно быть?
3. Случай с FB 2.1. В firebird.conf переменная TempDirectories указывала на несуществующую папку (удалили ее, к примеру). В результате, на больших выборках (и при ресторе индексов) FB останавливался с сообщением, что не может создать файл. Естественно, причину нашли. Но можно сделать (или уже сделали), чтобы в сообщении было видно, какой файл (или в какой папке), FB не может создать? Это упростило бы диагностику проблемы.
4. Случай с FB 2.1. Во время пакетной вставки (внутри триггера), закончилось место на диске с БД. firebird.log оказался забитым сообщениями про ненайденные страницы(что-то вроде "запрашивалась 65 страница, найдено только 55 и т.д.). С обработкой таких ситуаций что-нибудь сделали (сделают)?
Re: Вопросы по FB 2.5.0.25904 и FB 2.1
Правила нетикета и простая логика гласит - никогда не задавайте более одного вопроса в одном письме.
В чём вопрос ?CyberMax писал(а):1. FB 2.5. Вставка в GTT в рамках readonly-транзакции (isolation level - транзакция)- это фича? В RN не нашел ничего по этому поводу.
Воспроизводимый пример где ?CyberMax писал(а):2. Есть пользователь, таблица1 и триггер на ней, вставляющий в таблицу2 некие данные. У пользователя нет прав на вставку в таблицу2 (только select), у триггера есть. В FB 2.1 все нормально отрабатывает. FB 2.5 затребовал права на вставку в таблицу2. Так и должно быть?
В сообщении должно быть полное имя файла. Опять же - пример где ?CyberMax писал(а):3. Случай с FB 2.1. В firebird.conf переменная TempDirectories указывала на несуществующую папку (удалили ее, к примеру). В результате, на больших выборках (и при ресторе индексов) FB останавливался с сообщением, что не может создать файл. Естественно, причину нашли. Но можно сделать (или уже сделали), чтобы в сообщении было видно, какой файл (или в какой папке), FB не может создать? Это упростило бы диагностику проблемы.
В 2.1 и сделали. Может стоит внимательнее читать сообщения в логе ? Что ещё не хватает ?CyberMax писал(а):4. Случай с FB 2.1. Во время пакетной вставки (внутри триггера), закончилось место на диске с БД. firebird.log оказался забитым сообщениями про ненайденные страницы(что-то вроде "запрашивалась 65 страница, найдено только 55 и т.д.). С обработкой таких ситуаций что-нибудь сделали (сделают)?
Re: Вопросы по FB 2.5.0.25904 и FB 2.1
Учту.hvlad писал(а):Правила нетикета и простая логика гласит - никогда не задавайте более одного вопроса в одном письме.
Вопрос в том, является ли это нормальным режимом работы с GTT . С выхода FB 2.1 для работы с ними использовал write-транзакцию, а тут на днях выяснил, что и внутри readonly можно то же самое делать...hvlad писал(а):В чём вопрос ?CyberMax писал(а):1. FB 2.5. Вставка в GTT в рамках readonly-транзакции (isolation level - транзакция)- это фича? В RN не нашел ничего по этому поводу.
Даю картинку сообщения (выложил на народе - проще было):hvlad писал(а):В сообщении должно быть полное имя файла. Опять же - пример где ?CyberMax писал(а):В firebird.conf переменная TempDirectories указывала на несуществующую папку (удалили ее, к примеру). В результате, на больших выборках (и при ресторе индексов) FB останавливался с сообщением, что не может создать файл.
fb_error.jpg
Текст писал по памяти, а тот лог уже удалил. Но с другой БД видимо была та же история. Cообщения вот такие:hvlad писал(а):В 2.1 и сделали. Может стоит внимательнее читать сообщения в логе ?CyberMax писал(а):4. Случай с FB 2.1. Во время пакетной вставки (внутри триггера), закончилось место на диске с БД. firebird.log оказался забитым сообщениями про ненайденные страницы(что-то вроде "запрашивалась 65 страница, найдено только 55 и т.д.). С обработкой таких ситуаций что-нибудь сделали (сделают)?
Код: Выделить всё
Error extending file "G:\DB\BACKUP\DATABASE.FDB" by 63 page(s).
Currently allocated 371397 pages, requested page number 371459
По второму пункту делаю тесты. Возможно, что все-таки затупил с правами.
Re: Вопросы по FB 2.5.0.25904 и FB 2.1
По п.2. Так и есть, моя ошибка - в триггере вызывалась ХП, которая обращалась к таблице2, не имея никаких прав на нее.
А есть возможность добавить в скудное сообщение "This user does not have privilege to perform this operation on this object. No permission for update/write access to TABLE2." подробности, у кого и на что прав нет? Или идти в сад?
А есть возможность добавить в скудное сообщение "This user does not have privilege to perform this operation on this object. No permission for update/write access to TABLE2." подробности, у кого и на что прав нет? Или идти в сад?
Re: Вопросы по FB 2.5.0.25904 и FB 2.1
Это не так. В read-only тр-ции невозможно, выдаётся ошибкаCyberMax писал(а):Вопрос в том, является ли это нормальным режимом работы с GTT . С выхода FB 2.1 для работы с ними использовал write-транзакцию, а тут на днях выяснил, что и внутри readonly можно то же самое делать...hvlad писал(а):В чём вопрос ?CyberMax писал(а):1. FB 2.5. Вставка в GTT в рамках readonly-транзакции (isolation level - транзакция)- это фича? В RN не нашел ничего по этому поводу.
The INSERT, UPDATE, DELETE, DDL or authorization statement cannot be executed because the transaction is inquiry only.
attempted update during read-only transaction.
Хотя у нас есть желание разрешить писать в GTT в read-only тр-циях, но пока это не реализовано.
Скорее всего у тебя не read-only тр-ция.
Re: Вопросы по FB 2.5.0.25904 и FB 2.1
Проще для всех было бы показать текст ошибки, а не требовать скачать файл с указанием неразборчивой капчи.CyberMax писал(а):Даю картинку сообщения (выложил на народе - проще было):hvlad писал(а):В сообщении должно быть полное имя файла. Опять же - пример где ?CyberMax писал(а):В firebird.conf переменная TempDirectories указывала на несуществующую папку (удалили ее, к примеру). В результате, на больших выборках (и при ресторе индексов) FB останавливался с сообщением, что не может создать файл.
fb_error.jpg
Нашёл это место в ФБ, есть такое дело. Я помню, что это вопрос поднимался то ли в саппорте, то ли даже в трекере.
И у меня было впечатление, что его закрыли...
Трекер поднимут, можешь написать ему, если там такого ещё нет.
Re: Вопросы по FB 2.5.0.25904 и FB 2.1
Тут тоже выдаётся исключение.CyberMax писал(а):Cообщения вот такие:Вопрос собственно в том, что в случае других ситуаций (internal gds check и прочее) выдается исключение. А тут - нет.Код: Выделить всё
Error extending file "G:\DB\BACKUP\DATABASE.FDB" by 63 page(s). Currently allocated 371397 pages, requested page number 371459
Re: Вопросы по FB 2.5.0.25904 и FB 2.1
Идти нужно в трекер, когда его поднимутCyberMax писал(а):По п.2. Так и есть, моя ошибка - в триггере вызывалась ХП, которая обращалась к таблице2, не имея никаких прав на нее.
А есть возможность добавить в скудное сообщение "This user does not have privilege to perform this operation on this object. No permission for update/write access to TABLE2." подробности, у кого и на что прав нет? Или идти в сад?
Re: Вопросы по FB 2.5.0.25904 и FB 2.1
Полез в код, и точно. В TpFIBTransaction.StartTransaction выставлялись "write", "isc_tpb_nowait" и "rec_version" и "read_committed", потому что блин в TPBMode по умолчанию стоит tpbReadCommitted, а не tpbDefault. Теперь многие моменты получили объяснение. Исправил.hvlad писал(а):Это не так. В read-only тр-ции невозможно, выдаётся ошибкаCyberMax писал(а):Вопрос в том, является ли это нормальным режимом работы с GTT . С выхода FB 2.1 для работы с ними использовал write-транзакцию, а тут на днях выяснил, что и внутри readonly можно то же самое делать...hvlad писал(а):В чём вопрос ?CyberMax писал(а):1. FB 2.5. Вставка в GTT в рамках readonly-транзакции (isolation level - транзакция)- это фича? В RN не нашел ничего по этому поводу.
The INSERT, UPDATE, DELETE, DDL or authorization statement cannot be executed because the transaction is inquiry only.
attempted update during read-only transaction.
Хотя у нас есть желание разрешить писать в GTT в read-only тр-циях, но пока это не реализовано.
Скорее всего у тебя не read-only тр-ция.
P.S. Насчет записи в GTT в RO-транзакциях. Мне эта возможность пригодится (GTT используются для фильтрации справочников и отчетов, которые работают в RO-транзакциях).
Re: Вопросы по FB 2.5.0.25904 и FB 2.1
Влад, не было исключения. Попробую воспроизвести на FB 2.5.hvlad писал(а):Тут тоже выдаётся исключение.CyberMax писал(а):Cообщения вот такие:Вопрос собственно в том, что в случае других ситуаций (internal gds check и прочее) выдается исключение. А тут - нет.Код: Выделить всё
Error extending file "G:\DB\BACKUP\DATABASE.FDB" by 63 page(s). Currently allocated 371397 pages, requested page number 371459
Re: Вопросы по FB 2.5.0.25904 и FB 2.1
С удовольствием исправлю, когда увижу своими глазамиCyberMax писал(а):Влад, не было исключения. Попробую воспроизвести на FB 2.5.hvlad писал(а):Тут тоже выдаётся исключение.CyberMax писал(а):Cообщения вот такие:Вопрос собственно в том, что в случае других ситуаций (internal gds check и прочее) выдается исключение. А тут - нет.Код: Выделить всё
Error extending file "G:\DB\BACKUP\DATABASE.FDB" by 63 page(s). Currently allocated 371397 pages, requested page number 371459
Re: Вопросы по FB 2.5.0.25904 и FB 2.1
Так, посмотрел ещё раз Таки нет исключения, когда расширить файл не удалось.CyberMax писал(а):Влад, не было исключения. Попробую воспроизвести на FB 2.5.hvlad писал(а):Тут тоже выдаётся исключение.CyberMax писал(а):Cообщения вот такие:Вопрос собственно в том, что в случае других ситуаций (internal gds check и прочее) выдается исключение. А тут - нет.Код: Выделить всё
Error extending file "G:\DB\BACKUP\DATABASE.FDB" by 63 page(s). Currently allocated 371397 pages, requested page number 371459
И оно там не нужно, ибо БД ещё продолжает работать на "старом запасе".
Текущая операция (выделение страницы) завершается успешно, ибо расширение файла БД делается с упреждением и страница выделяется из имеющегося в хвосте файла места.
Вот когда этот запас исчерпается - тогда и будет исключение.
Re: Вопросы по FB 2.5.0.25904 и FB 2.1
Спасибо за разъяснение .hvlad писал(а):Так, посмотрел ещё раз Таки нет исключения, когда расширить файл не удалось.
И оно там не нужно, ибо БД ещё продолжает работать на "старом запасе".
Текущая операция (выделение страницы) завершается успешно, ибо расширение файла БД делается с упреждением и страница выделяется из имеющегося в хвосте файла места.
Вот когда этот запас исчерпается - тогда и будет исключение.
Re: Вопросы по FB 2.5.0.25904 и FB 2.1
вроде я что-то делал на этот счет в 2.5... но уже не помнюhvlad писал(а):Нашёл это место в ФБ, есть такое дело. Я помню, что это вопрос поднимался то ли в саппорте, то ли даже в трекере.
И у меня было впечатление, что его закрыли...