Конференция "Базы" » Очередные загадки Firebird 2
 
  • sniknik © (28.03.10 16:38) [20]
    а другую написать, и проверить с ней тоже нельзя? еще более странно.
  • dik59 (28.03.10 17:20) [21]
    [20] а другую написать, и проверить с ней тоже нельзя? еще более странно.

    Проверил, написал. Результат обхохочешься:
    ваш запрос
    Select (select val from READ_DSI(dn.doc,dn.num,99692)) "val"
    from dn


    вернул вернул 15802 записей со значением val = -1 и 16 записей с правильными данными.

    а запрос
    Select * from dn
    Where
    ((select val from READ_DSI(dn.doc,dn.num,99692)) between 0 and 60)


    ОПЯТЬ выдал тот же глюк, что и раньше (хотя "невалидного" null не получал).
    Отсюда вывод: все-таки глючит FireBird. Кроме того, в стандарте и реализациях SQL (по Кевину Клайну) вроде бы нет упоминания о невалидности значения
    null

     для between, там только говорится, что если хотя бы одна из границ
    null

    , то результат сравнения будет
    null

    , что, вообще говоря, не должно мешать исполнению запроса, как не мешает исполнению запроса значение
    null

    в простом сравнении (например
    val > 2

    )

    Еще раз всем спасибо.
  • Виталий Панасенко(дом) (28.03.10 17:52) [22]

    > Виталий Панасенко(дом)   (28.03.10 13:48) [11]
    >
    > Оттуда же
    > View that uses select expressions from selectable stored
    > procedure fails to execute with error:
    > Unsuccessful execution caused by an unavailable resource.
    >
    > Unsupported field type specified in BETWEEN predicate.
    >
    > for select from view that uses BETWEEN predicate applied
    > to select expression. See attached script for reproducible
    > test case.
    > It executes correctly when equivalent construct X >= val1
    > and X <= val2 is used.
    >

    Это известный баг оптимизатора.. см.
    > Виталий Панасенко(дом)   (28.03.10 13:40) [10]
    >
    > http://tracker.firebirdsql.org/browse/CORE-1095
  • dik59 (28.03.10 18:26) [23]
    [22] Это известный баг

    Да, спасибо, я понял. Жаль только что разработчикам FireBird этот баг неизвестен.
    Сейчас пытался выйти на форум их сайта, но понял, что без бутылки это не судьба. Слишком умные (для меня).
  • dik59 (28.03.10 18:36) [24]
    P.S. может быть кто-то сможет отправить им эту страничку для ознакомления?
  • Виталий Панасенко(дом) (28.03.10 19:43) [25]

    > dik59   (28.03.10 18:26) [23]
    >
    > [22] Это известный баг
    >
    > Да, спасибо, я понял. Жаль только что разработчикам FireBird
    > этот баг неизвестен.

    Баг известен, я ж на треккер ошибок FireBird ссылку дал
    > http://tracker.firebirdsql.org/browse/CORE-1095

    .. Но не исправлен, это другое дело...
 
Конференция "Базы" » Очередные загадки Firebird 2
Есть новые Нет новых   [134433   +22][b:0][p:0.001]