Temp-Table Table Range Size (-tttablerangesize)

Posted by rdevos on 30-Jan-2015 08:23

Somebody ever used this ?

we already use the table monitoring with the next database startup parameters : -tablebase 1 -tablerangesize 3500 -indexbase 1 -indexrangesize 4500

when I debug a user session with TEMP-TABLES option I find lines like

34930724.log:[15/01/29@09:59:51.565+0100] P-34930724 T-000001 4 4GL TEMP-TABLE No Statistics for TEMP-TABLE sys_ActiveWindow (ID: 1): 0 records
34930724.log:[15/01/29@09:59:51.565+0100] P-34930724 T-000001 2 4GL TEMP-TABLE Deleted TEMP-TABLE sys_ActiveWindow (ID:1)
34930724.log:[15/01/29@09:59:51.565+0100] P-34930724 T-000001 4 4GL TEMP-TABLE No Statistics for TEMP-TABLE sys_brw (ID: 2): 0 records
34930724.log:[15/01/29@09:59:51.565+0100] P-34930724 T-000001 2 4GL TEMP-TABLE Deleted TEMP-TABLE sys_brw (ID:2)
34930724.log:[15/01/29@09:59:51.565+0100] P-34930724 T-000001 4 4GL TEMP-TABLE No Statistics for TEMP-TABLE tt_FileMST (ID: 3): 0 records
34930724.log:[15/01/29@09:59:51.565+0100] P-34930724 T-000001 2 4GL TEMP-TABLE Deleted TEMP-TABLE tt_FileMST (ID:3)


34930728.log:[15/01/29@10:01:05.578+0100] P-34930728 T-000001 4 4GL TEMP-TABLE Statistics for TEMP-TABLE tt_ScrTab (ID: 499):
34930728.log:[15/01/29@10:01:05.578+0100] P-34930728 T-000001 4 4GL TEMP-TABLE Number of records: 8, Record size(B) Min : 33, Max: 40, Avg: 35

Temp-tables seem to be numbered starting from 1....

How do I find data in the _tablestat  VST using the parameters :

Temp-Table Base Index (-ttbaseindex)................................................................................................216
Temp-Table Base Table (-ttbasetable).................................................................................................216
Temp-table Index Range Size (-ttindexrangesize)...............................................................................217
Temp-Table Table Range Size (-tttablerangesize)...............................................................................217

temp-tables seem to be in the same range ?

Is the parameter "-tttablerangesize" working ? does not seem to have effect on VST _tablestat 

When I do NOT use -tablerangesize and use only "-tttablerangesize" this seems not to work ?

When I do NOT use -tablerangesize and use  "-ttablerangesize" this seems to have impact on the number of records in VST _tablestat  , documentation error OR...???

When testing with the Progress.Database.TempTableInfo class examples from the manuals, The routines does not retreive any data about temp-tables...

 

All Replies

Posted by ChUIMonster on 30-Jan-2015 08:49

temp-table stats have nothing to do with _tablestat so you should not see any impact in _tablestat

For more details, Dan Foreman gave a talk about this at PUG Challenge EMEA pugchallenge.eu/program.html

Posted by James Palmer on 30-Jan-2015 08:50

Here's a presentation from 2012 EMEA PUG. www.dropbox.com/.../emea_pug_challenge_2012_temp-tables.pdf

Posted by James Palmer on 30-Jan-2015 08:50

Gah Tom got there first with a more recent one!

Posted by James Palmer on 30-Jan-2015 08:51

Just to add to Tom's, here's a link to the more recent presentation: pugchallenge.eu/.../dan_foreman_TTPerformance.pptx

Posted by rdevos on 02-Feb-2015 03:10

Hi,

We saw this presentation, but  these 4 startup parameters seem to be for the database,

so we should be able to see or be able to gather this data for all sessions ? no ?

We tried, using the examples in the manual, but they return no data...

the session debug param "TEMP-TABLES:4" for LOG-ENTRY-TYPES shows the expected result

only the next code shows us a minimal info on the current session, but we expect to find more...:

USING Progress.Database.*.

DEFINE VARIABLE iCount AS INTEGER NO-UNDO.

DEFINE VARIABLE hTable AS HANDLE NO-UNDO.

DEFINE VARIABLE cProcName AS CHARACTER NO-UNDO FORMAT "X(50)".

display TempTableInfo:temptablecount TempTableInfo:temptablepeak.

REPEAT iCount = 1 TO TempTableInfo:TempTableCount:

TempTableInfo:GetTableInfoByPosition(INPUT iCount, OUTPUT hTable, OUTPUT cProcName).

DISPLAY hTable:NAME LABEL "Table Name" cProcName LABEL "Procedure Name" hTable:DYNAMIC LABEL "Is Dynamic" .

END.

Regards

De Vos Rudy

Posted by James Palmer on 02-Feb-2015 03:31

No the parameters are for the session.

Posted by gus on 04-Feb-2015 13:10

as james said, they are for the session. the counters are all in the 4GL runtime in the _progres executable's address space. the database knows nothing about them and cannot see them.

a source of confusion is that when you specify startup configuration parameters, they are ignored by the executable if they don't apply to it.

This thread is closed