Btrieve 2
Loading...
Searching...
No Matches
BtrieveKeySegment Class Reference

The Btrieve key segment class. More...

#include <btrieveCpp.h>

Public Member Functions

 BtrieveKeySegment ()
 
 ~BtrieveKeySegment ()
 
Btrieve::ACSMode GetACSMode ()
 Get the alternate collation sequence mode.
 
int GetACSNumber ()
 Get the alternate collation sequence number.
 
Btrieve::DataType GetDataType ()
 Get the data type.
 
int GetDescendingSortOrder ()
 Get descending sort order.
 
Btrieve::DuplicateMode GetDuplicateMode ()
 Get the duplicate mode.
 
Btrieve::Index GetIndex ()
 Get the index.
 
int GetKeyContinues ()
 Get key continues.
 
Btrieve::StatusCode GetLastStatusCode ()
 Get the last status code.
 
int GetLength ()
 Get the length.
 
int GetModifiable ()
 Get modifiable.
 
Btrieve::NullKeyMode GetNullKeyMode ()
 Get the null key mode.
 
int GetNullValue ()
 Get the null value.
 
int GetOffset ()
 Get the offset.
 
long long GetUniqueValueCount ()
 Get the unique value count.
 
Btrieve::StatusCode SetDescendingSortOrder (bool setDescendingSortOrder)
 Set descending sort order.
 
Btrieve::StatusCode SetField (int offset, int length, Btrieve::DataType dataType)
 Set the field.
 
Btrieve::StatusCode SetNullKeyMode (Btrieve::NullKeyMode nullKeyMode)
 Set the null key mode.
 
Btrieve::StatusCode SetNullValue (int nullValue)
 Set the null value.
 

Detailed Description

Constructor & Destructor Documentation

◆ BtrieveKeySegment()

BtrieveKeySegment::BtrieveKeySegment ( )
Snippet
C++ btest.cpp
BtrieveKeySegment btrieveKeySegment;
Python btest.py
btrieveKeySegment = btrievePython.BtrieveKeySegment()
assert(btrieveKeySegment != None)

◆ ~BtrieveKeySegment()

BtrieveKeySegment::~BtrieveKeySegment ( )

Member Function Documentation

◆ GetACSMode()

Btrieve::ACSMode BtrieveKeySegment::GetACSMode ( )

Get the alternate collation sequence mode.

Snippet
C++ bfileinformation.cpp
// If GetACSMode() fails.
if ((btrieveACSMode = btrieveKeySegment.GetACSMode()) == Btrieve::ACS_MODE_UNKNOWN)
{
status = btrieveKeySegment.GetLastStatusCode();
printf("Error: BtrieveKeySegment::GetACSMode():%d:%s.\n", status, Btrieve::StatusCodeToString(status));
goto leave;
}
printf("\tACSMode = %s\n", Btrieve::ACSModeToString(btrieveACSMode));
Python bfileinformation.py
rc = btrieveKeySegment.GetACSMode()
assert(rc != btrievePython.Btrieve.ACS_MODE_UNKNOWN), "Error: BtrieveKeySegment::GetACSMode():%d:%s.\n" % (rc, btrievePython.Btrieve_StatusCodeToString(btrieveKeySegment.GetLastStatusCode()))
print("\tACSMode =", btrievePython.Btrieve_ACSModeToString(rc))
Return values
!= Btrieve::ACS_MODE_UNKNOWNThe alternate collation sequence mode.
= Btrieve::ACS_MODE_UNKNOWNAn error has occurred. Use BtrieveKeySegment::GetLastStatusCode to determine the Btrieve::StatusCode associated with any error.
See also
Btrieve::ACSModeToString
Examples
bfileinformation.cpp.

◆ GetACSNumber()

int BtrieveKeySegment::GetACSNumber ( )

Get the alternate collation sequence number.

Snippet
C++ bfileinformation.cpp
// If GetACSNumber() fails.
if ((i = btrieveKeySegment.GetACSNumber()) < 0)
{
status = btrieveKeySegment.GetLastStatusCode();
printf("Error: BtrieveKeySegment::GetACSNumber():%d:%s.\n", status, Btrieve::StatusCodeToString(status));
goto leave;
}
printf("\tACSNumber = %d\n", i);
Python bfileinformation.py
rc = btrieveKeySegment.GetACSNumber()
assert(rc >= 0), "Error: BtrieveKeySegment::GetACSNumber():%d:%s.\n" % (rc, btrievePython.Btrieve_StatusCodeToString(btrieveKeySegment.GetLastStatusCode()))
print("\tACSNumber =", rc)
Return values
>= 0The alternate collation sequence number.
-1An error has occurred. Use BtrieveKeySegment::GetLastStatusCode to determine the Btrieve::StatusCode associated with any error.
Examples
bfileinformation.cpp.

◆ GetDataType()

Btrieve::DataType BtrieveKeySegment::GetDataType ( )

Get the data type.

Snippet
C++ bfileinformation.cpp
// If GetDataType() fails.
if ((btrieveDataType = btrieveKeySegment.GetDataType()) == Btrieve::DATA_TYPE_UNKNOWN)
{
status = btrieveKeySegment.GetLastStatusCode();
printf("Error: BtrieveKeySegment::GetDataType():%d:%s.\n", status, Btrieve::StatusCodeToString(status));
goto leave;
}
printf("\tDataType = %s\n", Btrieve::DataTypeToString(btrieveDataType));
Python bfileinformation.py
rc = btrieveKeySegment.GetDataType()
assert(rc != btrievePython.Btrieve.DATA_TYPE_UNKNOWN), "Error: BtrieveKeySegment::GetDataType():%d:%s.\n" % (rc, btrievePython.Btrieve_StatusCodeToString(btrieveKeySegment.GetLastStatusCode()))
print("\tDataType =", btrievePython.Btrieve_DataTypeToString(rc))
Return values
!= Btrieve::DATA_TYPE_UNKNOWNThe data type.
= Btrieve::DATA_TYPE_UNKNOWNAn error has occurred. Use BtrieveKeySegment::GetLastStatusCode to determine the Btrieve::StatusCode associated with any error.
See also
Btrieve::DataTypeToString
Examples
bfileinformation.cpp.

◆ GetDescendingSortOrder()

int BtrieveKeySegment::GetDescendingSortOrder ( )

Get descending sort order.

Snippet
C++ bfileinformation.cpp
// If GetDescendingSortOrder() fails.
if ((i = btrieveKeySegment.GetDescendingSortOrder()) < 0)
{
status = btrieveKeySegment.GetLastStatusCode();
printf("Error: BtrieveKeySegment::GetDescendingSortOrder():%d:%s.\n", status, Btrieve::StatusCodeToString(status));
goto leave;
}
printf("\tDescendingSortOrder = %s\n", i > 0 ? "Yes" : "No");
Python bfileinformation.py
rc = btrieveKeySegment.GetDescendingSortOrder()
assert(rc >= 0), "Error: BtrieveKeySegment::GetDescendingSortOrder():%d:%s.\n" % (rc, btrievePython.Btrieve_StatusCodeToString(btrieveKeySegment.GetLastStatusCode()))
print("\tDescendingSortOrder =", "Yes" if rc > 0 else "No")
Return values
> 0Descending sort order is set.
0Descending sort order isn't set.
-1An error has occurred. Use BtrieveKeySegment::GetLastStatusCode to determine the Btrieve::StatusCode associated with any error.
Examples
bfileinformation.cpp.

◆ GetDuplicateMode()

Btrieve::DuplicateMode BtrieveKeySegment::GetDuplicateMode ( )

Get the duplicate mode.

Snippet
C++ bfileinformation.cpp
// If GetDuplicateMode() fails.
if ((btrieveDuplicateMode = btrieveKeySegment.GetDuplicateMode()) == Btrieve::DUPLICATE_MODE_UNKNOWN)
{
status = btrieveKeySegment.GetLastStatusCode();
printf("Error: BtrieveKeySegment::GetDuplicateMode():%d:%s.\n", status, Btrieve::StatusCodeToString(status));
goto leave;
}
printf("\tDuplicateMode = %s\n", Btrieve::DuplicateModeToString(btrieveDuplicateMode));
Python bfileinformation.py
rc = btrieveKeySegment.GetDuplicateMode()
assert(rc != btrievePython.Btrieve.DUPLICATE_MODE_UNKNOWN), "Error: BtrieveKeySegment::GetDuplicateMode():%d:%s.\n" % (rc, btrievePython.Btrieve_StatusCodeToString(btrieveKeySegment.GetLastStatusCode()))
print("\tDuplicateMode =", btrievePython.Btrieve_DuplicateModeToString(rc))
Return values
!= Btrieve::DUPLICATE_MODE_UNKNOWNThe duplicate mode.
= Btrieve::DUPLICATE_MODE_UNKNOWNAn error has occurred. Use BtrieveKeySegment::GetLastStatusCode to determine the Btrieve::StatusCode associated with any error.
See also
Btrieve::DuplicateModeToString
Examples
bfileinformation.cpp.

◆ GetIndex()

Btrieve::Index BtrieveKeySegment::GetIndex ( )

Get the index.

Snippet
C++ bfileinformation.cpp
// If GetIndex() fails.
if ((btrieveIndex = btrieveKeySegment.GetIndex()) == Btrieve::INDEX_UNKNOWN)
{
status = btrieveKeySegment.GetLastStatusCode();
printf("Error: BtrieveKeySegment::GetIndex():%d:%s.\n", status, Btrieve::StatusCodeToString(status));
goto leave;
}
printf("\tIndex = %s\n", Btrieve::IndexToString(btrieveIndex));
Python bfileinformation.py
rc = btrieveKeySegment.GetIndex()
assert(rc != btrievePython.Btrieve.INDEX_UNKNOWN), "Error: BtrieveKeySegment::GetIndex():%d:%s.\n" % (rc, btrievePython.Btrieve_StatusCodeToString(btrieveKeySegment.GetLastStatusCode()))
print("\tIndex =", btrievePython.Btrieve_IndexToString(rc))
Return values
!= Btrieve::INDEX_UNKNOWNThe index.
= Btrieve::INDEX_UNKNOWNAn error has occurred. Use BtrieveKeySegment::GetLastStatusCode to determine the Btrieve::StatusCode associated with any error.
See also
Btrieve::IndexToString
Examples
bfileinformation.cpp.

◆ GetKeyContinues()

int BtrieveKeySegment::GetKeyContinues ( )

Get key continues.

Snippet
C++ bfileinformation.cpp
// If GetKeyContinues() fails.
if ((i = btrieveKeySegment.GetKeyContinues()) < 0)
{
status = btrieveKeySegment.GetLastStatusCode();
printf("Error: BtrieveKeySegment::GetKeyContinues():%d:%s.\n", status, Btrieve::StatusCodeToString(status));
goto leave;
}
printf("\tKeyContinues = %s\n", i > 0 ? "Yes" : "No");
Python bfileinformation.py
rc = btrieveKeySegment.GetKeyContinues()
assert(rc >= 0), "Error: BtrieveKeySegment::GetKeyContinues():%d:%s.\n" % (rc, btrievePython.Btrieve_StatusCodeToString(btrieveKeySegment.GetLastStatusCode()))
print("\tKeyContinues =", "Yes" if rc > 0 else "No")
Return values
> 0Key continues is set.
0Key continues isn't set.
-1An error has occurred. Use BtrieveKeySegment::GetLastStatusCode to determine the Btrieve::StatusCode associated with any error.
Examples
bfileinformation.cpp.

◆ GetLastStatusCode()

Btrieve::StatusCode BtrieveKeySegment::GetLastStatusCode ( )

Get the last status code.

Note
This method is intended for use following methods which don't return a status code.
Snippet
C++ bfileinformation.cpp
// If GetACSMode() fails.
if ((btrieveACSMode = btrieveKeySegment.GetACSMode()) == Btrieve::ACS_MODE_UNKNOWN)
{
status = btrieveKeySegment.GetLastStatusCode();
printf("Error: BtrieveKeySegment::GetACSMode():%d:%s.\n", status, Btrieve::StatusCodeToString(status));
goto leave;
}
printf("\tACSMode = %s\n", Btrieve::ACSModeToString(btrieveACSMode));
Python bfileinformation.py
rc = btrieveKeySegment.GetACSMode()
assert(rc != btrievePython.Btrieve.ACS_MODE_UNKNOWN), "Error: BtrieveKeySegment::GetACSMode():%d:%s.\n" % (rc, btrievePython.Btrieve_StatusCodeToString(btrieveKeySegment.GetLastStatusCode()))
print("\tACSMode =", btrievePython.Btrieve_ACSModeToString(rc))
Return values
= Btrieve::STATUS_CODE_NO_ERRORSuccess.
!= Btrieve::STATUS_CODE_NO_ERRORAn error has occurred.
See also
Btrieve::StatusCodeToString
Examples
bfileinformation.cpp.

◆ GetLength()

int BtrieveKeySegment::GetLength ( )

Get the length.

Snippet
C++ bfileinformation.cpp
// If GetLength() fails.
if ((i = btrieveKeySegment.GetLength()) < 0)
{
status = btrieveKeySegment.GetLastStatusCode();
printf("Error: BtrieveKeySegment::GetLength():%d:%s.\n", status, Btrieve::StatusCodeToString(status));
goto leave;
}
printf("\tLength = %d\n", i);
Python bfileinformation.py
rc = btrieveKeySegment.GetLength()
assert(rc >= 0), "Error: BtrieveKeySegment::GetLength():%d:%s.\n" % (rc, btrievePython.Btrieve_StatusCodeToString(btrieveKeySegment.GetLastStatusCode()))
print("\tLength =", rc)
Return values
>= 0The length.
-1An error has occurred. Use BtrieveKeySegment::GetLastStatusCode to determine the Btrieve::StatusCode associated with any error.
Examples
bfileinformation.cpp.

◆ GetModifiable()

int BtrieveKeySegment::GetModifiable ( )

Get modifiable.

Snippet
C++ bfileinformation.cpp
// If GetModifiable() fails.
if ((i = btrieveKeySegment.GetModifiable()) < 0)
{
status = btrieveKeySegment.GetLastStatusCode();
printf("Error: BtrieveKeySegment::GetModifiable():%d:%s.\n", status, Btrieve::StatusCodeToString(status));
goto leave;
}
printf("\tModifiable = %s\n", i > 0 ? "Yes" : "No");
Python bfileinformation.py
rc = btrieveKeySegment.GetModifiable()
assert(rc >= 0), "Error: BtrieveKeySegment::GetModifiable():%d:%s.\n" % (rc, btrievePython.Btrieve_StatusCodeToString(btrieveKeySegment.GetLastStatusCode()))
print("\tModifiable =", "Yes" if rc > 0 else "No")
Return values
> 0Modifications are allowed.
0Modifications are not allowed.
-1An error has occurred. Use BtrieveKeySegment::GetLastStatusCode to determine the Btrieve::StatusCode associated with any error.
Examples
bfileinformation.cpp.

◆ GetNullKeyMode()

Btrieve::NullKeyMode BtrieveKeySegment::GetNullKeyMode ( )

Get the null key mode.

Snippet
C++ bfileinformation.cpp
// If GetNullKeyMode() fails.
if ((btrieveNullKeyMode = btrieveKeySegment.GetNullKeyMode()) == Btrieve::NULL_KEY_MODE_UNKNOWN)
{
status = btrieveKeySegment.GetLastStatusCode();
printf("Error: BtrieveKeySegment::GetNullKeyMode():%d:%s.\n", status, Btrieve::StatusCodeToString(status));
goto leave;
}
printf("\tNullKeyMode = %s\n", Btrieve::NullKeyModeToString(btrieveNullKeyMode));
Python bfileinformation.py
rc = btrieveKeySegment.GetNullKeyMode()
assert(rc != btrievePython.Btrieve.NULL_KEY_MODE_UNKNOWN), "Error: BtrieveKeySegment::GetNullKeyMode():%d:%s.\n" % (rc, btrievePython.Btrieve_StatusCodeToString(btrieveKeySegment.GetLastStatusCode()))
print("\tNullKeyMode =", btrievePython.Btrieve_NullKeyModeToString(rc))
Return values
!= Btrieve::NULL_KEY_MODE_UNKNOWNThe null key mode.
= Btrieve::NULL_KEY_MODE_UNKNOWNAn error has occurred. Use BtrieveKeySegment::GetLastStatusCode to determine the Btrieve::StatusCode associated with any error.
See also
Btrieve::NullKeyModeToString
Examples
bfileinformation.cpp.

◆ GetNullValue()

int BtrieveKeySegment::GetNullValue ( )

Get the null value.

Snippet
C++ bfileinformation.cpp
// If GetNullValue() fails.
if ((i = btrieveKeySegment.GetNullValue()) < 0)
{
status = btrieveKeySegment.GetLastStatusCode();
printf("Error: BtrieveKeySegment::GetNullValue():%d:%s.\n", status, Btrieve::StatusCodeToString(status));
goto leave;
}
printf("\tNullValue = %d\n", i);
Python bfileinformation.py
rc = btrieveKeySegment.GetNullValue()
assert(rc >= 0), "Error: BtrieveKeySegment::GetNullValue():%d:%s.\n" % (rc, btrievePython.Btrieve_StatusCodeToString(btrieveKeySegment.GetLastStatusCode()))
print("\tNullValue =", rc)
Return values
>= 0The null value.
-1An error has occurred. Use BtrieveKeySegment::GetLastStatusCode to determine the Btrieve::StatusCode associated with any error.
Examples
bfileinformation.cpp.

◆ GetOffset()

int BtrieveKeySegment::GetOffset ( )

Get the offset.

Snippet
C++ bfileinformation.cpp
// If GetOffset() fails.
if ((i = btrieveKeySegment.GetOffset()) < 0)
{
status = btrieveKeySegment.GetLastStatusCode();
printf("Error: BtrieveKeySegment::GetOffset():%d:%s.\n", status, Btrieve::StatusCodeToString(status));
goto leave;
}
printf("\tOffset = %d\n", i);
Python bfileinformation.py
rc = btrieveKeySegment.GetOffset()
assert(rc >= 0), "Error: BtrieveKeySegment::GetOffset():%d:%s.\n" % (rc, btrievePython.Btrieve_StatusCodeToString(btrieveKeySegment.GetLastStatusCode()))
print("\tOffset =", rc)
Return values
>= 0The offset.
-1An error has occurred. Use BtrieveKeySegment::GetLastStatusCode to determine the Btrieve::StatusCode associated with any error.
Examples
bfileinformation.cpp.

◆ GetUniqueValueCount()

long long BtrieveKeySegment::GetUniqueValueCount ( )

Get the unique value count.

Note
The signature for this method changed in PSQL v13 R2.
Snippet
C++ bfileinformation.cpp
// If GetUniqueValueCount() fails.
if ((uniqueValueCount = btrieveKeySegment.GetUniqueValueCount()) < 0)
{
status = btrieveKeySegment.GetLastStatusCode();
printf("Error: BtrieveKeySegment::GetUniqueValueCount():%d:%s.\n", status, Btrieve::StatusCodeToString(status));
goto leave;
}
printf("\tUniqueValueCount = %lld\n", uniqueValueCount);
Python bfileinformation.py
rc = btrieveKeySegment.GetUniqueValueCount()
assert(rc >= 0), "Error: BtrieveKeySegment::GetUniqueValueCount():%d:%s.\n" % (rc, btrievePython.Btrieve_StatusCodeToString(btrieveKeySegment.GetLastStatusCode()))
print("\tUniqueValueCount =", rc)
Return values
>= 0The unique value count.
-1An error has occurred. Use BtrieveKeySegment::GetLastStatusCode to determine the Btrieve::StatusCode associated with any error.
Examples
bfileinformation.cpp.

◆ SetDescendingSortOrder()

Btrieve::StatusCode BtrieveKeySegment::SetDescendingSortOrder ( bool setDescendingSortOrder)

Set descending sort order.

Parameters
[in]setDescendingSortOrderEnable descending sort order?
Description
Descending sort order is disabled by default.
Snippet
C++ bindexattributes.cpp
// If SetDescendingSortOrder() fails.
if ((status = btrieveKeySegment.SetDescendingSortOrder(true)) != Btrieve::STATUS_CODE_NO_ERROR)
{
printf("Error: BtrieveKeySegment::SetDescendingSortOrder():%d:%s.\n", status, Btrieve::StatusCodeToString(status));
goto leave;
}
Python bindexattributes.py
rc = btrieveKeySegment.SetDescendingSortOrder(True)
assert(rc == btrievePython.Btrieve.STATUS_CODE_NO_ERROR), "Error: BtrieveKeySegment::SetDescendingSortOrder():%d:%s.\n" % (rc, btrievePython.Btrieve_StatusCodeToString(rc))
Return values
= Btrieve::STATUS_CODE_NO_ERRORSuccess.
!= Btrieve::STATUS_CODE_NO_ERRORAn error has occurred.
See also
Btrieve::StatusCodeToString
Examples
bindexattributes.cpp.

◆ SetField()

Btrieve::StatusCode BtrieveKeySegment::SetField ( int offset,
int length,
Btrieve::DataType dataType )

Set the field.

Parameters
[in]offsetThe offset. Offset must be less than Btrieve::MAXIMUM_RECORD_LENGTH.
[in]lengthThe length. Length is limited to Btrieve::MAXIMUM_KEY_LENGTH.
[in]dataTypeThe data type.
Description
Key segments have no field initially. Offset plus length is limited to Btrieve::MAXIMUM_RECORD_LENGTH.
Snippet
C++ btest.cpp
// If SetField() fails.
{
printf("Error: BtrieveKeySegment::SetField():%d:%s.\n", status, Btrieve::StatusCodeToString(status));
goto leave;
}
Python btest.py
rc = btrieveKeySegment.SetField(0, 1, btrievePython.Btrieve.DATA_TYPE_UNSIGNED_BINARY)
assert(rc == btrievePython.Btrieve.STATUS_CODE_NO_ERROR), "Error: BtrieveKeySegment::SetField():%d:%s.\n" % (rc, btrievePython.Btrieve_StatusCodeToString(rc))
Return values
= Btrieve::STATUS_CODE_NO_ERRORSuccess.
!= Btrieve::STATUS_CODE_NO_ERRORAn error has occurred.
See also
Btrieve::StatusCodeToString
Examples
Test_BTRV2.cpp, bfilter.cpp, bindexattributes.cpp, bkeyonly.cpp, block.cpp, bpercentage.cpp, btest.cpp, and btestvlr.cpp.

◆ SetNullKeyMode()

Btrieve::StatusCode BtrieveKeySegment::SetNullKeyMode ( Btrieve::NullKeyMode nullKeyMode)

Set the null key mode.

Parameters
[in]nullKeyModeThe null key mode.
Description
Null key mode defaults to Btrieve::NULL_KEY_MODE_NONE.
Snippet
C++ bindexattributes.cpp
// If SetNullKeyMode() fails.
{
printf("Error: BtrieveKeySegment::SetNullKeyMode():%d:%s.\n", status, Btrieve::StatusCodeToString(status));
goto leave;
}
Python bindexattributes.py
rc = btrieveKeySegment.SetNullKeyMode(btrievePython.Btrieve.NULL_KEY_MODE_ANY_SEGMENTS)
assert(rc == btrievePython.Btrieve.STATUS_CODE_NO_ERROR), "Error: BtrieveKeySegment::SetNullKeyMode():%d:%s.\n" % (rc, btrievePython.Btrieve_StatusCodeToString(rc))
Return values
= Btrieve::STATUS_CODE_NO_ERRORSuccess.
!= Btrieve::STATUS_CODE_NO_ERRORAn error has occurred.
See also
Btrieve::StatusCodeToString
Examples
bindexattributes.cpp.

◆ SetNullValue()

Btrieve::StatusCode BtrieveKeySegment::SetNullValue ( int nullValue)

Set the null value.

Parameters
[in]nullValueThe null value.
Description
Null value defaults to zero.
Snippet
C++ bindexattributes.cpp
// If SetNullValue() fails.
if ((status = btrieveKeySegment.SetNullValue(255)) != Btrieve::STATUS_CODE_NO_ERROR)
{
printf("Error: BtrieveKeySegment::SetNullValue():%d:%s.\n", status, Btrieve::StatusCodeToString(status));
goto leave;
}
Python bindexattributes.py
rc = btrieveKeySegment.SetNullValue(255)
assert(rc == btrievePython.Btrieve.STATUS_CODE_NO_ERROR), "Error: BtrieveKeySegment::SetNullValue():%d:%s.\n" % (rc, btrievePython.Btrieve_StatusCodeToString(rc))
Return values
= Btrieve::STATUS_CODE_NO_ERRORSuccess.
!= Btrieve::STATUS_CODE_NO_ERRORAn error has occurred.
See also
Btrieve::StatusCodeToString
Examples
bindexattributes.cpp.