Stable Implementation Agreements for Open Systems Interconnection Protocols: Part 19 - Remote Database Access Output from the December 1992 OSE Implementors' Workshop SIG Chair: Peter Eng, IBM Canada SIG Editor: Joel Berson, Santosh Hasani, Digital Equipment Corp. ii Part 19 - Remote Database Access December 1992 (Stable) Foreword This part of the Stable Implementation Agreements was prepared by the Remote Database Access Special Interest Group (RDA SIG) of the Open Systems Environment Implementors' Workshop (OIW). See Part 1 - Workshop Policies and Procedures of the "Draft Working Implementation Agreements Document" for the charter. Text in this part has been approved by the Plenary of the Workshop. This part replaces the previously existing part on this subject. Future changes and additions to this version of these implementation Agreements will be published as change pages. Deleted and replaced text will be shown as strikeout. New and replacement text will be shown as shaded. The text in this part contains a set of Remote Database Access (RDA) Implementation Agreements intended to serve in lieu of an International Standardized Profile (ISP) for RDA. It is the aim of the OIW RDA SIG to pursue alignment of this part with a future RDA ISP. When the ISP is complete, this part will be revised to refer to the ISP, and to only highlight additional practices and North American regional requirements. iii Part 19 - Remote Database Access December 1992 (Stable) iv Part 19 - Remote Database Access December 1992 (Stable) Table of Contents Part 19 - Remote Database Access . . . . . . . . . . . . . . 1 0 Introduction . . . . . . . . . . . . . . . . . . . . . . 1 1 Scope . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2 Status . . . . . . . . . . . . . . . . . . . . . . . . . 2 3 Normative references . . . . . . . . . . . . . . . . . . 2 4 Definitions and abbreviations . . . . . . . . . . . . . . 3 5 Structure of RDA standards . . . . . . . . . . . . . . . 3 6 SQL specialization . . . . . . . . . . . . . . . . . . . 3 6.1 Service parameter limits/agreements . . . . . . . . 3 6.1.1 Dialogue initialization functional unit . . 6 6.1.1.1 R-Initialize service . . . . . . . . . . . 6 6 . 1 . 1 . 1 . 1 R-Initialize request . . . . . . . . . . . 7 6 . 1 . 1 . 1 . 2 R-Initialize result . . . . . . . . . . . . 9 6 . 1 . 1 . 1 . 3 R-Initialize error . . . . . . . . . . . . 9 6.1.1.2 R-Synchronize APDU . . . . . . . . . . . . 10 6.1.2 Dialogue termination functional unit . . . 10 6.1.2.1 R-Terminate service . . . . . . . . . . . . 10 6 . 1 . 2 . 1 . 1 R-Terminate request . . . . . . . . . . . . 10 6 . 1 . 2 . 1 . 2 R-Terminate result . . . . . . . . . . . . 11 6 . 1 . 2 . 1 . 3 R-Terminate error . . . . . . . . . . . . . 11 6.1.3 Transaction management functional unit . . 11 6.1.3.1 R-BeginTransaction service . . . . . . . . 12 6 . 1 . 3 . 1 . 1 R-BeginTransaction request . . . . . . . . 12 6 . 1 . 3 . 1 . 2 R-BeginTransaction error . . . . . . . . . 12 6.1.3.2 R-Commit service . . . . . . . . . . . . . 13 6 . 1 . 3 . 2 . 1 R-Commit request . . . . . . . . . . . . . 13 6 . 1 . 3 . 2 . 2 R-Commit result . . . . . . . . . . . . . . 13 6 . 1 . 3 . 2 . 3 R-Commit error . . . . . . . . . . . . . . 13 v Part 19 - Remote Database Access December 1992 (Stable) 6.1.3.3 R-Rollback service . . . . . . . . . . . . 14 6 . 1 . 3 . 3 . 1 R-Rollback request . . . . . . . . . . . . 14 6 . 1 . 3 . 3 . 2 R-Rollback result . . . . . . . . . . . . . 14 6 . 1 . 3 . 3 . 3 R-Rollback error . . . . . . . . . . . . . 14 6.1.4 Cancel functional unit . . . . . . . . . . 15 6.1.4.1 R-Cancel service . . . . . . . . . . . . . 15 6 . 1 . 4 . 1 . 1 R-Cancel request . . . . . . . . . . . . . 15 6 . 1 . 4 . 1 . 2 R-Cancel result . . . . . . . . . . . . . . 16 6 . 1 . 4 . 1 . 3 R-Cancel error . . . . . . . . . . . . . . 16 6.1.5 Status functional unit . . . . . . . . . . 17 6.1.5.1 R-Status service . . . . . . . . . . . . . 17 6 . 1 . 5 . 1 . 1 R-Status request . . . . . . . . . . . . . 17 6 . 1 . 5 . 1 . 2 R-Status result . . . . . . . . . . . . . . 18 6 . 1 . 5 . 1 . 3 R-Status error . . . . . . . . . . . . . . 19 6.1.6 Resource handling functional unit . . . . . 20 6.1.6.1 R-Open service . . . . . . . . . . . . . . 20 6 . 1 . 6 . 1 . 1 R-Open request . . . . . . . . . . . . . . 20 6 . 1 . 6 . 1 . 2 R-Open result . . . . . . . . . . . . . . . 22 6 . 1 . 6 . 1 . 3 R-Open error . . . . . . . . . . . . . . . 22 6.1.6.2 R-Close service . . . . . . . . . . . . . . 24 6 . 1 . 6 . 2 . 1 R-Close request . . . . . . . . . . . . . . 24 6 . 1 . 6 . 2 . 2 R-Close result . . . . . . . . . . . . . . 24 6 . 1 . 6 . 2 . 3 R-Close error . . . . . . . . . . . . . . . 25 6.1.7 Immediate execution DBL functional unit . . 26 6.1.7.1 R-ExecuteDBL service . . . . . . . . . . . 26 6 . 1 . 7 . 1 . 1 R-ExecuteDBL request . . . . . . . . . . . 26 6 . 1 . 7 . 1 . 2 R-ExecuteDBL result . . . . . . . . . . . . 29 6 . 1 . 7 . 1 . 3 R-ExecuteDBL error . . . . . . . . . . . . 30 6.1.8 Stored Execution DBL Functional Unit . . . 31 6.1.8.1 R-DefineDBL Service . . . . . . . . . . . . 31 6 . 1 . 8 . 1 . 1 R-DefineDBL request . . . . . . . . . . . . 31 vi Part 19 - Remote Database Access December 1992 (Stable) 6 . 1 . 8 . 1 . 2 R-DefineDBL result . . . . . . . . . . . . 32 6 . 1 . 8 . 1 . 3 R-DefineDBL error . . . . . . . . . . . . . 33 6.1.8.2 R-InvokeDBL Service . . . . . . . . . . . . 34 6 . 1 . 8 . 2 . 1 R-InvokeDBL request . . . . . . . . . . . . 34 6 . 1 . 8 . 2 . 2 R-InvokeDBL result . . . . . . . . . . . . 35 6 . 1 . 8 . 2 . 3 R-InvokeDBL error . . . . . . . . . . . . . 36 6.1.8.3 R-DropDBL Service . . . . . . . . . . . . . 37 6 . 1 . 8 . 3 . 1 R-DropDBL request . . . . . . . . . . . . . 37 6 . 1 . 8 . 3 . 2 R-DropDBL result . . . . . . . . . . . . . 38 6 . 1 . 8 . 3 . 3 R-DropDBL error . . . . . . . . . . . . . . 38 6.2 Limits for common parameters . . . . . . . . . . . . 39 6.2.1 SQLDataTypeDescriptor . . . . . . . . . . . 39 6.2.2 SQLDBLException . . . . . . . . . . . . . 43 6.2.3 SQLValue . . . . . . . . . . . . . . . . . 43 6.3 Other limits and agreements . . . . . . . . . . . . 46 6.3.1 Operation limits and agreements . . . . . . 46 6.3.2 Recommended practices . . . . . . . . . . . 46 6.4 Rules for Profiles . . . . . . . . . . . . . . . . . 47 6.4.1 Application contexts . . . . . . . . . . . 47 6.4.1.1 RDA basic application context . . . . . . . 47 6.4.1.2 Profiles . . . . . . . . . . . . . . . . . 47 6 . 4 . 1 . 2 . 1 Rationale . . . . . . . . . . . . . . . . . 47 6 . 4 . 1 . 2 . 2 Immediate Execution . . . . . . . . . . . 48 6 . 4 . 1 . 2 . 3 Stored execution . . . . . . . . . . . . . 48 6 . 4 . 1 . 2 . 4 Status . . . . . . . . . . . . . . . . . . 49 6 . 4 . 1 . 2 . 5 Cancel . . . . . . . . . . . . . . . . . . 49 6.4.2 RDA TP application context . . . . . . . . 50 Annex A (normative) RDA SIG object identifiers . . . . . . . . . . . . . . . . . 51 vii Part 19 - Remote Database Access December 1992 (Stable) List of Tables Table 1 - Parameters for R-Initialize request . . . . . . . . 7 Table 2 - Parameters for R-Initialize result response . . . . 9 Table 3 - Parameters for R-Initialize error response . . . . 9 Table 4 - Parameters for R-Terminate request . . . . . . . . 10 Table 5 - Parameters for R-Terminate result response . . . . 11 Table 6 - Parameters for R-Terminate error response . . . . . 11 Table 7 - Parameters for R-BeginTransaction request . . . . . 12 Table 8 - Parameters for R-BeginTransaction error response . 12 Table 9 - Parameters for R-Commit request . . . . . . . . . 13 Table 10 - Parameters for R-Commit result response . . . . . 13 Table 11 - Parameters for R-Commit error response . . . . . . 13 Table 12 - Parameters for R-Rollback request . . . . . . . . 14 Table 13 - Parameters for R-Rollback result response . . . . 14 Table 14 - Parameters for R-Rollback error response . . . . . 14 Table 15 - Parameters for R-Cancel request . . . . . . . . . 15 Table 16 - Parameters for R-Cancel result response . . . . . 16 Table 17 - Parameters for R-Cancel error response . . . . . . 16 Table 18 - Parameters for R-Status request . . . . . . . . . 17 Table 19 - Parameters for R-Status result response . . . . . 19 Table 20 - Parameters for R-Status error response . . . . . . 20 Table 21 - Parameters for R-Open request . . . . . . . . . . 21 Table 22 - Parameters for R-Open result response . . . . . . 22 Table 23 - Parameters for R-Open error response . . . . . . . 22 Table 24 - Parameters for R-Close request . . . . . . . . . . 24 Table 25 - Parameters for R-Close result response . . . . . . 24 Table 26 - Parameters for R-Close error response . . . . . . 25 Table 27 - Parameters for R-ExecuteDBL request . . . . . . . 27 Table 28 - Parameters for R-ExecuteDBL result response . . . 29 Table 29 - Parameters for R-ExecuteDBL error response . . . . 30 Table 30 - Parameters for R-DefineDBL request . . . . . . . . 31 Table 31 - Parameters for R-DefineDBL result . . . . . . . . 32 Table 32 - Parameters for R-DefineDBL error . . . . . . . . 33 Table 33 - Parameters for R-InvokeDBL request . . . . . . . . 34 Table 34 - Parameters for R-InvokeDBL result . . . . . . . . 35 Table 35 - Parameters for R-InvokeDBL error . . . . . . . . 36 Table 36 - Parameters for R-DropDBL request . . . . . . . . . 37 Table 37 - Parameters for R-DropDBL result . . . . . . . . . 38 Table 38 - Parameters for R-DropDBL error . . . . . . . . . 38 Table 39 - Parameters for SQLDataTypeDescriptor . . . . . . . 39 Table 40 - Parameters for SQLDBLException . . . . . . . . . . 43 Table 41 - Parameters for SQLValue . . . . . . . . . . . . . 44 Table 42 - Object Identifiers defined by RDA . . . . . . . . 51 viii Part 19 - Remote Database Access 0 Introduction This part defines Implementation Agreements based on ISO Remote Database Access, as defined in ISO/ IEC 9579. That specification has two parts. Part 1 defines the RDA Generic Model, Service, and Protocol; part 2 defines the RDA SQL Specialization. 1 Scope This implementation agreement addresses interaction between an application program and a remote database server. The database server is an open system that provides database storage facilities and supplies database processing services to clients at other open systems. The RDA service-provider supplies the protocol for RDA client interaction with an RDA server. The RDA client initiates an RDA dialogue and requests RDA operations to be performed by the RDA server on behalf of an application program. The RDA server, located within the RDA database server, provides database services to RDA clients. More specifically, this document describes implementation agreements in the following areas: a) limitations on values of parameters of the RDA protocol; b) other restrictions on operations of an RDA client or server; c) profiles. These agreements presently include only the RDA SQL Specialization Basic Application Context. 1 Part 19 - Remote Database Access December 1992 (Stable) 2 Status The following clauses were moved to the Stable Implementation Agreements in December 1992 : 0 Introduction 1 Scope 2 Status 3 Normative references 4 Definitions and abbreviations 5 Structure of RDA standards 6 SQL specialization Annex A (normative), RDA SIG object identifiers 3 Normative references The following documents contain provisions which, through reference in this text, constitute provisions of these Implementation Agreements. At the time of publication, the editions indicated were valid. All documents are subject to revision, and parties to agreements based on these Implementation Agreements are warned against automatically applying any more recent editions of the documents listed below since the nature of references made by the Implementation Agreements to such documents is that they may be specific to a particular edition. Members of IEC and ISO maintain registers of currently valid International Standards, and CCITT maintains published editions of its current recommendations. [1] ISO/IEC 9579-1 Information Processing Systems - Open Systems Interconnection - Remote Database Access - Part 1: Generic Model, Service, and Protocol. [2] ISO/IEC 9579-2 Information Processing Systems - Open Systems Interconnection - Remote Database Access - Part 2: SQL Specialization. [3] ISO/IEC TR10000-1: 1990(E) Information Technology - Framework and Taxonomy of International Standardized Profiles - Part 1: Framework. [4] ISO/IEC TR10000-2: 1990(E) Information Technology - 2 Part 19 - Remote Database Access December 1992 (Stable) Framework and Taxonomy of International Standardized Profiles - Part 2: Taxonomy. [5] ISO/IEC 8859-1:1987 Information Processing - 8-bit single- byte coded graphic characters sets - Part 1: Latin alphabet No. 1. 4 Definitions and abbreviations Definitions and abbreviations are given in the standards listed in clause 3. 5 Structure of RDA standards The complete specification of an RDA Service is only obtained by the combination of two standards: a) the RDA Generic Model, Service, and Protocol (ISO/IEC 9579-1), which specifies general capabilities of any RDA service; and b) an RDA Specialization, which applies to a particular type of database language and augments the RDA Generic standard. Since RDA Specializations "complete" an RDA specification, these Implementation Agreements are based on RDA Specializations rather than on the RDA Generic standard. At present there is only one RDA Specialization, the RDA SQL Specialization (ISO/IEC 9579-2). 6 SQL specialization 6.1 Service parameter limits/agreements This subclause states the limits on the values of RDA parameters for the RDA Basic Application Context. NOTE - Limits for the RDA TP Application Context will be defined at a later time. A tabular format is used to describe the usage of each RDA parameter and its limit. Limits vary among implementations. This subclause defines the range of parameter values that developers may safely assume all OIW-compliant systems support. 3 Part 19 - Remote Database Access December 1992 (Stable) Each parameter table indicates the following: a) the name of the parameter; b) whether it is sent in the request or response service primitive under these Implementation Agreements; c) whether it is received in the indication or confirm service primitive under these Implementation Agreements; d) the limitations on the parameter. The Parameter column gives the name of the parameter or type, as defined in either the service parameter tables or the ASN.1 for the protocol data units of ISO/IEC 9579-1 and 9579-2. NOTE - Parameter names begin with a lowercase letter, and type names begin with an uppercase letter. The req (ind) column states whether the parameter is present in the request (indication) service primitive event. The rsp (cnf) column states whether the parameter is present in the response (confirm) service primitive event. The Limitation column gives the limits on the parameter value in addition to any limits imposed by the RDA standard. The maximum value indicated for the limit imposed by these Implementation Agreements is a min-max limit. This means that an OIW-compliant implementation must support minimally at least the min-max value. An implementation can support values beyond the min-max value but it can not expect other implementations to do the same. Hence, an implementation should stay within the min-max limit when it is interoperating with another implementation. If a parameter value is outside the range specified in the Limitation column for that parameter, then the behavior is outside the scope of these Implementation Agreements. Each RDA parameter is listed on a separate line. Some parameters are structures, composed of subparameters. The structure is shown by the bullet ( ) symbols in the parameter column. A parameter name preceded by bullets is a subparameter of the nearest entry above it that has one fewer bullet. In the example below, parameterA and parameterB are subparameters of the structure parameter parameterX, and parameterC is a subparameter of parameterB : 4 Part 19 - Remote Database Access December 1992 (Stable) parameterX parameterA parameterB parameterC The presence of subparameters is always dependent on the presence of the parameter that they appear under (for example, an optional parameter may have subparameters; if the parameter is not supplied, then no subparameters may be supplied). Under each req, ind, rsp, or cnf column, a code is used to specify the type of usage of each RDA parameter. For the sake of explanation, let x represent the entry under columns req, rsp, ind, and cnf. If x is M, the parameter is mandatory. If x is U, the parameter is a user option and may or may not be provided, depending upon the requirements of the user. If x is C, the parameter is conditional and subject to rules stated in the parameter description in ISO/IEC 9579-1 and 9579-2. If x is S, the parameter is a mandatory selection from a collection of two or more possible parameters. The parameters that make up this collection are indicated in the parameter table as follows: a) each parameter in the collection is specified with the code "S"; b) the name of each parameter in the collection has the same number of bullets preceding it in the parameter column in the table; and c) either 1) each parameter has no bullets preceding it in the table; or 2) each parameter is part of the same structure parameter. If x is I, the parameter is out of the scope of this profile. 5 Part 19 - Remote Database Access December 1992 (Stable) The parameter is optional in the base standard but is not used by this profile, or the parameter is not used by the RDA SQL specialization. The parameter may be present. If present, it is ignored or processed according to local procedures; it does not cause an error. A blank code indicates the parameter is never present. If x includes (=), the parameter is semantically equivalent to the parameter in the service primitive to its left in the table. 6.1.1 Dialogue initialization functional unit 6.1.1.1 R-Initialize service 6 Part 19 - Remote Database Access December 1992 (Stable) 6.1.1.1.1 R-Initialize request Table 1 - Parameters for R-Initialize request Parameter re in Limitation q d operationID M M( An INTEGER with value =) greater than 0. dialogueID M M( See subparameter(s) =) below. dialogueIDClien M See subparameter(s) t- below. Invocation aP-title M M( No additional =) limitation. aE-qualifier M M( No additional =) limitation. aP- M M( No additional invocationID =) limitation. aE- M M( No additional invovationID =) limitation. dialogueIDSuffi M M( An OCTET STRING from 1 x =) through 64 octets long. identityOfUser M M( A VisibleString from 1 =) through 64 characters long. userAuthenticati I I( The client may provide onData =) an IA5String from 1 through 255 characters long, an OCTET STRING from 1 through 255 octets long, or a BIT STRING from 1 through 2040 bits long. controlServiceDa M M( No additional ta- =) limitation. Requested (default value: FALSE) functionalUnitsR M M( No additional equested =) limitation. 7 Part 19 - Remote Database Access December 1992 (Stable) sQLInitializeArg U C( See subparameter(s) ument =) below. sQLConformanceL U C( An OBJECT IDENTIFIER evel- =) from 2 through 16 Default elements. userData I I( An OCTET STRING from 1 =) through 255 octets long. 8 Part 19 - Remote Database Access December 1992 (Stable) 6.1.1.1.2 R-Initialize result Table 2 - Parameters for R-Initialize result response Parameter rs cn Limitation p f operationID M M( An INTEGER with value =) greater than 0. controlServiceDa C C( See subparameter(s) ta =) below. controlServices M M( No additional Allowed =) limitation. (default value: TRUE) controlAuthenti I I( The server may provide cation-Data =) an IA5String from 1 through 255 characters long, an OCTET STRING from 1 through 255 octets long, or a BIT STRING from 1 through 2040 bits long. functionalUnitsA M M( No additional llowed =) limitation. sQLInitializeRes U C( See subparameter(s) ult =) below. userData I I( An OCTET STRING from 1 =) through 255 octets long. 6.1.1.1.3 R-Initialize error Table 3 - Parameters for R-Initialize error response Parameter rs cn Limitation p f operationID M M( An INTEGER with value =) greater than 0. accessControlVio S S( No additional lation =) limitation. 9 Part 19 - Remote Database Access December 1992 (Stable) Parameter rs cn Limitation p f duplicateDialogu S S( No additional eID =) limitation. invalidSequence S See subparameter(s) below. diagnosticInfor U No additional mation limitation. operationAborted S S( See subparameter(s) =) below. errorType M M( No additional (default =) limitation. value:transient) diagnosticInfor U C( A VisibleString, from 1 mation =) through 254 characters long. userAuthenticati S S( No additional onFailure =) limitation. 6.1.1.2 R-Synchronize APDU The R-Synchronize-RI APDU has no parameters. 6.1.2 Dialogue termination functional unit 6.1.2.1 R-Terminate service 6.1.2.1.1 R-Terminate request Table 4 - Parameters for R-Terminate request Parameter re in Limitation q d operationID M M( An INTEGER with value =) greater than 0. 10 Part 19 - Remote Database Access December 1992 (Stable) 6.1.2.1.2 R-Terminate result Table 5 - Parameters for R-Terminate result response Parameter rs cn Limitation p f operationID M M( An INTEGER with value =) greater than 0. 6.1.2.1.3 R-Terminate error Table 6 - Parameters for R-Terminate error response Parameter rs cn Limitation p f operationID M M( An INTEGER with value =) greater than 0. duplicateOperati S S( No additional onID =) limitation. invalidSequence S See subparameter(s) below. diagnosticInfor U No additional mation limitation. operationAborted S S( See subparameter(s) =) below. errorType(defau M M( No additional lt value: =) limitation. transient) diagnosticInfor U C( A VisibleString from 1 mation =) through 254 characters long. serviceNotNegoti S S( No additional ated =) limitation. 6.1.3 Transaction management functional unit 11 Part 19 - Remote Database Access December 1992 (Stable) 6.1.3.1 R-BeginTransaction service 6.1.3.1.1 R-BeginTransaction request Table 7 - Parameters for R-BeginTransaction request Parameter re in Limitation q d operationID M M( An INTEGER with value =) greater than 0. 6.1.3.1.2 R-BeginTransaction error Table 8 - Parameters for R-BeginTransaction error response Parameter rs cn Limitation p f operationID M M( An INTEGER with value =) greater than 0. duplicateOperati S S( No additional onID =) limitation. invalidSequence S See subparameter(s) below. diagnosticInfor U No additional mation limitation. operationAborted S S( See subparameter(s) =) below. errorType(defau M M( No additional lt value: =) limitation. transient) diagnosticInfor U C( A VisibleString, from 1 mation =) through 254 characters long. serviceNotNegoti S S( No additional ated =) limitation. 12 Part 19 - Remote Database Access December 1992 (Stable) 6.1.3.2 R-Commit service 6.1.3.2.1 R-Commit request Table 9 - Parameters for R-Commit request Parameter re in Limitation q d operationID M M( An INTEGER with value =) greater than 0. 6.1.3.2.2 R-Commit result Table 10 - Parameters for R-Commit result response Parameter rs cn Limitation p f operationID M M( An INTEGER with value =) greater than 0. transactionResul M M( No additional t =) limitation. 6.1.3.2.3 R-Commit error Table 11 - Parameters for R-Commit error response Parameter rs cn Limitation p f operationID M M( An INTEGER with value =) greater than 0. duplicateOperati S S( No additional onID =) limitation. invalidSequence S See subparameter(s) below. diagnosticInfor U No additional mation limitation. 13 Part 19 - Remote Database Access December 1992 (Stable) 6.1.3.3 R-Rollback service 6.1.3.3.1 R-Rollback request Table 12 - Parameters for R-Rollback request Parameter re in Limitation q d operationID M M( An INTEGER with value =) greater than 0. 6.1.3.3.2 R-Rollback result Table 13 - Parameters for R-Rollback result response Parameter rs cn Limitation p f operationID M M( An INTEGER with value =) greater than 0. 6.1.3.3.3 R-Rollback error Table 14 - Parameters for R-Rollback error response Parameter rs cn Limitation p f operationID M M( An INTEGER with value =) greater than 0. duplicateOperati S S( No additional onID =) limitation. invalidSequence S See subparameter(s) below. diagnosticInfor U No additional mation limitation. 14 Part 19 - Remote Database Access December 1992 (Stable) 6.1.4 Cancel functional unit 6.1.4.1 R-Cancel service 6.1.4.1.1 R-Cancel request Table 15 - Parameters for R-Cancel request Parameter re in Limitation q d operationID M M( An INTEGER with value =) greater than 0. controlledDialog U C( See subparameter(s) ue =) below. dialogueID M M( See subparameter(s) =) below. dialogueIDClie U C( See subparameter(s) nt- =) below. Invocation aP-title M M( No additional =) limitation. aE-qualifier M M( No additional =) limitation. aP- M M( No additional invocationID =) limitation. aE- M M( No additional invocationID =) limitation. dialogueIDSuff M M( An OCTET STRING from 1 ix =) through 64 octets long. controlAuthenti M M( The client may provide cationData =) an IA5String from 1 through 255 characters long, an OCTET STRING from 1 through 255 octets long, or a BIT STRING from 1 to 2040 bits long. listOfOperationI U C( This list may contain D =) from 1 through 32 entries of OperationID. 15 Part 19 - Remote Database Access December 1992 (Stable) Parameter re in Limitation q d OperationID C C( An INTEGER with value =) greater than 0. 6.1.4.1.2 R-Cancel result Table 16 - Parameters for R-Cancel result response Parameter rs cn Limitation p f operationID M M( An INTEGER with value =) greater than 0. 6.1.4.1.3 R-Cancel error Table 17 - Parameters for R-Cancel error response Parameter rs cn Limitation p f operationID M M( An INTEGER with value =) greater than 0. controlAuthenica S S( No additional tionFailure =) limitation. controlServices- S S( No additional NotAllowed =) limitation. dialogueIDUnknow S S( No additional n =) limitation. duplicateOperati S S( No additional onID =) limitation. invalidSequence S See subparameter(s) below. diagnosticInfor U No additional mation limitation. operationAborted S S( See subparameter(s) =) below. 16 Part 19 - Remote Database Access December 1992 (Stable) Parameter rs cn Limitation p f errorType M M( No additional (default value: =) limitation. transient) diagnosticInfor U C( A VisibleString, from 1 mation =) through 254 characters long. serviceNotNegoti S S( No additional ated =) limitation. 6.1.5 Status functional unit 6.1.5.1 R-Status service 6.1.5.1.1 R-Status request Table 18 - Parameters for R-Status request Parameter re in Limitation q d operationID M M( An INTEGER with value =) greater than 0. controlledDialog U C( See subparameters ue =) below. dialogueID M M( See subparameter(s) =) below. dialogueIDClie U C( See subparameter(s) nt- =) below. Invocation aP-title M M( No additional =) limitation. aE-qualifier M M( No additional =) limitation. aP- M M( No additional invocationID =) limitation. aE- M M( No additional invocationID =) limitation. 17 Part 19 - Remote Database Access December 1992 (Stable) Parameter re in Limitation q d dialogueIDSuff M M( An OCTET STRING from 1 ix =) through 64 octets long. controlAuthenti M M( The client may provide cationData =) an IA5String from 1 through 255 characters long, an OCTET STRING from 1 through 255 octets long, or a BIT STRING from 1 to 2040 bits long. listOfOperationI U C( This list may contain D =) from 1 through 32 entries of OperationID. OperationID C C( An INTEGER with value =) greater than 0. 6.1.5.1.2 R-Status result 18 Part 19 - Remote Database Access December 1992 (Stable) Table 19 - Parameters for R-Status result response Parameter rs cn Limitation p f operationID M M( An INTEGER with value =) greater than 0. listOfStatusInfo C C( This list may contain rmation =) from 1 through 32 entries of StatusInformation. StatusInformati U C( See subparameter(s) on =) below. operationID M M( An INTEGER with value =) greater than 0. operationStatu M M( See choice(s) below. s =) operationIDUn S S( No additional known =) limitation. awaitingExecu S S( No additional tion =) limitation. executing S S( No additional =) limitation. finished S S( No additional =) limitation. cancelled S S( No additional =) limitation. aborted S S( A VisibleString with =) value from 1 through 254 characters long. 6.1.5.1.3 R-Status error 19 Part 19 - Remote Database Access December 1992 (Stable) Table 20 - Parameters for R-Status error response Parameter rs cn Limitation p f operationID M M( An INTEGER with value =) greater than 0. controlAuthentic S S( No additional ationFailure =) limitation. controlServices- S S( No additional NotAllowed =) limitation. dialogueIDUnknow S S( No additional n =) limitation. duplicateOperati S S( No additional onID =) limitation. invalidSequence S See subparameter(s) below. diagnosticInfor U No additional mation limitation. operationAborted S S( See subparameter(s) =) below. errorType M M( No additional (default value: =) limitation. transient) diagnosticInfor U C( A VisibleString, from 1 mation =) through 254 characters long. serviceNotNegoti S S( No additional ated =) limitation. 6.1.6 Resource handling functional unit 6.1.6.1 R-Open service 6.1.6.1.1 R-Open request 20 Part 19 - Remote Database Access December 1992 (Stable) Table 21 - Parameters for R-Open request Parameter re in Limitation q d operationID M M( An INTEGER with value =) greater than 0. dataResourceHand M M( An INTEGER with value le =) greater than 0. parentDataResour I I( An INTEGER with value ceHandle =) geater than 0. dataResourceName U C( A VisibleString, from 1 =) through 254 characters long. sQLAccessControl I I( The client may provide Data =) an IA5String from 1 through 255 characters long, an OCTET STRING from 1 through 255 octets long, or a BIT STRING from 1 through 2040 bits long. sQLUsageMode U C( No additional =) limitation. sQLOpenArgument U C( See subparameter(s) =) below. charSet U C( An OBJECT IDENTIFIER =) from 2 through 16 elements long. sQLConformanceL U C( An OBJECT IDENTIFIER evel =) from 2 through 16 elements long. 21 Part 19 - Remote Database Access December 1992 (Stable) 6.1.6.1.2 R-Open result Table 22 - Parameters for R-Open result response Parameter rs cn Limitation p f operationID M M( An INTEGER with value =) greater than 0. sQLOpenResult U C( See subparameter(s) =) below. charSet U C( An OBJECT IDENTIFIER =) from 2 through 16 elements long. charSetNotSuppo U C( No additional rted (default =) limitation. value : FALSE) sQLConformanceL C C( An OBJECT IDENTIFIER evel =) from 2 through 16 elements long. 6.1.6.1.3 R-Open error Table 23 - Parameters for R-Open error response Parameter rs cn Limitation p f operationID M M( An INTEGER with value =) greater than 0. dataResourceAlre S S( See subparameter(s) adyOpen =) below. dataResourceHan M M( An INTEGER with value dle =) greater than 0. dataResourceName S S( No additional Not-Specified =) limitation. dataResourceNotA S S( See subparameters vailable =) below. errorType M M( No additional (default value : =) limitation. transient) 22 Part 19 - Remote Database Access December 1992 (Stable) Parameter rs cn Limitation p f diagnosticInfor U C( A VisibleString, from 1 mation =) through 254 characters long. dataResourceUnkn S S( No additional own =) limitation. duplicateDataRes S S( No additional ource-Handle =) limitation. duplicateOperati S S( No additional onID =) limitation. invalidSequence S See subparameter(s) below. diagnosticInfor U No additional mation limitation. operationAborted S S( See subparameter(s) =) below. errorType(defau M M( No additional lt value: =) limitation. transient) diagnosticInfor U C( A VisibleString, from 1 mation =) through 254 characters long. operationCancell S S( No additional ed =) limitation. parentDataResour I I( No additional ce- =) limitation. Unknown serviceNotNegoti S S( No additional ated =) limitation. sQLOpenError S S( See choice(s) below. =) invalidSQLConfo S S( No additional rmance-Level =) limitation. sQLAccessContro S S( No additional l- =) limitation. Violation 23 Part 19 - Remote Database Access December 1992 (Stable) Parameter rs cn Limitation p f sQLDatabaseReso S S( No additional urce-AlreadyOpen =) limitation. rDATransactionO S S( No additional pen =) limitation. 6.1.6.2 R-Close service 6.1.6.2.1 R-Close request Table 24 - Parameters for R-Close request Parameter re in Limitation q d operationID M M( An INTEGER with value =) greater than 0. listOfDataResour U C( This list shall contain ceHandle =) one entry of DataResourceHandle. DataResourceHan U C( An INTEGER with value dle =) greater than 0. 6.1.6.2.2 R-Close result Table 25 - Parameters for R-Close result response Parameter rs cn Limitation p f operationID M M( An INTEGER with value =) greater than 0. listOfCloseExcep U C( This list shall contain tions =) one entry of CloseException. CloseException M M( See subparameter(s) =) below. dataResourceHa M M( An INTEGER with value ndle =) greater than 0. 24 Part 19 - Remote Database Access December 1992 (Stable) closeException M M( See choice(s) below. =) dataResourceH S S( No additional andle- =) limitation. Unknown 6.1.6.2.3 R-Close error Table 26 - Parameters for R-Close error response Parameter rs cn Limitation p f operationID M M( An INTEGER with value =) greater than 0. duplicateOperati S S( No additional onID =) limitation. invalidSequence S See subparameter(s) below. diagnosticInfor U No additional mation limitation. operationAborted S S( See subparameter(s) =) below. errorType(defau M M( No additional lt =) limitation. value: transient) diagnosticInfor U C( A VisibleString, from 1 mation =) through 254 characters long. operationCancell S S( No additional ed =) limitation. serviceNotNegoti S S( No additional ated =) limitation. sQLCloseError S S( See choice(s) below. =) rDATransactionO S S( No additional pen =) limitation. 25 Part 19 - Remote Database Access December 1992 (Stable) 6.1.7 Immediate execution DBL functional unit 6.1.7.1 R-ExecuteDBL service 6.1.7.1.1 R-ExecuteDBL request 26 Part 19 - Remote Database Access December 1992 (Stable) Table 27 - Parameters for R-ExecuteDBL request Parameter re in Limitation q d operationID M M( An INTEGER with value =) greater than 0. dataResourceHand U C( An INTEGER with value le =) greater than 0. sQLDBLStatement M M( See subparameter(s) =) below. statementText M M( An OCTET STRING, from =) 1 through 4000 octets long. charSet U C( An OBJECT IDENTIFIER, =) from 2 through 16 elements long. sQLDBLArgument- U C( This parameter may =) contain 1 through 100 Specification entries of SQLDataTypeDescriptor. See table 39, Parameters for SQLDataTypeDescriptor. sQLDBLResultSpec U C( This parameter may ification =) contain 1 through 100 entries of SQLDataTypeDescriptor. See table 39, Parameters for SQLDataTypeDescriptor. dBLArguments U C( See choice(s) below. =) singleArgument S S( See subparameter(s) =) below. repetitionCoun M M( An INTEGER with value t(default =) from 1 through 64. value: 1) 27 Part 19 - Remote Database Access December 1992 (Stable) sQLDBLArgument C C( This parameter may Values =) contain from 1 through 100 entries of SQLValue. See table 41, Parameters for SQLValue. multipleArgumen S( S( See subparameter(s) t =) =) below. listOfSQLDBLAr M M( This list may contain gument-Values =) from 1 through 64 entries of SQLDBLArgumentValues. SQLDBLArgumen C C( This parameter may tValues =) contain from 1 through 100 entries of SQLValue. See table 41, Parameters for SQLValue. 28 Part 19 - Remote Database Access December 1992 (Stable) 6.1.7.1.2 R-ExecuteDBL result Table 28 - Parameters for R-ExecuteDBL result response Parameter rs cn Limitation p f operationID M M( An INTEGER with value =) greater than 0. sQLDBLResult- C C( This parameter may Specification =) contain 1 through 100 entries of SQLDataTypeDescriptor. See table 39, Parameters for SQLDataTypeDescriptor. listOfResultValu U C( This list may contain 1 es =) through 64 entries of ResultValues. ResultValues M M( See subparameter(s) =) below. sQLDBLExceptio M M( See table 40, n =) Parameters for SQLDBLException. sQLDBLResultVa C C( This parameter may lues =) contain 1 through 100 entries of SQLValue. See table 41, Parameters for SQLValue. 29 Part 19 - Remote Database Access December 1992 (Stable) 6.1.7.1.3 R-ExecuteDBL error Table 29 - Parameters for R-ExecuteDBL error response Parameter rs cn Limitation p f operationID M M( An INTEGER with value =) greater than 0. badRepetitionCou S S( No additional nt =) limitation. dataResourceHand S S( No additional le- =) limitation. NotSpecified dataResourceHand S S( No additional le- =) limitation. Unknown duplicateOperati S S( No additional onID =) limitation. invalidSequence S See subparameter(s) below. diagnosticInfor U No additional mation limitation. noDataResourceAv S S( No additional ailable =) limitation. operationAborted S S( See subparameter(s) =) below. errorType(defau M M( No additional lt value: =) limitation. transient) diagnosticInfor U C( A VisibleString, from 1 mation =) through 254 characters long. operationCancell S S( No additional ed =) limitation. serviceNotNegoti S S( No additional ated =) limitation. transactionRolle S S( No additional dBack =) limitation. 30 Part 19 - Remote Database Access December 1992 (Stable) Parameter rs cn Limitation p f sQLExecuteDBLErr S S( See choice(s) below. or =) sQLUsageModeVio S S( No additional lation =) limitation. sQLDBLTransacti S S( No additional on- =) limitation. StatementNotAllo wed sQLDBLArgumentC S S( No additional ount- =) limitation. Mismatch sQLDBLArgumentT S S( No additional ype- =) limitation. Mismatch sQLDBLNoCharSet S S( No additional =) limitation. hostIdentifierE S S( No additional rror =) limitation. rDATransactionN S S( No additional otOpen =) limitation. 6.1.8 Stored Execution DBL Functional Unit 6.1.8.1 R-DefineDBL Service 6.1.8.1.1 R-DefineDBL request Table 30 - Parameters for R-DefineDBL request Parameter re in Limitation q d operationID M M( An INTEGER with value =) greater than 0. commandHandle M M( An INTEGER with value =) greater than 0. 31 Part 19 - Remote Database Access December 1992 (Stable) dataResourceHand U C( An INTEGER with value le =) greater than 0. sQLDBLStatement M M( See subparameter(s) =) below. statementText M M( An OCTET STRING from 1 =) through 4000 octets long. charSet U C( An OBJECT IDENTIFIER =) from 2 through 16 elements long. sQLDBLArgument- U C( This parameter may Specification =) contain 1 through 100 entries of SQLDataTypedescriptor. See table 39, Parameters for SQLDataTypeDescriptor. sQLDBLResult- U C( This parameter may Specification =) contain 1 through 100 entries of SQLDataTypeDescriptor. See table 39, Parameters for SQLDataTypeDescriptor. 6.1.8.1.2 R-DefineDBL result Table 31 - Parameters for R-DefineDBL result Parameter re cn Limitation s f operationID M M( An INTEGER with value =) greater than 0. sQLDBLResult- C C( This parameter may Specification =) contain 1 through 100 entries of SQLDataTypeDescriptor. See table 39, Parameters for SQLDataTypeDescriptor. 32 Part 19 - Remote Database Access December 1992 (Stable) sQLDBLException C C( See table 40, =) Parameters for SQLDBLException. 6.1.8.1.3 R-DefineDBL error Table 32 - Parameters for R-DefineDBL error Parameter rs cn Limitation p f operationID M M( An INTEGER with value =) greater than 0. dataResourceHand S S( No additional le- =) limitation. NotSpecified dataResourceHand S S( No additional le- =) limitation. Unknown duplicateCommand S S( No additional Handle =) limitation. duplicateOperati S S( No additional onID =) limitation. invalidSequence S See subparameter(s) below. diagnosticInfor U No additional mation limitation. noDataResourceAv S S( No additional ailable =) limitation. operationAborted S S( See subparameter(s) =) below. errorType(defau M M( No additional lt value: =) limitation. transient) diagnosticInfor U C( A VisibleString, from 1 mation =) through 254 characters long. operationCancell S S( No additional ed =) limitation. 33 Part 19 - Remote Database Access December 1992 (Stable) Parameter rs cn Limitation p f serviceNotNegoti S S( No additional ated =) limitation. sQLDefineDBLErro S S( See choice(s) below. r =) sQLDBLNoCharSet S S( No additional =) limitation. sQLDBLTransacti S S( No additional on- =) limitation. StatementNotAllo wed sQLUsageModeVio S S( No additional lation =) limitation. hostIdentifierE S S( No additional rror =) limitation. 6.1.8.2 R-InvokeDBL Service 6.1.8.2.1 R-InvokeDBL request Table 33 - Parameters for R-InvokeDBL request Parameter re in Limitation q d operationID M M( An INTEGER with value =) greater than 0. commandHandle M M( An INTEGER with value =) greater than 0. dBLArguments U C( See choice(s) below. =) singleArgument S S( See subparameter(s) =) below. repetitionCoun M M( An INTEGER with value t =) from 1 through 64. (Default Value: 1) 34 Part 19 - Remote Database Access December 1992 (Stable) Parameter re in Limitation q d sQLDBLArgument C C( This parameter may Values =) contain 1 through 100 entries of SQLValue. See table 41, Parameters for SQLValue. multipleArgumen S S( See subparameter(s) t =) below. listOfSQLDBLAr M M( This list may contain 1 gument- =) through 64 entries of Values SQLDBLArgumentValues. SQLDBLArgumen C C( This parameter may t- =) contain 1 through 100 Values entries of SQLValue. See table 41, Parameters for SQLValue. 6.1.8.2.2 R-InvokeDBL result Table 34 - Parameters for R-InvokeDBL result Parameter re cn Limitation s f operationID M M( An INTEGER with value =) greater than 0. sQLDBLResult- C C( This parameter may Specification =) contain 1 through 100 entries of SQLDataTypedescriptor. See table 39, Parameters for SQLDataTypeDescriptor. listOfResultValu M M( This list may contain 1 es =) through 64 entries of ResultValues. ResultValues M M( See subparameter(s) =) below. 35 Part 19 - Remote Database Access December 1992 (Stable) sQLDBLExceptio M M( See table 40, n =) Parameters for SQLDBLException. sQLDBLResultVa C C( This parameter may lues =) contain 1 through 100 entries of SQLValue. See table 41, Parameters for SQLValue. 6.1.8.2.3 R-InvokeDBL error Table 35 - Parameters for R-InvokeDBL error Parameter rs cn Limitation p f operationID M M( An INTEGER with value =) greater than 0. badRepetitionCou S S( No additional nt =) limitation. commandHandleUnk S S( No additional nown =) limitation. duplicateOperati S S( No additional onID =) limitation. invalidSequence S See subparameter(s) below. diagnosticInfor U No additional mation limitation. operationAborted S S( See subparameter(s) =) below. errorType(defau M M( No additional lt value: =) limitation. transient) diagnosticInfor U C( A VisibleString, from 1 mation =) through 254 characters long. operationCancell S S( No additional ed =) limitation. 36 Part 19 - Remote Database Access December 1992 (Stable) Parameter rs cn Limitation p f serviceNotNegoti S S( No additional ated =) limitation. transactionRolle S S( No additional dBack =) limitation. sQLInvokeDBLErro S S( See choice(s) below. r =) sQLUsageModeVio S S( No additional lation =) limitation. sQLDBLArgumentT S S( No additional ype- =) limitation. Mismatch sQLDBLArgumentC S S( No additional ount- =) limitation. Mismatch rDATransactionN S S( No additional otOpen =) limitation. 6.1.8.3 R-DropDBL Service 6.1.8.3.1 R-DropDBL request Table 36 - Parameters for R-DropDBL request Parameter re in Limitation q d operationID M M( An INTEGER with value =) greater than 0. listOfCommandHan U C( This list may contain dle =) from 1 through 32 entries of CommandHandle. CommandHandle C C( An INTEGER with value =) greater than 0. 37 Part 19 - Remote Database Access December 1992 (Stable) 6.1.8.3.2 R-DropDBL result Table 37 - Parameters for R-DropDBL result Parameter re cn Limitation s f operationID M M( An INTEGER with value =) greater than 0. listOfDropDBLExc U C( This list may contain 1 eptions =) through 32 entries of DropDBLException. DropDBLExceptio M M( See subparameter(s) n =) below. commandHandle M M( An INTEGER with value =) greater than 0. dropDBLExcepti M M( See subparameter(s) on =) below. commandHandle S S( No additional - =) limitation. Unknown 6.1.8.3.3 R-DropDBL error Table 38 - Parameters for R-DropDBL error Parameter rs cn Limitation p f operationID M M( An INTEGER with value =) greater than 0. duplicateOperati S S( No additional onID =) limitation. invalidSequence S See subparameter(s) below. diagnosticInfor U No additional mation limitation. operationAborted S S( See subparameter(s) =) below. 38 Part 19 - Remote Database Access December 1992 (Stable) Parameter rs cn Limitation p f errorType(defau M M( No additional lt value: =) limitation. transient) diagnosticInfor U C( A VisibleString, from 1 mation =) through 254 characters long. operationCancell S S( No additional ed =) limitation. serviceNotNegoti S S( No additional ated =) limitation. 6.2 Limits for common parameters This clause describes the parameters of the common RDA Types, those shared by more than one RDA Service. Table 39 describes the parameters for SQLDataTypeDescriptor. Table 40 describes the parameters for SQLDBLException. Table 41 describes the parameters for SQLValue. The range of values for each type of dataItem in this table is implied by the values of the parameters of the corresponding type of SQLDataTypeDescriptor in Table 39. 6.2.1 SQLDataTypeDescriptor Table 39 - Parameters for SQLDataTypeDescriptor Parameter re ind rs cnf Limitation q p nullable M M(= No additional (default ) limitation. value: true) colName M M(= A VisibleString, ) from 1 through 18 characters long. 39 Part 19 - Remote Database Access December 1992 (Stable) Parameter re ind rs cnf Limitation q p typeDescripto M M(= M M(= See choice(s) r ) ) below. characterTyp S S(= S S(= See e ) ) subparameter(s) below. charSet U C(= U C(= An OBJECT ) ) IDENTIFIER, from 2 through 16 elements long. length M M(= M M(= An INTEGER with ) ) value from 1 through 240. It represents the maximum number of characters in the data value. Trailing (padded) spaces are included in the length, but a trailing null byte is not. fixedLength- M M(= M M(= No additional Encoding ) ) limitation. numericType S S(= S S(= See ) ) subparameter(s) below. precision M M(= M M(= This parameter ) ) shall contain a value within the range of 1 through 15. scale M M(= M M(= This parameter ) ) shall contain a value within the range of 0 through the value of precision. 40 Part 19 - Remote Database Access December 1992 (Stable) Parameter re ind rs cnf Limitation q p decimalType S S(= S S(= See ) ) subparameter(s) below. precision M M(= M M(= This parameter ) ) shall contain a value within the range of 1 through 15. scale M M(= M M(= This parameter ) ) shall contain a value within the range of 0 through the value of precision. integerType S S(= S S(= See ) ) subparameter(s) below. precision M M(= M M(= If precisionBase ) ) is decimal, precision must be in the range 1 through 9. If precisionBase is binary, precision must be in the range 1 through 31. precisionBa M M(= M M(= No additional se ) ) limitation. smallIntType S S(= S S(= See ) ) subparameter(s) below. 41 Part 19 - Remote Database Access December 1992 (Stable) Parameter re ind rs cnf Limitation q p precision M M(= M M(= If precisionBase ) ) is decimal, precision must be in the range 1 through 4. If precisionBase is binary, precision must be in the range 1 through 15. precisionBa M M(= M M(= No additional se ) ) limitation. floatType S S(= S S(= See ) ) subparameter(s) below. mantissa- M M(= M M(= An INTEGER with Precision ) ) value from 1 through 20. maxExponent M M(= M M(= An INTEGER with ) ) value from 0 through 38. realType S S(= S S(= See ) ) subparameter(s) below. mantissa- M M(= M M(= An INTEGER with Precision ) ) value from 1 through 20. maxExponent M M(= M M(= An INTEGER with ) ) value from 0 through 38. double- S S(= S S(= See PrecisionType ) ) subparameter(s) below. mantissa- M M(= M M(= An INTEGER with Precision ) ) value from 1 through 30. maxExponent M M(= M M(= An INTEGER with ) ) value from 0 through 38. 42 Part 19 - Remote Database Access December 1992 (Stable) 6.2.2 SQLDBLException Table 40 - Parameters for SQLDBLException Paramete rs cnf Limitation r p sQLSTATE C C(= No additional limitation. ) sQLCODE C C(= No additional limitation. ) sQLError U C(= A VisibleString from 1 Text ) through 254 characters long. 6.2.3 SQLValue 43 Part 19 - Remote Database Access December 1992 (Stable) Table 41 - Parameters for SQLValue Parameter re ind rs cnf Limitation q p dataItem U C(= U C(= See choice(s) ) ) below. characte S S(= S S(= An OCTET STRING rItem ) ) from 1 through 240 characters. numericI S S(= S S(= An INTEGER with tem ) ) absolute value less than 10**15. Note that the maximum requires a 7- octet INTEGER value. decimalI S S(= S S(= An INTEGER with tem ) ) absolute value less than 10**15. Note that the maximum requires a 7- octet INTEGER value. integerI S S(= S S(= An INTEGER with tem ) ) absolute value less than 10**9, if precisionBase is decimal. An INTEGER with absolute value less than 2**31, if precisionBase is binary. 44 Part 19 - Remote Database Access December 1992 (Stable) Parameter re ind rs cnf Limitation q p smallInt S S(= S S(= An INTEGER with Item ) ) absolute value less than 10**4, if precisionBase is decimal. An INTEGER with absolute value less than 2**15, if precisionBase is binary. floatIte S S(= S S(= A REAL with the m ) ) value 0 or absolute value in the range 10**-38 through 10**38 inclusive. realItem S S(= S S(= A REAL with the ) ) value 0 or absolute value in the range 10**-38 through 10**38 inclusive. double- S S(= S S(= A REAL with the ) ) value 0 or Precision absolute value Item in the range 10**-38 through 10**38 inclusive. indicator U C(= U C(= No additional ) ) limitation. 45 Part 19 - Remote Database Access December 1992 (Stable) 6.3 Other limits and agreements 6.3.1 Operation limits and agreements Operation limits and agreements follow: a) OIW-compliant RDA implementations shall conform to the following agreements stated in part 5, Upper layers: 1) the specific ASE requirements stated in clause 13.8, Remote Database Access; and 2) all other agreements that pertain to the Association Control Service Element, Presentation, and Session, including those for ASN.1 encoding; b) OIW-compliant RDA implementations shall be able to process at a minimum RDA Application Protocol Data Units of 30,000 octets. It is recommended, however, that Presentation user data not be restricted in size; c) The maximum number of outstanding RDA operations is 32; d) If an RDA server receives an abort event after an R-BeginTransaction indication and before an R-Commit indication, then it should roll back the current transaction; e) As a minimum, the character set ISO 8859-1 shall be supported. The OIW-defined object identifier for this character set is : { iso (1) identified-organization (3) oiw (14) rda-sig (9) character-sets (1) oiw-latin-1 (1) abstract-syntax (1) } NOTE - This object identifier will be deprecated at such time that ISO defines an object identifier for ISO 8859-1. 6.3.2 Recommended practices An implementation should document any limitation on the number of schema statements that the server permits within a single transaction. For maximum interoperability, a client should never mix schema statements and data statements within a transaction and should restrict the number of schema statements within a transaction to one. 46 Part 19 - Remote Database Access December 1992 (Stable) 6.4 Rules for Profiles An implementation conformant to a profile shall implement all the functional units of that profile; it may additionally implement other functional units without being nonconformant. If a functional unit is included in a profile, all the services of that functional unit, as specified in the ISO/IEC 9579-1 and 9579-2, shall be included. An implementation conforming to a given profile may accept a dialogue whose functional units conform to a different profile without being nonconformant. 6.4.1 Application contexts This subclause specifies agreements that apply to individual application contexts. 6.4.1.1 RDA basic application context This subclause specifies agreements that apply to the RDA Basic Application Context. 6.4.1.2 Profiles This subclause specifies which functional units combine to form each profile. 6.4.1.2.1 Rationale The minimum requirement is to be able to execute SQL Statements. Therefore all profiles include the "Immediate Execution DBL" functional unit, and one profile (Immediate Execution) includes just this minimum capability. Additional capabilities may be required for defining and invoking DBL statements. Therefore the "Stored Execution DBL" functional unit is required only in a separate profile (Stored Execution) defined specifically for this capability. For the RDA Control Services, executing control services on the current dialogue requires different and probably simpler capabilities than executing control services on other dialogues. Therefore additional profiles are defined for controlling other dialogues. 47 Part 19 - Remote Database Access December 1992 (Stable) The R-Status Service implies only inquiry about the controlled dialogue, while the R-Cancel Service requires the ability to modify the controlled dialogue. Since different authorization or access control permissions may be required, it is useful to separate R-Status from R-Cancel. Therefore two separate profiles (Status and Cancel) are defined for controlled dialogue capabilities. Since an implementation may include functional units and services beyond those required, only this minimum set of four profiles is defined. 6.4.1.2.2 Immediate Execution This profile requires support of immediate execution of SQL Statements. It requires the following functional units: a) dialogue initialization; b) dialogue termination; c) transaction management; d) resource handling; and e) immediate execution DBL. 6.4.1.2.3 Stored execution This profile requires support of execution of stored SQL Statements. It requires the following functional units: a) dialogue initialization; b) dialogue termination; c) transaction management; d) resource handling; e) immediate execution DBL; and f) stored execution DBL. 48 Part 19 - Remote Database Access December 1992 (Stable) 6.4.1.2.4 Status This profile requires support of the R-Status service on other dialogues. It requires the following functional units: a) dialogue initialization, specifically including the following parameters: 1) controlServiceDataRequested; and 2) controlServiceData; b) dialogue termination; c) transaction management; d) status, specifically including the following parameters: 1) controlledDialogue; e) resource handling; and f) immediate execution DBL. 6.4.1.2.5 Cancel This profile requires support of the R-Cancel service on other dialogues. It requires the following functional units: a) dialogue initialization, specifically including the following parameters: 1) controlServiceDataRequested; and 2) controlServiceData; b) dialogue termination; c) transaction management; d) cancel, specifically including the following parameters: 1) controlledDialogue; e) resource handling; and f) immediate execution DBL. 49 Part 19 - Remote Database Access December 1992 (Stable) 6.4.2 RDA TP application context No text. 50 Part 19 - Remote Database Access December 1992 (Stable) Annex A (normative) RDA SIG object identifiers Table 42 lists the object identifiers defined by this part of the Implementation Agreements. Table 42 - Object Identifiers defined by RDA Object Identifier Reference iso (1) identified- 6.3.1 organization (3) oiw (14) rda-sig (9) character-sets (1) oiw-latin-1 (1) abstract-syntax (1) 51