Join The Works program to have access to the most current content, and to be able to ask questions and get answers from Revelation staff and the Revelation community

At 18 SEP 2007 04:49:06PM Bruce Cameron wrote:

Can I make the assumption that if no users are in/on a system and I listed all the sizelocks they should all be zero (0) or one (1)?

If that is true, can I safely use the FIX_LH utility to change them to a 0 or 1?


At 18 SEP 2007 05:35PM Richard Hunt wrote:

Not that I am an expert…

Your logic is exactly what I do and it works for me. Actually I have programmed a procedure to do it for me.


At 18 SEP 2007 07:32PM Bruce Cameron wrote:

Richard,

"Can I make the assumption that if no users are in/on a system and I listed all the sizelocks they should all be zero (0) or one (1)?"


At 19 SEP 2007 02:23AM support@sprezzatura.com wrote:

Should all be zero UNLESS someone has DECIDED to make them otherwise.

support@sprezzatura.com

The Sprezzatura Group Web Site

World Leaders in all things RevSoft


At 19 SEP 2007 10:21AM Bruce Cameron wrote:

Hmmm,

If I go to table builder in 7.2.2 and create new table then go to the syseditor and RUN GET_LH_INFO "NEWTABLE" it is…

1102420180CMDATA\DATAVOL2\REV76122.LK2

nobody DECIDED to make sizelock a one (1), the OENGINE/INSIGHT just did it.


At 19 SEP 2007 11:09AM [url=http://www.sprezzatura.com]The Sprezzatura Group[/url] wrote:

Had you finished defining the table?

The Sprezzatura Group

World leaders in all things RevSoft


At 19 SEP 2007 11:15AM Bruce Cameron wrote:

Not sure I understand what you mean by "finished" defining.

Normally we just go to the Table builder, click 'New' choose the data directory, a tablename, adjust the approx. number of records and avg. size and create it.

Is the protocol, to then go into the LH table info and adjust the 1 to a 0 ???


At 19 SEP 2007 12:02PM Richard Hunt wrote:

I am a little slow on responding sometimes…

In short, that is correct. Just change them to 0 unless you have decided to have one of them to be 1. Otherwise all should be 0 when no one is on the system.

I "think" that is a common belief with most developers.


At 19 SEP 2007 01:57PM Dave Harmacek wrote:

Old timer remembers:

"How a new table gets a sizelock of ZERO"

Makefile automatically sets sizelock value to 1 (allowing only expansion).

First occurrence of unindexed SELECT changes sizelock to 2 or a multiple of 2. When done, subtract 2. Why, well an unindexed SELECT (READNEXT) needed to stop expansion/reduction so that the keys in a group didn't change to another group and were missed.

Now you can see how a frozen session or a user powering down a machine without closing Arev would leave sizelock values above 1.

Dave


At 19 SEP 2007 09:03PM Barry Stevens wrote:

As tablebuilder asks for approx no of records and record size, it preallocates the table size. To allow this size to stay, the size lock is set to 1….expand but dont contract. In tables where records are being added/deleted, this would make the operation faster as less time resizing the file space.

This is my memory from Arev days, that I think would still apply.

SizeLocks ]1 must be checked and changed (0 or 1 as above) as I THINK this would cause unnecessary "overflows".

A reporting utility would be handy


At 19 SEP 2007 10:49PM Warren Auyong wrote:

Stephan Thomas wrote a utility ages ago for ARev when he was with Dunbar & Co that would list what the sizelock was set to for each file with an option to set them to what ever.

Not difficult to do as all you need to do is a osbread/osbwrite of the appropriate byte in the file header. Not something you'd want to do with other users on the files though.

Somebody no doubt has a copy of this utility. I might even have a copy somewhere.


At 19 SEP 2007 11:23PM Bruce Cameron wrote:

Here is a utility I created last night. It uses a radio button to display 'types' of tables. Remember to run when one is in your app.

1=!tables 2=DICT. 3=SYS??? 4=Data and 5=All

1. create new form - non-bound

2. add radio button control called TYPE

3. add button and add following code to CLICK event

I used the Popup function this way it can be selected (for changes) sorted, searched and printed.

Cheers!

BUTTON CLICK EVENT

Type=.type-]value

Declare function get_lh_info,msg

clearselect

open "SYSTABLES" to systables then

 select systables
 eoj=0
 rows="
 cnt=0
 down=msg("","Please hold...":@FM:"U")
 loop
    readnext id else eoj=1
 until eoj=1 do
    begin case
       case type=1 ; If id1,1=!" then gosub getinfo
       case type=2 ; If id1,5=DICT." then gosub getinfo            
       case type=3 ; If id1,3=SYS" then gosub getinfo            
       case type=4 ; 
            If id1,1=!" else
               if id1,5=DICT." else
                  if id1,3=SYS" else
                     gosub getinfo            
                  end
               end
            end
       case type=5 ; gosub getinfo
    end case
 repeat
 call msg("",down)
 Convert @VM to @SVM in rows
 Convert @FM to @VM in Rows
 gosub setuppopup
 Call popup("",P,"")

end

RETURN 0

*

GetInfo:*

*

row=get_lh_info(id)

convert @FM to @VM in row

rows=id:@VM:row

return

*

setuppopup:*

*

a=1 20 L C TableName"

b=2 4 C C #Frames"

c=3 4 C C FrameSize"

d=4 4 C C Percent%"

e=5 10 R C #Records"

f=6 4 C C SizeLock"

g=7 4 C C Threshold"

h=8 33 L C OSFilename"

i=9 4 C C FType"

FormatX=A:@VM:B:@VM:C:@VM:D:@VM:E:@VM:F:@VM:G:@VM:H:@VM:I

CONVERT " " TO @SVM IN FormatX

P="

P=25

P="

P=Rows

P=FormatX

P=L"

P=2

P=Database Information"

P=1

P=C"

P=1

P=1

P=1

P=1

P=1

P=1

P=1

P=12189625

P=16777215

return


At 20 SEP 2007 12:29PM Richard Hunt wrote:

I have found that if you are selecting from the SYSTABLES table, you might want to exclude the following tables…

SYSLOGINS

SYSWORKSTATION_SETTINGS

SYSREPOSMENUCONTEXT

DICT.SYSREPOSMENUCONTEXT

I find that these tables seem to not want to be bothered.

View this thread on the Works forum...

  • third_party_content/community/commentary/forums_works/edcd2eed3a802d7b8525735a00725bf7.txt
  • Last modified: 2023/12/30 11:57
  • by 127.0.0.1