Click or drag to resize

RddInfo Function

X#
Return and optionally change settings controlled directly by the RDD.

Namespace:  XSharp.RT
Assembly:  XSharp.RT (in XSharp.RT.dll) Version: 2.19
Syntax
 FUNCTION RddInfo(
	kInfoType,
	uNewSetting
) AS USUAL CLIPPER
Request Example View Source

Parameters

kInfoType (Optional)
Type: Usual
Specifies the setting.
The constants are described in the Constants section below.
The initial default of a setting depends on the RDD.
The constants are described in the Constants section below. Note, however, that not all constants are supported for all RDDs.
Important! _SET_USER is a constant that returns the minimum value that third-party RDD developers can use for defining new parameters. Values less than _SET_USER are reserved for X# development.
uNewSetting (Optional)
Type: Usual
If specified, this parameter is used to change the value of a setting.
The data type (and whether uNewSetting can be specified), depends on the kInfoType constant and is documented in the Remarks section below.

Return Value

Type: Usual
If uNewSetting is not specified, RDDInfo() returns the current setting.
If uNewSetting is specified, the previous setting is returned.
Remarks
ConstantDescription
_SET_AUTOOPENReturns and optionally changes the logical flag that determines whether the RDD will open production indexes automatically when a database file is opened. A TRUE setting indicates that the production index is opened automatically.
_SET_AUTOORDERReturns and optionally changes the numeric setting that determines whether the production index will set a controlling order. A setting of 1 indicates that the first order in the production index will be the controlling order. A setting of 0 indicates that database files will be processed in natural order when the production index is initially opened.
_SET_AUTOSHARE Returns and optionally changes the numeric setting that determines the automatic sharing mode.
A setting of 0 completely disables automatic sharing control. This is primarily useful when developing network applications in a stand-alone environment.
A setting of 1 causes the RDD to determine at runtime whether the application is running in a network environment. If not, the RDD automatically opens all files in exclusive mode. This allows you to write code that is network-aware, while still getting optimal performance when you application is running in single-user mode.
A setting of 2 opens all files in exclusive mode, regardless of the current environment. Using this mode, you can easily convert an application designed for a network environment to work as a single-user application. This is useful if you prefer to deliver separate stand-alone and LAN versions of the application.
_SET_BLOB_CIRCULAR_ARRAY_REF Returns and optionally sets the logical flag indicating whether to check for circular array references when storing and retrieving arrays to and from BLOB fields. A FALSE setting indicates that the RDD will not check for circular references.
The algorithm for storing/retrieving arrays uses a recursive process which will call itself indefinitely if the array has a circular reference, quickly exhausting the program's stack. You can set DBServer:RDDInfo(_SET_BLOB_CIRCULAR_ARRAY_REF, TRUE) to cause the algorithm to check for and correctly process circular references. Note, however, that the checking takes extra time and is unnecessary unless there are circular references.
_SET_DEFAULTRDDReturns the name of the default RDD, specified as a string.
_SET_HPLOCKINGReturns and optionally changes the logical flag that determines whether to use the High Performance (HP) locking schema for newly created index files. A FALSE setting indicates that the HP locking schema is not used.
_SET_MEMOBLOCKSIZEReturns and optionally changes the numeric value specifying block size (in bytes) for memo files.
_SET_MEMOEXTReturns and optionally changes the string value indicating the default memo file extension.
_SET_NEWINDEXLOCKReturns and optionally changes the logical flag that determines the locking offset flag for newly created index files. A FALSE setting indicates a locking offset that is compatible with Xbase applications but more restrictive than the offset that will be used if this flag is set to TRUE.
_SET_OPTIMIZEReturns and optionally changes the logical flag that determines whether optimization will be used when filtering records in the database files. A TRUE setting indicates that the RDD will use the available orders to make processing a filtered database as efficient as possible.
_SET_STRICTREAD Returns and optionally changes the logical flag that determines whether the RDD will read records directly from disk when creating orders.
A FALSE setting indicates that the RDD will read records directly from disk when creating orders, which is the most efficient setting.
However, if you are using a DBF RDD layer that encrypts the database file, this setting will give incorrect results because the RDD will see the encrypted value rather than the actual value of the records.
In order to use the RDD with encryption packages, use DBServer:RDDInfo(_SET_STRICTREAD, TRUE).
This setting lets the DBF RDD layer read the records when creating an order.
Remarks