Product Documentation

Appendix B - Btrieve Compatability

FairCom RTG BTRV User Guide

Previous Topic

Next Topic

Appendix B - Btrieve Compatability

Because the FairCom RTG products are designed as direct replacements for the native file systems, they require little or no modifications to your application. This section comprises a complete list of all supported Btrieve functionalities.

In This Chapter

Btrieve API functions

BTRV File Types

Index-Based (Logical) Data Retrieval Operations

Data Manipulation Operations

Concurrency Control Biases (Add to Op Code)

Non-Index-Based (Physical) Data Retrieval Operations

File Specific Operations

Session Specific Operations

File Flags

Indices over Data Types

Previous Topic

Next Topic

Btrieve API functions

Function

Supported?

Operating Systems

BTRV

Yes

All

BTRVID

Yes

All

BTRCALL

Yes

Windows NT, 9X, ME only

BTRCALLID

Yes

Windows NT, 9X, ME only

WBRQSHELLINIT

Yes

Legacy1

WBTRVINIT

Yes

Legacy1

WBTRVSTOP

Yes

Legacy1

WBSHELLINIT

Yes

Legacy1

WBTRVIDSTOP

Yes

Legacy1

BTRCALL32

Yes

32-bit legacy platforms only

BTRCALLID32

N/A

32-bit legacy platforms only

BTRCALLBACK

N/A

Legacy1

BTRVINIT

N/A

Legacy1

BTRVSTOP

N/A

Legacy1

RQSHELLINIT

N/A

Legacy1

BRQSHELLINIT

N/A

Legacy1

1Obsolete according to Btrieve

Previous Topic

Next Topic

BTRV File Types

File Type

Supported?

Standard files

Yes

Data-only files

Yes

Key-only files

No

Previous Topic

Next Topic

Index-Based (Logical) Data Retrieval Operations

Operation

Supported?

5 Get Equal

Yes

6 Get Next

Yes

7 Get Previous

Yes

8 Get Greater Than

Yes

9 Get Greater Than or Equal

Yes

10 Get Less Than

Yes

11 Get Less Than or Equal

Yes

12 Get First

Yes

13 Get Last

Yes

36 Get Next Extended1

Yes

37 Get Previous Extended1

Yes

44 Get By Percentage

Yes

45 Find Percentage2

Yes

50 Get Key

Yes

1FairCom RTG does not support Alternate Collating Sequence and/or other special sorting (ISR, ICU, etc.) to specify filter expressions. LIKE and NOT LIKE operators are also not supported for filtering.

2Find percentage is supported only when using available index.

Previous Topic

Next Topic

Data Manipulation Operations

Operation

Supported?

2 Insert

Yes

3 Update

Yes

4 Delete

Yes

40 Insert Extended

Yes

53 Update Chunk

Yes

Current Record logical and physical position ("Currency") is compatible with Btrieve

Yes

Previous Topic

Next Topic

Concurrency Control Biases (Add to Op Code)

Operation

Supported?

100 Single-record wait read lock

Yes

200 Single-record no-wait read lock

Yes

300 Multiple-record wait read lock

Yes

400 Multiple-record no-wait read lock

Yes

500 No-wait page write lock

N/A

Previous Topic

Next Topic

Non-Index-Based (Physical) Data Retrieval Operations

Operation

Supported?

22 Get Position

Yes

23 Get Direct/Record

Yes

23 Get Direct/Chunk

Yes

24 Step Next

Yes

33 Step First

Yes

34 Step Last

Yes

35 Step Previous

Yes

38 Step Next Extended1

Yes

39 Step Previous Extended1

Yes

44 Get By Percentage

Yes

45 Find Percentage

Yes

44 Get By Percentage

Partially

45 Find Percentage2

Yes

50 Get Key

Yes

1FairCom RTG does not support Alternate Collating Sequence and/or other special sorting (ISR, ICU, etc.) to specify filter expressions. LIKE and NOT LIKE operators are also not supported for filtering.

2Find percentage is supported only when using available index.

Previous Topic

Next Topic

File Specific Operations

Operation

Supported?

0 Open

Yes

1 Close

Yes

14 Create

Yes

15 Stat

Yes

27 Unlock

Yes

29 Set Owner1

Yes

30 Clear Owner1

Yes

31 Create Index

Yes

32 Drop Index

No

42 Continuous Operation2

No

65 Stat Extended3

Partially

-127 Create/Rename

Yes

-127 Create/Delete

Yes

1Limitation of 9 characters.

2For use in system backups and "data snapshot." We provide sophisticated backup alternatives. File Versioning is not supported.

3RTG provides alternate views of much of the information from Extended Stat subfunctions. Contact FairCom for specific details if using these utility functions. Subfunction support:

1 - Segmented files not supported

2 - Only transaction mode query is available. Other queries do not apply to RTG.

3 - Partially supported with only index number.

4 - Owner encryption flag not supported.

5 - Supported.

6 - Supported.

7 - Most information is not applicable to RTG.

8 - Unsupported.

Previous Topic

Next Topic

Session Specific Operations

Operation

Supported?

17 Set Directory

No

18 Get Directory1

No

19 Begin Transaction

Yes

20 End Transaction

Yes

21 Abort Transaction

Yes

25 Stop

Yes

26 Version

Yes

28 Reset

Yes

78 Login/Logout2

Yes

1019 Begin Transaction

Yes

1RTG has a "static" concept of LOCAL_DIRECTORY.

2RTG login/logout are automatic by default. At file open, the file name is located in the RTG config file to match the <file>rule and its relative <instance> that contains the c-treeACE credentials for locating this specific file. With RTG, a distributed architecture can be built so this support includes which c-tree database server is controlling this file.

Previous Topic

Next Topic

File Flags

Attribute

Supported?

Constant

Use Default ACS

Yes

ALT1

Balanced Index

N/A

BALANCED_KEYS2

Blank Truncation

No

BLANK_TRUNC3

Use Old Style BINARY Data Type

Yes

BIN

Data Compression

Yes

DATA_COMP

Descending Sort Order

Yes

DESC_KEY

Duplicates allowed

Yes

DUP

Reserve Duplicate Pointers

N/A

DUP_PTRS4

Use Extended Data Type

Partially

EXTTYPE_KEY5

Include System Data

N/A

INCLUDE_SYSTEM_DATA6

Key-Only File

No

KEY_ONLY

Modifiable Key Values

Yes

MOD

Old-style STRING (bits 2 and 8 are 0)

Yes

 

Null Key (Any Segment)

No

MANUAL_KEY

Use Named ACS

No

NAMED_ACS

Case Insensitive Key

Yes

NOCASE_KEY

Do Not Include System Data

N/A

NO_INCLUDE_SYSTEM_DATA6

Null Key (All Segments)

Yes

NUL

Use Numbered ACS in File

Partially

NUMBERED_ACS1

Page Preallocation

Partially

PRE_ALLOC

Repeating Duplicates (use with DUP)

Yes

REPEAT_DUPS_KEY

Segmented Key

Yes

SEG

Key Number

No

SPECIFY_KEY_NUMS

Variable Length Records

Yes

VAR_RECS

Use VATs

No

VATS_SUPPORT

10% Free Space

N/A

FREE_107

20% Free Space

N/A

FREE_207

30% Free Space

N/A

FREE_307

1Can be set to ALT or NUMBERED_ACS: only one ACS allowed per table (acsNumber = 0).

2RTG always keeps keys balanced.

3Only applicable to files that allow variable-length records and do not use data compression.

4Btrieve and RTG store duplicate keys differently, so that is not needed with RTG.

5See Data Types for EXTTYPE_KEY.

6Not needed because Btrieve and RTG transactional systems are different.

7RTG reuses deleted space unless deleted-space management is disabled (using ctADD2END file creation mode) to turn off automatic reuse of deleted space, causing new records to be appended to end of file.

Previous Topic

Next Topic

Indices over Data Types

Index creation through SQL is supported on fields that do not have null indicator.

Data Type

BTRV Index?

SQL uses BTRV Index?

SQL Index?

0 CHAR

Yes

Yes

Yes

1 INTEGER

Yes

Yes

Yes

2 FLOAT

Yes

Yes

Yes

3 DATE

Yes

Yes

Yes

4 TIME

Yes

Yes

Yes

5 DECIMAL

Yes

Yes

Yes

6 MONEY

Yes

Yes

Yes

7 LOGICAL

No

No

No

8 NUMERIC

Yes

Yes

Yes

9 BFLOAT

No

No

No

10 LSTRING

Yes

Yes

No

11 ZSTRING

Yes

Yes

Yes

14 UNSIGNED BINARY

Yes

Yes

Yes

15 AUTOINCREMENT

Yes

Yes

Yes

17 NUMERICSTS

Yes

Yes

Yes

18 NUMERICSA

Yes

Yes

Yes

19 CURRENCY

Yes

Yes

Yes

20 TIMESTAMP

Yes

Yes

Yes

25 WSTRING

No

No

No

26 WZSTRING

Yes

Yes

Yes

27 GUID

No

No

No

28 NUMERICSLB

Yes

Yes

Yes

29 NUMERICSLS

Yes

Yes

Yes

30 DATETIME

No

No

No

31 NUMERICSTB

Yes

Yes

Yes

255 NULL INDICATOR SEGMENT

Yes

Partially (hidden)

No

TOCIndex