Visual FoxPro System Capacities
Different parts of Visual FoxPro have system capacity limits. The following tables list these limits.
Note
Some capacities might be limited by available memory and disk space.
Table and Index Files
Feature |
Capacity |
---|---|
Maximum # of records per table file. |
1 billion |
Maximum size of a table file. |
2 gigabytes |
Maximum size of an FPT file. |
2 gigabytes |
Maximum # of characters per record. |
65,500 |
Maximum # of fields per record1. |
255 |
Maximum # of tables open at one time2. |
65,535 |
Maximum # of characters per table field. |
254 |
Maximum # of bytes per index key in a non-compact index3. |
100 |
Maximum # of bytes per index key in a compact index3. |
240 |
Maximum # of open index files per table2. |
Limited by available memory |
Maximum # of open indexes in all work areas2. |
Limited by available memory |
Maximum # of relations. |
Limited by available memory |
Maximum length of relational expressions. |
Limited by available memory |
Fields
Feature |
Capacity |
---|---|
Maximum size of character fields. |
254 |
Maximum size of numeric and float fields. |
20 |
Maximum number of characters in field names in a free table. |
10 |
Maximum number of characters in field names for a table contained in a database. |
128 |
Minimum value of an integer. |
-2,147,483,647 |
Maximum value of an integer. |
2,147,483,647 |
Digits of precision in numeric computations. Visual FoxPro can handle numbers up to 9007199254740992 (2^53) in exact computations. |
16 |
Miscellaneous: 64 bits = 8 bytes Largest number = 10 ^ 308 = 2 ^ 1023 -> 10 bits per exponent + 1 for exponent sign plus 1 for number sign => 12 bits Leaving 52 bits for the mantissa + 1 for implied normalized bit -> 53 bits LOG10(2^53) = 15.95 decimal digits accuracy |
|
Variables and Arrays
Feature |
Capacity |
---|---|
Default # of variables. |
16,384 |
Maximum # of variables. |
65,000 |
Maximum # of arrays. |
65,000 |
Maximum # of elements per array. |
Normal: 2 gigabytes Member array: 2 gigabytes Array of member objects: 65,000 |
Program and Procedure Files
Feature |
Capacity |
---|---|
Maximum # of lines in source program files. |
Limited by available memory |
Maximum size of compiled program modules4. |
Limited by available memory |
Maximum # of procedures per file. |
65,535 |
Maximum # of nested DO calls. Tip You can change the default level of nesting by using a configuration file that includes the STACKSIZE setting. For more information, see Special Terms for Configuration Files. |
128 (Default) |
Maximum # of READ nesting levels. |
5 |
Maximum # of nested structured programming commands. |
384 |
Maximum # of passed parameters. |
26 |
Maximum # of transactions. |
5 |
Maximum # of compiler levels for #INCLUDE. |
4 |
Reports
Feature |
Capacity |
---|---|
Maximum # of objects in a report definition. |
Limited by available memory |
Maximum height of a single report band. |
20 inches | 50.8 cm | 1920 pixels |
Maximum # of data grouping levels. |
74 |
Maximum length of character report variable names or a report expression. |
255 |
Maximum # of Detail bands. |
20 |
Maximum # of pages in a report at run time. |
65534 In object-assisted preview, limited by available GDI+ resources |
Miscellaneous
Feature |
Capacity |
---|---|
Maximum # of open windows (all types)2. |
Limited by available memory |
Maximum # of open Browse windows. |
255 |
Maximum # of characters per character string or memory variable. |
16,777,184 |
Maximum # of characters per command line. |
8,192 |
Maximum # of characters per label control on a report. |
252 |
Maximum # of characters per macro substituted line. |
8,192 |
Maximum # of open files. |
Operating system limit |
Maximum keystrokes in keyboard macro. |
1,024 |
Maximum fields that can be selected by a SQL SELECT statement. |
255 |
Maximum length of a string literal. |
255 |
Maximum file size accessible via low level file functions |
2 gigabytes |
1 If one or more fields allow null values, the limit is reduced by one to 254 fields.
2 Limited by memory and available file handles. .cdx files use only one file handle.
3 If the collating sequence is set to MACHINE, each character uses one byte. If the collating sequence is not set to MACHINE, each character uses two bytes. If the indexed field supports null values, one additional byte is used in the index key. Note that non-machine indexes are always compact.
4 A program module is one procedure. A program or application can contain an unlimited number of program modules.
See Also
Tasks
How to: Set Up an ODBC Data Source
Display System Information Sample
Concepts
Optimizing Visual FoxPro Startup Speed
Reference
Table File Structure (.dbc, .dbf, .frx, .lbx, .mnx, .pjx, .scx, .vcx)
File Extensions and File Types
Special Terms for Configuration Files