powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Оптимизатор View. Баг?
3 сообщений из 3, страница 1 из 1
Оптимизатор View. Баг?
    #39073094
shiliaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
Наткнулся при апгрейде на 2.5.5 на баг оптимизатора.
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
C:\Program Files (x86)\Hand\FB25\bin>isql
Use CONNECT or CREATE DATABASE to specify a database
SQL> CREATE DATABASE 'C:\TEMP\D.FDB';
SQL>
SQL> CREATE VIEW V(F1, F2) AS
CON> SELECT RDB$SECURITY_CLASS, COALESCE(RDB$SECURITY_CLASS , 'B') FROM RDB$DATABASE WHERE 1=0;
SQL>
SQL> SET LIST ON;
SQL>
SQL> SELECT * FROM V;
SQL>
-- ничего нет, нормально
SQL> SELECT 1, V.F1, V.F2
CON> FROM RDB$DATABASE LEFT JOIN V ON 1=0;

CONSTANT                        1
F1                              <null>
F2                              B --????? 
SQL>
SQL> SHOW VERSION;
ISQL Version: WI-V2.5.5.26937 Firebird 2.5
Server version: Firebird/x86-64/Windows NT (access method), version "WI-V2.5.5.26937 Firebird 2.5"
Firebird/x86-64/Windows NT (remote server), version "WI-V2.5.5.26937 Firebird 2.5/XNet (***)/P12"
Firebird/x86-64/Windows NT (remote interface), version "WI-V2.5.5.26937 Firebird 2.5/XNet (***)/P12"
on disk structure version 11.2
SQL>



Такое впечатление что оптимизатор "протолкнул" COALESCE(RDB$SECURITY_CLASS , 'B') на пару уровней выше, до условия JOIN запроса и WHERE вьюхи.

При том что в 2.5.2 работало как положено:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
SQL> SET LIST ON;
SQL> SELECT 1, V.F1, V.F2
CON> FROM RDB$DATABASE LEFT JOIN V ON 1=0;

CONSTANT                        1
F1                              <null>
F2                              <null>


SQL> SHOW VERSION;
ISQL Version: WI-V2.5.5.26937 Firebird 2.5
Server version:Firebird/x86-64/Windows NT (access method), version "WI-V2.5.2.26539 Firebird 2.5"
Firebird/x86-64/Windows NT (remote server), version "WI-V2.5.2.26539 Firebird 2.5/tcp (***)/P12"
Firebird/x86-64/Windows NT (remote interface), version "WI-V2.5.5.26937 Firebird 2.5/tcp (***)/P12"
on disk structure version 11.2
SQL>


попробовал в WI-T3.0.0.31374 Firebird 3.0 Beta 1 - баг в наличии.
...
Рейтинг: 0 / 0
Оптимизатор View. Баг?
    #39073100
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shiliaev,

пиши в трекер
...
Рейтинг: 0 / 0
Оптимизатор View. Баг?
    #39074188
shiliaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Оптимизатор View. Баг?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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