Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Appending
Message
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Title:
Miscellaneous
Thread ID:
00097004
Message ID:
00097026
Views:
21
>Hello All;
>I'm having a problem with my table sizes. I'm dealing with tables that are up to or more than 1 gig. At one point I need to decide if I can order to the table i.e "SELECT * for mytable order by my keyfield into table new table"
>
>Since the table is a cursor, I cannot use FSIZE() to determine it's size, so I have a FOR loop that determines that size of 1 record and then I multipy it by reccount() * 3. This value I compare with DISKSPACE(SYS(5)). If DISKSPACE is greater, then I run my SQL.
>
>The problem occurs if the cursor size is too big. I need this data to sit in a table with a different name. If I close the cursor, the data is gone!! I can't SQL it into a new table.
>
>Any ides are welcome!!
>
>Sandy
Just an addendum to my other post. You can pre-calculate the number of records that will be returned using either COUNT()...FOR... or by using an SQL statement to determine how many records will meet the necessary conditions.

Also, look at SYS(2022) which will return the cluster size for the drive in question. You should use somthine like:
* Note, pass the drive letter to SYS(2022)
* if it isn't the default
lncluster = VAL(SYS(2022))
lnsize = CEILING(lnsize / lncluster) * lncluster
to determine the actual amount of diskspace to be used.
George

Ubi caritas et amor, deus ibi est
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform