Does CA-Realia release 3.3 support sort and index files greater than 4 GB?

Document ID : KB000054472
Last Modified Date : 14/02/2018
Show Technical Document Details

Description:

Does CA-Realia release 3.3 support files greater than 4 GB?

Solution:

Since Realia 3.0, the Realia filesystem interface was changed and upgraded to the underlying C-Tree technology from FAIRCOM.
The standard file system of current CA-Realia release 3.3 is internal using same C-Tree filesystem technology which is still based on Faircom's c-tree Plus technology which has a 4 GB limit for standalone files and for sort and index files.

However, one can use Faircom's c-tree Server or Pervasive's server engine (based on Btrieve), both of which have huge file support. CA-Realia includes installable file system modules for both servers, meaning that no code changes are necessary. Both mentioned Filesystem Server are not provided with CA-Realia. Only a Filesystem Exit is provided with Realia which support the mentioned filesystem server.

CA-Realia also does not support sort files greater than 4GB. A third party external sort would be required to achieve this. An alternative would be to migrate one's data to a database and access it via ODBC using embedded SQL. CA-Realia includes and embedded SQL precompiler and runtime for accessing ODBC data sources. In addition to databases such as DB2, Oracle, and SQL Server, both the Faircom and Pervasive servers mentioned above provide ODBC access.

BTRIEVE filesystem server from PERVASIVE
In that cases the customer will use the Btrieve file system from Pervasive, the "Pervasive PSQL Summit Workgroup 10.0" is the product, that could help the customer. The size of a MicroKernel data file (from Pervasive Runtime controlled user data files) can be larger than the operating system file size limit. Current release 10.0 support a file size up to 256 GB for Sort and Index files.

Realia is compatible with the BTRIEVE file system. When the Btrieve file system is started as a service on the operating system, it can be accessed by Realia with specifying the filesystem exit CARFSWBT. This is a special file attribute behind the file name in the Input-Output Section; as sample:

SELECT FILE01 ASSIGN TO 'file01name[Z:EXIT(CARFSWBT)]' ....

Customer can either create such large files with the Pervasive Function Executor utility program or create/maintain such file with the Realia Cobol program (Open Output, Read, Write, Rewrite, etc) with the [Z:EXIT(CARFSWBT)]' file attribute specification for the particular file on the SELECT statement.
The customer can convert existent index files with Realia File System (RFS) into files with the Pervasive file system (BTRIEVE) with own Cobol program. Alternatively, the conversion can be done with CA-Realia Utility REALCOPY; as sample:

REALCOPY realiafile.idx[X] /R btrievefile.btr[Z:exit(CARFSWBT)]

C-TREE filesystem server from FAIRCOM
In that cases the customer will use the C-TREE filesystem server from FAIRCOM, the "c-treeACE EXPRESS v9" from FAIRCOM is the current product, that could help the customer. The previous version from FAIRCOM with C-Tree file system server support (C-TREE PLUS version 8) would also be helpful for the customer.

Following some highlights of the tested C-TREE PLUS version 8 file system:
65k record length, huge file support up to 18,000,000 terabytes!, the c-tree Server now supports Data and Index Cache Sizes up to 64 GB, the ability to allocate large data and index caches improves performance for large data sets by allowing a larger portion of the data set to reside in server memory.

Realia is compatible with the C-TREE file system. When the C-Tree file system server is started as a service on the operating system (CTREESQL.EXE), it can be accessed by Realia with specifying the filesystem exit CARFSWFC. This is a special file attribute behind the file name in the Input-Output Section; as sample:

SELECT FILE01 ASSIGN TO 'file01name[Z:EXIT(CARFSWFC): ...]' ....

Please read Realia Cobol Reference Guide, chapter 7 for more details regarding the usage of Faircom C-Tree file system.

Because of differences in the C-Tree File Header of the created index files depending on the used C-Tree file system release 6.x, 7.x, 8.x or 9.x, such files can be OPENed and UPDATEd with REALIA only with the same C-Tree file system with which the Index file are created. Otherwise either the OPEN will fail with return code 30 (Permanent error. No further information is available.) or the READ or START will fail with return code 47 (the file is not opened properly in Input or I-O mode.)

When accessing index files by Realia with specifying the FAIRCOM file system exit CARFSWFC, at least the FAIRCOM server name is required as an option for the file system exit. This is a special file attribute behind the file name in the Input-Output Section; as sample:

SELECT FILE01 ASSIGN TO
'file01name[Z:EXIT(CARFSWFC):SERVER(FAIRCOMS)]' ....

If the server name option missing, the OPEN will fail with return code 39 (an OPEN statement is unsuccessful due to a conflict between the fixed file attributes and the attributes specified for that file in the program).

Customer can create or maintain such large files with the Realia Cobol program (Open Output, Read, Write, Rewrite, etc) with AND/OR without the [Z:EXIT(CARFSWFC) :SERVER(FAIRCOMS)...]' file attribute specification for the particular file on the SELECT statement depending on the needed C-Tree file system release for the input and output file.

Index files, created with C-Tree file system server v8 or v9 cannot be converted into REALIA internal used c-tree file system version or vice versa with the REALIA utility REALCOPY. REALCOPY with AND without file system exit specified, cannot read the input file header and will fail with return code 39. Converted files into C-Tree v8 or v9 file system cannot be read within REALIA and also fail with return code 39.