powered by simpleCommunicator - 2.0.48     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Глюки и регрессии при работе с FB 4.0 Release
74 сообщений из 74, показаны все 3 страниц
Глюки и регрессии при работе с FB 4.0 Release
    #40075565
Фотография Владимир П.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Делаем проект на Lazarus с применением IBX.

Обрадовались, было, мы выходу релиза Firebird 4, поставили его вместо Release Candidate. И приплыли.

Как только в запросе встречаются именованные параметры, приложение вылетает на Prepare . И на присвоении значения параметру без явного Prepare, через ParamByName('xxxxx').AsXxxxx := . Возникает exception: Data type unknown When Executing: (здесь текст запроса) . Проявляется и на Винде, и на Линухе.

IBX свежее некуда, установлен через штатный репозиторий Лазаруса.
Всё очень похоже на описанное в этой теме: (FB4) FBAPI - IMetadataBuilder_getMetadataPtr - ошибка в последних сборках . Приложение нормально работает, цепляясь и к RC1, и к Beta-2; только с 4.0-Release возникает глюк.

Что делать, кого пинать? Пока решили остаться на релиз-кандидате, но это же неправильный способ.
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40075572
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир П.
Всё очень похоже на описанное в этой теме: (FB4) FBAPI - IMetadataBuilder_getMetadataPtr - ошибка в последних сборках .
Ну так там же была ошибка в коде 22315253
У вас так же ?
Если нет - где тестовый пример ?
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40075619
ggreggory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владимир П.
Возникает exception: Data type unknown When Executing: (здесь текст запроса) .


А DataTypeCompatibility = 3.0 не забыли прописать?
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40075633
bum_bum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ggreggory
Владимир П.
Возникает exception: Data type unknown When Executing: (здесь текст запроса) .


А DataTypeCompatibility = 3.0 не забыли прописать?


База данных свежая, создана под FB 4.0.0.1963 (x64). Приложения создаются в Lazarus с IBX 2.4.0.
С версией FB 4.0.0.1963 (x64) приложения работают, при установке Firebird-4.0.0.2496-1-x64 всё слетает на первом же Prepare с сообщением, о котором сказано выше (Data type unknown When Executing: <Текст запроса>).
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40075636
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bum_bumПриложения создаются в Lazarus с IBX 2.4.0.

Исправлять Firebird ради глюка в сторонних компонентах никто не будет. Ты приведённую
ссылку на топик читал?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40075642
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bum_bum,

пиши сюда https://mwasoftware.co.uk/contact-us
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40075644
bum_bum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис
bum_bum,

пиши сюда https://mwasoftware.co.uk/contact-us

Спасибо, это понятно.
Была надежда, что подскажут, что собственно изменилось в подготовке запроса. Было бы понятно, где искать причину.
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40075649
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bum_bumБыла надежда, что подскажут, что собственно изменилось в подготовке запроса.

Повторяю медленно: ссылка на топик в первом посте. Какое слово из неё тебе непонятно?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40075658
ggreggory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
bum_bum
ggreggory
пропущено...


А DataTypeCompatibility = 3.0 не забыли прописать?


База данных свежая, создана под FB 4.0.0.1963 (x64). Приложения создаются в Lazarus с IBX 2.4.0.
С версией FB 4.0.0.1963 (x64) приложения работают, при установке Firebird-4.0.0.2496-1-x64 всё слетает на первом же Prepare с сообщением, о котором сказано выше (Data type unknown When Executing: <Текст запроса>).


Неважно, как вы её создали, без DataTypeCompatibility = 3.0 ничего у вас работать не будет.
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40075672
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bum_bum
Была надежда, что подскажут, что собственно изменилось в подготовке запроса.
В реализации MetadataBuilder - ничего.
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40075675
bum_bum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad,
спасибо. Там и смотрю.
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40075717
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bum_bum,
не надо там смотреть. Вернее, смотреть надо не там.
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40075736
bum_bum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdv,
Не скучно с вами. С первого коммента понятно, что профессионалы, готовые помочь.
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40075749
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bum_bum> Не скучно с вами.


Развлечения в более других местах.
Про DataTypeCompatibility вы так и
не удосужились ответить.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40075760
bum_bum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гаджимурадов Рустам
bum_bum> Не скучно с вами.


Развлечения в более других местах.
Про DataTypeCompatibility вы так и
не удосужились ответить.

Про DataTypeCompatibility я ответил выше. База данных новая, созданной под FB 4.0, какой смысл поддерживать совместимость с предыдущими версиями, если у неё их просто нет? В IBX 2.4.0 заявлена поддержка новых типов данных, которые появились в FB 4.0. С версией FB 4.0.0.1963 (x64) проблем нет и без DataTypeCompatibility. Проблема появилась после установки Firebird-4.0.0.2496-1-x64. Надо снова поставить эту версию (Firebird-4.0.0.2496-1-x64) и оттрассировать Prepare в IBX. Займусь, как будет время.
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40075775
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bum_bum,

или 22331195
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40075782
bum_bum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad,
Эта ветка изучена, исходник скачал. С ним тоже буду разбираться, но мне нужен рабочий IBX, речь идёт о многих приложениях, а не об одной программе. Авторы IBX отмечались в своём репозитарии три месяца назад, изменений не было с февраля сего года. Ждать от них скорых исправлений, наверное, не самая хорошая идея. Цейтнот, одним словом.
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40075786
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bum_bum,

пока что нет никаких точных сведений об источнике проблемы.
Из имеющейся инф-ции невозможно утверждать, что проблема в IBX или в FB.
Не хотите делать маленький тестовый пример - я упрашивать не собираюсь.
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40075788
bum_bum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad,
Спасибо и на этом. Маленький пример под Lazarus с IBX набросать совсем не трудно. Но для его запуска нужен будет Lazarus с установленными IBX. Могу выложить. Это поможет?
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40075789
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не цейтнот, а цугцванг. И не цугцванг, а тупик.


bum_bum> Авторы IBX отмечались в своём репозитарии три месяца назад

Вы пробовали с ними связаться хоть?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40075792
bum_bum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гаджимурадов Рустам
Не цейтнот, а цугцванг. И не цугцванг, а тупик.


bum_bum> Авторы IBX отмечались в своём репозитарии три месяца назад

Вы пробовали с ними связаться хоть?

Пока не связывался, попробую на следующей неделе.
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40075800
bum_bum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В архиве пример, который работает под FB 4.0.0.1963 (x64), но вываливается на Prepare под Firebird-4.0.0.2496-1-x64.
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40075826
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bum_bumНе скучно с вами. С первого коммента понятно, что профессионалы, готовые помочь.
на будущее - не сообщайте подробности в середине топика 22331582 .
Делайте это сразу, чтобы вам не тыкали в "очевидные для вас вещи". Они очевидны вам, но не очевидны другим.
Кто тут на Лазаре пишет? Х.з.
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40075838
vkorshun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В исходниках легко чинится. Я добавил проверку и не вызываю метод если тип параметра не определен. Пользуюсь только API - пока все Ок.
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40075839
vkorshun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот исправленный метод

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
procedure TIBXINPUTSQLDA.BuildMetadata;
var Builder: Firebird.IMetadataBuilder;
    i: integer;
begin
  if FCurMetaData = nil then
  with FFirebird30ClientAPI do
  begin
    Builder := inherited MetaData.getBuilder(StatusIntf);
    Check4DataBaseError;
    try
      for i := 0 to Count - 1 do
      with TIBXSQLVar(Column[i]) do
      begin
        if FSQLType > 0 then
        begin
          Builder.setType(StatusIntf,i,FSQLType);
          Check4DataBaseError;
          Builder.setSubType(StatusIntf,i,FSQLSubType);
          Check4DataBaseError;
          Builder.setLength(StatusIntf,i,FDataLength);
          Check4DataBaseError;
          Builder.setCharSet(StatusIntf,i,GetCharSetID);
          Check4DataBaseError;
          Builder.setScale(StatusIntf,i,FScale);
          Check4DataBaseError;
        end;
      end;
      FCurMetaData := Builder.getMetadata(StatusIntf);
      Check4DataBaseError;
    finally
      Builder.release;
    end;
  end;
end;
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40075840
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladпока что нет никаких точных сведений об источнике проблемы.

Источник "проблемы":
https://github.com/FirebirdSQL/firebird/commit/967fb28e5d7a60be449490c1c7b59caa9a7bcd16#diff-fd13f6dad7546b58e5bb52da7144847ab1e126779c744019a360db1516cc1fb9

Был взадпортирован в тройку, так что ожидайте наплыв недовольных в саппорте и трекере.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40075841
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkorshun,

Это обход проблемы.

А сама проблема всё же в IBX, он использует неинициализированные TIBXSQLVar при работе с IMetadataBuilder.
А использует их он потому, что вызывает BuildMetadata из Bind - косвенно, вот тут:

Код: sql
1.
2.
3.
4.
5.
6.
7.
procedure TIBXINPUTSQLDA.Bind(aMetaData: Firebird.IMessageMetadata);
var i: integer;
begin
  FMetaData := aMetaData;
  with FFirebird30ClientAPI do
  begin
    Count := metadata.getCount(StatusIntf);  <<<----


т.е. пытаясь инициализировать параметры он их использует.


Вот до чего доводит over-engineering ;)

PS только у меня dclibx роняет Lazarus IDE ?
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40075844
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И, насколько я могу судить, действительно исправить всё можно вот так
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
procedure TIBXINPUTSQLDA.Bind(aMetaData: Firebird.IMessageMetadata);
var i: integer;
begin
  FMetaData := aMetaData;
  with FFirebird30ClientAPI do
  begin
//    Count := metadata.getCount(StatusIntf);
    Count := aMetaData.getCount(StatusIntf);
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40075845
vkorshun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad
vkorshun,

Это обход проблемы.

А сама проблема всё же в IBX, он использует неинициализированные TIBXSQLVar при работе с IMetadataBuilder.
А использует их он потому, что вызывает BuildMetadata из Bind - косвенно, вот тут:

т.е. пытаясь инициализировать параметры он их использует.



Ну , это временный костыль, пока автор уберет лишний вызов
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40075850
vkorshun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad
И, насколько я могу судить, действительно исправить всё можно вот так
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
procedure TIBXINPUTSQLDA.Bind(aMetaData: Firebird.IMessageMetadata);
var i: integer;
begin
  FMetaData := aMetaData;
  with FFirebird30ClientAPI do
  begin
//    Count := metadata.getCount(StatusIntf);
    Count := aMetaData.getCount(StatusIntf);



Спасибо. Работает.
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40075857
vkorshun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Но есть еще TIBXOUTPUTSQLDA.Bind - там надо то же самое, наверно.

hvlad
И, насколько я могу судить, действительно исправить всё можно вот так
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
procedure TIBXINPUTSQLDA.Bind(aMetaData: Firebird.IMessageMetadata);
var i: integer;
begin
  FMetaData := aMetaData;
  with FFirebird30ClientAPI do
  begin
//    Count := metadata.getCount(StatusIntf);
    Count := aMetaData.getCount(StatusIntf);

...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40075859
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkorshun
Но есть еще TIBXOUTPUTSQLDA.Bind - там надо то же самое, наверно.
Туда я не смотрел, но если общая логика такая же, то скорее да, чем нет
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40075890
bum_bum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad
И, насколько я могу судить, действительно исправить всё можно вот так
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
procedure TIBXINPUTSQLDA.Bind(aMetaData: Firebird.IMessageMetadata);
var i: integer;
begin
  FMetaData := aMetaData;
  with FFirebird30ClientAPI do
  begin
//    Count := metadata.getCount(StatusIntf);
    Count := aMetaData.getCount(StatusIntf);

Большое человеческое СПАСИБО! Это... высший пилотаж! На неделе буду пробовать пересобрать IBX с этими исправлениями. От всей души благодарю.
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40075893
bum_bum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdv
bum_bumНе скучно с вами. С первого коммента понятно, что профессионалы, готовые помочь.

на будущее - не сообщайте подробности в середине топика 22331582 .
Делайте это сразу, чтобы вам не тыкали в "очевидные для вас вещи". Они очевидны вам, но не очевидны другим.
Кто тут на Лазаре пишет? Х.з.На будущее - читайте внимательнее, прежде чем поучать. В моём первом сообщении 22331304 содержалась та же информацию, которую потом пришлось просто повторить. И не надо никого тыкать, здесь не домашние питомцы, а разработчики, которые столкнулись с проблемой, которую создали не они. И я искренне благодарен тем, кто реально нам помогает. Хорошего Вам настроения... хоть иногда.
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40075897
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bum_bumсодержалась та же информацию, которую потом пришлось просто повторить
нет. вы не сказали, что проект исключительно на 4.0, и совместимость с предыдущими не нужна. Это бы сразу отсекло процентов 30 ответов.
bum_bumздесь не домашние питомцы, а разработчики, которые столкнулись с проблемой
why so serious?
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40075899
bum_bum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad
vkorshun
Но есть еще TIBXOUTPUTSQLDA.Bind - там надо то же самое, наверно.
Туда я не смотрел, но если общая логика такая же, то скорее да, чем нет
Пересобрал IBX с внесёнными изменениями. Проверил на нескольких приложениях. Проблема испарилась! Крайне признателен Вам.
Для тех, кто идёт следом:
1. Открываем загруженный пакет fbintf [Пакеты -> Открыть загруженный пакет -> (Выбираем fbintf)];
2. Выбираем файл FB30Statement.pas и загружаем его;
3. Находим процедуру TIBXINPUTSQLDA.Bind;
4. Вносим изменения, которые подсказал hvlad:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
procedure TIBXINPUTSQLDA.Bind(aMetaData: Firebird.IMessageMetadata);
var i: integer;
begin
  FMetaData := aMetaData;
  with FFirebird30ClientAPI do
  begin
//    Count := metadata.getCount(StatusIntf);
    Count := aMetaData.getCount(StatusIntf);
5. Аналогично корректируем процедуру: procedure TIBXOUTPUTSQLDA.Bind(aMetaData: Firebird.IMessageMetadata);
6. Компилируем, используем и от души благодарим того, кто нам помог!
Всем успехов и доброго здоровья!
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40075905
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bum_bumздесь не домашние питомцы, а разработчики, которые столкнулись с проблемой, которую
создали не они.

Проблему создали авторы IBX. Разработчики пошли не на их форум, а сюда. Они точно не
питомцы?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40075978
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdv
bum_bumНе скучно с вами. С первого коммента понятно, что профессионалы, готовые помочь.

на будущее - не сообщайте подробности в середине топика 22331582 .
Делайте это сразу, чтобы вам не тыкали в "очевидные для вас вещи". Они очевидны вам, но не очевидны другим.
Кто тут на Лазаре пишет? Х.з.
А что, есть ещё хоть одна клинетская библиотека, в которой заявлена поддержка FB4.0? Кроме обсуждаемой.
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40075997
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bum_bum,

я надеюсь ты сообщил об этой проблеме автору IBX?
Если ещё нет, то надо бы сообщить, да и фикс заодно выслать
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40076005
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ,

кхм. Я бы не сказал что IBX2 поддерживает все фичи 4.0. То что в неё внесли изменение, чтобы она в принципе умела работать под 4.0 это да.

Ну вот например новые типы данных (INT128, DECFLOAT), ну нету ни в Delphi, ни в FPC ничего нативного, чтобы с ними работать полноценно. Можно только хоть как-то на существующие типы данных отображение сделать. А вот поддержку TIME[STAMP] WITH TIMEZONE можно нативную прикрутить.

Что можно сказать о других компонентах доступа:

FireDac сейчас выходит только в месте с новой версией Delphi. Покупать новую версию ещё не каждый будет, так что что там я хз, но можно спросить Арефьева. Он есть на этом форуме в https://www.sql.ru/forum/delphi

Что там у IBDac, UniDac от devart я тоже хз.

В стандартной IBX от дельфи, точно ничего не будет.

В форке FibPlus только если вы сами прикрутите или найдётся энтузиаст, но этим надо заниматься. Но я побаиваюсь быть таким энтузиаст, всё таки форк лицензионно не чистый.

UIB вроде как полутруп. Последний коммит был 5 лет назад.

Мой вам совет, используйте то что и использовали. Если надо прям какую-то мегафичу из 4.0, переходите к вызовам Firebird API.
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40076022
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис
Я бы не сказал что IBX2 поддерживает все фичи 4.0
Я не нашёл упоминаний об этом на их сайте. И Firebird.pas у них хоть и из fb4, но не свежий.

Симонов Денис
Ну вот например новые типы данных (INT128, DECFLOAT), ну нету ни в Delphi, ни в FPC ничего нативного, чтобы с ними работать полноценно
Не скажу за полноценно, но давно уже есть BCD.
На самый крайний случай - есть VARCHAR, так что клиент может как минимум показать данные этих типов.
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40076026
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис
кхм. Я бы не сказал что IBX2 поддерживает все фичи 4.0. То что в неё внесли изменение, чтобы она в принципе умела работать под 4.0 это да.

Труд с ними, с большими числами.
IBX 2 хоть "в принципе" может. А больше никто не "может", даже "в принципе" (кроме ДС).
Я о том, что новый FB - "вещь в себе". Вроде бы релиз есть, но что с ним делать.

Симонов Денис
FireDac сейчас выходит только в месте с новой версией Delphi. Покупать новую версию ещё не каждый будет, так что что там я хз, но можно спросить Арефьева. Он есть на этом форуме в https://www.sql.ru/forum/delphi

Что там у IBDac, UniDac от devart я тоже хз.

В стандартной IBX от дельфи, точно ничего не будет.

В форке FibPlus только если вы сами прикрутите или найдётся энтузиаст, но этим надо заниматься. Но я побаиваюсь быть таким энтузиаст, всё таки форк лицензионно не чистый.

UIB вроде как полутруп. Последний коммит был 5 лет назад.


Я и говорю, что FB4.0 - непонятный продукт, ориентированный не на то, чтобы им пользоваться.
Типа как вебсайт, рассчитанный на несуществующие браузеры.
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40076035
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ
FB4.0 - непонятный продукт, ориентированный не на то, чтобы им пользоваться.
Т.е. кроме больших чисел ты в нём вообще ничего не видишь ?
Сам понял что сказал-то ? :)
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40076039
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad,

посмотрел код IBX2. Он умеет отображать DECFLOAT и INT128 (NUMERIC(38, x)) на BCD. Это уже хорошо. Для часовых поясов тоже кое-что есть.

использования BatchAPI пока не видел

ъъъъъ,

1. никто не мешает вам не пользоваться новыми типами данных. Просто работайте в режиме совместимости типов. В Firebird 4.0 и без этих типов есть множество вкусных плюшек
2. никто не мешает внести вам изменения в существующие компоненты доступа для поддержки новых фич 4.0. В конце концов их реализацию можно подсмотреть в IBX2
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40076055
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис
посмотрел код IBX2. Он умеет отображать DECFLOAT и INT128 (NUMERIC(38, x)) на BCD. Это уже хорошо. Для часовых поясов тоже кое-что есть.
Спасибо, хоть какая-то определённость :)

Кстати, хоть я и не следил внимательно за jaybird и .net, но сдаётся мне там тоже есть поддержка больших чисел.
Даже если сейчас нет, то точно будет.
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40076067
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bum_bum,

стукнуться можно в PM из отсюда .

Но излагайте свои мысли осторожно, в просительном тоне - автор весьма самолюбив. Один раз обидевшись, будет потом игнорить ваши сообщения :)
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40076085
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисЕсли надо прям какую-то мегафичу из 4.0, переходите к вызовам Firebird API.

Внезапно!
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40076093
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

что тут смешного? Если какой-либо большой проект написан на компонентах аля IBX, то переписывать его на использование чистого Firebird API не целесообразно и очень долго. 99% необходимого функционала уже есть в компонентах доступа. Оставшийся 1%, если требуется, то ради него можно на чистом API написать кусочек.
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40076105
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисчто тут смешного?

Не обращай внимания, это личные комплексы.

Проблема в том, что в некоторых компонентах добраться до API - весьма нетривиальная
задача. Всё, что ни попадя, включая хэндл загруженной библиотеки - каждый первый
компонентописатель делает приватным.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40076107
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
07.06.2021 13:39, Dimitry Sibiryakov пишет:
> Проблема в том, что в некоторых компонентах добраться до API - весьма нетривиальная
> задача. Всё, что ни попадя, включая хэндл загруженной библиотеки - каждый первый
> компонентописатель делает приватным.

дикари! ©
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40076117
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

в стандартном IBX хендлы торчат наружу.
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40076126
bum_bum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Докладываю. Сообщение об ошибке и способе её правки отправлено в mwasoftware. Также отправил сообщение на форум Lazarus (см. https://forum.lazarus.freepascal.org/index.php/topic,54856.msg408230.html ). Для меня вопрос закрыт. Ещё раз благодарю hvlad за оперативную и очень ценную помощь.
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40076132
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bum_bum
Сообщение об ошибке и способе её правки отправлено в mwasoftware. Также отправил сообщение на форум Lazarus
Спасибо.

PS Я искал более традиционные пути (трекер), но не нашёл.
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40076175
bum_bum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad,
Пришёл ответ из mwasoftware:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
hank you for this report. I will check it out ASAP and if confirmed will issue a fix to SVN.

Regards

Tony Whyman

MWA

> There is a bug in IBX 2.4.0 components. This version of IBX works with Firebird-4.0.0.1963-0-Beta2, but does not work with Firebird-4.0.0.2496-1. When calling the Prepare method for an SQL query, an error is thrown: Data type unknown When Executing: (here is the query text).
> The fix for this error is quite simple:
> 1. Open the downloaded package fbintf [Packages -> Open the downloaded package -> (Select fbintf)];
> 2. Select the FB30Statement.pas file and load it;
> 3. Find the procedure TIBXINPUTSQLDA.Bind;
> 4. We make the changes suggested by Vlad Khorsun:
>
>     procedure TIBXINPUTSQLDA.Bind (aMetaData: Firebird.IMessageMetadata);
>     var i: integer;
>     begin
>       FMetaData: = aMetaData;
>       with FFirebird30ClientAPI do
>       begin
>     // Count: = metadata.getCount (StatusIntf);
>         Count: = aMetaData.getCount (StatusIntf);
>
> 5. Correct the procedure in the same way: procedure TIBXOUTPUTSQLDA.Bind (aMetaData: Firebird.IMessageMetadata);
> 6. Compile
>
> Big request for these fixes in IBX 2.4.0
>
> With respect.
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40076177
bum_bum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad,

Это Вам большое спасибо, Вы многим помогли. И за Firebird тоже огромное спасибо и Вам и всем разработчикам. Давно пользуюсь этой СУБД, очень надёжна, компактна и быстра.
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40076504
tantico2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad
PS только у меня dclibx роняет Lazarus IDE ?


У меня на линуксе тоже роняет. Нужно dev пакеты от fb доставлять.
А с этим проблема, если ставишь из tar.gz с сайта (речь про 4.0)
Пробовал и линк libfbclient в /usr/lib кидать, и /opt/firebird/include в path включать...

Уважаемый bum_bum, как вы это решали?
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40076510
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tantico2,

в моём случае проблема была в том, что dclibx не мог найти fbclient.dll (я не держу ничего лишнего в system32).
Как только подложил копию в каталог к lazarus.exe - всё заработало.
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40076534
bum_bum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tantico2,
Мы пишем под Win10, под Ubuntu только сервер у заказчика. Пока проблем не возникало.
Установку IBX делаю из менеджера сетевых пакетов Lazarus. Ставится легко, без проблем. Раньше при установке вручную новых версий IBX, возникали проблемы с регистраций отдельных пакетов из IBX.
С Вашей проблемой я не знаком. Простите, не знаю как Вам помочь.
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40076683
bum_bum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пришло сообщение из MWASoftware:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Many thanks for the report - and for finding the bug.
I am snowed under at the moment with the day job,
but managed to find time today to check out the fix and
run the test suite on the updated version. All looks good.
The update is now available in SVN and if no other bugs
are reported will try and find time over the weekend to
prepare and release updates zips. I have also posted
updates to the Lazarus forum.

Regards

Tony Whyman

MWA
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40076727
Фотография Владимир П.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tantico2
hvlad
PS только у меня dclibx роняет Lazarus IDE ?

У меня на линуксе тоже роняет.

Я тоже столкнулся с этой проблемой, когда менял взад-вперёд версии FB: ставил то Release, то ReleaseCandidate.
Источник проблемы — библиотека libtomcrypt.so: она нужна для IBX, но она есть в наличии в релизе FB и отсутствует в релиз-кандидате (см. /opt/firebird/lib).

Нужно установить библиотеку libtomcrypt в систему. В Manjaro, которой я пользуюсь, это пакет libtomcrypt из репозитория AUR.
Не подскажу точно про Ubuntu, но поиск показывает пакеты libtomcrypt, libtomcrypt1 и libtomcrypt-dev из репозитория Universe.
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40076729
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В сборках несколько после RC tomcrypt собран приватно: по умолчанию он не многопоточный, плюс - от опций (его) сборки зависят (его) структуры в памяти, что тоже может "доставить".
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40077372
tantico2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владимир П.
Нужно установить библиотеку libtomcrypt в систему

Не прокатило...
Вот лежит себе в /opt/firebird/lib/
Код: plaintext
1.
2.
lrwxrwxrwx 1 root root   20 мая 29 18:47 libtomcrypt.so -> libtomcrypt.so.1.0.1
lrwxrwxrwx 1 root root   20 мая 29 18:47 libtomcrypt.so.1 -> libtomcrypt.so.1.0.1
-rwxr-xr-x 1 root root 384K мая 29 18:47 libtomcrypt.so.1.0.1

Нашёл, что линки от libfbclient закинуты только в /usr/lib64
поэтому бросил туда же линк на libtomcrypt.so, но лазарь всё равно не взлетел.

Поставил из репов libtomcrypt1 и libtomcrypt-dev - никакого эффекта.
В сорцах ibx упоминаний про libtomcrypt тоже не нашёл... где ж он эту либу ищет?
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40077515
jonik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ткните плиз где можно познакомиться с api firebird 4. И как получить свежий firebird.pas?
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40077517
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нигде. Взять из папки include/firebird установленного сервера.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40077520
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jonik
Ткните плиз где можно познакомиться с api firebird 4
doc\Using_OO_API.html и примеры в examples\interfaces
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40105330
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Скачал сегодняший x64 снапшот 4.0, для коннекта (ibExpret, fib+) использовал клиентскую библиотеку из x32 снапшота.
В процессе работы (создание новых запросов, например, по shift+f12 в ibExpert) иногда вываливается
Error writing data to the connection.
-send_packet/send

Но чаще - всё нормально. В начале сеанса работы несколько раз глюканёт, потом "отлипает".

Запросы совсем простые, типа
Код: sql
1.
select count(*) from табличка



В рамках одного и того же коннекта - то глючит, то нет.

Стук в подвале, да.
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40105374
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40105382
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov
https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1339444&msg=22383391

Снапшот самый свежий, на сервере лог "чистый", на клиенте - записи типа:

Код: plaintext
1.
2.
3.
4.
APE	Tue Oct 19 09:09:10 2021
	REMOTE INTERFACE/gds__detach: Unsuccesful detach from database.
	Uncommitted work may have been lost.
	Error writing data to the connection.
	send_packet/send


Соединения - по tcp, c localhost. Клиентские ("моя" программка на Delphi и IBExpert) приложения не падают, просто некоторые запросы иногда глючат описанным образом, без потери коннекта.
Только с FB4.0; на компе также крутится fb2.0 - с этим всё хорошо.
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40105385
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъна сервере лог "чистый"

Не может быть. Если TCP падает, он падает с обоих концов.

PS: Может, в Windows Events что-то есть?..
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40105390
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov
Не может быть. Если TCP падает, он падает с обоих концов.


Пожалуй, не готов я ещё к fb4.0 ...
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40117133
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40117234
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ,

Там про глюки и регрессии??
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40117241
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ,

кто там это пишет...
"It’s worth mentioning that unsigned integer data types aren’t supported by Firebird."
казалось бы, при чем тут unsingned data types...
"Firebird implements 16-digit and 34-digit DECFLOAT types’ encoding. But, to perform any interim calculations, only 34-digit values are used."
Фраза построена так, что это ужасно плохо. Надо было промежуточные вычисления всегда делать в 16-цифрах.

Или эти куски откуда-то скопированы?

Но вообще новость хорошая. Типа, devart всех обскакал, все завидуют (и молча пилят аналогичное).
...
Рейтинг: 0 / 0
Глюки и регрессии при работе с FB 4.0 Release
    #40117375
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv> казалось бы, при чем тут unsingned data types...

Лично я даже не понял, до чего ты тут докопался...

> "Firebird implements 16-digit and 34-digit DECFLOAT
> types’ encoding. But, to perform any interim calculations,
> only 34-digit values are used."
> Фраза построена так, что это ужасно плохо.

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

Так что да, пусть пилят и догоняют (если не уже).
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
74 сообщений из 74, показаны все 3 страниц
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Глюки и регрессии при работе с FB 4.0 Release
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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