powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / FB4.0 Проблемы совместимости
25 сообщений из 38, страница 1 из 2
FB4.0 Проблемы совместимости
    #40074780
Шавлюк Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Установил сегодня релиз 4.0, возникла проблема с генератором.
Не уверен, но вроде бы на релиз-кандидатах я этого не замечал.

Есть генератор, используемый для хранения версии БД

Обновление версии провожу так:
Код: sql
1.
ALTER SEQUENCE GEN_VERSION RESTART WITH 21060100;


Проверку текущей версии
Код: sql
1.
select gen_id(GEN_VERSION, 0) from rdb$database


На всех предыдущих версиях результат был 21060100, а на 4.0.0 - 21060099
...
Рейтинг: 0 / 0
FB4.0 Проблемы совместимости
    #40074786
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шавлюк ЕвгенийНе уверен, но вроде бы на релиз-кандидатах я этого не замечал.

Результат багфикса https://github.com/FirebirdSQL/firebird/issues/6334
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FB4.0 Проблемы совместимости
    #40074789
Шавлюк Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

Значит я "размочил" релиз :)
...
Рейтинг: 0 / 0
FB4.0 Проблемы совместимости
    #40074824
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шавлюк Евгений,

раньше 3-4 минорных релизов юзать по-настоящему страшно :)
...
Рейтинг: 0 / 0
FB4.0 Проблемы совместимости
    #40074856
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Док
Шавлюк Евгений,

раньше 3-4 минорных релизов юзать по-настоящему страшно :)

А после 34...43 релизов как ты FB4.0 использовать собрался?
"Новый архиватор, отлично упаковывает, функционал распаковки возможно, будет доступен позднее." - (с).
...
Рейтинг: 0 / 0
FB4.0 Проблемы совместимости
    #40074877
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шавлюк Евгений> Значит я "размочил" релиз :)

С почином. :)

P.S. А ты что, везде перешёл на
сиквенсы вместо генераторов?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FB4.0 Проблемы совместимости
    #40074878
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам,

а какая разница? Слова SEQUENCE и GENERATOR просто синонимы.
Там разница только для оператора SET GENERATOR. В остальных случаях они взаимозаменяемы
...
Рейтинг: 0 / 0
FB4.0 Проблемы совместимости
    #40074890
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис
Гаджимурадов Рустам,

а какая разница? Слова SEQUENCE и GENERATOR просто синонимы.
Там разница только для оператора SET GENERATOR. В остальных случаях они взаимозаменяемы

Есть еще NEXT VALUE FOR sequence-name вместо GEN_ID( generator-name, 1 ).
И даже пишут на офсайте, что
is the recommended syntax from Firebird 2.0 onward.
...
Рейтинг: 0 / 0
FB4.0 Проблемы совместимости
    #40074894
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис> а какая разница?

Это серьёзный вопрос или шутка?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FB4.0 Проблемы совместимости
    #40074896
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тем более, что они (Set+GenId vs NextValue+Restart) вовсе не эквивалентны.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FB4.0 Проблемы совместимости
    #40074908
Шавлюк Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам
А ты что, везде перешёл на
сиквенсы вместо генераторов?


В большинстве мест (триггеры) я использую GEN_ID(GENERATOR_NAME, 1)

ALTER SEQUENCE, только для хранения версии
...
Рейтинг: 0 / 0
FB4.0 Проблемы совместимости
    #40075252
Шавлюк Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отправьте, пожалуйста, кто-нибудь этот баг в трекер.
...
Рейтинг: 0 / 0
FB4.0 Проблемы совместимости
    #40075256
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шавлюк Евгений,

какой баг ?
...
Рейтинг: 0 / 0
FB4.0 Проблемы совместимости
    #40075257
Шавлюк Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шавлюк Евгений
На всех предыдущих версиях результат был 21060100, а на 4.0.0 - 21060099

Это разве не баг?
...
Рейтинг: 0 / 0
FB4.0 Проблемы совместимости
    #40075258
Шавлюк Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пока буду сюда в этот топик складывать проблемные места

Есть вот такая процедура

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
create or alter procedure TEST (
    N integer,
    V integer)
as
declare variable nums varchar(16) = '[-+]?[0-9]{1,10}';
declare variable b boolean;
begin
  while (n > 0) do
  begin
    if (v = 1) then
      b = '5' similar to nums;
    else if (v = 2) then
      b = '5' similar to '[-+]?[0-9]{1,10}';
    n = n - 1;
  end
end



И вызов соответственно:
Код: sql
1.
execute procedure test(1000000, 1)


На fb4.0 у меня выполнение занимает около 1 минуты (!!!!), на fb3.0 - ~4 секунды

Код: sql
1.
execute procedure test(1000000, 2)


На fb4.0 - 1 секунда , на fb3.0 - ~1.5 секунды (тут fb4.0 выигрывает)
...
Рейтинг: 0 / 0
FB4.0 Проблемы совместимости
    #40075262
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это разве не баг?
тынц в релизные ноты
...
Рейтинг: 0 / 0
FB4.0 Проблемы совместимости
    #40075267
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrтынц в релизные ноты
учудили какой-то логический бред.
Если
"Then a sequence with starting value = 100 and increment = 10 has its first NEXT VALUE equal to 100 now, while it was 110 before."
еще норм, то
"Likewise, this sequence has its first GEN_ID(SEQ, 1) equal to 91 now, while it was 101 before."
это ни в какие ворота.

Хотя, вообще-то "next value" это "следующее значение", и при starting value (начальном значении) и инкременте = 10 "следующее значение" должно быть 110, а не 100.
Кто там вас запутал?

p.s. ну хорошо, пусть первый икремент начинается со стартового значения. Но "first GEN_ID(SEQ, 1) equal to 91 now" - это вообще что за ахинея?
...
Рейтинг: 0 / 0
FB4.0 Проблемы совместимости
    #40075271
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шавлюк Евгений
Шавлюк Евгений
На всех предыдущих версиях результат был 21060100, а на 4.0.0 - 21060099

Это разве не баг?
Тебе же показали ссылку на трекер - старое поведение не соотвествует стандарту и его исправили.
...
Рейтинг: 0 / 0
FB4.0 Проблемы совместимости
    #40075272
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шавлюк Евгений
На fb4.0 у меня выполнение занимает около 1 минуты (!!!!), на fb3.0 - ~4 секунды
Реализация similar to была значительно изменена, и в основном новая (основана на библиотеке RE2) работает гораздо лучше старой (самописной).

PS Каким образом это связано с проблемами совместимости (см subj) ? ;)
...
Рейтинг: 0 / 0
FB4.0 Проблемы совместимости
    #40075273
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добавлю,

а сам пример - хороший, буду разбираться, спасибо ;)
...
Рейтинг: 0 / 0
FB4.0 Проблемы совместимости
    #40075319
Фотография Exteris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
старое поведение не соотвествует стандарту и его исправили.

Надеюсь в gen_id осталось прежнее поведение?
...
Рейтинг: 0 / 0
FB4.0 Проблемы совместимости
    #40075323
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv
Хотя, вообще-то "next value" это "следующее значение", и при starting value (начальном значении) и инкременте = 10 "следующее значение" должно быть 110, а не 100.

starting value это не начальное значение, а первое сгенеренное с помощью NEXT VALUE FOR для заданного в сиквенсе инкремента. Поэтому начальное значение = стартовое значение - инкремент . Вот и все, что было сделано. А все нюансы с GEN_ID (которому пох и на starting value и на increment ) - уже следствие.
...
Рейтинг: 0 / 0
FB4.0 Проблемы совместимости
    #40075324
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Exteris
Надеюсь в gen_id осталось прежнее поведение?

для тех, кто не юзает START WITH / RESTART WITH в CREATE / ALTER SEQUENCE - все осталось по-прежнему
...
Рейтинг: 0 / 0
FB4.0 Проблемы совместимости
    #40075327
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitr,

а SET GENERATOR ведёт себе как ALTER SEQUENCE или по старому?
...
Рейтинг: 0 / 0
FB4.0 Проблемы совместимости
    #40075331
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по-старому
...
Рейтинг: 0 / 0
25 сообщений из 38, страница 1 из 2
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / FB4.0 Проблемы совместимости
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]