|
|
|
Ошибка в UNION при рекурсии
|
|||
|---|---|---|---|
|
#18+
Всем доброго! Firebird 2.5 Есть таблица иерархическая, категории товаров и товары в ней. Пишу селект Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Все работает отлично. Но как только раскомментарю строку "--'' AS NAME," тут же выходит ошибка: Arithmetic overflow or devision by zero. Пробовал менять и на "NULL AS NAME," и "'DD' AS NAME," - результат тот же. Что делать? Причем если этот юнион вынести отдельно, то работает на ура ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2014, 13:47 |
|
||
|
Ошибка в UNION при рекурсии
|
|||
|---|---|---|---|
|
#18+
попробуй CAST(... AS VARCHAR()) Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2014, 13:49 |
|
||
|
Ошибка в UNION при рекурсии
|
|||
|---|---|---|---|
|
#18+
aidynchik, а может всё же "string truncation" ? Тип колонки задаётся в первом члене union. Сделай там каст к варчару нужной длины. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2014, 13:49 |
|
||
|
Ошибка в UNION при рекурсии
|
|||
|---|---|---|---|
|
#18+
Блин, мужики спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2014, 14:00 |
|
||
|
Ошибка в UNION при рекурсии
|
|||
|---|---|---|---|
|
#18+
hvladТип колонки задаётся в первом члене union. Это в стандарте так прописано? Или у нас таки есть шанс? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2014, 15:38 |
|
||
|
Ошибка в UNION при рекурсии
|
|||
|---|---|---|---|
|
#18+
NickDeehvladТип колонки задаётся в первом члене union. Это в стандарте так прописано?Это - насколько я помню. Стандарт сам ковыряй, если приспичило. NickDeeИли у нас таки есть шанс? :) PS по соображениям [само]цензуры не раскрываю своё понимание "вас" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2014, 16:29 |
|
||
|
Ошибка в UNION при рекурсии
|
|||
|---|---|---|---|
|
#18+
hvladPS по соображениям [само]цензуры не раскрываю своё понимание "вас" Если у вас правильное понимание меня, тогда вы тем более должны понимать что нужно сделать для того чтобы у FB было хорошее будущее, с довольными пользователями и довольными разработчиками :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2014, 19:42 |
|
||
|
Ошибка в UNION при рекурсии
|
|||
|---|---|---|---|
|
#18+
NickDee, одно дело когда человек пишет про явные баги, и другое дело - когда он себя считает "большинством", и от имени этого мифического большинства толкает речи с броневика. Ладно бы в стандарте был совсем какой-то бред. Тогда еще понятно. Но класть болт на стандарт из-за NickDee? Который и не спонсор, к тому же... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2014, 19:45 |
|
||
|
Ошибка в UNION при рекурсии
|
|||
|---|---|---|---|
|
#18+
kdvНо класть болт на стандарт из-за NickDee? Который и не спонсор, к тому же... Вопрос в удобстве конечных потребителей. Если для варчаров будет браться максимальная длина, а не длина из первого select-а, то стандарту это не навредит, а пользователи получат ожидаемое поведение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2014, 20:09 |
|
||
|
Ошибка в UNION при рекурсии
|
|||
|---|---|---|---|
|
#18+
NickDeeЕсли для варчаров будет браться максимальная длина, а не длина из первого select-а, то стандарту это не навредит, а пользователи получат... ....тормоза, перерасход памяти и ошибки выхода за ограничение ширины выборки. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2014, 20:30 |
|
||
|
Ошибка в UNION при рекурсии
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovNickDeeЕсли для варчаров будет браться максимальная длина, а не длина из первого select-а, то стандарту это не навредит, а пользователи получат... ....тормоза, перерасход памяти и ошибки выхода за ограничение ширины выборки. Я про другую максимальную длину. В нашем примере: Max(length(''), length(type of G_PRODUCT.NAME)) Сейчас Max нужно высчитывать вручную, чтобы облом не случился. Более того, если посчитать плохо, то может оказаться что при некотором особо длинном G_PRODUCT.NAME всё поломается, и поломается неизвестно когда. То же самое может случиться и при правильном подсчёте, но после "alter table G_PRODUCT alter NAME type VARCHAR(N)", где N чуть больше старого. Понятно что после этого по стандарту нужно пойти и поменять в нужных местах код. Но пользователь то об этом не знает, и врядли помнит что он год назад писал запрос с UNION, где кастовал '' к VARCHAR(K). И чего бы, спрашивается, не посчитать это движку? Особенно забавно когда пользователь строит динамический union по нескольким cправочникам с разной длиной поля NAME. Нужно не забыть кастануть NAME в первом селекте к VARCHAR(1024), на всякий случай, чтобы уж точно вошло, не высчитывать же вручную длину столбцов. И тогда уже да, перерасход памяти и тормоза. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2014, 21:00 |
|
||
|
Ошибка в UNION при рекурсии
|
|||
|---|---|---|---|
|
#18+
2 NickDee - а на домен заложиться, вместо type varchar(n). Попытка изменения размера varachar домена заставит проапдейтить всё везде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2014, 21:09 |
|
||
|
Ошибка в UNION при рекурсии
|
|||
|---|---|---|---|
|
#18+
NickDeeЯ про другую максимальную длину. В нашем примере: Max(length(''), length(type of G_PRODUCT.NAME)) Сейчас Max нужно высчитывать вручную, чтобы облом не случился. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2014, 21:31 |
|
||
|
Ошибка в UNION при рекурсии
|
|||
|---|---|---|---|
|
#18+
типы результирующих столбцов юниона выводятся на основании всех его частей. Из первой части берутся лишь имена для столбцов VIEW. так что тут что-то другое. Склероз мне подсказывает, что (1) это уже всплывало ранее и (2) проблема на самом деле в CTE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2014, 21:39 |
|
||
|
Ошибка в UNION при рекурсии
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovNickDeeЯ про другую максимальную длину. В нашем примере: Max(length(''), length(type of G_PRODUCT.NAME)) Сейчас Max нужно высчитывать вручную, чтобы облом не случился. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. hvladТип колонки задаётся в первом члене union. Сделай там каст к варчару нужной длины. Уверенным твёрдым голосом :) Так или иначе - минус один миф, плюс один баг :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2014, 22:25 |
|
||
|
Ошибка в UNION при рекурсии
|
|||
|---|---|---|---|
|
#18+
NickDee, я в тебе не ошибся, тролль. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2014, 22:39 |
|
||
|
Ошибка в UNION при рекурсии
|
|||
|---|---|---|---|
|
#18+
dimitr, в CTE формат записи определяется по нерекурсивному члену, ибо рекурсивный временно отключен, т.к. он рекурсивный и не может быть обработан сразу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2014, 22:41 |
|
||
|
Ошибка в UNION при рекурсии
|
|||
|---|---|---|---|
|
#18+
hvladя в тебе не ошибся, тролль. Если ты не ошибся, и на самом деле понимаешь что происходит, тогда ты знаешь что нужно сделать чтобы FB стало хорошо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2014, 23:01 |
|
||
|
Ошибка в UNION при рекурсии
|
|||
|---|---|---|---|
|
#18+
NickDee, ты списочек (счет) ведешь? количетство твоих удовлетворенных/неудовлетворенных пожеланий? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2014, 23:43 |
|
||
|
Ошибка в UNION при рекурсии
|
|||
|---|---|---|---|
|
#18+
kdvты списочек (счет) ведешь? количетство твоих удовлетворенных/неудовлетворенных пожеланий? Нет, не веду. К чему вопрос? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2014, 00:05 |
|
||
|
Ошибка в UNION при рекурсии
|
|||
|---|---|---|---|
|
#18+
NickDeeНет, не веду. К чему вопрос? зря не ведешь. вопрос ни к чему. у тебя много дурацких идей, и я думал, ты записываешь счет борьбы NickDee vs FirebirdDevelopers. Можно было бы хотя бы оценить полезный выхлоп. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2014, 03:30 |
|
||
|
Ошибка в UNION при рекурсии
|
|||
|---|---|---|---|
|
#18+
kdv> борьбы NickDee vs FirebirdDevelopers. Я бы сказал vs World, поскольку большинство его идей не только у птицеводов не находят понимания и поддержки, а вообще у большинства коммьюнити, ИМХО. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2014, 09:22 |
|
||
|
Ошибка в UNION при рекурсии
|
|||
|---|---|---|---|
|
#18+
гоните его накуй. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2014, 10:53 |
|
||
|
Ошибка в UNION при рекурсии
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустамkdv> борьбы NickDee vs FirebirdDevelopers. Я бы сказал vs World, поскольку большинство его идей не только у птицеводов не находят понимания и поддержки, а вообще у большинства коммьюнити, ИМХО. Я несколько раз (больше трёх) видел на форуме призыв к убиранию тебя. Не знаю почему некоторые члены коммьюнити так на тебя реагируют. Возможно твои высказывания не находят у них поддержки :) Вы зря переводите фокус внимания с реальных проблем FB на меня. Я FB точно не враг. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2014, 15:18 |
|
||
|
Ошибка в UNION при рекурсии
|
|||
|---|---|---|---|
|
#18+
Hello, Nickdee! You wrote on 14 ноября 2014 г. 15:20:30: NickdeeВы зря переводите фокус внимания с реальных проблем FB на меня. Я FB точно не враг. обычное тупое трололо. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2014, 15:22 |
|
||
|
|

start [/forum/topic.php?fid=40&fpage=85&tid=1563197]: |
0ms |
get settings: |
10ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
51ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
80ms |
get tp. blocked users: |
1ms |
| others: | 244ms |
| total: | 425ms |

| 0 / 0 |
