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.