Kbase P95930: What could cause srt file to grow?
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  27/01/2011 |
|
Status: Verified
GOAL:
What could cause srt file to grow?
GOAL:
Why are srt files growing?
GOAL:
What parameters can help debug srt file problems associated with the application?
FACT(s) (Environment):
Progress 9.x
OpenEdge 10.x
All Supported Operating Systems
OpenEdge Category: Language (4GL/ABL)
FIX:
The srt file is used to store result sets for queries and r-code overflow when memory limits are reached (pre-10.1C). Below are specific cases that cause srt files to grow.
1) Local sorting if the database table doesn't have an index which matches the query. The results of the query predicate are sent to the client and the srt file is used to store and sort these results.
2) Result sets from Dynamic or SCROLLING queries. To say Dynamic or SCROLLING is actually a bit redundant because Dynamic queries "are" SCROLLING queries by default and it's that attribute of a Dynamic query that causes the result set to be stored in the srt file.
Queries that use the SCROLLING option fetch a set of records and bring them to the client all at once as opposed to non-SCROLLING queries which only fetch a single record at a time. Given that a buffer can only reference a single record at any given time the srt file is used to store the remaining records, thus allowing the query to navigate within that set of records using GET- (FIRST, NEXT, PREV, LAST) without going back to the server.
Note: You can change the Dynamic query default behavior of using the SCROLLING option, at the session level, by using the -noautorelist startup parameter. This, however, will not stop the srt file being used in case of sorting or if the PRESELECT option is used to open the query.
3) FOR EACH statements and queries that use the PRESELECT option.
4) r-code that overflows from memory (in releases earlier than OpenEdge 10.1C)
In OpenEdge 10.1C and later, a new r-code swap file (rcd*) is used to dynamically swap r-code segments in and out of the execution buffer instead of the srt* file.
Use -yc -yd or -yx to gather information on the application and its use of srt files