Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 xmltable + full outer join => ORA-07445  [new]
GL
Member

Откуда: Харьков
Сообщений: 1513
SQL> SELECT banner FROM v$version WHERE rownum=1;
 
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Prod

Я хочу чего-то невозможного?

with t1 as (
  select * from xmltable(
    '/ROWSET/ROW'
    passing xmltype(
'<ROWSET>
<ROW><FNAME>one</FNAME><FSIZE>436</FSIZE></ROW>
<ROW><FNAME>two</FNAME><FSIZE>0</FSIZE></ROW>
</ROWSET>'
    )
    columns
      fname varchar2(40),
      fsize integer
    )
),
t2 as (
  select 'one' fname, 238 fsize from dual union all
  select 'two', 0 from dual
)
select coalesce(t1.fname,t2.fname), t1.fsize, t2.fsize
from t1
  full outer join t2 on t1.fname=t2.fname
where t1.fsize!=t2.fsize

Если заменить full outer join на left/right join - всё работает.
Если заменить xmltable но нормальную таблицу - всё работает.
Если в with поменять таблицы местами - всё равно не работает.

Металинк отсутствует.
Если вынесеное в заголовок темы утверждение - это приговор, так и пишите, я не обижусь.
Если есть какой-нибудь трюк - я был бы признателен.
8 фев 10, 16:21    [8312500]     Ответить | Цитировать Сообщить модератору
 Re: xmltable + full outer join => ORA-07445  [new]
GL
Member

Откуда: Харьков
Сообщений: 1513
Упс, сорри:

alert
Mon Feb 8 15:02:42 2010
Errors in file /u01/app/oracle/admin/HANGAR18/udump/h18_1_ora_31373.trc:
ORA-07445: exception encountered: core dump [qkaTabFun()+102] [SIGSEGV] [Address not mapped to object] [0x48] [] []
8 фев 10, 16:27    [8312554]     Ответить | Цитировать Сообщить модератору
 Re: xmltable + full outer join => ORA-07445  [new]
suPPLer
Member

Откуда: Харків, Україна
Сообщений: 7797
Блог
GL
Если есть какой-нибудь трюк - я был бы признателен.


Как в старой доброй 8-ке:

select ...
  from t1 left join t2 ...
 union all
select ...
  from t2
 where not exists (select ... from t1 ...)

И ещё одно - в 11.2 Ваш запрос работает.
8 фев 10, 16:50    [8312729]     Ответить | Цитировать Сообщить модератору
 Re: xmltable + full outer join => ORA-07445  [new]
GL
Member

Откуда: Харьков
Сообщений: 1513
suPPLer
Как в старой доброй 8-ке:
 union all 
Это-то понятно, но в оригинале размер обоих табличек, мягко говоря, большой, и это только первая часть марлезонского балета. Так что я скорее решусь сделать
create global temporary table as select ... 
чем насиловать xmltable из bfile...
suPPLer
И ещё одно - в 11.2 Ваш запрос работает.
Надеюсь, я не доживу
8 фев 10, 17:27    [8313025]     Ответить | Цитировать Сообщить модератору
 Re: xmltable + full outer join => ORA-07445  [new]
Timur Akhmadeev
Member

Откуда:
Сообщений: 509
Ежсли проапгрейдитесь до 10.2.0.4 и воспользуетесь по умолчанию отключенным native full outer join, то взлетит:
SQL> ed
Wrote file afiedt.buf

  1  with t1 as (
  2    select * from xmltable(
  3      '/ROWSET/ROW'
  4      passing xmltype(
  5  '<ROWSET>
  6  <ROW><FNAME>one</FNAME><FSIZE>436</FSIZE></ROW>
  7  <ROW><FNAME>two</FNAME><FSIZE>0</FSIZE></ROW>
  8  </ROWSET>'
  9      )
 10      columns
 11        fname varchar2(40),
 12        fsize integer
 13      )
 14  ),
 15  t2 as (
 16    select 'one' fname, 238 fsize from dual union all
 17    select 'two', 0 from dual
 18  )
 19  select /*+ native_full_outer_join */ coalesce(t1.fname,t2.fname) c, t1.fsize, t2.fsize
 20  from t1
 21    full outer join t2 on t1.fname=t2.fname
 22* where t1.fsize!=t2.fsize
SQL> /

C                         FSIZE      FSIZE
-------------------- ---------- ----------
one                         436        238
8 фев 10, 18:31    [8313462]     Ответить | Цитировать Сообщить модератору
 Re: xmltable + full outer join => ORA-07445  [new]
Timur Akhmadeev
Member

Откуда:
Сообщений: 509
Timur Akhmadeev
Если проапгрейдитесь до 10.2.0.4 и воспользуетесь по умолчанию отключенным native full outer join, то взлетит:

Работает и в 10.2.0.3.
8 фев 10, 18:42    [8313495]     Ответить | Цитировать Сообщить модератору
 Re: xmltable + full outer join => ORA-07445  [new]
GL
Member

Откуда: Харьков
Сообщений: 1513
Timur Akhmadeev,

Большое спасибо! Действительно работает и в 10.2.0.3.
8 фев 10, 18:45    [8313509]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить