Navigational Queueing
Mar. 13th, 2014 07:27 pmРазвлекался тут с Advanced Queueing и нашел чудесную окаменелость.
Dequeue Options
- navigation
- The navigation attribute specifies the position of the dequeued message. If FIRST_MESSAGE is specified, then the first available message matching the search criteria is dequeued. If NEXT_MESSAGE is specified, then the next available message matching the search criteria is dequeued (the default).
Проявляется это, например, если пытаться выбирать сообщения из очереди, прикидываясь разными подписчиками:
ORA-25242: cannot change subscriber name from SUBSCRIBER1 to SUBSCRIBER2 without FIRST_MESSAGE option *Cause: An attempt was made to change the subscriber name while using the NEXT_MESSAGE or NEXT_TRANSACTION option for dequeuing. *Action: To use a subscriber name that is different from the previous dequeue call, reset the dequeuing position by using the FIRST_MESSAGE navigation option.
Ведь что получается? В недрах реляционки сидит, особо не скрываясь, пережиток навигационных баз данных и заставляет нас думать в терминах FIND FIRST, FIND NEXT!
Будь я постарше, мог бы испытать примерно то же, что испытал однажды, сохраняя файл на КПК. А так просто в тихом шоке.
( пощупать исходный код )