Operating System and Network software may impose limits of its own.
For example Unix limits the amount of memory a single process can have and the number of files it can open (sometimes to as little as 64). You need to make sure you have configured appropriate limits for the kernel. SRV3 will open one file for every user, as well as all the regular database files. TCPMGR will "fork" another process for every connection.
|
Maximum database data file size |
4096 MB (up to 4.622). From release 4.622 there are no file size limits other than those imposed by the underlying operating system |
|
Maximum number of tables on a database |
32K |
|
Maximum number of records per table |
Limited only by max data file size |
|
Maximum record size |
4K |
|
Maximum field size |
4K-12 bytes |
|
Maximum number of key fields per table |
99 |
|
Aggregate key size |
200 bytes |
|
Maximum length of table and field names |
16 charcters |
|
Maximum number of indexes per table |
32767 |
DP4 limits the number of connections that a server can accept (there is one connection per client machine, if multiple programs run on on a client there is only one connection) to 256. Individual implementations of TCP/IP may limit this figure further. A client can connect to 99 servers simultaneously using AUXDISTR, but individual tables can only use 32 of these.
The maximum number of connections supported by the network manager depends on the platform.
For both 16- and 32-bit Windows DP4 limits this value to 127 (or 256 in 4.623). If a Windows client is running two DP4 programs that is only one connection but two user processes. Again this may be further limited by the underlying software layers. (The 16 bit Windows TCPMGR is obsolete. It probably won't accept more than about 6 connections, because of memory constraints)
On UNIX servers the limit is the smaller of 256 and the defined value of FD_SETSIZE. This is defined in the system header files. There is only one connection per client machine.
The DOS network manager can accept up to 128 connections. (The DOS network manager is not available since release 4.520. It certainly won't accept 128 connections if it is reinstated)
|
Maximum number of servers |
99 |
|
Maximum number of databases open |
48. In 4.623 up to 1024 databases may be opened |
|
Maximum number of DP4 programs per server |
414 - Likely to be limited further by number of connections |
The lists above shows the current limits of the DP4 system.
However, the practical limits may be affected by performance issues.
Prior to release 4.520/4.616 there was a limit on the number of QAB procedures of 32767. Now you can raise this limit to 65533 by making some changes to the base dictionary. See release notes for details.
QAB Programs can access a maximum of 128 database tables per program.
Each QAB procedure can process at most 99 input and output fields.You can have additional fields that are neither input nor displayed.
In 4.5xx DP4 programs can display a maximum of 50 maps on screen at the same time. There is no limit in 4.6xx.
Prior to release 4.624 the maximum size of a compiled QAB program is 64K code+data. In 16 bit versions of DP4 the maximum size is 42000, but this can be increased if you link your own version of PROGRUN. In 4.624 the maximum size of a QAB program is limited only by the maximum size of a characer array in a 32-bit program. The default maximum program size is 4MB, but you can increase this is you link your own version of PROGRUN.
From release 4.521 the minimum processor requirement for all 16 bit versions of DP4 is an 80386 (previously the English MS-DOS version worked on 80286).
32-bit DP4 will work on any 32-bit x86 style processor. DP4 is tested on machines with Intel Pentium 4 class processors, but there are no known compatibility issues with older processors, or with AMD processors.
64-bit DP4 is currently only available for "X64" style processors. The Itanium processor is not supported.