Question about SYSTBLSTAT table and table sizes

B_B

New Member
First off - I'm not sure what I'm doing....
I'm wondering if the query below will be give me accurate Progress table sizes.
I'm getting values in the value field that seem consistent for what I think the table size may be.
How do I know if the query is accurate?
How do I know what a value of 788,556,247 means? What is measured in? This is my largest value.
Any and all help will be greatly appreciated it.

SELECT *
FROM OPENQUERY(linkedservername, ' select t.id, t.tbl, t.creator, s.value
from sysprogress.SYStables t
left outer join sysprogress.SYSTBLSTAT s
on t.id = s.TBLID
')
 

TomBascom

Curmudgeon
No, it is not accurate.

Those tables are only updated when statistics are updated by the DBA. In most cases that is an extremely rare event.
 

B_B

New Member
Ok - so when I get the statistics updated.... would the Value field then tell me the table size?
if so, How do I find out what the Value field in the sysprogress.SYSTBLStat is measured in?

and speaking of statistics …. is this how I find out when the statistics were last ran?
SELECT *
FROM OPENQUERY(Acceleratelive, ' select max(val_TS)
from sysprogress.SYSidxstat s
')
 

TomBascom

Curmudgeon
You might want to look at ProTop -- Progress OpenEdge Monitoring with ProTop - White Star Software

This is 4gl code, II'm not a SQL guy, but something like this should tell you when the statistics were last updated:

Code:
  for each _file no-lock:
    for each _systblstat no-lock where _tblId = _file-num and _property = 2:
      if _systblstat._val_ts <> ? then SQLstatsTS = max( datetime( _val_ts ), datetime( 1/1/1970 )).
    end.
  end.
 
Top