2024-03-25 15:17:34 -07:00

150 lines
7.9 KiB
Plaintext

Compile Insert XO_Equates
*****************************************************************************
*
* This program is proprietary and is not to be used by or disclosed
* to others, nor is it to be copied without written permission from
* Revelation Technologies, Inc.
*
* Product : OI/WG
* Poject : OI/CS
* Release : 3.11
*
* Name : XO_Equates Insert
* Description: Connection Object Basic+ API declarations and constants
*
* History (Date, Initials, Notes)
* 06/28/95 cp Original programmer
* 08/18/95 vg Added Datasource Type procedure support
* 11/05/95 cp Added internal handle property for connection objects
* 05/22/96 cp Updated for 3.11.
* 06/07/96 cp Added XO properties for string formatting information
*****************************************************************************
* Basic+ functions
declare function XOGetCompDef ;* body = (DataSourceName, [DataSourceType])
declare function XOInstance ;* hXO = (DataSourceName, [DataSourceType, LoginID, Password, Timeout, Options, Scope])
declare function XOMethod ;* flag = (hXO, MethodName [, Param1, ...])
declare function XOGetProperty ;* flag = (hXO, PropertyName, RetValue [, Qualifier])
declare function XOSetProperty ;* flag = (hXO, PropertyName, Value, [, Qaulifier])
declare function QryInstance ;* hQry = (hXO)
declare function QryMethod ;* flag = (hQry, MethodName [, Param1, ...])
declare function QryGetProperty ;* flag = (hQry, PropertyName, RetValue [, Qualifier])
declare function QrySetProperty ;* flag = (hQry, PropertyName, Value, [, Qaulifier])
* by declaring the Connection functions as subroutines, the return value can be ignored
declare subroutine XOGetProperty , XOSetProperty , XOMethod
declare subroutine QryGetProperty, QrySetProperty, QryMethod
* Repository constants
equ XO_TABLE$ to "SYSREPOSDATASOURCES"
equ XO_TYPE$ to "DATASOURCE"
equ XO_CLASS$ to "CONNECTION"
* XO parameter information
equ XO_PARM_FILE$ to "SYSENV"
equ XO_PARM_KEY$ to "CFG_CONNECTION"
equ XO_DATASOURCETYPES$ to 1 ;* @vm delimited list of all supported Data Source Types
equ XO_ATTRIBUTES$ to 2 ;* for each Data Source Type, @svm delimited list of attribute names
equ XO_ATTRIBDESC$ to 3 ;* a short description for each attribute name
equ XO_DATASOURCETYPESUB$ to 4 ;* a function that performs datasource specific tasks
* options for XOInstance()
equ XO_USETRANS$ to 0 ;* use transactions (default)
equ XO_NOTRANS$ to 1 ;* do not use transactions
equ XO_NOSHARE$ to 0 ;* do not share XO (default)
equ XO_SCOPEDSHARE$ to 2 ;* share only within the specified scope
equ XO_GLOBALSHARE$ to 4 ;* share globally (anyone can use it)
equ XO_LOGINDIALOG$ to 0 ;* if login fails, allow entry of login ID and password (default)
equ XO_NODIALOG$ to 8 ;* if login fails, just return error
equ XO_ONLYDIALOG$ to 16 ;* don't attempt to log in without allowing the user to enter connection data
equ XO_RESOLVE$ to 0 ;* attempt to fill in blank connection parms (default)
equ XO_NORESOLVE$ to 32 ;* do not attempt to fill in blank connection parms
* connection methods
equ XO_DESTROY$ to 1 ;* destroy passed XO
equ XO_TRANSLATEFLAG$ to 2 ;* Param1 is a DS/XO API FLAG, returns TRUE$=success or FALSE$=failure
equ XO_GETERROR$ to 3 ;* Retrieves pending errors for the Connection Object
equ XO_COMMITTRAN$ to 4 ;* commits the current transaction
equ XO_ROLLBACKTRAN$ to 5 ;* rolls back the current transaction
equ XO_ADDREF$ to 6 ;* add reference to Connection Object handle
equ XO_METHOD_MIN$ to XO_DESTROY$
equ XO_METHOD_MAX$ to XO_ADDREF$
* connection properties
equ XO_VALID$ to 1 ;* TRUE$ if Connection Object handle is valid
equ XO_QRYLIST$ to 2 ;* @vm delimited list of Query handles for the Connection Object handle
equ XO_DSLIST$ to 3 ;* @vm delimited list of DataSet handles for the Connection Object handle
equ XO_SOURCENAME$ to 4 ;* data source name
equ XO_SOURCETYPE$ to 5 ;* data source type
equ XO_TABLELIST$ to 6 ;* list of data source tables (Arg=TableTypes)
equ XO_TABLEDESCRIPT$ to 7 ;* returns column descriptions for the specified table (Arg=TableName)
equ XO_TRANSACTIONS$ to 8 ;* returns boolean (TRUE=transactions specified)
equ XO_OPTIONS$ to 9 ;* returns bitmasked options as passed to XOInstance()
equ XO_SCOPE$ to 10 ;* returns scope of connection as passed to XOInstance()
equ XO_INTERNALHANDLE$ to 11 ;* returns internal handle used by connection object
equ XO_TYPEQUOTED$ to 12 ;* returns information on which types are quoted; @fm-delim'd array indexed by DT_... values (see DSXO_API insert)
equ XO_QUOTECHAR$ to 13 ;* returns the character used to quote data, eg. '
equ XO_QUOTEDQUOTE$ to 14 ;* returns the quote character as it appears if it is quoted, eg. '' or \'
equ XO_NULLVALUE$ to 15 ;* returns value used to specify null value, eg. NULL
equ XO_FORMATDATETIME$ to 16 ;* returns formats for date (field 1), time (field 2), and datetime (field 3) using strftime() notation (see DSXO_API)
equ XO_PROPERTY_MIN$ to XO_VALID$
equ XO_PROPERTY_MAX$ to XO_FORMATDATETIME$
* query methods
equ QRY_DESTROY$ to 1 ;* destroy passed query
equ QRY_TRANSLATEFLAG$ to 2 ;* Param1 is a DS/XO API FLAG, returns TRUE$=success or FALSE$=failure
equ QRY_GETERROR$ to 3 ;* Retrieves pending errors for the query
equ QRY_EXECUTE$ to 4 ;* exectes a script
equ QRY_GETROW$ to 5 ;* gets the next result row
equ QRY_CANCEL$ to 6 ;* cancels the query
equ QRY_LISTTABLES$ to 7 ;* create result set of tables (Arg1=TableTypes)
equ QRY_LISTCOLUMNS$ to 8 ;* create result set of columns (Arg1=Table)
equ QRY_METHOD_MIN$ to QRY_DESTROY$
equ QRY_METHOD_MAX$ to QRY_LISTCOLUMNS$
* query properties
equ QRY_VALID$ to 1 ;* returns TRUE$ if handle is valid
equ QRY_CONNECTION$ to 2 ;* connection handle for the query
equ QRY_ROWCOUNT$ to 3 ;* number of rows in query
equ QRY_COLCOUNT$ to 4 ;* number of columns in query
equ QRY_COLDESCRIPT$ to 5 ;* column name, type, precision, scale, nullable, and OI type (Arg=iCol)
equ QRY_COLNAME$ to 6 ;* column name (Arg=iCol)
equ QRY_COLTYPE$ to 7 ;* column type (Arg=iCol)
equ QRY_COLPRECISION$ to 8 ;* column precision (Arg=iCol)
equ QRY_COLSCALE$ to 9 ;* column scale (Arg=iCol)
equ QRY_COLNULLABLE$ to 10 ;* column nullable (Arg=iCol)
equ QRY_COLOITYPE$ to 11 ;* column OpenInsight type (Arg=iCol)
equ QRY_TIMEOUT$ to 12 ;* timeout in seconds
equ QRY_PROPERTY_MIN$ to QRY_VALID$
equ QRY_PROPERTY_MAX$ to QRY_TIMEOUT$
* datasource type functions
* flag = fn(Instruction, In, Out, Arg )
declare function ODBC_Sub
declare function SQLServer_Sub
* instructions for datasource type function
equ DST_HASOPTIONS$ to 1 ;* in = xo_attribute, out = true if it has options
equ DST_CHOOSEOPTION$ to 2 ;* in = xo_attribute, out = chosen option, arg = current setting
equ DST_INSERTFROMSELECT$ to 3 ;* take a SELECT script and return an INSERT script
equ DST_UPDATEFROMSELECT$ to 4 ;* take a SELECT script and return an UPDATE script
equ DST_DELETEFROMSELECT$ to 5 ;* take a SELECT script and return an DELETE script