× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



An SQL access plan is a part of a program object with embedded SQL.
SQL optimizer may change access plan, thus changing program object.
There are several reasons why optimizer will update access plan - e.g. job
CCSID change.
You may run in debug mode - then you will see messages in a joblog,
explaining why access plan was updated.
I think, you can suppress this update by revoking *CHANGE authority from
user.
But then optimizer will be trying to rebuild access plan for every
statement, which will be performance hit.

    Alexei Pytel
speaking only for myself




                      rob@dekko.com
                      Sent by:                 To:       rpg400-l@midrange.com
                      rpg400-l-admin@mi        cc:
                      drange.com               Subject:  Turnover question


                      03/28/2002 03:29
                      PM
                      Please respond to
                      rpg400-l





This is a multipart message in MIME format.
--
[ Picked text/plain from multipart/alternative ]
We have a SQLRPGLE program generated with Turnover.  We keep getting the
message that the program was changed outside of turnover.  We do a DSPOBJD
and the only thing we see different is the last used and the change date.

Scenario:
Two 5250 sessions.
Session 1 generates program.
Session 2 does dspobjd and notes change time.
Session 1 starts program.
Session 2 does dspobjd and notices that last used is different but change
time is same
Session 1 moves from first screen to second screen.
Session 2 does dspobjd and notices that last used and change time have not
changed since last checking.
Session 1 moves from second screen to third screen.
Session 2 does dspobjd and notices that last used has not changed since
last checking, but changed has.
We've not exited the program at any time between the many dspobjd's.
Regen the program using Turnover and get message that program has been
changed outside of Turnover.

Scenario two:
Gen the program using Turnover
Gen it again but this time no message that the program has been changed
outside of Turnover.

Future runs of the program do not change the changed time.  Just the first
run.

What the heck is going on here?  Does it optimize an SQL statement and
store that into the compiled object?

All three screens have SQL in them.

My biggest concern is that developers will become numb to the warning that
the object has been changed outside of Turnover.

Rob Berendt
--
"They that can give up essential liberty to obtain a little temporary
safety deserve neither liberty nor safety."
Benjamin Franklin
_______________________________________________
This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list
To post a message email: RPG400-L@midrange.com
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/cgi-bin/listinfo/rpg400-l
or email: RPG400-L-request@midrange.com
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.







As an Amazon Associate we earn from qualifying purchases.

This thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.