Skip to main content

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



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.

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.

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

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.

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.

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.

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.

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 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.

Note

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.

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.

Note

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