Skip to Main Content

APEX

Announcement

For appeals, questions and feedback, please email oracle-forums_moderators_us@oracle.com

When commit is executed?

bppriveSep 19 2008 — edited Sep 29 2008
I remarqued a strange issue in application today.

Suppose I have 2 processes after submit and validations:

10 - PROCESS ROW FOR VD_VIEW (process created by wizard and work properly)
20 - Insert the version number in the version table (Process I defined to add a row each and every time the process 10 inserts a row in VD_VIEW)

Everything work fine.

Today, I added some validations on the version table's trigger. The version being inserted must be greater than all the others in the table. Once again, the trigger fires and let the row being inserted when the version is greater than. The problem is when the version is lower or equal to the others in the table.

I coded a raise_application_error in the version table's trigger when the version isn't greater. The error is shown correctly in the page but it seems that the line inserted by the process 10 - PROCESS ROW FOR VD_VIEW is not rollbacked.

I tought a raise_application_error would raise the insert in the version table and the insert done by the other process too. It seems not.

So the question is how commit are issued? Following each process (which is in my view not what we want) or each and every time all the processes have been executed in rendering OR processing a page? Why this happen?

Did I assumed to quickly that only on commit is issued after the execution of all the processes?
This post has been answered by 60437 on Sep 29 2008
Jump to Answer
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Oct 27 2008
Added on Sep 19 2008
10 comments
9,310 views