Some capacities of Visual FoxPro may be limited
by available memory.
| Category |
Feature |
Capacity |
Table and Index Files
| |
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 |
Unlimited |
| |
Maximum # of open
indexes in all work areas2 |
Unlimited |
| |
Maximum # of
relations |
Unlimited |
| |
Maximum length of
relational expressions |
Unlimited |
Field Characteristics
| |
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
| |
Default # of
variables |
1,024 |
| |
Maximum # of
variables |
65,000 |
| |
Maximum # of arrays |
65,000 |
| |
Maximum # of
elements per array |
65,000 |
Program and Procedure Files
| |
Maximum # of lines
in source program files |
Unlimited |
| |
Maximum size of
compiled program
modules4 |
64K |
| |
Maximum # of
procedures per file |
Unlimited |
| |
Maximum # of nested
DO calls |
128 |
| |
Maximum # of READ
nesting levels |
5 |
| |
Maximum # of nested
structured programming commands
|
384 |
| |
Maximum # of passed
parameters |
26 |
| |
Maximum # of
transactions |
5 |
Report Designer Capacities
| |
Maximum # of objects
in a report definition2 |
Unlimited |
| |
Maximum length of a
report definition |
20 inches |
| |
Maximum # of
grouping levels |
128 |
| |
Maximum length of
character report variables |
255 |
Other Capacities
| |
Maximum # of open
windows (all types)2 |
Unlimited |
| |
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 |
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 # of pages
in a report at runtime |
32767 |
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.