|
Группировка и домен D_BOOLEAN
|
|||
---|---|---|---|
#18+
Добрый день! На не совсем приятные грабли наткнулся. Есть таблица, в которой несколько полей могут принимать только логические значения. Поэтому в качестве домена для них указан D_BOOLEAN, поля на основе которого FiB'ы трактуют как логические. И в Grid'ах он отображаются соответственно, если выборка идет напрямую из таблицы или простого представления на основе таблицы. Если же добавить в представление группировку (не затрагивающую эти поля агрегатными функциями), то теряются исходные типы полей и заменяются нечто из серии RDB$xxxx с типом INTEGER. Попытки явно указать тип значения через cast желаемого результата не дают. Почему так и ЧЯДНТ? FB 2.5.7 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2017, 11:51 |
|
Группировка и домен D_BOOLEAN
|
|||
---|---|---|---|
#18+
Kirill Razuvaev, > домен D_BOOLEAN, поля на основе которого FiB'ы трактуют как логические pFIBDataSet эмулирует тип boolean. Надо отключить опцию: <MyFibDataSet>.PrepareOptions.psUseBooleanField := False; Ну, или изменить имя домена так, что бы в его имени не было BOOLEAN или BOOL. С уважением, Polesov. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2017, 22:11 |
|
Группировка и домен D_BOOLEAN
|
|||
---|---|---|---|
#18+
PolesovНу, или изменить имя домена так, что бы в его имени не было BOOLEAN или BOOL. ТС хочет прямо противоположного. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2017, 22:37 |
|
Группировка и домен D_BOOLEAN
|
|||
---|---|---|---|
#18+
Kirill RazuvaevЕсли же добавить в представление группировку (не затрагивающую эти поля агрегатными функциями), то теряются исходные типы полей и заменяются нечто из серии RDB$xxxx с типом INTEGER. Попытки явно указать тип значения через cast желаемого результата не дают. Почему так и ЧЯДНТ? FB 2.5.7Выбор большой: 1. Взять 3.0 с натуральным булевым типом. 2. Остаться на 2.5, но допилить определение булевых полей в FIB'ах при использовании запросов (например, завести таблицу с описаниями полей для каждого нужного запроса). ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2017, 22:50 |
|
Группировка и домен D_BOOLEAN
|
|||
---|---|---|---|
#18+
dennis-rKirill RazuvaevЕсли же добавить в представление группировку (не затрагивающую эти поля агрегатными функциями), то теряются исходные типы полей и заменяются нечто из серии RDB$xxxx с типом INTEGER. Попытки явно указать тип значения через cast желаемого результата не дают. Почему так и ЧЯДНТ? FB 2.5.7Выбор большой: 1. Взять 3.0 с натуральным булевым типом. 2. Остаться на 2.5, но допилить определение булевых полей в FIB'ах при использовании запросов (например, завести таблицу с описаниями полей для каждого нужного запроса). 2. Дело-то, вообще говоря, не в FiB'ах. Не ясно, почему в "простом" представлении FB сохраняет исходные типы (домены) полей, а при группировке утрачивает их, хотя поля не используются в агрегатных функциях, и следовательно, их размер не может меняться при выполнении группировки. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2017, 10:23 |
|
|
start [/forum/topic.php?fid=40&gotonew=1&tid=1561393]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
68ms |
get topic data: |
10ms |
get first new msg: |
7ms |
get forum data: |
3ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
others: | 11ms |
total: | 173ms |
0 / 0 |