1、Amendment 2:1999 to National Standard of Canada CAN/CSA-ISOBEC 10728-95 Amendment 2: 1996 to International Standard ISO/IEC 107281993 has been adopted without modification as Amendment 21999 to CAN/CSA-ISO/IEC 10728-95. This Amendment was reviewed by the CSA Technical Committee on Information Techno
2、logy (TCIT) under the jurisdiction of the Strategic Steering Committee on Information Technology and deemed acceptable for use in Canada. July 1999 Information technology - Information Resource Dictionary System (IRDS) Services Interface AMENDMENT 2: Ada language binding (Reaff i r med 2004) Technol
3、ogies de Iinformation - Interface de services du gestionnaire de ressources du s ysteme dinformations (IRDS) AMENDEMENT 2: Liant de langage Ada Reference number ISO/IEC 10728:1993/Amd.2:1996(E) ISODEC 10728: 1993/Amd.2:1996(E) Foreword IS0 (the International Organization for Standardization) and IEC
4、 (the Inter- national Electrotechnical Commission) form the specialized system for worldwide standardization. National bodies that are members of IS0 or IEC participate in the development of International Standards through technical committees established by the respective organization to deal with
5、particular fields of technical activity. IS0 and IEC technical committees collaborate in fields of mutual interest. Other international organizations, governmental and non-governmental, in liaison with IS0 and IEC, also take part in the work. In the field of information technology, IS0 and IEC have
6、established a joint technical committee, ISO/IEC JTC 1. Draft International Standards adopted by the joint technical committee are circulated to national bodies for voting. Publication as an International Standard requires approval by at least 75 % of the national bodies casting a vote. Amendment 2
7、to International Standard ISO/IEC 10728:1993 was prepared by Joint Technical Committee ISO/IEC JTC 1, Information technology, Sub- committee SC 21, Open systems interconnection, data management and open distributed processing. 0 ISOiIEC 1996 All rights reserved. Unless otherwise specified, no part o
8、f this publication may be reproduced or utilized in any form or by any means, electronic or mechanical, including photocopying and micro- film, without permission in writing from the publisher. ISOIIEC Copyright Office * Case postale 56 * CH-1211 Genke 20 * Switzerland 0 ISOAEC ISO/IEC 10728: 1993/A
9、md.2: 1996(E) Information technology - Information Resource Dictionary System (IRDS) Services Interface AMENDMENT 2: Ada language binding Page v Add a new entry to the Table of Contents as follows: “Annex D - Ada language binding“ Page vi Add a new sentence to the last paragraph in the Foreword as f
10、ollows: “Annex D is normative“. Page I Add a new sentence in clause 1 paragraph 2, before the last sentence. “A language binding for the Ada language (ISO/IEC 8652) is provided in Annex D.“ Add a reference in clause 2, after the reference to IS0 7185, as follows: “ISOIIEC 8652: 1995, Information tec
11、hnology - Programming languages - Ada.“ Page 5 Add a new sentence in subclause 4.4. “Data structures for use with the Ada language are defined in Annex D.“ Add a new sentence in subclause 4.5. “Ada language bindings for the services are provided in Annex D.“ Page 71 Amend the first sentence of the N
12、OTE in subclause 8.1 to read: “For the Pascal language binding specified in this clause, the C language binding specified in Annex C, and the Ada language binding specified in Annex D, enumerated types are . .“ Page 75 Add a new sentence at the end of clause 9 to read: “Alternative service formats f
13、or use with the Ada language are specified in Annex D.“ Add a new Annex D after Annex C (as amended by ISODEC 10728:1993/Amd.l:1995) as follows: 1 ISO/IEC 10728: 1993/Amd.2: 1996(E) 0 ISO/IEC Annex D (normative) Ada language binding The IRDS Services lnterface language binding for the Ada language i
14、s presented in the form of an Ada package specification as provided in D.4 using the general rules as set out in D.2 below. D.3 provides a package called HardwareqDependencies which isolates hardware, software, and system dependencies in order to improve portability of the binding. D. 1 Strategy for
15、 the Ada language binding In this binding the data names and data structures defined in clause S have been adhered to except where the Ada language provides a preferred alternative construct. The binding defined in the package specification in D.4 provides an interface to the SQL types through a pac
16、kage that isolates hardware dependencies for Ada types. Time and date abstractions are obtained from package Calendar. It is expected that the package body will provide the necessary transformations to SQL and IRDS types. In this binding, the procedure names and their parameters defined in clause 9
17、have been adhered to except as follows: 1. 2. 3. 4. 5. 6. 7. 8. 9. All names have been spelled out for understanding except for IRDS, IRD, and SQL. All names have underscores between logical words for clarity All names of data structure types have the explicit word “type“ added to the simple name fo
18、r clarity. Excluded are Ada predefined types of Boolean, Positive, Character, String, and Time. Names ending in “type“ which were not types have been renamed to avoid confusion. The “Irds“ prefix has been removed from all types, objects, and procedure names. The desired effect is achieved through th
19、e use of a package called “IRDS“. The fully qualified name will thus include IRDS eg, IrdsCreateIRDDefinition becomes IRDS.Create-IRD-Definition, IrdsNameLim becomes IRDS.NameLimit1. The subprogram names and parameter names in D.4 below shall have the same meaning as the mapped names defined in clau
20、se 9. The use of the Service Retum Code identified in subclause 8.2.5 is not used in preference to the use of Ada exceptions. A discussion on how exceptions are used is provided in the Ada binding discussion for subclause 8.2.5 within D.4 below. Strings are passed as an access type (with a pointer)
21、allowing unbounded lengths. A list structure is used for the Column List Parameters (subclause 8.2.6) again using access types. Access types end with the suffix “Pointer-Type.“ Time abstractions are imported from package Calendar to facilitate time operations by Ada applications. Use of name User-Id
22、 vice User as object of type User-Id-Type to conform with naming convention. 2 0 ISO/IEC ISO/IEC 10728: 1993/Amd.2: 1996(E) 10. The following mappings for SQL data types to Ada data types have been used: SOL Data Type Ada Data Type CHARACTER CHARACTER VARYING NATIONAL CHARACTER NATIONAL CHARACTER VA
23、RYING REAL DOUBLE PRECISION FLOAT INTEGER SMALL INTEGER NUMERIC DECIMAL DATE TIME TIME STAMP INTERVAL Notes 1. 2. 3. 4. Character-Type Note 11 Text-Pointer-Type Note 21 Nationalcharacter-Type Note I NationdTextPointer-Type Note 21 Real-Type Note 11 Long-Float-Type Note 11 Float-Type Note I Integer-T
24、ype Note 13 Shofl-Integer-Type Note 11 Fixed-Type Note 11 Decimal-Type Note 11 Calendar.Time Note 31 Calendar.Time Note 31 Calendar.Time Note 31 Interval-Type Note 41 These types are imported from a separate package Hardware-Dependencies used to insulate the IRDS binding from hardware differences, t
25、hus improving portability of the application code. This package is provided in subclause D.3. Text-PointerType is defined in subclause 8.2.1 as an access type of String-Type. String-Type is an array of Character-Type. National-Text-Pointer-Type is defined in subclause 8.2.1 as an access type of Nati
26、onalstring-Type. National-String-Type is an array of National-Character-Type. Time abstractions are imported from the Ada package Calendar. The type Calendar.Time includes abstractions for year, month, day, and seconds. It is also useful as a date-time stamp. This is a newly defined record; See Ada
27、binding for subclause 8.2.1. Use of this language binding requires the use of an Ada compiler that conforms to ISO/IEC 8652: 1995. All validated Ada compilers that conform to ISO/IEC 8652:1995 meet this conformance requirement. A validated Ada compiler that conforms to IS0 8652: 1987 only meets the
28、requirement if it has the appropriate packages to support enhanced character sets. 3 ISOOEC 10728: 1993/Amd.2:1996(E) D.2 1. 2. 3. 0 ISO/IEC General Rules Those data names in D.4 below that map to data names in clause 8 shall have the same meanings as is defined in clause 8. Equivalent Ada Types are
29、 used to build data structures. It is expected that the package body of the IRDS interface will perform the necessary transformations to convert objects of Ada types to objects of SQL types and vice versa. Several IRDS sessions can proceed in parallel using Ada tasking. Subclause 9.4 defines the seq
30、uence of permitted service invocations within a Current-Session-Id. The IRDS interface must be capable of serializing concurrent calls to its Application Program Interface (API). IRDS implementations should support the use of the language-defined library package Ada.Exceptions. This would provide IR
31、DS applications with the capability to obtain auxiliary information regarding distinct exceptions when an error occurs. An implementation shall provide a package Hardware-Dependencies to isolate the IRDS binding from hardware implementations of all Ada types except Boolean, Positive, Character, Stri
32、ng, and Time. This approach provides a means to improve portability between IRDS implementations. 4 0 ISO/IEC ISO/IEC 10728: 1993/Amd.2: 1996(E) D.3 IRDS Ada Binding Hardware - Dependencies - Package Hardware-Dependencies - _ ISOAEC 10728:1993(E) _- IRDS Services Interface - Copyright IS0 1996 _ Thi
33、s version supports the Ada IRDS binding conforming to: _- package Hardware-Dependencies is - Implementations are insulated from hardware dependencies by defining - objects and types which might vary from implementation to implementation in - the package Hardware-Dependencies. All known implementatio
34、n dependent - interfaces are isolated herein. - This package contains: - - 1. Values for constants set in clauses 8.1 .l, 8.1.2, and 8.1.3. 2. Specification of dependent types used in the IRDS Ada Binding. - 1. Values for constants set in clauses 8.1.1, 8.1.2, and 8.1.3. Name-Limit Variation-Limit :
35、 constant := implementation defined; : constant := implementation defined; - Subclause 8.1.2 Attribute Length Limits Text-Limit : constant := implementation defined; - Note that as access types are used, Text-Limit is not needed in - this language binding. Knowledge of this constant may be useful. 5
36、 ISO/IEC 10728: 1993/Amd.2: 1996(E) 0 ISO/IEC . - Subclause 8.1.3 Control Identifier Length Limits Session-Id-Limit Cursor-Id-Limit : constant := implementation defined; : constant := implementation defined; Implementation-Dictionary-Name-Length : constant := implementation defined; Key-Lengt h : co
37、nstant := implementation defined; - The Ada binding should not result in a loss of precision. Implementations - have flexibility in choosing hardware representation based on requirements. - Interfaces to SQL databases using IRDS should consider use of the Ada - Package SQL-Standard defined in ISO/IE
38、C 9075:1992. - The data types specified in this package represent the contract between the -types supported by IRDS and the types supported by the application program. - These types might vary based on hardware, system, or application - requirements. Ranges of these types should be explicitly declar
39、ed based on - an understanding of the ranges supported by the chosen implementation of - IRDS. - The SQL standard supports an implementation-defined selection of a - character type rather than simply mapping to Adas character type. - The definition of Character-Type is insulated in this package. Thi
40、s - permits implementations to use Latin-1 (IS0 8859/1), Unicode (IS0 - 10646), or other character set. type Character-Type is implementation defined; type National-Character-Type is implementation defined; type String-Type is array (implementation defined) of Character-Type; type National-String-Ty
41、pe is array (implementafion defined) of National-Character-Type; 6 0 ISO/IEC ISO/IEC 10728:1993/Amd.2:1996(E) - The SQL standard supports 2 implementation defined integer types: type Integer-Type is implementation defined; - Integer-Type must support range 0 9999999. See subclause 8.2.1. type Short-
42、Integer-Type is implementation defined; - The SQL standard supports 3 implementation defined float types. type Float-Type is implementation defined; type Long-Float-Type is implementation defined; type Real-Type is implementation defined; - The SQL standard supports 2 implementation defined fixed ty
43、pes: type Fixed-Type is implementation defined; type Decimal-Type is implementation defined; 7 ISOOEC 10728:1993/Amd.2:1996(E) 0 ISO/IEC D.4 IRDS Package Specification - Package IRDS - This version conforms to: _ ISOAEC 10728:1993(E) _ IRDS Services Interface - Copyright IS0 1996 _ with Calendar; wi
44、th Hardware-Dependencies; use Hardware-Dependencies; package IRDS is - This package contains: - - 1. Service Data Structures - From ISOAEC 10728, Clause 8 2. Service Formats and Descriptions - From ISOAEC 10728, Clause 9 - Subclause 8.1.1 Name Length Limits - Name-Limit and Variation-Limit are in pa
45、ckage Hardware-Dependencies. . - Subclause 8.1.2 Attribute Length Limits - Text-Limit is in package Hardware-Dependencies. - Note that as access types are used, Text-Limit is not needed in -this language binding. Knowledge of this constant may be useful. - Subclause 8.1.3 Control Identifier Length L
46、imits - Session-Id-Limit, Cursor-Id-Limit, - Implementation-Dictionary_Name_length, and Key-Length are in - package Hardware-Dependencies. 8 C ISOilEC ISO/IEC 10728: 1993/Amd.2:1996(E) - Subclause 8.1.4 Data Types type Data-Type is ( - See subclause 8.2.1 for: - Character-Type I RDS- Data-C haracter
47、, I RDS-Data-Character-Varying, - Text-Pointer-Type IRDS-Data-National-Character, - National-Character-Type I RDS-Data-National-Character-Varying, I R DS-Data-Real, - Real-Type I RDS-Data-Dou ble, - Long-Float-Type I R DS-Data-Float, - Float-Type I RDS-Data-Integer, - Integer-Type IRDS-Data_Small-ln
48、teger, - Short-Integer-Type IRDS-Data-Numeric, - Fixed-Type I RDS-Data-Decimal, - Decimal-Type I RDS-Data-Date, - Calendar.Time I RDS-Data-Time, - Calendar.Time I RDS-Data-Time-Stamp, - Calendar.Time IRDS-Data-Interval, - Interval-Type I RDS-Data-l RDS-Key); - IRDS-Key-Type - National-Text-Pointer-T
49、ype - Subclause 8.1.5 IRD Content Status Classes type IRD-Content-Status-Class-Type is ( I R D-Content-Status-Class-U ncontrolled, IRD-Content-Status-Class-Controlled, IRD-Content-Status-Class-Archived); - Subclause 8.1.6 Close Type Parameter type Close-Type is ( Request-IRDS-Commit, Request-IRDS-Roll back); 9 ISO/IEC 10728:1993/Amd.2: 1996(E) 0 ISODEC . - Subclause 8.2.1 Column data types - See Package Hardware-Dependencies for implementation defined - specifications of: Character-Type, Nation
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1