Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Revisiting the 2 Gig limit
Message
 
General information
Forum:
Visual FoxPro
Category:
Other
Environment versions
Visual FoxPro:
VFP 9 SP1
OS:
Windows XP SP2
Database:
Visual FoxPro
Miscellaneous
Thread ID:
01121213
Message ID:
01121282
Views:
12
Hi Sergey,

Our idea was simpler. We just wanted to move Memo fields out of our Trans table and have something with Trans_Memo table with one to one relationship with Trans table (actually we may have less records in Trans_Memo table).

But I just realized it would not help much in terms of space limit reaching. It would help in terms of speeding up operations of saving, retriving data.

>Yes, each file (DBF, FPT, CDX) of VFP table has independed limit of 2GB.
>Your idea may work but is it simple or not to implement would depends on an application design.
>
  • How would you know what the current Memo table # is at the time of insert?
    >
  • How would you know what Memo tables to open in case of data retrieval?
    >
  • How would you handle multiple memo fields per record?
    >
    >
    >>I have been thinking about something tonight in regards to the 2 Gig limit of Visual FoxPro. AFAIK, the limit is reached as soon as one of the related files for a table reaches the size of 2 Gig. So, if I have 4 millions records in Table.dbf for 135 Meg, with a Table.cdx for 45 Meg and Table.fpt for 1.8 Gig, it means that as soon as the first file associated with that reaches the 2 Gig limit that it won't work anymore. So, basically, the memo file is likely to reach that limit first.
    >
    >>Assuming that is true, and please someone can validate this, the simplest thing to do to continue work as is with this table would simply be to create an additional field in Table.dbf, such as TableID of type Integer, for example, which can hold the location of the memo file associated with that record.
    >>
    >>For example, let say I have this for the first five records of Table.dbf:
    >>
    >>
    >>Numero       Title            AddDate             TableID
    >>1            My first tile    05/05/2005 11:11:11 1
    >>2            My second tile   05/05/2005 11:11:11 1
    >>3            My third tile    06/05/2005 12:11:11 2
    >>4            My fourth tile   06/05/2005 13:11:11 2
    >>5            My fifth tile    06/05/2005 14:11:11 2
    >>
    >>
    >>Let say I have this in TableMemo1.dbf:
    >>
    >>
    >>Numero       NoTable Notes
    >>1            1       Memo
    >>2            2       Memo
    >>
    >>
    >>And this in TableMemo2.dbf:
    >>
    >>
    >>Numero       NoTable Notes
    >>1            3       Memo
    >>2            4       Memo
    >>2            5       Memo
    >>
    >>
    >>Then, it would mean, I would only have to create a new TableMemoX.dbf when the limit is about to reach 2 Gig and adjust a small portion of the code to know where to get the memo when needed and where to save it at save time. Of course, I would need to transfer the memo field from Table.dbf and scale it down to TableMemoX.dbf.
    >>
    >>Is this about the simplest way to go to workaround that 2 Gig limit?
    >>
    >>Any confirmation?
    If it's not broken, fix it until it is.


    My Blog
  • Previous
    Next
    Reply
    Map
    View

    Click here to load this message in the networking platform