System specifications

Limits of FairCom products

FairCom APIs use required and optional parameters to complete specific operations. The following table shows the limits of these parameters.

Table 1. General limits (FairCom database engine)

Attribute Description Limits
field length

Length of a column for CHAR, VARCHAR, BINARY, and VARBINARY field types. 

NCHAR and NVARCHAR fields have different limits because they specify the number of two-byte characters instead of bytes.

1 to 65,500 bytes

1 to 32,752 two-byte characters

fields per table Number of fields or columns in a table 1 to 2,500
group Number of users in a group 0 to 16 per user
indexes Number of indices per data file 0 to 64 (configurable)
indexed columns per table Maximum number of SQL columns used in all of a table's indexes 2,048 (configurable)
index key size Number of bytes in one index key 1 to 1,024
index segments Number of ISAM segments per index 1 to 16 (configurable)
memory files Memory file limitations See Memory File Limitations
name length Length of an identifier, including the name of a database, table, index, field, sequence, stored function, stored procedure, etc. 1 to 64 bytes
open file number The file number (filno) returns when the server opens a data file 1 to 4,294,963,200
open files Number of concurrently opened files 1 to 1 million
password Length of a password 1 to 1024 bytes
record, fixed-length Size of a fixed length record 1 to 64KB
record, variable-length Size of a variable length record 1 to 2GB
records per table Number of records per table or data file 0 to 1 quintillion
table name A table name has a limited length. In SQL, a table name is case insensitive and is limited to the following characters: A-Z, a-z, 0-9, ., _, and - unless the name is enclosed double quotes 1 to 64 bytes
table size Size of a data file 0 to 16 exabytes
user name User name has a limited length and is limited to the following characters: A-Z, a-z, 0-9, ., _, and - 1 to 31 bytes POSIX standard

Table 2. FairCom SQL limits

Attribute Description Limits
SQL check constraint clause Length of a SQL CHECK constraint clause 20,000 bytes
SQL check constraints per table Number of check constraints in a table 0 to 4,000
SQL connection string Length of a SQL connection string 0 to 100 bytes
SQL column's default value Maximum length of a field's default value 0 to 8,192 bytes
SQL error message Length of a SQL error message 0 to 511 bytes
SQL foreign constraints per table Number of foreign constraints in a SQL table 0 to 4,000
SQL procedure arguments Number of arguments in a SQL CALL statement 0 to 50
SQL recursion level Number of SQL recursion levels for stored procedures 0 to 10
SQL statement input parameters Number of input parameters in a SQL statement 0 to 512
SQL statement length Length of a SQL statement 1 to 32MB (before V10.2, 35,000 characters)
SQL statement nested levels Number of nested levels in a SQL statement, such as nested view references 0 to 25
SQL statement outer references Number of outer references in a SQL statement 0 to 250 to 25
SQL statement table references Number of table references in a SQL statement 1 to 250
SQL storage attribute clause Length of a SQL storage_attribute clause 0 to 2,000 bytes
SQL view statement Length of the SQL statement that creates a view 1 to 65,000 bytes

Disk reads/writes

A large variable-length record read or write operation could fail with Windows error 1450. To avoid this Windows error, see  Enforce Maximum Disk Read/Write Sizes on Windows to set the maximum read/write size.

 
 

File ID

The file ID number of a transaction-controlled file is incremented each time the file is opened. If error 534, Pending File ID overflow: 534 is written to CTSTATUS.FCS see File ID Overflow.

 
 

File size

The file size limit is 16 Exabytes (18 million terabytes). See File Size and Operating System Limits for more information.

 
 

Group

The System Administrator can create one or more Groups. Each group is assigned a unique Group ID that is a 32-byte ASCIIZ string.

To provide a convenient way for users with related needs to share information, each user is assigned membership in one to 16 groups. The Administrator adds the groups to the system and assigns users to them. Each user has a default group, which counts as one of the user's 16 groups. If a user is not assigned to a group, the user's default group is the GUEST group.

When an application program logs on to the FairCom Server with one of the extended functions, it sends a User ID and user password to the FairCom Server. Logging on with one of the equivalent standard functions or sending a NULL User ID with one of the extended functions automatically assigns the User ID of GUEST and membership in the GUEST group. If a User ID or password that does not exist is sent, the initiating call to the FairCom Server returns an error code, and the program is not connected to the FairCom Server.

 
 

Index

The index limit defaults to 64 but can be increased using MAX_DAT_KEY in ctsrvr.cfg to a theoretical limit of 32767, although a practical limit exists well before this value.

 
 

Password

Each User can have an optional user password. The password limit is 15 to 1024 bytes. For more information about passwords, see Automatically Enforce Password Strength and Setting password requirements.

 
 

Segment

The segment limit defaults to 16 but can be increased using MAX_KEY_SEG in ctsrvr.cfg to a theoretical limit of 32767, although a practical limit exists well before this value.

 
 

SQL Table index component

The limits of the table index components are configurable in ctsrvr.cfg by MAX_DAT_KEY (default 64) and MAX_KEY_SEG (default 32).

 
 

Table name

Table names must meet the following requirements:

  • Must be 64 bytes or less in length
  • Must start with an upper or lowercase letter
  • Must not contain special characters other than underscore "_"
  • Can include a mix of upper-lower case characters, but are treated as case-insensitive.

Actions that take a “tableName” will return an Error 4054 if the table name does not meet these requirements. If this error is returned by "createTable", "createIntegrationTable", "createInput", or "createTransform", check the supplied "tableName" property to ensure it meets requirements.

 
 
 

User

A user name, user ID, or account name is a 32-byte null-terminated ASCII string, which implies 31 bytes are available. The following characters are allowed in the name:

  • ABCDEFGHIJKLMNOPQRSTUVWXYZ
  • abcdefghijklmnopqrstuvwxyz
  • 0123456789
  • ._-
  • A hyphen character (-) cannot be used as the first character.

The server ignores the case of the ASCII characters. Therefore, the server considers TEST_1.FairCom-4 to be the same as test_1.faircom-4.

FairCom based these limitations on the POSIX standard for the Portable Filename Character Set.