Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / FB4.0 Проблемы совместимости / 25 сообщений из 38, страница 1 из 2
01.06.2021, 16:39
    #40074780
Шавлюк Евгений
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FB4.0 Проблемы совместимости
Установил сегодня релиз 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
01.06.2021, 16:46
    #40074786
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FB4.0 Проблемы совместимости
Шавлюк ЕвгенийНе уверен, но вроде бы на релиз-кандидатах я этого не замечал.

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

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

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

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

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

С почином. :)

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

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

а какая разница? Слова 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
01.06.2021, 21:52
    #40074894
Гаджимурадов Рустам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FB4.0 Проблемы совместимости
Симонов Денис> а какая разница?

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


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

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

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

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

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

Код: 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
02.06.2021, 22:24
    #40075262
dimitr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FB4.0 Проблемы совместимости
Это разве не баг?
тынц в релизные ноты
...
Рейтинг: 0 / 0
02.06.2021, 22:36
    #40075267
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FB4.0 Проблемы совместимости
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
02.06.2021, 23:08
    #40075271
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FB4.0 Проблемы совместимости
Шавлюк Евгений
Шавлюк Евгений
На всех предыдущих версиях результат был 21060100, а на 4.0.0 - 21060099

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

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

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

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

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

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

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


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