powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Сервером заменяется тип поля при группировке в представлении
29 сообщений из 29, показаны все 2 страниц
Сервером заменяется тип поля при группировке в представлении
    #39534431
Kirill Razuvaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!
Несколько дней назад уже пытался задать этот вопрос, но, похоже, зря сформулировал его с упором в сторону приложения. Меж тем, ноги растут к серверу.
Итак, создаем, таблицу:
Код: sql
1.
2.
3.
4.
CREATE TABLE A (
    ID    D_INTEGER NOT NULL /* D_INTEGER = INTEGER */,
    FLAG  D_BOOLEAN /* D_BOOLEAN = INTEGER CHECK (VALUE BETWEEN 0 and 1) */
)


На ее основе создаем простое представление:
Код: sql
1.
2.
3.
CREATE OR ALTER VIEW VIEW_SIMPLE(ID, FLAG) 
AS
select id, flag from a;


Смотрим типы полей (я смотрю в IBExpert) и видим D_INTEGER и D_BOOLEAN. Теперь создаем аналогичное представление, но с группировкой (для упрощения не используем даже агрегатных функций, хотя с ними результат аналогичен):
Код: sql
1.
2.
3.
CREATE OR ALTER VIEW VIEW_GROUP(ID, FLAG)
AS
select id, flag from a group by 1,2;


На выходе получаем поля с типами вида RDB$24155, RDB$24156. Но почему?
Я мог бы понять, если бы типы были заменены для полей, для которых применяются агрегаты типа SUM, но в данном случае диапазон значений полей не может меняться!
FB 2.5.7.
...
Рейтинг: 0 / 0
Сервером заменяется тип поля при группировке в представлении
    #39539506
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kirill RazuvaevНо почему?Наверное, тупо захардкодено, что для всех выражений,
в т.ч. при группировке типы подбираются, а не копируются.
В систаблицах нахакать нельзя?

P.S. Если в 3.0 так же, то можно регить тикет, в принципе.
...
Рейтинг: 0 / 0
Сервером заменяется тип поля при группировке в представлении
    #39539540
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kirill Razuvaev,

а если group by id, flag вместо цифр, то же самое будет?
...
Рейтинг: 0 / 0
Сервером заменяется тип поля при группировке в представлении
    #39539766
Kirill Razuvaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvKirill Razuvaev,

а если group by id, flag вместо цифр, то же самое будет?Проверю в понедельник
...
Рейтинг: 0 / 0
Сервером заменяется тип поля при группировке в представлении
    #39540297
Kirill Razuvaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvа если group by id, flag вместо цифр, то же самое будет?Да, то же самое.

Гаджимурадов РустамP.S. Если в 3.0 так же, то можно регить тикет, в принципе.Не могу проверить, увы, за отсутствие 3.0.
...
Рейтинг: 0 / 0
Сервером заменяется тип поля при группировке в представлении
    #39540299
Kirill Razuvaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамВ систаблицах нахакать нельзя?Вы про принудительное указание типа? Это же до ближайшей перекомпиляции представления, а кто потом вспомнит, что тонкий тюнинг после этого снова нужен...
...
Рейтинг: 0 / 0
Сервером заменяется тип поля при группировке в представлении
    #39540323
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
особенность реализации. После группировки меняется контекст и исходной таблицы снаружи уже не видно, поля после этого выглядят "выражениями".
...
Рейтинг: 0 / 0
Сервером заменяется тип поля при группировке в представлении
    #39540378
Kirill Razuvaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrособенность реализации.А техническая возможность поправить существует?
...
Рейтинг: 0 / 0
Сервером заменяется тип поля при группировке в представлении
    #39540382
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kirill RazuvaevА техническая возможность поправить существует?
может быть, но зачем? Оно же отломится еще в каком-нибудь случае - например при union all. Просто не надо закладываться на имя домена в выходных параметрах, это очень криво. Тип совпадает? Ну и замечательно.
...
Рейтинг: 0 / 0
Сервером заменяется тип поля при группировке в представлении
    #39540784
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kirill Razuvaev> Не могу проверить, увы, за отсутствие 3.0.

Дима подтвердил, можно в трекер.

Kirill Razuvaev> Вы про принудительное указание типа?
Kirill Razuvaev> Это же до ближайшей перекомпиляции
Kirill Razuvaev> представления, а кто потом вспомнит,
Kirill Razuvaev> что тонкий тюнинг после этого снова нужен...

Ну да, отломится. Но более лучших способов как-то не придумалось...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Сервером заменяется тип поля при группировке в представлении
    #39540788
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitr> может быть, но зачем?

Неаккуратненько... (с)

Да и мало ли для чего там домен может
понадобиться, чеки чекать, например. :)
(интересно, они вообще предварительно
проверяются или тупо транслируются в
триггеры и таблицы напрямую?)

Можно ручной каст типа полей в DDL разрешить
(если это не противоречит стандарту, конечно).
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Сервером заменяется тип поля при группировке в представлении
    #39540863
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамДа и мало ли для чего там домен может
понадобиться
в приложении - ни для чего
...
Рейтинг: 0 / 0
Сервером заменяется тип поля при группировке в представлении
    #39540875
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrГаджимурадов РустамДа и мало ли для чего там домен может
понадобиться
в приложении - ни для чего
В фиб+ так булевские поля распознаются, например.
...
Рейтинг: 0 / 0
Сервером заменяется тип поля при группировке в представлении
    #39540960
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чччД,

это костыль, который для более-менее непростых запросов не работает. И заставлять сервер, чтобы он таки осилил еще один случай из 100500 - мартышкин труд.
...
Рейтинг: 0 / 0
Сервером заменяется тип поля при группировке в представлении
    #39540983
Kirill Razuvaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В свете того, что в 3.0 поддерживается нативный логический тип, пните, пожалуйста, где почитать про особенности перехода, кроме как в RN.
...
Рейтинг: 0 / 0
Сервером заменяется тип поля при группировке в представлении
    #39540984
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kirill RazuvaevВ свете того, что в 3.0 поддерживается нативный логический тип, пните, пожалуйста, где почитать про особенности перехода, кроме как в RN.
Ты хочешь в старом коде поменять поля Int на Boolean?
...
Рейтинг: 0 / 0
Сервером заменяется тип поля при группировке в представлении
    #39540989
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Сервером заменяется тип поля при группировке в представлении
    #39541025
rico_spb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В свете того, что в 3.0 поддерживается нативный логический тип, пните, пожалуйста, где почитать про особенности перехода, кроме как в RN.
...
Рейтинг: 0 / 0
Сервером заменяется тип поля при группировке в представлении
    #39541031
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rico_spbВ свете того, что в 3.0 поддерживается нативный логический тип, пните, пожалуйста, где почитать про особенности перехода, кроме как в RN.
Какого такого "перехода"?

В предыдущих версиях ты не использовал boolean ввиду их отсутствия, стало быть, никакого "перехода" не будет.
...
Рейтинг: 0 / 0
Сервером заменяется тип поля при группировке в представлении
    #39541139
Kirill Razuvaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чччДКакого такого "перехода"?Раньше или позже переезжать с 2.5 на 3.0 все равно придется. Сейчас есть повод задуматься об этом.
...
Рейтинг: 0 / 0
Сервером заменяется тип поля при группировке в представлении
    #39541143
Kirill Razuvaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Сервером заменяется тип поля при группировке в представлении
    #39541146
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
24.10.2017 15:14, Kirill Razuvaev пишет:
> Раньше или позже переезжать с 2.5 на 3.0 все равно придется

просто так надо?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Сервером заменяется тип поля при группировке в представлении
    #39541169
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий24.10.2017 15:14, Kirill Razuvaev пишет:
> Раньше или позже переезжать с 2.5 на 3.0 все равно придется

просто так надо?Просто на взгляд полно мест, где трешка заметно (процентов на 20 и более) шустрее, при прочих равных. Но это у меня, за всех судить не возьмусь. В общем моя в процессе неспешного переползания.
...
Рейтинг: 0 / 0
Сервером заменяется тип поля при группировке в представлении
    #39541175
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
24.10.2017 15:38, Ivan_Pisarevsky пишет:
> Просто на взгляд полно мест, где трешка заметно (процентов на 20 и более) шустрее, при прочих равных. Но это у меня, за всех судить не возьмусь. В общем моя в процессе неспешного переползания.

на бы железяку обновить до того что у тебя в эксплуатации, так вообще пределов счастью не было бы...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Сервером заменяется тип поля при группировке в представлении
    #39541182
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящийна бы железяку обновить до того что у тебя в эксплуатации, так вообще пределов счастью не было бы...Железкой лечится не все и не всегда. Да и типовой двухпроцовый сервак на пару сотен коннектов не вот, чтоб сказать, "фонтан счастья". Чтоб оный не прилег приходится и "план покурить" и "мозгами пораскинуть".
...
Рейтинг: 0 / 0
Сервером заменяется тип поля при группировке в представлении
    #39541254
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_PisarevskyМимопроходящийна бы железяку обновить до того что у тебя в эксплуатации, так вообще пределов счастью не было бы...Железкой лечится не все и не всегда. Да и типовой двухпроцовый сервак на пару сотен коннектов не вот, чтоб сказать, "фонтан счастья". Чтоб оный не прилег приходится и "план покурить" и "мозгами пораскинуть".
Угу, сменишь версию севера - и 100% давай по-новой планы курить и мозгами пораскидываться.
...
Рейтинг: 0 / 0
Сервером заменяется тип поля при группировке в представлении
    #39541260
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
24.10.2017 17:45, чччД пишет:
> Угу, сменишь версию севера - и 100% давай по-новой планы курить и мозгами пораскидываться.

не говоря уж о том, что некоторые запросы вообще могут "отвалиться"
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Сервером заменяется тип поля при группировке в представлении
    #39541264
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чччД,

зато он мог назвать домен BOOLEAN :-)
...
Рейтинг: 0 / 0
Сервером заменяется тип поля при группировке в представлении
    #39541371
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvчччД,

зато он мог назвать домен BOOLEAN :-)
Ну вот, первый подводный камень. :)
...
Рейтинг: 0 / 0
29 сообщений из 29, показаны все 2 страниц
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Сервером заменяется тип поля при группировке в представлении
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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