2.0.3 ORDER BY - странности

2007-10-15 Thread Кузнецов Евгений
Доброго времени суток! 2.0.3.12981 CREATE TABLE TEST_TABLE4 (id integer NOT NULL); COMMIT; insert into test_table4 values (4); insert into test_table4 values (1); insert into test_table4 values (6); COMMIT; select * from test_table4 order by 0 выдает Dynamic SQL Error. SQL error code = -10

Re: 2.0.3 ORDER BY - странности

2007-10-15 Thread Dmitry Yemanov
Кузнецов Евгений wrote: Что из этого - в трекер? Грубо говоря, ничего. При сортировке по константному значению порядок неопределен и в общем случае не обязан совпадать с порядком хранения. Может, стоит все же выдавать в этом случае ошибку? Уже обсуждалось неоднократно. Формально сервер

Re: 2.0.3 ORDER BY - странности

2007-10-15 Thread Кузнецов Евгений
On 15 окт, 13:02, Dmitry Yemanov <[EMAIL PROTECTED]> wrote: > Грубо говоря, ничего. При сортировке по константному значению порядок > неопределен и в общем случае не обязан совпадать с порядком хранения. Гм, а на 0 тогда зачем ругаться? Исторически так сложилось? С уважением, Евгений

Re: 2.0.3 ORDER BY - странности

2007-10-15 Thread Кузнецов Евгений
On 15 окт, 13:02, Dmitry Yemanov <[EMAIL PROTECTED]> wrote: > Грубо говоря, ничего. При сортировке по константному значению порядок > неопределен и в общем случае не обязан совпадать с порядком хранения. select * from test_table4 order by cast(:a as integer) сортирует по второму столбцу, даже есл

Re: 2.0.3 ORDER BY - странности

2007-10-15 Thread Dmitry Yemanov
Кузнецов Евгений wrote: Гм, а на 0 тогда зачем ругаться? Исторически так сложилось? Особенность парсинга, насколько я помню. -- Дмитрий Еманов

Re: 2.0.3 ORDER BY - странности

2007-10-15 Thread Dmitry Yemanov
Кузнецов Евгений wrote: select * from test_table4 order by cast(:a as integer) сортирует по второму столбцу, даже если а = 1. Так и должно быть? По-хорошему, он вообще не должен сортировать. Т.е. он должен выкинуть такой ORDER BY из запроса. Но на текущий момент он сортирует по фазе луны. Ч

Re: 2.0.3 ORDER BY - странности

2007-10-15 Thread Кузнецов Евгений
On 15 окт, 13:56, Dmitry Yemanov <[EMAIL PROTECTED]> wrote: > По-хорошему, он вообще не должен сортировать. Т.е. он должен выкинуть > такой ORDER BY из запроса. Но на текущий момент он сортирует по фазе > луны. Что оная фаза совпадает со вторым столбцом - это какая-то > случайная завязка в реализа

Re: 2.0.3 ORDER BY - странности

2007-10-15 Thread Dmitry Yemanov
Кузнецов Евгений wrote: Спасибо за информацию. Имеет ли смысл помещать в трекер minor request о внесении единообразия в этих вопросах? Занеси, лишним не будет. -- Дмитрий Еманов

Re: 2.0.3 ORDER BY - странности

2007-10-15 Thread Кузнецов Евгений
Доброго времени суток! Dmitry Yemanov wrote: Занеси, лишним не будет. Ушло: http://tracker.firebirdsql.org/browse/CORE-1516 Есть, правда, определенное неприятие такого рода запросов - думаю, сервер должен бить по рукам программиста при каждом удобном случае, включая этот. При сортировке п

Re: 2.0.3 ORDER BY - странности

2007-10-16 Thread Dmitry Yemanov
Кузнецов Евгений wrote: Поразмыслил еще и утратил понимание: Почему разрешено order by -1 Ведь и 2, и 0, и -1 - константы? Еще раз - это особенность парсинга. -1 на выходе парсера является функцией negate(constant). Не проще ли запретить сортировку по константе, не являющейся номером ст

Re: 2.0.3 ORDER BY - странности

2007-10-16 Thread Кузнецов Евгений
Доброго времени суток! On 16 окт, 11:25, Dmitry Yemanov <[EMAIL PROTECTED]> wrote: > Еще раз - это особенность парсинга. -1 на выходе парсера является > функцией negate(constant). > Стандарт позвляет сортировать по выражению, константа - это тоже > выражение. В текущей версии стандарта я не наше