You are on page 1of 12

AS/NZS 4379.

2:1996
ISO/IEC 9579-2:1993

Australian/New Zealand Standard


This is a free 11 page sample. Access the full version at http://infostore.saiglobal.com.

Information technology—
Open Systems Interconnection—
Remote database access

Part 2: SQL specialization


AS/NZS 4379.2:1996

This Joint Australian/New Zealand Standard was prepared by Joint Technical


Committee IT/1, Information Systems — Interconnection. It was approved on behalf
of the Council of Standards Australia on 20 December 1995 and on behalf of the
Council of Standards New Zealand on 3 May 1996. It was published on 5 May 1996.
This is a free 11 page sample. Access the full version at http://infostore.saiglobal.com.

The following interests are represented on Committee IT/1:


Australian Bankers Association
Australian Bureau of Statistics
Australian Computer Society
Australian Computer Users Association
Australian Information Industry Association
Australian Vice Chancellors Committee
Department of Defence, Australia
Department of Industry, Science and Technology, Australia
Government Computing Service, New Zealand
Information Exchange Steering Committee, Australia
Institute of Information and Communication Technologies, CSIRO, Australia
Telstra, Australia
Telecom, New Zealand

Review of Standards. To keep abreast of progress in industry, Joint Australian/


New Zealand Standards are subject to periodic review and are kept up to date by the issue
of amendments or new editions as necessary. It is important therefore that Standards users
ensure that they are in possession of the latest edition, and any amendments thereto.
Full details of all Joint Standards and related publications will be found in the Standards
Australia and Standards New Zealand Catalogue of Publications; this information is
supplemented each month by the magazines ‘The Australian Standard’ and ‘Standards
New Zealand’, which subscribing members receive, and which give details of new
publications, new editions and amendments, and of withdrawn Standards.
Suggestions for improvements to Joint Standards, addressed to the head office of either
Standards Australia or Standards New Zealand, are welcomed. Notification of any
inaccuracy or ambiguity found in a Joint Australian/New Zealand Standard should be made
without delay in order that the matter may be investigated and appropriate action taken.
AS/NZS 4379.2:1996

Australian/New Zealand Standard


This is a free 11 page sample. Access the full version at http://infostore.saiglobal.com.

Information technology—
Open Systems Interconnection—
Remote database access

Part 2: SQL specialization

PUBLISHED JOINTLY BY:

STANDARDS AUSTRALIA
1 The Crescent,
Homebush NSW 2140 Australia
STANDARDS NEW ZEALAND
Level 10, Standards House,
155 The Terrace,
Wellington 6001 New Zealand
ISBN 0 7337 0327 5
ii

PREFACE

This Standard was prepared by the Joint Standards Australia/Standards New Zealand Committee IT/1
on Information Systems — Interconnection. It is identical with and has been reproduced from ISO/IEC
9579-2:1993, Information technology—Open Systems Interconnection —Remote Database Access,
Part 2: SQL specialization , including Technical Corrigendum 1:1995. This addition has been bound
at the rear of this Standard and text affected is marked by a marginal bar.
The objective of this Standard is to provide users of database systems with a specification for the
remote database access service in terms of the database server and the database processing services with
respect to the remote database access client when database language used is SQL.
This Standard is one of a series of Open Systems Interconnection (OSI) Standards which are currently
under development. Since OSI Standards are developmental, there may be some minor difficulties
This is a free 11 page sample. Access the full version at http://infostore.saiglobal.com.

encountered in their implementation. For this reason, Standards Australia will be providing, through
the OSI Help Desk, a service to coordinate and disseminate information concerning difficulties which
are identified in using this Standard.
This Standard is Part 2 of AS/NZS 4379 Information technology— Opens Systems Interconnection—
Remote database access, which is published in Parts as follows:
Part 1: Generic model, service and protocol
Part 2: SQL specialization (this Standard)
Users of this Standard are advised by Standards Australia and Standards New Zealand, under
arrangements made with ISO and IEC, as well as certain other Standards organizations, that the number
of this Standard is not reproduced on each page; its identity is shown only on the cover and title pages.
For the purpose of this Standard, the source text should be modified as follows:
(a) Terminology The words ‘this Australian/New Zealand Standard’ should replace the words ‘this
International Standard’ wherever they appear.
(b) Decimal marker Substitute a full point for a comma where it appears as a decimal marker.
(c) References The references to international Standards should be replaced by references, where
appropriate, to the following Australian or Joint Australian/New Zealand Standards:
Reference to International Standard Australian or Joint
or other publication Australian/New Zealand Standard
ISO/IEC AS
8824 Information technology— 3625 Information technology—
Open Systems Interconnection — Open Systems Interconnection—
Specification of Abstract Syntax Specification of Abstract Syntax
Notation One (ANS.1) Notation One (ASN.1)
8825 Information technology— 3626 Information technology—
Open Systems Interconnection — Open Systems Interconnection—
Specification of Basic Encoding Rules Specification of basic encoding rules
for Abstract Syntax Notation One for Abstract Syntax Notation One
(ANS.1) (ASN.1)
AS/NZS
9075 Information technology— Database 3968 Information technology—
Languages SQL Database languages —SQL
9579 Information technology— 4379 Information technology—
Open Systems Interconnection — Open Systems Interconnection —
Remote Database Access Remote database access
9579-1 Part 1: Generic 4379.1 Part 1: Generic
iii

CONTENTS
Page
Section 1: Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Normative references . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3.1 Terms defined in ISO/IEC 9075 (Database Language SQL) . . . . . . . . . . . . . . . 2
1.3.2 Terms defined in this part of ISO/IEC 9579 . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 Abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
This is a free 11 page sample. Access the full version at http://infostore.saiglobal.com.

1.5 Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Section 2: Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1 The RDA SQL Specialization Service model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.1 Mapping to the general model of the RDA Service . . . . . . . . . . . . . . . . . . . . . 5
2.1.2 Mapping to the Concepts of Database Language SQL . . . . . . . . . . . . . . . . . . . 5
Section 3: Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.1 The RDA SQL Specialization Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.1.1 RDA Dialogue Management services ... .. .. .. .. ... ............. ... 6
3.1.1.1 RDA Dialogue Initialization functional unit . . . . . . . . . . . . . . . . . . 6
3.1.1.1.1 R-Initialize Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.1.1.2 RDA Dialogue Termination functional unit . . . . . . . . . . . . . . . . . . 7
3.1.1.2.1 R-Terminate Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.1.2 RDA Transaction Management services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.1.2.1 RDA Transaction Management functional unit . . . . . . . . . . . . . . . . 7
3.1.2.1.1 R-Begin Transaction Service . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.1.2.1.2 R-Commit Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.1.2.1.3 R-Rollback Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
iv
Page
3.1.3 RDA Control services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.1.3.1 Cancel functional unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.1.3.1.1 R-Cancel Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.1.3.2 Status functional unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.1.3.2.1 R-Status Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.1.4 Resource Handling services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.1.4.1 Resource Handling functional unit . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.1.4.1.1 R-Open Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.1.4.1.2 R-Close Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.1.5 Database Language services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
This is a free 11 page sample. Access the full version at http://infostore.saiglobal.com.

3.1.5.1 Immediate Execution DBL functional unit . . . . . . . . . . . . . . . . . . 10


3.1.5.1.1 R-ExecuteDBL Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.1.5.2 Stored Execution DBL functional unit . . . . . . . . . . . . . . . . . . . . . 13
3.1.5.2.1 R-DefineDBL Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.1.5.2.2 R-InvokeDBL Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.1.5.2.3 R-DropDBL Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.1.6 SQL statements, arguments and results . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.1.6.1 sQLDBLStatement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.1.6.2 sQLDBLArgumentSpecification and sQLDBLResultSpecification . . 16
3.1.6.3 sQLDBLArgumentValues and sQLDBLResultValues . . . . . . . . . . . 19
3.1.6.4 Referencing to parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.2 Sequencing rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2.1 RDA client sequencing rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2.2 RDA server sequencing rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Section 4: Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.1 The RDA SQL Specialization server execution rules . . . . . . . . . . . . . . . . . . . . . . . . 22
4.1.1 RDA SQL Specialization dialogue-state model . . . . . . . . . . . . . . . . . . . . . . . 22
4.1.1.1 RDA dialogue entity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.1.1.2 Opened data resource entity . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.1.1.3 Defined DBL entity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.1.1.4 RDA operation entity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.1.2 General server execution rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.1.3 RDA Dialogue Management services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.1.3.1 RDA Dialogue Initialization functional unit . . . . . . . . . . . . . . . . . 23
4.1.3.1.1 R-Initialize Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.1.3.2 RDA Dialogue Termination functional unit . . . . . . . . . . . . . . . . . 24
4.1.3.2.1 R-Terminate Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.1.4 RDA Transaction Management services . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
v
Page
4.1.4.1 RDA Transaction Management functional unit . . . . . . . . . . . . . . . 24
4.1.4.1.1 R-BeginTransaction Service . . . . . . . . . . . . . . . . . . . . . . . . 24
4.1.4.1.2 R-Commit Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.1.4.1.3 R-Rollback Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.1.5 RDA Control services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.1.5.1 Cancel functional unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.1.5.1.1 R-Cancel Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.1.5.2 Status functional unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.1.5.2.1 R-Status Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.1.6 Resource Handling services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
This is a free 11 page sample. Access the full version at http://infostore.saiglobal.com.

4.1.6.1 Resource Handling functional unit . . . . . . . . . . . . . . . . . . . . . . . . 24


4.1.6.1.1 R-Open Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.1.6.1.2 R-Close Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.1.7 Database Language services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.1.7.1 Immediate Execution DBL functional unit . . . . . . . . . . . . . . . . . . 26
4.1.7.1.1 R-ExecuteDBL Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.1.7.2 Stored Execution DBL functional unit . . . . . . . . . . . . . . . . . . . . . 29
4.1.7.2.1 R-DefineDBL Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.1.7.2.2 R-InvokeDBL Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.1.7.2.3 R-DropDBL Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.2 Structure and encoding of RDA SQL APDUs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.2.1 Abstract Syntax Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.2.2 ASN.1 Module for RDA SQL Specialization ASE . . . . . . . . . . . . . . . . . . . . 35
4.3 Conformance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.3.1 Static conformance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.3.2 Dynamic conformance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Section 5: The RDA SQL application-contexts . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.1 The RDA SQL Basic application-context . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.1.1 RDA SQL Basic application-context object identifier . . . . . . . . . . . . . . . . . . 53
5.1.2 Additional constraints on the RDA SQL ASE datatypes . . . . . . . . . . . . . . . . 53
5.1.3 Additional sequencing rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.1.4 Additional conformance requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.1.4.1 Static conformance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.1.4.2 Dynamic conformance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.2 The RDA SQL TP application-context . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.2.1 RDA SQL TP application-context object identifier . . . . . . . . . . . . . . . . . . . . 54
5.2.2 Additional constraints on the RDA SQL ASE datatypes . . . . . . . . . . . . . . . . 54
5.2.3 Additional sequencing rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
vi
Page
5.2.4 Additional conformance requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.2.4.1 Static conformance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.2.4.2 Dynamic conformance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
This is a free 11 page sample. Access the full version at http://infostore.saiglobal.com.
vii
Page

Figures
1. Usage of Embedded SQL Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

Tables
1. R-Initialize SQL Specific Service Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2. R-Open SQL Specific Service Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3. R-Close SQL Specific Service Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4. R-Execute DBL SQL Specific Service Parameters . . . . . . . . . . . . . . . . . . . . . . . . . 11
5. R-DefineDBL SQL Specific Service Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
6. R-InvokeDBL SQL Specific Service Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
7. sQLDBLStatement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
8. sQLDBLArgumentSpecification and sQLDBLResultSpecification . . . . . . . . . . . . . . 16
This is a free 11 page sample. Access the full version at http://infostore.saiglobal.com.

9. sQLDBLArgumentValues and sQLDBLResult Values . . . . . . . . . . . . . . . . . . . . . . . 19


10. R-Execute DBL use of SQL argument and result parameters . . . . . . . . . . . . . . . . . . 27
11. R-DefineDBL use of SQL argument and result parameters . . . . . . . . . . . . . . . . . . . 30
12. R-InvokeDBL use of SQL argument and result parameters . . . . . . . . . . . . . . . . . . . 32

First publi shed as AS/NZS 4379.2:1996

 Copyri ght STANDARDS AUSTRALIA/STANDARDS NEW ZEALAND


Users of Standards are reminded that copyri ght subsists in all Standards Austr alia and Standards New Zealand publications and
soft ware. Except where the Copyright Act all ows and except where provided for below no publications or soft ware produced by
Standards Australi a or Standards New Zealand may be reproduced, stored in a retri eval system in any form or transmitt ed by any
means without pri or permission in wri ti ng fr om Standards Australi a or Standards New Zealand. Permission may be conditi onal on an
appropri ate royalty payment. Austr alian requests for permission and information on commercial software royalti es should be dir ected
to the head offi ce of Standards Austr alia. New Zealand requests should be directed to Standards New Zealand.
Up to 10 percent of the technical content pages of a Standard may be copied for use exclusively in-house by purchasers of the
Standard wit hout payment of a royalt y or advice to Standards Australi a or Standards New Zealand.
Inclusion of copyri ght materi al in computer software programs is also permit ted without royalt y payment provided such
programs are used exclusively in-house by the creators of the programs.
Care should be taken to ensure that materi al used is fr om the current edit ion of the Standard and that it is updated whenever the
Standard is amended or revised. The number and date of the Standard should therefore be clearly identif ied.
The use of material in pri nt form or in computer soft ware programs to be used commercially, with or without payment, or in
commercial contr acts is subject to the payment of a royalty. This policy may be vari ed by Standards Austr alia or Standards
New Zealand at any time.
This is a free 11 page sample. Access the full version at http://infostore.saiglobal.com.

viii
NOTES
1

AUSTRALIAN/NEW ZEALAND STANDARD

Information technology—Open Systems Interconnection—


Remote database access

Part 2:
SQL specialization

Section 1: Introduction

1.1 Scope
This is a free 11 page sample. Access the full version at http://infostore.saiglobal.com.

This part of ISO/IEC 9579 specifies the functionality of a database server within a distributed open systems
environment and specifies the communication service and protocol for accessing its capabilities. The
communications capabilities are positioned in the Application Layer of the Reference Model of Open Systems
Interconnection (OSI).

This part of ISO/IEC 9579 complements ISO/IEC 9579-1 (RDA Generic) in order that the two parts together:

a) define the capabilities of an RDA SQL database server supporting dialogues with clients.

b) define a model of dialogues between the RDA SQL database server and remote users.

c) define a model of a dialogue between an RDA client and an RDA server.

d) define an abstract service for the RDA SQL ASE, which models the communications facilities supporting
interaction between the RDA client and RDA server.

e) define the RDA SQL ASE protocol to support the RDA SQL Service.

f) define the characteristics of application-contexts which include the RDA SQL ASE.

g) define application-contexts that support remote database access using SQL:

1) RDA Basic application-context

2) RDA TP application-context

This part of ISO/IEC 9579 does not specify individual implementations or products, nor does it constrain the
implementation of entities and interfaces within a computer system.

This part of ISO/IEC 9579 does not define a programmatic interface. The RDA server includes a database
capability as defined in ISO/IEC 9075 (Database Language SQL).

NOTES
1 The RDA cli ent may contain an SQL appli cati on program but there is no requirement that the RDA cli ent shall be an appli cati on
program writ ten to the ISO/I EC 9075 (Database Language SQL) application program interface.

2 ISO/IEC 9075:1989, the former Internati onal Standard for Database Language SQL, has been replaced by ISO/IEC 9075:1992.
Both the current and former standards contain conformance rules, and the RDA SQL Speciali zati on all ows an RDA client to
specif y the desir ed level of conformance which it expects the RDA Server to support. Throughout this part of ISO/IEC 9579,
“SQL” refers to the language statements permit ted by the appropriate standard at the requested level of conformance.

COPYRIGHT
This is a free preview. Purchase the entire publication at the link below:

AS/NZS 4379.2:1996, Information technology -


Open Systems Interconnection - Remote database
access SQL specialization
This is a free 11 page sample. Access the full version at http://infostore.saiglobal.com.

Looking for additional Standards? Visit SAI Global Infostore


Subscribe to our Free Newsletters about Australian Standards® in Legislation; ISO, IEC, BSI and more
Do you need to Manage Standards Collections Online?
Learn about LexConnect, All Jurisdictions, Standards referenced in Australian legislation
Do you want to know when a Standard has changed?
Want to become an SAI Global Standards Sales Affiliate?

Learn about other SAI Global Services:

LOGICOM Military Parts and Supplier Database


Metals Infobase Database of Metal Grades, Standards and Manufacturers
Materials Infobase Database of Materials, Standards and Suppliers
Database of European Law, CELEX and Court Decisions

Need to speak with a Customer Service Representative - Contact Us

You might also like