powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / FibPlus не умеет передавать boolean-параметры
37 сообщений из 37, показаны все 2 страниц
FibPlus не умеет передавать boolean-параметры
    #39659181
scorpion235
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Окружение:
Delphi 10.2 Update 3 Tokyo Architect
FIBPlus 7.632.3171 ( https://github.com/madorin/fibplus)
Firebird 3.0.3.32900

В Firebird 3 появились пакеты и тип данных boolean
Не смог добиться передачи boolean-параметра в Firebird
через компоненты FIBPlus

Передаю из Delphi:
авторFIBDataSet.ParamByName('PARAM_NAME').AsBoolean := true;
но в Firebird уходит числовое значение 1

Кто-нибудь сталкивался с подобным?
...
Рейтинг: 0 / 0
FibPlus не умеет передавать boolean-параметры
    #39659184
Любезный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Видимо, авторы ФИБов не научили компоненты различать версии сервера, поэтому ФИБы занимаются эмуляцией даже в 3.х.
...
Рейтинг: 0 / 0
FibPlus не умеет передавать boolean-параметры
    #39659185
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
ЛюбезныйВидимо, авторы ФИБов не научили компоненты различать версии сервера, поэтому ФИБы занимаются эмуляцией даже в 3.х.
ФИБы авторы давным-давно забросили
...
Рейтинг: 0 / 0
FibPlus не умеет передавать boolean-параметры
    #39659188
scorpion235
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Энтузиасты продолжают развитие проекта FibPlus на github
Завел багу: https://github.com/madorin/fibplus/issues/27
...
Рейтинг: 0 / 0
FibPlus не умеет передавать boolean-параметры
    #39659193
чччД__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
scorpion235...
Передаю из Delphi:
авторFIBDataSet.ParamByName('PARAM_NAME').AsBoolean := true;
но в Firebird уходит числовое значение 1
...
Ну "уходит" и уходит, в чем проблема-то?
...
Рейтинг: 0 / 0
FibPlus не умеет передавать boolean-параметры
    #39659211
scorpion235
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чччД__,

дополнительный обработчик приходиться делать на стороне Firebird
SMALLINT преобразовывать в BOOL

автор PROCEDURE SET_ACC_LOCK (
ID TYPE OF COLUMN ABONENTS.ID,
IS_ACC_LOCK SMALLINT) --FibPlus не умеет корректно работать с параметрами типа boolean
AS
BEGIN
UPDATE ABONENTS
SET IS_ACC_LOCK = INT_TO_BOOL(:IS_ACC_LOCK)
WHERE ID = :ID;
END

--переводит SMALLINT в BOOL
FUNCTION INT_TO_BOOL (
NUMBER SMALLINT)
RETURNS BOOL
AS
BEGIN
IF (NUMBER = 1) THEN
RETURN TRUE;
ELSE
RETURN FALSE;
END
...
Рейтинг: 0 / 0
FibPlus не умеет передавать boolean-параметры
    #39659252
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
scorpion235чччД__,

дополнительный обработчик приходиться делать на стороне Firebird
SMALLINT преобразовывать в BOOL

автор PROCEDURE SET_ACC_LOCK (
ID TYPE OF COLUMN ABONENTS.ID,
IS_ACC_LOCK SMALLINT) --FibPlus не умеет корректно работать с параметрами типа boolean
AS
BEGIN
UPDATE ABONENTS
SET IS_ACC_LOCK = INT_TO_BOOL(:IS_ACC_LOCK)
WHERE ID = :ID;
END

--переводит SMALLINT в BOOL
FUNCTION INT_TO_BOOL (
NUMBER SMALLINT)
RETURNS BOOL
AS
BEGIN
IF (NUMBER = 1) THEN
RETURN TRUE;
ELSE
RETURN FALSE;
END

если тебе не надо делать над полем операции, характерные только для boolean,
то ничего не надо преобразовывать - работай как 1 или О
...
Рейтинг: 0 / 0
FibPlus не умеет передавать boolean-параметры
    #39659256
scorpion235
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecator,

для кого пример написал? обновление поля типа BOOL с дополнительными приседаниями
0 и 1 - это хорошо, но если появился новый тип данных, хочется с ним работать без
дополнительных преобразований
...
Рейтинг: 0 / 0
FibPlus не умеет передавать boolean-параметры
    #39659260
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
scorpion235defecator,

для кого пример написал? обновление поля типа BOOL с дополнительными приседаниями
0 и 1 - это хорошо, но если появился новый тип данных, хочется с ним работать без
дополнительных преобразований
ну хоти, чо
...
Рейтинг: 0 / 0
FibPlus не умеет передавать boolean-параметры
    #39659274
Олег Третьяков
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
scorpion235Энтузиасты продолжают развитие проекта FibPlus на github
Завел багу: https://github.com/madorin/fibplus/issues/27
Этот форк настолько багнутый, что в 10.2 пришлось отказаться от фибов вообще.
Во множестве мест интерфейсы на обниливаются, память портит, проект ложит на лопатки.
...
Рейтинг: 0 / 0
FibPlus не умеет передавать boolean-параметры
    #39659276
чччД__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Олег Третьяковscorpion235Энтузиасты продолжают развитие проекта FibPlus на github
Завел багу: https://github.com/madorin/fibplus/issues/27
Этот форк настолько багнутый, что в 10.2 пришлось отказаться от фибов вообще..
В итоге - что решили использовать?
...
Рейтинг: 0 / 0
FibPlus не умеет передавать boolean-параметры
    #39659278
Олег Третьяков
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чччД__В итоге - что решили использовать?
То, что в 10.2 из коробки
...
Рейтинг: 0 / 0
FibPlus не умеет передавать boolean-параметры
    #39659280
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Олег ТретьяковчччД__В итоге - что решили использовать?
То, что в 10.2 из коробки
правильное решение, фибы давно мертвы, а кто-то всё продолжает за них держаться
...
Рейтинг: 0 / 0
FibPlus не умеет передавать boolean-параметры
    #39659282
чччД__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Олег ТретьяковчччД__В итоге - что решили использовать?
То, что в 10.2 из коробки
И что же было в тот раз в коробке?
...
Рейтинг: 0 / 0
FibPlus не умеет передавать boolean-параметры
    #39659283
Олег Третьяков
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecatorправильное решение, фибы давно мертвы, а кто-то всё продолжает за них держаться
Пришлось конечно рефакторить. Многопоточка, свои коннекты под каждый поток и работа с блобами тут немного иначе. Но зато работает стабильно и можно заняться более важными делами, чем ковыряние с этой бякой.
...
Рейтинг: 0 / 0
FibPlus не умеет передавать boolean-параметры
    #39659284
Олег Третьяков
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чччД__И что же было в тот раз в коробке?
То же самое, что и в прошлый))
Ща пинлюлей отгребем за флейм)
...
Рейтинг: 0 / 0
FibPlus не умеет передавать boolean-параметры
    #39659287
NickDee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
scorpion235Энтузиасты продолжают развитие проекта FibPlus на github
Завел багу: https://github.com/madorin/fibplus/issues/27
Разработчики фибов отдали их в опенсорс? Или опенсорс взял их у разработчиков без спросу?
Энтузиасты в курсе?
...
Рейтинг: 0 / 0
FibPlus не умеет передавать boolean-параметры
    #39659289
scorpion235
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NickDee,

This repository is an attempt to keep alive one of the best suite of components that seems to be abandoned by Devrace, without pretending to any copyrights. Initial source code was taken from public forums.

The goal of this project is to collect patches, fix bugs, adjust code to latest versions of Delphi, improve functionality by adding new features.
...
Рейтинг: 0 / 0
FibPlus не умеет передавать boolean-параметры
    #39659291
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надо было с самого начала выбирать API вместо кривых обёрток.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FibPlus не умеет передавать boolean-параметры
    #39659293
scorpion235
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Олег Третьяков,

авторТо, что в 10.2 из коробки
По отзывам FireDac - не самое удачное решение, тем более FibPlus чётко только под Firebird заточен
...
Рейтинг: 0 / 0
FibPlus не умеет передавать boolean-параметры
    #39659341
vkorshun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Специально набросал небольшой тестовый проект. Все работает. Возможно что то Вы не правильно делаете - либо клиентская либа не та, диалект и т.д.
...
Рейтинг: 0 / 0
FibPlus не умеет передавать boolean-параметры
    #39659353
чччД__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkorshunСпециально набросал небольшой тестовый проект. Все работает. Возможно что то Вы не правильно делаете - либо клиентская либа не та, диалект и т.д.
+1
То же самое, примерно год назад специально ставил ( 20665907 ) фибы с гитхаба на Delphi 10.2, исключительно ради проверить работу фибов с полями типа boolean в FB3.*, все устроило.

Совершенно непонятны страдания ТС, что там на FB "уходит":
scorpion235...но в Firebird уходит числовое значение 1...
Какая разница, что "уходит", если все работает как ожидается.

И -
scorpion235Завел багу: https://github.com/madorin/fibplus/issues/27
- это вообще какой-то образец косноязычия: "не смог добиться", "в Firebird уходит".
...
Рейтинг: 0 / 0
FibPlus не умеет передавать boolean-параметры
    #39659365
чччД__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkorshunСпециально набросал небольшой тестовый проект. Все работает. Возможно что то Вы не правильно делаете - либо клиентская либа не та, диалект и т.д.

Только что поставил фибы с гитхаба (судя по всему, там развивается версии 7.6) на D2007, вместо своих 6.9.9.
С небольшими плясками, правда: пришлось чуть подправить файлы проекта (FIBPlusEditors2007.dpk и FIBPlusEditors2007.dsk) для D2007, но теперь все работает, и чертовы редакторы тоже.

Создал табличку с булевким полем:
Код: sql
1.
2.
3.
4.
CREATE TABLE TEST (
    ID      INTEGER NOT NULL,
    ISTRUE  BOOLEAN
);


накидал тест - все ОК, и с TpfibDataset, и с TpfibQuery, и обращение к полям и обращение к параметрам - все без проблем.


Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
INSERT INTO TEST(
    ID,
    ISTRUE
)
VALUES(
    :ID,
    :ISTRUE
)
...
UPDATE TEST
SET
    ISTRUE = :ISTRUE
WHERE
    ID = :OLD_ID


Можно и .AsBoolean (t/f), и .AsInteger (0/1), и .Value - все одинаково хорошо.

И даже boolean - параметр в условии работает:
Код: sql
1.
2.
3.
4.
5.
select t.id, t.istrue from test t
  where (t.istrue is null) or :cond
...
select t.id, t.istrue from test t
  where t.istrue or :cond


Код: pascal
1.
 fQ.ParamByName('cond').AsBoolean := True;



И "уходит", и "приходит". Как ожидается.
...
Рейтинг: 0 / 0
FibPlus не умеет передавать boolean-параметры
    #39659378
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А это имеет принципиальное значение, чтобы на сервер уходил boolean вместо integer? Что мешает по старинке завести какой-нибудь булев домен типа
Код: pascal
1.
2.
3.
4.
CREATE DOMAIN DMN_BOOL AS
SMALLINT
NOT NULL
CHECK (VALUE IN (0,1,-1));


и все преобразования делать на клиенте? Или мозоли на пальцах кровоточат? :)
...
Рейтинг: 0 / 0
FibPlus не умеет передавать boolean-параметры
    #39659381
чччД__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Док,

все там как надо и без "доменной имитации" работает, это ТС тормозит.
...
Рейтинг: 0 / 0
FibPlus не умеет передавать boolean-параметры
    #39659421
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДокА это имеет принципиальное значение, чтобы на сервер уходил boolean вместо integer?

Технически на сервер всегда уходит integer. Точнее - byte.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FibPlus не умеет передавать boolean-параметры
    #39659451
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
scorpion235Окружение:
Delphi 10.2 Update 3 Tokyo Architect
FIBPlus 7.632.3171 ( https://github.com/madorin/fibplus)
Firebird 3.0.3.32900

В Firebird 3 появились пакеты и тип данных boolean
Не смог добиться передачи boolean-параметра в Firebird
через компоненты FIBPlus

Передаю из Delphi:
авторFIBDataSet.ParamByName('PARAM_NAME').AsBoolean := true;
но в Firebird уходит числовое значение 1

Кто-нибудь сталкивался с подобным?

Согласно документации, имя поля или имя домена должно содержать "boolean", например:
Код: sql
1.
2.
3.
4.
CREATE DOMAIN FIB$BOOLEAN AS
SMALLINT
DEFAULT 0
CHECK (VALUE IN (0,1,NULL));
...
Рейтинг: 0 / 0
FibPlus не умеет передавать boolean-параметры
    #39659453
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11, тогда при создании persistent-полей в TpFibDataSet создаётся TFIBBooleanField.
...
Рейтинг: 0 / 0
FibPlus не умеет передавать boolean-параметры
    #39659455
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛюбезныйВидимо, авторы ФИБов не научили компоненты различать версии сервера, поэтому ФИБы занимаются эмуляцией даже в 3.х.

Авторы FIBов уже давным давно забросили свой проект.
...
Рейтинг: 0 / 0
FibPlus не умеет передавать boolean-параметры
    #39659476
чччД__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
X11...
Согласно документации, имя поля или имя домена должно содержать "boolean", например:
Код: sql
1.
2.
3.
4.
CREATE DOMAIN FIB$BOOLEAN AS
SMALLINT
DEFAULT 0
CHECK (VALUE IN (0,1,NULL));


Может хватит уже чушь нести? Речь про булевские типы в фб3, а не про их древнюю эмуляцию библиотекой компонентов.
Хоть проверь сперва, прежде чем писать.
...
Рейтинг: 0 / 0
FibPlus не умеет передавать boolean-параметры
    #39659501
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
scorpion235тем более FibPlus чётко только под Firebird заточен
FireDAC, "незаточенный" под FireBird, работает с BOOLEAN. Кому верить ...
...
Рейтинг: 0 / 0
FibPlus не умеет передавать boolean-параметры
    #39659509
scorpion235
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry Arefiev,

никто не говорил, что FireDAC не работает с Firebird
...
Рейтинг: 0 / 0
FibPlus не умеет передавать boolean-параметры
    #39659881
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
scorpion235Олег Третьяков,

авторТо, что в 10.2 из коробки
По отзывам FireDac - не самое удачное решение, тем более FibPlus чётко только под Firebird заточен
И кто же автор тех отзывов по поводу FireDAC и каковы его аргументы конкретно?
И пробовал ли уважаемый автор сам с Firebird в FireDAC хоть что-нибудь самостоятельно?
...
Рейтинг: 0 / 0
FibPlus не умеет передавать boolean-параметры
    #39660191
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чччД__, тогда не надо нести чушь про FIBы, т.к. авторы их уже не поддерживают, т.е. FIBы по сути не развиваются.
...
Рейтинг: 0 / 0
FibPlus не умеет передавать boolean-параметры
    #39660201
чччД__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
X11чччД__, тогда не надо нести чушь про FIBы, т.к. авторы их уже не поддерживают, т.е. FIBы по сути не развиваются.

Еще раз: речь идет исключительно о поддержке булевских полей, которые появились в FB3.0*. О поддержке в пакете FIB+, которую выложил Мадорин на гитхабе.

Ты - грузил/устанавливал/тестировал этот пакет, проверял его в плане поддержки "нативных" булевых полей, или просто поговорить вышел? Есть проблемы по теме топика - давай пообщаемся, если нет - какого ты в 21484625 вообще вылез, или просто слово знакомое - "boolean" увидел и не сдержался?
...
Рейтинг: 0 / 0
FibPlus не умеет передавать boolean-параметры
    #39661637
scorpion235
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чччД__С небольшими плясками, правда: пришлось чуть подправить файлы проекта (FIBPlusEditors2007.dpk и FIBPlusEditors2007.dsk) для D2007, но теперь все работаетВыложи исходники, добрый человек. Думаю, многим пригодятся
...
Рейтинг: 0 / 0
FibPlus не умеет передавать boolean-параметры
    #39661638
чччД__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
37 сообщений из 37, показаны все 2 страниц
Форумы / Delphi [игнор отключен] [закрыт для гостей] / FibPlus не умеет передавать boolean-параметры
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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