powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Группировка и домен D_BOOLEAN
5 сообщений из 5, страница 1 из 1
Группировка и домен D_BOOLEAN
    #39531353
Kirill Razuvaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!
На не совсем приятные грабли наткнулся. Есть таблица, в которой несколько полей могут принимать только логические значения. Поэтому в качестве домена для них указан D_BOOLEAN, поля на основе которого FiB'ы трактуют как логические. И в Grid'ах он отображаются соответственно, если выборка идет напрямую из таблицы или простого представления на основе таблицы.
Если же добавить в представление группировку (не затрагивающую эти поля агрегатными функциями), то теряются исходные типы полей и заменяются нечто из серии RDB$xxxx с типом INTEGER.
Попытки явно указать тип значения через cast желаемого результата не дают.

Почему так и ЧЯДНТ?
FB 2.5.7
...
Рейтинг: 0 / 0
Группировка и домен D_BOOLEAN
    #39531846
Polesov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kirill Razuvaev,

> домен D_BOOLEAN, поля на основе которого FiB'ы трактуют как логические

pFIBDataSet эмулирует тип boolean. Надо отключить опцию:
<MyFibDataSet>.PrepareOptions.psUseBooleanField := False;

Ну, или изменить имя домена так, что бы в его имени не было BOOLEAN или BOOL.

С уважением, Polesov.
...
Рейтинг: 0 / 0
Группировка и домен D_BOOLEAN
    #39531855
dennis-r
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PolesovНу, или изменить имя домена так, что бы в его имени не было BOOLEAN или BOOL.
ТС хочет прямо противоположного.
...
Рейтинг: 0 / 0
Группировка и домен D_BOOLEAN
    #39531858
dennis-r
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kirill RazuvaevЕсли же добавить в представление группировку (не затрагивающую эти поля агрегатными функциями), то теряются исходные типы полей и заменяются нечто из серии RDB$xxxx с типом INTEGER.
Попытки явно указать тип значения через cast желаемого результата не дают.

Почему так и ЧЯДНТ?
FB 2.5.7Выбор большой:
1. Взять 3.0 с натуральным булевым типом.
2. Остаться на 2.5, но допилить определение булевых полей в FIB'ах при использовании запросов (например, завести таблицу с описаниями полей для каждого нужного запроса).
...
Рейтинг: 0 / 0
Группировка и домен D_BOOLEAN
    #39531982
Kirill Razuvaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dennis-rKirill RazuvaevЕсли же добавить в представление группировку (не затрагивающую эти поля агрегатными функциями), то теряются исходные типы полей и заменяются нечто из серии RDB$xxxx с типом INTEGER.
Попытки явно указать тип значения через cast желаемого результата не дают.

Почему так и ЧЯДНТ?
FB 2.5.7Выбор большой:
1. Взять 3.0 с натуральным булевым типом.
2. Остаться на 2.5, но допилить определение булевых полей в FIB'ах при использовании запросов (например, завести таблицу с описаниями полей для каждого нужного запроса).
2. Дело-то, вообще говоря, не в FiB'ах. Не ясно, почему в "простом" представлении FB сохраняет исходные типы (домены) полей, а при группировке утрачивает их, хотя поля не используются в агрегатных функциях, и следовательно, их размер не может меняться при выполнении группировки.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Группировка и домен D_BOOLEAN
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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