BOster
Legendary Poster
I am researching on Oracle support, but I thought I would ask this here since someone might know the answer and save me some time.
We rarely use JDEDB_COMMIT_MANUAL option in C BSFNs when doing any type of transaction processing but instead let the caller (APPL, UBE, etc.) determine if TP is enabled and set boundaries, etc. - the way it appears Oracle kind of wants you to do it. However we do occasionally handle TP within a BSFN and we haven't really had any problems, until just recently.
We have an issue in some code that has been in place for years - not sure if the issue was always there or if it is new. We are reading through a result set on one table handle (hRequestRead) and updating the same table using a different table handle (hRequestUpdate). Both table handles are opened on the same HUSER handle intialized with:
<font class="small">Code:</font><hr /><pre>
JDB_InitUser(lpBhvrCom->hEnv, &hUser, (JCHAR *) NULL, JDEDB_COMMIT_MANUAL)
</pre><hr />
We found that the result set on the table doing the reading was only returning the first 100 rows when it should have been returning 600+ rows. If I change the code to open the hRequestRead table using a seperate HUSER handle initialized with
<font class="small">Code:</font><hr /><pre>
JDB_InitBhvr(lpBhvrCom, &hUserAuto, (JCHAR *) NULL, JDEDB_COMMIT_AUTO)
</pre><hr />
hRequestRead returns all the rows that it should in its result set.
Any ideas?
We rarely use JDEDB_COMMIT_MANUAL option in C BSFNs when doing any type of transaction processing but instead let the caller (APPL, UBE, etc.) determine if TP is enabled and set boundaries, etc. - the way it appears Oracle kind of wants you to do it. However we do occasionally handle TP within a BSFN and we haven't really had any problems, until just recently.
We have an issue in some code that has been in place for years - not sure if the issue was always there or if it is new. We are reading through a result set on one table handle (hRequestRead) and updating the same table using a different table handle (hRequestUpdate). Both table handles are opened on the same HUSER handle intialized with:
<font class="small">Code:</font><hr /><pre>
JDB_InitUser(lpBhvrCom->hEnv, &hUser, (JCHAR *) NULL, JDEDB_COMMIT_MANUAL)
</pre><hr />
We found that the result set on the table doing the reading was only returning the first 100 rows when it should have been returning 600+ rows. If I change the code to open the hRequestRead table using a seperate HUSER handle initialized with
<font class="small">Code:</font><hr /><pre>
JDB_InitBhvr(lpBhvrCom, &hUserAuto, (JCHAR *) NULL, JDEDB_COMMIT_AUTO)
</pre><hr />
hRequestRead returns all the rows that it should in its result set.
Any ideas?