Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Странное поведение в Оракл 11.2.0.2  [new]
Вопрос2013
Guest
Добрый день!
Столкнулись с такой проблемой. Делаем следующие объекты в бд

create or replace function dummy return number is begin return 1; end; 

create table bug_demo(x xmltype, n number) XMLTYPE COLUMN x STORE AS BASICFILE CLOB;

insert into bug_demo values(xmltype('<a>hello from oracle1</a>'), 1);
insert into bug_demo values(xmltype('<a>hello from oracle2</a>'), 2);
commit;


SELECT
  rownum r,
  tt,
  n
FROM
  (
    SELECT
      extractvalue(x,'/a') tt,
      n
    FROM
      bug_demo t
    WHERE
      dummy     = 1
    ORDER BY n DESC
  ) 


В таком виде в запросе в поле tt выводится null, но если закомментировать или rownum или вызов функции или убрать сортировку, то все показывается нормально. Опытным путем выяснили что на поведение запроса влияет способ хранения клоба


XMLTYPE COLUMN x STORE AS BASICFILE CLOB;


Если сделать

XMLTYPE COLUMN x STORE AS SECUREFILE BINARY XML

то запрос возвращает правильное значение в поле tt


Никто не сталкивался с таким?
22 апр 13, 10:56    [14211581]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение в Оракл 11.2.0.2  [new]
JaRo
Member

Откуда:
Сообщений: 1659
На моём 11.2.0.2 на вашем примере всё корректно.
На всякий случай киньте план запроса (включая filter-предикаты) - возможно будет видно, что пошло не так.
22 апр 13, 11:34    [14211773]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение в Оракл 11.2.0.2  [new]
Вопрос 2013
Guest

2 SELECT STATEMENT
COUNT
2 VIEW
2 SORT ORDER BY
FILTER "DUMMY"()=1
2 TABLE ACCESS FULL BUG_DEMO
22 апр 13, 11:45    [14211833]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить