Appendix
System Limits  
  This section lists ProvideX system limits (these are subject to any operating system constraints of memory and resources). There is also a general limit of 2GB on all data storage.

The following are preset limits for ProvideX Basic programs:

For ProvideX Basic Programs Limit Notes
Array (32-bit platforms), max elements (millions) 10  
Array, dimensions 3  
Command line (32-bit platforms), max characters 512 Entire length includes path, parameters and arguments.
COM interface method calls, max arguments 20  
Device Driver name length 12 This is the size of the filename as it exists in the *dev directory.
Line number, highest 64999  
Memory, max GB 2 ... or the maximum the OS allows, whichever smaller
Mnemonics, max characters (billion) 2  
String length for data Precision, digits of accuracy 14 Default
Program size (32-bit platforms), max GB 2 ... or the maximum the OS allows, whichever smaller.
Record limit, max bytes per record 10240  
Statement label, max characters 127  
Statement length, max in KB 24  
Statement length (console editing), max in KB 4  
String size, max GB 2  
TCP sockets max connections 65535 (Note: there is a limit of 16 in Windows 95/98)
TCP/IP address, max characters 50  
Variable name, max characters 127 This would include the leading or trailing percent sign as in the case of a Global variable or integer
WebServer port, highest port number 65535 Values below 2000 reserved for standard Internet activities
Window size limits 255 Max. 225 for lines. Max. 255 for columns

The following are preset limits for ProvideX Data Files::

For Data files Limit Notes
Channels, max number 127 or 65000 See 'XF' System Parameter
File size, max bytes 2^31-1 See 'MB'= System Parameter
Files, max number open concurrently 500  
Key segments (VLR/FLR files) 48 - 96 The maximum number of segments for a keyed file is 96 however some segment options take up two segment positions (such as key suppression). Use of these options will reduce the maximum number of segements.
Key I/O buffers, max number 100  
Keys, max number of 16/256 0-15 for VLR/FLR, or 0-255 for EFF
Key max length
external / internal
127 / 240 The External key for a file must not exceed 127 bytes. Internal keys (made up directly from the data fields) can be up to 240 bytes long.
Record size (fixed), max bytes 32167  
Record size (variable length), max bytes 31000 / 2GB The limit is 32000 when the extended record size option is not used. When this option is used the maximum is 2GB.
   
Internal Limitations
With this increased string limit a few internal logical limitations have been imposed to avoid passing excessively long strings to some of the system functions. The following functions/directives are restricted to 8kb string lengths:
 
CALL subprogram names/entry point names.
LIST_BOX LOAD for a single line.
SYSTEM_HELP command.
STR( ) function format masks.
SYS( ) function system command.
XEQ( ) pathname.
EVS( )/EVN( ) expressions.
MSK( ) mask definition.
DAY_FORMAT and DTE( ) formats.