Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / List на 3.0.0 / 20 сообщений из 20, страница 1 из 1
15.07.2016, 15:43
    #39274776
Шавлюк Евгений
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
List на 3.0.0
По разному ведет себя на 2.5.5 и 3.0.0 такой запрос:
select list(trim(rdb$relation_name), :p) from rdb$relations

За 2.5.5 работает, на 3.0.0 получаю
авторAn error was found in the application program input parameters for the SQL statement.
Dynamic SQL Error.
SQL error code = -804.
Data type unknown.
...
Рейтинг: 0 / 0
15.07.2016, 15:50
    #39274783
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
List на 3.0.0
Шавлюк Евгений,

в трекер занесёшь ?

PS спасибо ;)
...
Рейтинг: 0 / 0
15.07.2016, 16:03
    #39274800
Шавлюк Евгений
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
List на 3.0.0
hvladв трекер занесёшь ?

CORE-5313
...
Рейтинг: 0 / 0
15.07.2016, 17:21
    #39274877
Arioch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
List на 3.0.0
hvlad,

Гммм... а сразу в трекер послать нельзя было, без создания промежуточного топика?
...
Рейтинг: 0 / 0
15.07.2016, 17:32
    #39274883
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
List на 3.0.0
Arioch,

воспитательный эффект
...
Рейтинг: 0 / 0
15.07.2016, 17:43
    #39274901
Шавлюк Евгений
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
List на 3.0.0
Симонов Денисвоспитательный эффект
Если вопитательный эффект ко мне, то я пишу чтобы проверили, что баг не только у меня повторяется, или наоборот уже внесено в трекер и можно обойтись без лишних сущностей. Еще бывает "Сам дурак, так и должно быть". Почему бы не послушать. МП и ДС в этом здорово помогают.
Нужна какая-то тема "Ошибки при переходе с 2.5 на 3.0" для однострочного запроса, подобного моему выше, самое то
...
Рейтинг: 0 / 0
15.07.2016, 17:47
    #39274906
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
List на 3.0.0
Шавлюк Евгений,

воспроизводится. В трекере такого не было точно.
...
Рейтинг: 0 / 0
17.07.2016, 06:43
    #39275172
Шавлюк Евгений
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
List на 3.0.0
Адриано ответил
Код: sql
1.
This is as designed. Use CAST(? as VARCHAR(N))


В чем смысл?
...
Рейтинг: 0 / 0
17.07.2016, 07:04
    #39275173
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
List на 3.0.0
Шавлюк Евгений,

господи, ну если в 2.5 это работало, так и напиши. чего сразу не написал???
...
Рейтинг: 0 / 0
17.07.2016, 08:49
    #39275176
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
List на 3.0.0
Шавлюк ЕвгенийАдриано ответил
Код: sql
1.
This is as designed. Use CAST(? as VARCHAR(N))



В чем смысл?Думаю, Адриано поспешил. Если ты уверен, что в 2.5 это работало (я не проверял ещё), то так и напиши в трекере.
...
Рейтинг: 0 / 0
18.07.2016, 05:05
    #39275333
fraks
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
List на 3.0.0
Раз уж тут топик про List()...

Я правильно понимаю что внутри этого List порядок элементов никак задать нельзя?
...
Рейтинг: 0 / 0
18.07.2016, 08:23
    #39275356
Exteris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
List на 3.0.0
fraksРаз уж тут топик про List()...
Я правильно понимаю что внутри этого List порядок элементов никак задать нельзя?
Нельзя. Если только сразу подать на вход элементы в нужном порядке.
Типа,
Код: sql
1.
select list(f1,',') from (select f1 from t order by f1)
...
Рейтинг: 0 / 0
18.07.2016, 08:36
    #39275361
Гаджимурадов Рустам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
List на 3.0.0
fraks> Я правильно понимаю что внутри этого List
fraks> порядок элементов никак задать нельзя?

Ну ты как новенький. Сто раз же обсуждалось.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
18.07.2016, 08:55
    #39275371
fraks
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
List на 3.0.0
ExterisfraksРаз уж тут топик про List()...
Я правильно понимаю что внутри этого List порядок элементов никак задать нельзя?
Нельзя. Если только сразу подать на вход элементы в нужном порядке.
Типа,
Код: sql
1.
select list(f1,',') from (select f1 from t order by f1)



Не-не-не.... "если" - это недостоверно.
Я спрашивал про документированное поведение. Впрочем ответ уже дали - нельзя.
Спрашивал "на всякий случай" - вдруг что-то изменилось в этом деле, а я пропустил.

Повторю свое старое высказывание, основанное на личных граблях.
Если вы видите некоторое поведение но оно не имеет подтверждение в документации - нельзя считать что это будет всегда.
Ориентироваться можно только на документированное поведение подтвержденное практикой.

Мои грабли были в том что вывод после "group by" был визуально отсортированным, несмотря на отсутствие "order by". И я заложился на то что при group by результат будет всегда отсортирован по полям группировки. Прошло время и оказалось что в каких-то случаях это не так. Но ведь никто этого и не обещал! :)
...
Рейтинг: 0 / 0
18.07.2016, 10:04
    #39275416
CyberMax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
List на 3.0.0
fraksМои грабли были в том что вывод после "group by" был визуально отсортированным, несмотря на отсутствие "order by". И я заложился на то что при group by результат будет всегда отсортирован по полям группировки. Прошло время и оказалось что в каких-то случаях это не так. Но ведь никто этого и не обещал! :)
Это в каких случаях? Я как бы тоже заложился на это.
...
Рейтинг: 0 / 0
18.07.2016, 10:36
    #39275431
Гаджимурадов Рустам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
List на 3.0.0
CyberMax> Это в каких случаях? Я как бы тоже заложился на это.

Когда подходящих индексов больше одного.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
18.07.2016, 10:51
    #39275447
CyberMax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
List на 3.0.0
Гаджимурадов Рустам,

А, тогда можно забить.
...
Рейтинг: 0 / 0
18.07.2016, 10:57
    #39275458
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
List на 3.0.0
fraks,

на это можно заложится. SELECT из упорядоченного DT или CTE всегда будет читать данные в этом порядке до тех пор, пока внешний запрос простой (нету JOIN, GROUP BY и т.д.)
...
Рейтинг: 0 / 0
18.07.2016, 11:07
    #39275468
fraks
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
List на 3.0.0
CyberMaxГаджимурадов Рустам,

А, тогда можно забить.

А подходящими могут быть разные индексы в разное время.
В процессе жизни базы, при наполнении данными оптимизатор может поменять план запроса,
и далеко не всегда от этого становится лучше.
И сортировка хрясь, внезапно поменялась. "Ничего не делал, только вошел."

Посему я везде где можно использую left join что бы оптимизатору оставалось меньше места для маневров.
И если я явно не сказал order by - то и на порядок сортировки не полагаюсь.

Может быть и не план поменялся а например понадобился индекс - добавил. А где-то в другом запросе который уже 100 лет работает из-за закладки на якобы сортированность ломается логика...

Лучше не раскладывать граблей, даже огороженных вешками.
...
Рейтинг: 0 / 0
18.07.2016, 11:12
    #39275473
Гаджимурадов Рустам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
List на 3.0.0
CyberMax> А, тогда можно забить.

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


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