32N1862a-SummVoting-N1822-CD_9075-2

ISO/IEC JTC 1/SC 32 N 1862a
Date: 2009-04-23
REPLACES: —
ISO/IEC JTC 1/SC 32
Data Management and Interchange
Secretariat: United States of America (ANSI)
Administered by Farance Inc. on behalf of ANSI
DOCUMENT TYPE
Summary of Voting/Table of Replies
TITLE
Summary of Voting on 32N1822 CD 9075-2 Information technology - Database
languages - SQL - Part 2: Foundation (SQL/Foundation)
SOURCE
SC32 Secretariat
PROJECT NUMBER
1.32.03.07.02.00
STATUS
WG3 is requested to resolve the comments. The document did obtain
substantial support.
REFERENCES
ACTION ID.
ACT
REQUESTED
ACTION
DUE DATE
Number of Pages
101
LANGUAGE USED
English
DISTRIBUTION
P & L Members
SC Chair
WG Conveners and Secretaries
Dr. Timothy Schoechle, Secretary, ISO/IEC JTC 1/SC 32
Farance Inc *, 3066 Sixth Street, Boulder, CO, United States of America
Telephone: +1 303-443-5490; E-mail: [email protected]
available from the JTC 1/SC 32 WebSite http://www.jtc1sc32.org/
*Farance Inc. administers the ISO/IEC JTC 1/SC 32 Secretariat on behalf of ANSI
ISO/IEC JTC 1/SC 32 N1862a
Summary of Voting on Document SC 32 N 1822
Title: Summary of Voting on 32N1822 CD 9075-2 Information technology Database languages - SQL - Part 2: Foundation (SQL/Foundation)
Project: 1.32.03.07.02.00
“P” Member
Australia
Belgium
Brazil
Canada
China
Czech Republic
Egypt
Finland
Germany
Japan
Korea, Republic of
Portugal
Sweden
United Kingdom
United States
Total “P”
“O” Member
Austria
Denmark
France
Italy
Kazakhstan
Netherlands, The
Norway
Russian Federation
Switzerland
Total “O”
Approval
Approval
with
Comments
Disapprov
al with
Comments
Abstention
with
Comments
1
1
1
1
1
1
1
1
6
0
1
1
4
Dr. Timothy Schoechle, Secretary, ISO/IEC JTC 1/SC 32
Farance Inc *, 3066 Sixth Street, Boulder, CO, United States of America
Telephone: +1 303-443-5490; E-mail: [email protected]
available from the JTC 1/SC 32 WebSite http://www.jtc1sc32.org/
*Farance Inc. administers the ISO/IEC JTC 1/SC 32 Secretariat on behalf of ANSI
0
COMMENTS:
Canada
No. See comments attached below:
Japan
No. See comments attached below:
United Kingdom
No. See comments attached below:
United States
No. See comments attached below:
National Body CAN Comments — 2009-04-08
SEQ
#
Cmnt
ID
See
Also
Addressed By
Severity
Reference
Description
CD SQL/Framework
P01-CAN-020
1-Major
Technical
P01-No specific
location
All Possible Problems and Editor’s Notes must be satisfactorily resolved
and all problems discovered during the course of the ballot resolution
process must be satisfactorily resolved.
Solution
P01-CAN-001
3-Major
Editorial
P01-Foreword
None provided with comment.
The Foreword refers to SQL parts that are NOT part of this (third)
edition. In particular the text reads:
ISO/IEC 9075 consists of the following parts, under the general
title Information technology — Database languages
— SQL:
— Part 1: Framework (SQL/Framework)
— Part 2: Foundation (SQL/Foundation)
— Part 3: Call-Level Interface (SQL/CLI)
— Part 4: Persistent Stored Modules (SQL/PSM)
— Part 9: Management of External Data (SQL/MED)
— Part 10: Object Language Bindings (SQL/OLB)
— Part 11: Information and Definition Schema (SQL/Schemata)
— Part 13: SQL Routines and Types Using the Java™
Programming Language (SQL/JRT)
— Part 14: XML-Related Specifications (SQL/XML)
We recommend that text be added to this part of the Foreword to
notify the reader that only Parts 1, 2, 4, 11 and 14 are being
revised as part of this edition. This change should also be made
to the Forewords to the other parts as well.
Solution
None provided with comment.
P01-CAN-002
3-Major
Editorial
P01-02.01, ISO
and IEC
standards
The following normative references are INCORRECT since they are NOT part
of this edition of ISO 9075:
[ISO9075-3] ISO/IEC 9075-3:2008, Information technology —
SEQ
#
Cmnt
ID
See
Also
Addressed By
Severity
Reference
Description
Database languages — SQL — Part 3: Call-Level Interface
(SQL/CLI)
[ISO9075-9] ISO/IEC 9075-9:2008, Information technology —
Database languages — SQL — Part 9: Management of External
Data (SQL/MED)
[ISO9075-10] ISO/IEC 9075-10:2008, Information technology —
Database languages — SQL — Part 10: Object Language Bindings
(SQL/OLB)
[ISO9075-13] ISO/IEC 9075-13:2008, Information technology —
Database languages — SQL — Part 13: SQL Routines & Types
Using the Java™ Programming Language (SQL/JRT)
Solution
P01-CAN-003
3-Major
Editorial
P01-04.02.04,
SQL-client
modules
None provided with comment.
This sub-clause makes a reference to SQL/CLI is which NOT part of this
edition of ISO 9075:
Exactly one SQL-client module is associated with an SQL-agent at
any time. However, in the case of either direct binding style or
SQL/CLI, this may a default SQL-client module whose existence is
not apparent to the user.
Solution
P01-CAN-004
3-Major
Editorial
P0104.06.02.02,
Collations
Remove the text “or SQL/CLI”.
This sub-clause contains the following text which references the “ISO
14561” standard that is NOT in the listed Normative References:
Every collation shall be defined by or derived from an
International Standard such as ISO/IEC 14561 or by a National
Standard, or shall be an implementation-defined collation.
First we should point out that the correct number of this standard is
“ISO/IEC 14651”!
There is a reference to ISO/IEC 14651 in this specification’s Bibliography
SEQ
#
Cmnt
ID
See
Also
Addressed By
Severity
Reference
Description
but since the reference is in normative text we recommend the reference
be moved to the Normative References. Note that the Reference in the
Foundation is in the Normative References.
Solution
P01-CAN-005
3-Major
Editorial
None provided with comment.
P01-04.08.01,
This sub-clause contains references to parts 3 and 10 of ISO 9075 that
Host Languages are not part of this edition:
[ISO9075-2], [ISO9075-3], and [ISO9075-10] define bindings
between an SQL-implementation and several programming
languages, mostly languages for which there is an International
Standard.
— The Call-Level Interface (specified in [ISO9075-3]). In this
case, the SQL-agent invokes one of a number of standard
routines, passing appropriate arguments, such as a character
string whose value is some SQL-statement.
— Embedded SQL (specified in [ISO9075-2] and [ISO9075-10]).
In this case, SQL-statements are coded into the application
program; an implementation-dependent mechanism is then used
to:
-
Generate from each SQL-statement an externally-invoked
procedure. These procedures are collected together into a
module, for subsequent use as an SQL-client module. In
Object Language Bindings, described in [ISO9075-10], the
roles of modules and procedures are served by classes and
their methods.
[ISO9075-10] specifies the actions of a method of an SQL-client
class when it is invoked from a host program.
Solution
P01-CAN-006
3-Major
P01-05.01,
Overview
None provided with comment.
This sub-clause refers to SQL parts that are NOT part of this (third)
SEQ
#
Cmnt
ID
See
Also
Addressed By
Severity
Editorial
Reference
Description
edition. In particular the following text contains these incorrect
references:
[ISO9075-3], Call-level interface, specifies another mechanism of
communication between an SQL-agent and an SQLimplementation.
[ISO9075-9], Management of External Data, specifies significant
additions to SQL that permit an SQL-agent to access data not
under the control of SQL-servers in the SQL-environment.
[ISO9075-10], Object Language Bindings, specifies the manner in
which SQL statements can be embedded into Java programs.
[ISO9075-13], Routines & Types Using the Java Programming
Language, specifies the ability to invoke static methods written in
the Java programming language as SQL-invoked routines and to
use classes defined in the Java programming language as SQL
structured types.
Solution
P01-CAN-007
3-Major
Editorial
P01-CAN-008
3-Major
Editorial
P01-CAN-009
3-Major
Editorial
None provided with comment.
This sub-clause describes a SQL part that is NOT part of this (third)
edition.
P01-05.04,
ISO/IEC 90753: Call Level
Interface
Solution
(SQL/CLI)1
Host Languages None provided with comment.
P01-05.06,
This sub-clause describes a SQL part that is NOT part of this (third)
ISO/IEC 9075edition.
9: Management
of External Data
Solution
(SQL/MED)
None provided with comment.
P01-05.07,
This sub-clause describes a SQL part that is NOT part of this (third)
ISO/IEC 9075edition.
10: Object
Language
Solution
Bindings
None
provided
with
comment.
(SQL/OLB)
SEQ
#
Cmnt
ID
P01-CAN-010
P01-CAN-011
P01-CAN-012
P01-CAN-013
P01-CAN-014
P01-CAN-015
See
Also
Addressed By
Severity
3-Major
Editorial
3-Major
Editorial
3-Major
Editorial
3-Major
Editorial
3-Major
Editorial
3-Major
Editorial
Reference
P01-05.09,
ISO/IEC 907513: Java
Routines &
Types Using the
Java
Programming
Language
(SQL/JRT)
P0106.03.05.01,
New and
modified
Clauses,
Subclauses, and
Annexes
P0106.03.05.02,
New and
modified tables
and figures
P0106.03.05.04,
New and
modified
Format items
P0106.03.05.05,
New and
modified
paragraphs and
rules
P01-07.01, SQL
conformance
summary
Description
This sub-clause describes a SQL part that is NOT part of this (third)
edition.
Solution
None provided with comment.
This sub-clause refers to the [ISO9075-3] part that is NOT part of this
(third) edition. All references to this discontinued part should be
removed from this sub-clause.
Solution
None provided with comment.
This sub-clause refers to the [ISO9075-3] part that is NOT part of this
(third) edition. All references to this discontinued part should be
removed from this sub-clause.
Solution
None provided with comment.
This sub-clause refers to the [ISO9075-3] part that is NOT part of this
(third) edition. All references to this discontinued part should be
removed from this sub-clause.
Solution
None provided with comment.
This sub-clause refers to the [ISO9075-3] part that is NOT part of this
(third) edition. All references to this discontinued part should be
removed from this sub-clause.
Solution
None provided with comment.
This sub-clause refers to the [ISO9075-3] part that is NOT part of this
(third) edition. All references to this discontinued part should be
removed from this sub-clause.
Solution
P01-CAN-016
4-Minor
Editorial
P01-08.04.04,
Basic object
support
None provided with comment.
The following text contains an extraneous “>” character that should be
removed:
— Feature S051, “Create ”>
SEQ
#
Cmnt
ID
See
Also
Addressed By
Severity
Reference
Description
Solution
P01-CAN-017
3-Major
Editorial
P01-08.05, SQL
Flagger
None provided with comment.
This sub-clause refers to the several parts that are NOT part of this
(third) edition.
— Invocations of SQL/CLI routines.
All references to discontinued parts should be removed from this subclause.
Solution
P01-CAN-018
3-Major
Editorial
P01-08.06.01,
Requirements
for SQL
applications
None provided with comment.
This sub-clause refers to the several parts that are NOT part of this
(third) edition. For example the following reference to SQL/CLI should
be removed:
NOTE 16 — Further details can be found in Annex F, “SQL feature taxonomy”, in
[ISO9075-2], Annex F, “SQL feature taxonomy”, in [ISO9075-3], Annex F, “SQL
feature taxonomy”, in [ISO9075-4], Annex F, “SQL feature taxonomy”, in
[ISO9075-9], Annex F, “SQL feature taxonomy”, in [ISO9075-10], Annex F, “SQL
feature taxonomy”, in [ISO9075-11], Annex F, “SQL feature taxonomy”, in
[ISO9075-13], and Annex F, “SQL feature taxonomy”, in [ISO9075-14].
All references to these discontinued parts should be removed from this
sub-clause.
Solution
P01-CAN-019
3-Major
Editorial
None provided with comment.
P01-Annex E,,
This Annex should contain the following incompatibility which is included
Incompatibilities the corresponding Annex in Foundation since Profile were defined in this
with ISO/IEC
part:
9075:2008
In ISO/IEC 9075-1:2008, SQL Profiles were defined for Database
Language SQL. In this edition of this part of ISO/IEC 9075, the
definition of SQL Profiles has been eliminated.
We believe that the incompatibility can also appear in Foundation.
Solution
None provided with comment.
CD SQL/Foundation
SEQ
#
Cmnt
ID
P02-CAN-007
See
Also
Addressed By
Severity
1-Major
Technical
Reference
P02-No specific
location
Description
All Possible Problems and Editor’s Notes must be satisfactorily resolved
and all problems discovered during the course of the ballot resolution
process must be satisfactorily resolved.
Solution
P02-CAN-001
3-Major
Editorial
P02-Foreword
None provided with comment.
The Foreword refers to SQL parts that are NOT part of this (third)
edition. In particular the text reads:
ISO/IEC 9075 consists of the following parts, under the general
title Information technology — Database languages
— SQL:
— Part 1: Framework (SQL/Framework)
— Part 2: Foundation (SQL/Foundation)
— Part 3: Call-Level Interface (SQL/CLI)
— Part 4: Persistent Stored Modules (SQL/PSM)
— Part 9: Management of External Data (SQL/MED)
— Part 10: Object Language Bindings (SQL/OLB)
— Part 11: Information and Definition Schema (SQL/Schemata)
— Part 13: SQL Routines and Types Using the Java™
Programming Language (SQL/JRT)
— Part 14: XML-Related Specifications (SQL/XML)
We recommend that text be added to this part of the Foreword to
notify the reader that only Parts 1, 2, 4, 11 and 14 are being
revised as part of this edition. This change should also be made
to the Forewords to the other parts as well.
Solution
P02-CAN-002
3-Major
Editorial
P02-03,
Definitions,
notations, and
conventions
None provided with comment.
The sub-clause contains the markup as defined in the Framework to
indicate which incremental and other parts modify this sub-clause:
This Clause is modified by Clause 3, “Definitions, notations, and
conventions”, in ISO/IEC 9075-3.
This Clause is modified by Clause 3, “Definitions, notations, and
conventions”, in ISO/IEC 9075-4.
This Clause is modified by Clause 3, “Definitions, notations, and
conventions”, in ISO/IEC 9075-10.
SEQ
#
Cmnt
ID
See
Also
Addressed By
Severity
Reference
Description
This Clause is modified by Clause 3, “Definitions, notations, and
conventions”, in ISO/IEC 9075-11.
This Clause is modified by Clause 3, “Definitions, notations, and
conventions”, in ISO/IEC 9075-13.
This Clause is modified by Clause 3, “Definitions, notations and
conventions”, in ISO/IEC 9075-14.
This Clause is modified by Clause 3, “Definitions, notations, and
conventions”, in ISO/IEC 9075-15.
We recommend that markup for parts 3 (SQL/CLI), 10 (SQL/OLB), and
13 ISQL/JRT) be removed since these parts are not part of his edition.
In general the only markup that should be shown should be for parts
that are being included in this edition of ISO 9075.
We also recommend that the markup for part 15 be removed since we
do not know what this pertains to.
We believe this would leave the following correct markup for this subclause:
This Clause is modified by Clause 3, “Definitions, notations, and
conventions”, in ISO/IEC 9075-4.
This Clause is modified by Clause 3, “Definitions, notations, and
conventions”, in ISO/IEC 9075-11.
This Clause is modified by Clause 3, “Definitions, notations and
conventions”, in ISO/IEC 9075-14.
If this ballot comment is accepted then this type of change should be
applied to ALL other sub-clauses in the Foundation.
Solution
P02-CAN-003
3-Major
Editorial
P02-04.01.02,
Naming of
predefined
types
None provided with comment.
The sub-clause contains markup to indicate which incremental and other
parts modify this sub-clause but this markup is NOT defined in the
Framework:
SQL defines predefined data types named by the following
<key word>s:
09 14
SEQ
#
Cmnt
ID
See
Also
Addressed By
Severity
Reference
Description
The leading text “09 14” should be defined in the Framework so that
readers know what it means.
In addition we recommend that this special markup for parts 3
(SQL/CLI), 10 (SQL/OLB), and 13 ISQL/JRT) be removed since these
parts are not part of his edition. In general the only markup that should
be shown should be for parts that are being included in this edition of
ISO 9075.
Solution
P02-CAN-004
2-Minor
Technical
None provided with comment.
P02-13.04, Calls The sub-clause contains a reference to SQL/CLI that can be removed this
to an
ISO 9075-3 is not part of this edition of ISO 9075:
<externallyinvoked
CLI_SPECIFIC_CONDITION_NO_SUBCLASS:
procedure>
constant SQLSTATE_TYPE :="HY000";
Solution
P02-CAN-005
1-Major
Technical
None provided with comment.
This Annex contains two defects that are not yet fixed:
P02-Annex G,
Defect Reports
not addressed
1) Subclause 10.4, “<routine invocation>”:
in this edition of
There is no definition of how to pass values of type BOOLEAN or
ISO/IEC 9075
of large object types as arguments to invocations of external
routines. More generally, the question of how to convert a value
of any SQL type to a value of an appropriate host language type
at the interface to an SQL-invoked routine is not addressed.
The rules in Subclause 13.4, “Calls to an <externally-invoked
procedure>”, are appropriate, but they are not referenced by the
rules of Subclause 10.4, “<routine invocation>”.
2) Subclause 21.1, “<embedded SQL host program>”:
SR 21)h)i)6) and SR 21)l)i)3)B)VI) both refer to the SQL data type
that corresponds to a given host language data type, as
determined by application of the rules in Subclause 13.6, “Data
type correspondences”. These two syntax rules are sometimes
ambiguous, because Subclause 13.6, “Data type correspondences”
SEQ
#
Cmnt
ID
See
Also
Addressed By
Severity
Reference
Description
does
not always give exactly one SQL data type for a given host
language type, as can be seen by inspection of the data type
correspondence tables given in that Subclause. For example,
Table 17, “Data type correspondences for C”, in which the C data
type “pointer to long” maps to both INTEGER and BOOLEAN.
These defects should be fixed before the specification advances to
FCD.
Solution
P02-CAN-006
3-Major
Editorial
P02Bibiliography
None provided with comment.
The following references are INCORRECT since they are NOT part of this
edition of ISO 9075:
[ISO9075-3] ISO/IEC 9075-3:2008, Information technology —
Database languages — SQL — Part 3: Call-Level Interface
(SQL/CLI)
[ISO9075-9] ISO/IEC 9075-9:2008, Information technology —
Database languages — SQL — Part 9: Management of External
Data (SQL/MED)
[ISO9075-10] ISO/IEC 9075-10:2008, Information technology —
Database languages — SQL — Part 10: Object Language Bindings
(SQL/OLB)
[ISO9075-13] ISO/IEC 9075-13:2008, Information technology —
Database languages — SQL — Part 13: SQL Routines & Types
Using the Java™ Programming Language (SQL/JRT)
Solution
None provided with comment.
CD SQL/PSM
P04-CAN-004
1-Major
Technical
P04-No specific
location
All Possible Problems and Editor’s Notes must be satisfactorily resolved
and all problems discovered during the course of the ballot resolution
process must be satisfactorily resolved.
Solution
SEQ
#
Cmnt
ID
P04-CAN-001
See
Also
Addressed By
Severity
3-Major
Editorial
Reference
P04-Foreword
Description
None provided with comment.
The Foreword refers to SQL parts that are NOT part of this (third)
edition. In particular the text reads:
ISO/IEC 9075 consists of the following parts, under the general
title Information technology — Database languages
— SQL:
— Part 1: Framework (SQL/Framework)
— Part 2: Foundation (SQL/Foundation)
— Part 3: Call-Level Interface (SQL/CLI)
— Part 4: Persistent Stored Modules (SQL/PSM)
— Part 9: Management of External Data (SQL/MED)
— Part 10: Object Language Bindings (SQL/OLB)
— Part 11: Information and Definition Schema (SQL/Schemata)
— Part 13: SQL Routines and Types Using the Java™
Programming Language (SQL/JRT)
— Part 14: XML-Related Specifications (SQL/XML)
We recommend that text be added to this part of the Foreword to
notify the reader that only Parts 1, 2, 4, 11 and 14 are being
revised as part of this edition. This change should also be made
to the Forewords to the other parts as well.
Solution
P04-CAN-002
4-Minor
Editorial
None provided with comment.
P04-18.07,
This sub-clause contains the following text with the word “clause”
ROUTINES view misspelled:
Replace the outermost WHERE cluase of the VIEW definition with:
Solution
P04-CAN-003
1-Major
Technical
None provided with comment.
This Annex contains one defect that are not yet fixed:
P04-Annex G,
Defect Reports
not addressed
1) Subclause 10.3, “<revoke statement>”
in this edition of
This subclause extends Subclause 12.7, “<revoke statement>”, in
ISO/IEC 9075
[ISO9075-2], but fails to make any extension to GR 19) of that
Subclause to take into account the fact that the <triggered
action> of a trigger might be an SQL-control statement that
SEQ
#
Cmnt
ID
See
Also
Addressed By
Severity
Reference
Description
includes (for example) a <scalar subquery> that references some
schema object. Thus, the Syntax and General Rules of an SQLprocedure statement that would cause destruction of such a
schema object do not necessarily take into account that some
trigger might cease to
be valid as a result of that destruction.
These defects should be fixed before the specification advances to
FCD.
Solution
None provided with comment.
CD SQL/Schemata
P11-CAN-003
1-Major
Technical
P11-No specific
location
All Possible Problems and Editor’s Notes must be satisfactorily resolved
and all problems discovered during the course of the ballot resolution
process must be satisfactorily resolved.
Solution
P11-CAN-001
3-Major
Editorial
P11-Foreword
None provided with comment.
The Foreword refers to SQL parts that are NOT part of this (third)
edition. In particular the text reads:
ISO/IEC 9075 consists of the following parts, under the general
title Information technology — Database languages
— SQL:
— Part 1: Framework (SQL/Framework)
— Part 2: Foundation (SQL/Foundation)
— Part 3: Call-Level Interface (SQL/CLI)
— Part 4: Persistent Stored Modules (SQL/PSM)
— Part 9: Management of External Data (SQL/MED)
— Part 10: Object Language Bindings (SQL/OLB)
— Part 11: Information and Definition Schema (SQL/Schemata)
— Part 13: SQL Routines and Types Using the Java™
Programming Language (SQL/JRT)
— Part 14: XML-Related Specifications (SQL/XML)
We recommend that text be added to this part of the Foreword to
notify the reader that only Parts 1, 2, 4, 11 and 14 are being
revised as part of this edition. This change should also be made
SEQ
#
Cmnt
ID
See
Also
Addressed By
Severity
Reference
Description
to the Forewords to the other parts as well.
Solution
P11-CAN-002
3-Major
Editorial
P02-03,
Definitions,
notations, and
conventions
None provided with comment.
The sub-clause contains the markup as defined in the Framework to
indicate which incremental and other parts modify this sub-clause:
This Clause is modified by
ISO/IEC 9075-4.
This Clause is modified by
ISO/IEC 9075-9.
This Clause is modified by
ISO/IEC 9075-13.
This Clause is modified by
ISO/IEC 9075-14.
This Clause is modified by
ISO/IEC 9075-15.
Clause 18, “Information Schema”, in
Clause 24, “Information Schema”, in
Clause 13, “Information Schema”, in
Clause 20, “Information Schema”, in
Clause 12, “Information Schema”, in
We recommend that markup for part 13 ISQL/JRT) be removed since
this part is not part of his edition. In general the only markup that
should be shown should be for parts that are being included in this
edition of ISO 9075.
We also recommend that the markup for part 15 be removed since we
do not know what this pertains to.
This change should be made throughout this part and other parts of this
Edition.
Solution
None provided with comment.
CD SQL/XML
P14-CAN-008
1-Major
Technical
P14-No specific
location
All Possible Problems and Editor’s Notes must be satisfactorily resolved
and all problems discovered during the course of the ballot resolution
process must be satisfactorily resolved.
Solution
P14-CAN-001
3-Major
Editorial
P14-Foreword
None provided with comment.
The Foreword refers to SQL parts that are NOT part of this (third)
edition. In particular the text reads:
SEQ
#
Cmnt
ID
See
Also
Addressed By
Severity
Reference
Description
ISO/IEC 9075 consists of the following parts, under the general
title Information technology — Database languages
— SQL:
— Part 1: Framework (SQL/Framework)
— Part 2: Foundation (SQL/Foundation)
— Part 3: Call-Level Interface (SQL/CLI)
— Part 4: Persistent Stored Modules (SQL/PSM)
— Part 9: Management of External Data (SQL/MED)
— Part 10: Object Language Bindings (SQL/OLB)
— Part 11: Information and Definition Schema (SQL/Schemata)
— Part 13: SQL Routines and Types Using the Java™
Programming Language (SQL/JRT)
— Part 14: XML-Related Specifications (SQL/XML)
We recommend that text be added to this part of the Foreword to
notify the reader that only Parts 1, 2, 4, 11 and 14 are being
revised as part of this edition. This change should also be made
to the Forewords to the other parts as well.
Solution
P14-CAN-002
3-Major
Editorial
P14-02.02,
Other
international
standards
None provided with comment.
The following entries are confusing and possibly incorrect:
[Namespaces] is used to reference either [Namespaces 1.0] or
[Namespaces 1.1] when there is no significant difference between
the two for the purposes of a given citation.
[Namespaces 1.0] (Recommendation) Namespaces in XML 1.0
(Second Edition), First published 14 January 1999, revised 16
August 2006
http://www.w3.org/TR/2006/REC-xml-names-20060816
[Namespaces 1.1] (Recommendation) Namespaces in XML 1.1
(Second Edition), First published 4 February
2004, revised 16 August 2006
http://www.w3.org/TR/2006/REC-xml-names-20060816
SEQ
#
Cmnt
ID
See
Also
Addressed By
Severity
Reference
Description
The titles of these references appear to be different but the link to
the W3C site is the same. The link for the second reference
should perhaps be:
http://www.w3.org/TR/2006/REC-xml-names11-20060816.
Solution
P14-CAN-004
2-Minor
Technical
P14-02.02,
Other
international
standards
See comment.
This specification refers to an out of date version of the XQuery Update
language:
[XQueryUpdate] (Candidate Recommendation) XQuery Update
Facility 1.0, W3C Working Draft, 14 March 2008
http://www.w3.org/TR/xquery-update-10/
Although this document is still in the W3C CR stage, we
recommend that that status be tracked during processing of this
part so that this reference can be updated in the referenced
material advances to Recommendation status.
Solution
P14-CAN-005
2-Minor
Technical
None provided with comment.
This sub-clause includes the following definition:
P14-03.01.03,
Definitions
provided in Part 3.1.3.8 URI: Uniform Resource Identifier as defined in
14
[RFC2396], as updated by [RFC2732].
There are no references provided for [RFC2396] and [RFC2732].
We believe they may have been replaced by the reference to
[RFC3986].
Solution
P14-CAN-006
3-Major
Editorial
P14-Annex D
None provided with comment.
This Annex includes the following text which we believe needs to be
corrected and/or replaced:
(Invalid use of NoAdditional: Please report this to the Editor)
SEQ
#
Cmnt
ID
See
Also
Addressed By
Severity
Reference
Description
Solution
P14-CAN-007
3-Major
Editorial
P14-Annex E
None provided with comment.
This Annex includes the following text which we believe needs to be
corrected and/or replaced:
(Invalid use of NoAdditional: Please report this to the Editor)
Solution
None provided with comment.
Ballot comments on SC32 N 1822: ISO/IEC CD 9075-2:201x(E)
SQL/Foundation
JPN-P02-001
3-Major
Editorial
4.2.1
Introduction
to character
strings
The first sentence of the 5th paragraph is not appropriate,
because NATIONAL CHARACTER specifies not only a character set
but also a data type.
Solution
Replace the 5th paragraph with:
JPN-P02-002
4-Minor
Editorial
4.2.6
Collations
The <key word>s NATIONAL CHARACTER are used to specify
the character string type with an implementation-defined
character set. Special syntax (N'string') is provided for
representing literals in that character set.
The phrase “The following supported collation names” is desirable
rather than “The supported collation names” in the first sentence
of the second paragraph, like subclause 4.2.7.
Solution
Replace the second paragraph with:
JPN-P02-003
4-Minor
Editorial
4.2.7
Character
sets
The following supported collation names are specified as part
of ISO/IEC 9075:
— SQL_CHARACTER is an implementation-defined collation. It
is applicable to the SQL_CHARACTER character repertoire.
— GRAPHIC_IRV is a collation in which the ordering is
determined by treating the code points defined by
[ISO646] as unsigned integers. It is applicable to the
GRAPHIC_IRV character repertoire.
…..
In the dashed list in the 2nd paragraph, only UTF8 is described as
the name of a character set. It is desirable to describe in the same
way as other character sets.
Solution
Page 20 of 127
ISO/IEC JTC1/SC32/WG3
Replace the 9th element in the dashed list in the 2nd paragraph
with:
JPN-P02-004
1-Major
4.14.6,
Technical Operations
involving
tables
…..
— UTF32 is a character set whose repertoire is UCS and whose
character encoding form is UTF32. It is implementationdefined whether the name of its default collation is
UCS_BASIC or UNICODE.
— UTF16 is a character set whose repertoire is UCS and whose
character encoding form is UTF16. It is implementationdefined whether the name of its default collation is
UCS_BASIC or UNICODE.
— UTF8 is the name of a character set whose repertoire is
UCS and whose character encoding form is UTF8. It is
implementation-defined whether the name of its default
collation is UCS_BASIC or UNICODE.
There are no description that the primary effects of a <delete
statement: positioned>, a <delete statement: searched>, an
<update statement: positioned> and an <update statement:
searched> on a system-versioned table are those only for current
system versions and don’t affect for any historical system
versions.
Solution
None provided with comment.
JPN-P02-005
4-Minor
Editorial
4.17.3 Table The 13th paragraph does not involve the dashed list item for the
constraints
case that MATCH SIMPLE is specified.
Solution
Replace the 13th paragraph with:
A referential constraint is satisfied if one of the following
conditions is true, depending on the <match type> specified in
the <referential constraint definition>:
Page 21 of 127
ISO/IEC JTC1/SC32/WG3
JPN-P02-006
3-Major
Editorial
4.18.4
Known
functional
dependencie
s in a
transition
table
— If no <match type> was specified or MATH SIMPLE was
specified then, for each row R1 of the referencing table,
either at least one of the values of the referencing columns in
R1 shall be a null value, or the value of each referencing
column in R1 shall be equal to the value of the corresponding
referenced column in some row of the referenced table.
— If MATCH FULL was specified then, …..
— If MATCH PARTIAL was specified then, …..
The third sentence of 4.18.4 is unnecessary, because it states the
prohibited case due to SR13) of 11.48 <trigger definition>, which
.reads:
13) If BEFORE is specified, then:
a) …..
b) Neither OLD TABLE nor NEW TABLE shall be specified.
Solution
JPN-P02-007
3-Major
Editorial
JPN-P02-008 JPN-P02-198 3-Major
Editorial
JPN-P02-009
Page 22 of 127
3-Major
4.18.7
Known
functional
dependencie
s in a <table
primary>
4.18.15
Known
functional
dependencie
s in a
<query
expression>,
Annex B
4.27.4,
None provided with comment.
The term “ordinality column” in the last item of the dashed list is
not defined anywhere in the standards..
Solution
None provided with comment.
The second sentence of the first paragraph should be added in
Annex B.
Solution
Insert the following item immediately after 16)a) of Annex B:
b) If RECURSIVE is specified, then the BPK-sets, BUCsets, and non-axiomatic known functional
dependencies are implementation-defined.
The indication specified in GR3)v) of subclause 11.51, quoted
ISO/IEC JTC1/SC32/WG3
Editorial
Routine
below, is not included in dashed list in 4.27.4.
descriptor,
11.59 <SQLv) 04 The routine descriptor includes an indication that the
invoked
routine is a schema-level routine.
routine>
The indication mentioned in this rule corresponds to
SCHEMA_LEVEL_ROUTINE column in ROUTINES base table
specified in Part11. Because the domain of the column is
YES_OR_NO, the phrase “an indication of whether …..” is
appropriate rather than “an indication that …”.
Solution
1. Add the following item to the dashed list in 4.27.4.
– An indication of whether the routine is a schemalevel routine.
2. Replace GR3)v) of 11.59 with:
v) 04 The routine descriptor includes an indication that of
whether the routine is a schema-level routine.
JPN-P02-010
4-Minor
Editorial
6.1, <data
type>
The terms “row data type” and “boolean data type” should be
“row type” and “boolean type” in SR45) and SR46), respectively,
because terms “row type” and “boolean type” are used elsewhere
in the standards.
Solution
Replace SR45) and SR46) with:
JPN-P02-011
Page 23 of 127
2-Minor
6.1, <data
Technical type>,
45) <row type> specifies the row data type.
46) BOOLEAN specifies the boolean data type.
The degree of a row type is initially set to 0(zero) in GR17) of
subclause 6.1 <data type>, which reads:
ISO/IEC JTC1/SC32/WG3
6.2 <field
definition>
17) For a <row type> RT, the degree of RT is initially set to 0
(zero). The General Rules of Subclause 6.2, “<field
definition>”, specify the degree of RT during the definition of
the fields of RT.
The degree is increased in GR2) of subclause 6.2, which reads:
2) The degree of the row type RT being defined in the simply
containing <row type> is increased by 1 (one).
Therefore, subclause 6.2 is for each field definition immediately
contained in the row type, like GR5)c) of subclause 11.3 <table
definition> for column definitions in a table definition, which
reads:
c) The column descriptors of every column of T, according to
the Syntax Rules and General Rules of Subclause 11.4,
“<column definition>”, applied to the <column definition>s
contained in TEL, in the order in which they were specified.
In addition, GR3)c) of subclause 6.2 should mention the degree
increased in GR2).
Solution
1. Replace GR18) of 6.1 with:
18) If the <data type> is a <row type>, then a row type
descriptor is created. The row type descriptor includes a field
descriptor for every <field definition> of the <row type>,
according to the Syntax Rules and General Rules of
Subclause 6.2, “<field definition>”, applied to the
<field definition>s, in the order in which they were
specified.
Page 24 of 127
ISO/IEC JTC1/SC32/WG3
2. Replace GR3)c) of 6.2 with:
c) The ordinal position of the field, which is equal to the
degree of in RT.
JPN-P02-012
3-Major
Editorial
6.4 <value
specification
> and
<target
specification
>,
Annex A
CR8) reads:
8) Without Feature B031, “Basic dynamic SQL”, conforming
SQL language shall not contain a <general value
specification> that contains a <dynamic parameter
specification>.
This rule leads to the undesirable conformance that an SQL
language may contain <target specification> that contains a
<dynamic parameter specification> without B031, because it does
not mention <dynamic parameter specification> contained in
<target specification>.
Solution
Replace CR8) of 6.4 with:
8) Without Feature B031, “Basic dynamic SQL”, conforming
SQL language shall not contain a <general value
specification> that contains a <dynamic parameter
specification>.
Replace 9)b)i) of Annex A with:
i) Without Feature B031, “Basic dynamic SQL”, conforming SQL
language shall not contain a <general value
specification> that contains a <dynamic parameter
specification>.
JPN-P02-013
Page 25 of 127
3-Major
Editorial
6.11, <case
expression>
There are no conformance rules for <character like predicate part
2>, <octet like predicate part 2>, <similar predicate part 2>,
ISO/IEC JTC1/SC32/WG3
<regex like predicate part 2>, <normalized predicate part 2>,|
<match predicate part 2>, <overlaps predicate part 2>, <distinct
predicate part 2>, <member predicate part 2>, <submultiset
predicate part 2>, <set predicate part 2>, <type predicate part
2> in <when operand>. It is desirable to require the Feature ID
for each kind of predicate. While a predicate is not allowed to be
specified without the corresponding Feature ID, a part of the
predicate is allowed without that Feature ID. CR1 of subclause
8.6, for example, prohibits to specify <similar predicate> without
Feature T141, “SIMILAR predicate”. It does not, however, prohibit
to specify <similar predicate part 2>.
Solution
JPN-P02-014
4-Minor
Editorial
6.12 <cast
specification
>
None provided with comment.
Undefined symbol “P” appears in GR19)d)ii).
Solution
Replace GR19)d) with:
d) If SD is interval and TD and SD have different interval
precisions, then let P and Q be the most and least
significant <primary datetime field>s of TD, respectively.
i) Let Y be the result of converting SV to a scalar in units Q
according to the natural rules for intervals as defined in
the Gregorian calendar (that is, there are 60 seconds in a
minute, 60 minutes in an hour, 24 hours in a day, and 12
months in a year).
ii) Normalize Y to conform to the <interval qualifier> “P TO
Q” of TD (again, observing the rules that there are 60
seconds in a minute, 60 minutes in an hour, 24 hours in a
day, and 12 months in a year). Whether to truncate or
round in the least significant field of the result is
implementation-defined. If this would result in loss of
Page 26 of 127
ISO/IEC JTC1/SC32/WG3
JPN-P02-015
4-Minor
Editorial
6.21
<method
reference>
precision of the leading datetime field of Y, then an
exception condition is raised: data exception — interval
field overflow.
iii) TV is the value of Y.
The term “declared type” should be used rather than “data type”
on the top of SR1) and SR4), because those are static types.
Solution
Replace SR1) and the lead text of SR4) with:
1) The data declared type of the <value expression primary>
VEP shall be a reference type and the scope included in its
reference type descriptor shall not be empty.
JPN-P02-016
3-Major
Editorial
6.25 <value
expression>
4) The data declared type of <method reference> is the data
type of the expression:
SR7)i) and j) read:
i) A <member predicate> simply containing a <row value
predicand> RVP and a <multiset value expression> MVP
such that the declared type of the only field F of RVP and the
element type of MVP have corresponding constituents such
that one constituent is datetime with time zone and the other
is datetime without time zone.
j) A <submultiset predicate> simply containing a <row value
predicand> RVP and a <multiset value expression> MVP
such that the declared type of the only field F of RVP and the
declared type of MVP have corresponding constituents such
that one constituent is datetime with time zone and the other
is datetime without time zone.
While the phrase “the element type of MVP” is used in SR7)i), “the
declared type of MVP” is used in SR7)j) as the corresponding
phrase. The same phrase should be used.
Page 27 of 127
ISO/IEC JTC1/SC32/WG3
Solution
JPN-P02-017
4-Minor
Editorial
6.29 <string
value
function>
None provided with comment.
1. A term “maximum variable length” is used in SR7)b), SR13)b),
SR18)a), and SR19)b)i). According to 4.2.1, however,
“maximum length” is the correct term instead of “maximum
variable length”.
2. A term “fixed” or “fixed length” is used for the length of a fixedlength character string in SR13)b), SR18)a), and SR19)b)i). The
term “length” means, however, the length of a fixed-length
string according to 4.2.1, while “fixed-length” is used for
characteristic of a character string type.
3. In SR7)b)i), the first <character value expression> may have a
fixed-length character type. So, “the maximum variable length
of the first <character value expression>” should be “the length
or maximum length”.
Solution
1. Replace SR7)b) with:
b) Case:
i) If the declared type of the first <character value
expression> is fixed-length character string or variablelength character string, then the declared type of the
<regular expression substring function> is variablelength character string with maximum length equal to
the length or maximum variable length of the first
<character value expression>.
ii) Otherwise, the declared type of the <regular
expression substring function> is a character large
object type with maximum length equal to the maximum
variable length of the first <character value
expression>.
2. Replace SR13)b) with:
Page 28 of 127
ISO/IEC JTC1/SC32/WG3
b) Case:
i) If the declared type of <character value expression> is
fixed-length character string or variable length character
string, then the declared type of the <trim function> is
variable-length character string with maximum length
equal to the fixed length or maximum variable length of
the <trim source>.
ii) Otherwise, the declared type of the <trim function> is a
character large object type with maximum length equal to
the maximum variable length of the <trim source>.
3. Replace SR18)a) with:
a) If DTBVE is fixed-length binary string or variable-length
binary string, then variable-length binary string type with
maximum length equal to the fixed length or maximum
variable length of DTBVE.
4. Replace SR19)b)i) with:
i) If the declared type of <binary value expression> is fixedlength binary string or variable-length binary string, then the
declared type of the <binary trim function> is variable-length
binary string type with maximum length equal to the fixed
length or maximum variable length of the <binary trim
source>.
JPN-P02-018
4-Minor
Editorial
6.29 <string
value
function>
The phrase of “the maximum length of the <binary value
expression>” in SR18)b) should be similar to the corresponding
phrase in SR18)a) which uses the symbol DTBVE.
Solution
b) Otherwise, binary large object string type with maximum
Page 29 of 127
ISO/IEC JTC1/SC32/WG3
JPN-P02-019
3-Major
Editorial
6.29 <string
value
function>,
Annex F
length equal to the maximum length of the <binary value
expression> DTBVE.
The feature name “SUBSTRING_REGEXP” for F844 mentioned in
CR11) is a little bit different from “SUBSTRING_REGEX function” in
Table 37 of Annex F. The feature name “TRANSLATE_REGEX” for
F845 mentioned in CR13) is a little bit different from
“TRANSLATE_REGEX function” in Table 37 of Annex F.
Solution
JPN-P02-020
4-Minor
Editorial
6.38
<multiset
value
expression>
None provided with comment.
Although the first operand of MULTISET EXCEPT is <multiset
value expression> and the second operand is <multiset term>,
the description of SR4) does not correspond with it.
Solution
Replace the lead text of SR4) with:
JPN-P02-021
2-Minor
7.1 <row
Technical value
constructor>
4) If ME is a <multiset value expression> that immediately
contains MULTISET EXCEPT, then let OP1 be the first
operand (the <multiset term value expression>) and let
OP2 be the second operand (the <multiset primary term>).
CR7), which is quoted below, mentions the <contextually typed
row value constructor> that is a <row subquery>.
7) Without Feature F641, “Row and table constructors”,
conforming SQL language shall not contain a <contextually
typed row value constructor> that is a <row subquery>.
The following BNF of <contextually typed row value constructor>
defined in 7.1, “<row value constructor>”, however, does not
contain <row subquery>, and therefore CR7) is unnecessary.
Otherwise, <row subquery> is missing in alternatives in the BNF.
<contextually typed row value constructor> ::=
Page 30 of 127
ISO/IEC JTC1/SC32/WG3
<common value expression>
| <boolean value expression>
| <contextually typed value specification>
| <left paren> <contextually typed value specification> <right
paren>
| <left paren> <contextually typed row value constructor
element> <comma> <contextually typed row value
constructor element list> <right paren>
| ROW <left paren> <contextually typed row value constructor
element list> <right paren>
Solution
JPN-P02-022
4-Minor
Editorial
7.6 <table
reference>
None provided with comment.
It is desirable to clarify the connection between “<table
reference>TR” and “immediately contained <table factor> or
<joined table>” in GR3)f).
Solution
Replace GR3)f) with:
JPN-P02-023
4-Minor
Editorial
7.12 <query
specification
>
f) The result of a <table reference> TR is the result of its
immediately contained <table factor> or <joined table>.
An unnecessary right parenthesis appears the very end of SR8)a).
Solution
Replace SR8)a) with:
a) If <all fields column name list> AFCNL is specified, then the
number of <column name>s simply contained in AFCNL shall
be n. Let AFCNi, 1 (one) ≤ i ≤ n, be these <column name>s
in order from left to right. AFR is equivalent to
VEP . F1
AS AFCN1, ... , VEP
Page 31 of 127
ISO/IEC JTC1/SC32/WG3
JPN-P02-024
4-Minor
Editorial
7.13 <query
expression>
. Fn AS
AFCNn)
The <query expression>at the end of the first sentence of SR3)e),
which is shown below, is the outmost query expression.
If the <with clause> is non-recursive, then for all i between 1
(one) and n, the scope of the <query name> WQN
immediately contained in the i-th <with list element> WLEi is
the <query expression> simply contained in every <with list
element> WLEk, where k ranges from i+1 to n, and the
<query expression body> immediately contained in <query
expression>.
For clearness, the symbol QE defined in SR1) should be used
rather than <query expression>.
Solution
Replace SR2)e) with:
JPN-P02-025
3-Major
Editorial
7.13 <query
expression>
e) If the <with clause> is non-recursive, then for all i between
1 (one) and n, the scope of the <query name> WQN
immediately contained in the i-th <with list element> WLEi is
the <query expression> simply contained in every <with list
element> WLEk, where k ranges from i+1 to n, and the
<query expression body> immediately contained in <query
expression> QE. ……
Which <query expression> is indicated by the <query
expression> in the lead text of SR3)g), which is shown below, is
ambiguous, because a <query expression> may be nested.
Solution
Replace the lead text of SR3)g) with:
g) For every <with list element> WLE, let WQE be the <query
Page 32 of 127
ISO/IEC JTC1/SC32/WG3
JPN-P02-026
3-Major
Editorial
7.13 <query
expression>
expression> specified by simply contained in WLE and
let WQT be the table defined by WQE.
SR3)i)iii)6) mentions <qualified join> that immediately contains a
<table factor>. Such a <table factor>, however, cannot be
immediately contained according to BNF of <qualified join>,
which reads:
<qualified join> ::=
{ <table reference> | <partitioned join table>
}
[ <join type> ] JOIN
{ <table reference> | <partitioned join table>
}
<join specification>
Solution
Replace SR3)i)iii)6) with:
JPN-P02-027
3-Major
Editorial
7.13 <query
expression>
6) WQEi shall not contain a <qualified join> QJ in which:
A) QJ immediately contains a <join type> that specifies
FULL and a <table reference> or <table
factor><partitioned join table> that contains a
<query name> referencing WQNj.
B) QJ immediately contains a <join type> that specifies
LEFT and a <table factor><partitioned join table>
following the <join type> that contains a <query name>
referencing WQNj.
C) QJ immediately contains a <join type> that specifies
RIGHT and a <table reference> preceding the <join
type> that contains a <query name> referencing WQNj.
SR3)i)iii)7) mentions <natural join> that immediately contains a
<table primary>. Such a <table primary>, however, cannot be
immediately contained according to BNF of <natural join>, which
reads:
<natural join> ::=
Page 33 of 127
ISO/IEC JTC1/SC32/WG3
{ <table reference> | <partitioned join table>
}
NATURAL [ <join type> ] JOIN
{ <table factor> | <partitioned join table> }
Solution
Replace SR3)i)iii)7) with:
JPN-P02-028
4-Minor
Editorial
7.13 <query
expression>
7) WQEi shall not contain a <natural join> QJ in which:
A) QJ immediately contains a <join type> that specifies
FULL and a <table reference> or <table
primary><partitioned join table> that contains a
<query name> referencing WQNj.
B) QJ immediately contains a <join type> that specifies
LEFT and a <table primary><partitioned join
table> following the <join type> that contains a <query
name> referencing WQNj.
C) QJ immediately contains a <join type> that specifies
RIGHT and a <table reference> preceding the <join
type> that contains a <query name> referencing WQNj.
The phrase “applying Subclause 9.3” in SR19)b) should be
“applying the Syntax Rules of Subclause 9.3”
Solution
Replace SR19)b) with:
JPN-P02-029
4-Minor
Editorial
7.13 <query
expression>
b) The declared type of the i-th column of TR is determined by
applying the Syntax Rules of Subclause 9.3, “Result of
data type combinations”, to the declared types of the i-th
column of T1 and the i-th column of T2.
The symbol QE should be used instead of “<query expression>”
immediately after “then” in SR28)c) for clearness.
Solution
Page 34 of 127
ISO/IEC JTC1/SC32/WG3
Replace SR28)c) with:
JPN-P02-030 JPN-P02-200 4-Minor
Editorial
c) If QE is a <query expression body> that is a <query term>
that is a <query primary> that is a <simple table> that is a
<query specification>, then the <query expression> QE
is said to be a simple table query.
7.13 <query The following incomplete feature names appear in Conformance
expression>, Rules of 7.13 and in the corresponding items in Annex A.
Annex A
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
T121, “ (excluding ” appears in CR1).
T122, “ (excluding ” appears in CR2).
F302, “ ” appears in CR7).
F304, “ ” appears in CR10).
F850, “Top-level ” appears in CR11).
F851, “ in subqueries” appears in CR12)
F855, “Nested ” appears in CR13).
F856, “Nested” CR14).
F857, “Top-level ” appears in CR15).
F858, “ in subqueries” appears in CR16).
F860, “dynamic ” appears in CR17).
F861, “Top-level ” appears in CR18).
F862, “ in subqueries” appears in CR19).
F863, “Nested ” appears in CR20).
F865, “dynamic ” appears in CR21).
Solution
None provided with comment.
JPN-P02-031
3-Major
Editorial
7.14 <search There is no conformance rule for <search or cycle clause>.
or cycle
clause>
Solution
JPN-P02-032
4-Minor
Editorial
8.5 <like
predicate>
Page 35 of 127
None provided with comment.
“i-th substring specifier of PCV” is correct instead of “i-th substring
of PCV” in GR3)d)ii)2), 3), and 4), because the string PCV is a
ISO/IEC JTC1/SC32/WG3
sequence of substring specifiers according to GR3)c).(See
GR4)f)ii)2), 3), and 4).)
Solution
Replace GR3)d)ii)2), 3), and 4) with:
JPN-P02-033
2-Minor
8.5 <like
Technical predicate>
2) If the i-th substring specifier of PCV is an arbitrary
character specifier, then the i-th substring of MCV is any
single character.
3) If the i-th substring specifier of PCV is an arbitrary string
specifier, then the i-th substring of MCV is any sequence of 0
(zero) or more characters.
4) If the i-th substring specifier of PCV is a single character
specifier, then the i-th substring of MCV contains exactly 1
(one) character that is equal to the character represented by
the single character specifier according to the collation of the
<like predicate>.
GR4)f)i) reads:
i) If the lengths of both MBV and PBV are 0 (zero), then
…..
The condition following “If” is incomplete, because the description
of the condition allows that the declared type of MBV or PBV is the
character string with fixed length. The condition that lengths of
declared types of MBV and PBV are variable is necessary to be
imposed like GR3)d)i).
Solution
Replace the lead text of GR4)f)i) with:
i) If MBV and PBV are character strings whose lengths
are variable and the lengths of both MBV and PBV are 0
(zero), then
Page 36 of 127
ISO/IEC JTC1/SC32/WG3
JPN-P02-034 JPN-P02-039 2-Minor
8.16
Technical <member
predicate>
While syntax rules of subcluse 9.11, “Multiset element grouping
operations” are applied for a multiset operand in SR4) of
subclause 8.17 <submultiset predicate>and in SR2) of subclause
8.18 <set predicate>, there is no rule for that application in
subclause 8.16.
Solution
1. Add a new Syntax Rule immediately after SR4):
4.1) MVE is a multiset operand of a multiset element
grouping operation. The Syntax Rules of Subclause
9.11, “Multiset element grouping operations”, apply.
2. Replace NOTE235 in Conformance Rules with:
JPN-P02-035
3-Major
Editorial
NOTE 235 — The Conformance Rules of Subclause 9.9,
“Equality operations”, also apply. The Conformance Rules of
Subclause 9.11, “Multiset element grouping
operations”, also apply.
8.17
The same symbol is used for two indices that have different
<submultiset domains of 1 ≤ i ≤ M and 1 ≤ i ≤ N. It is necessary to use
predicate>
different symbols, like GR3)c)ii).
Solution
Replace GR3)c)iii) with:
iii) If there exist an enumeration CEi for 1 (one) ≤ i ≤ M of
the elements of CV and an enumeration MEij for 1 (one) ≤ ij
≤ N of the elements of MV such that for all i, 1 (one) ≤ i ≤
M, CEi = MEi is either True or Unknown, then the
<submultiset predicate> is Unknown.
Page 37 of 127
ISO/IEC JTC1/SC32/WG3
JPN-P02-036
4-Minor
Editorial
9.3 Result of Although the subject “names” of SR3)h)i) is plural, the verb is “is”.
data type
combinations
Solution
Replace SR3)h)i) with:
JPN-P02-037
3-Major
Editorial
i) If the names of fields in the same ordinal position as FDi in
every row type in DTS ishave the same name F, then the
<field name> in FDi is F.
Access rules and general rules are missing in the subclause..
9.5 Type
precedence
list
Solution
determinatio
n
Add Access Rules and General Rules:
Access Rules
None
General Rules
None
9.9 Equality
operations,
9.10
Grouping
operations,
9.11 Multiset
element
grouping
operations,
9.12
Ordering
operations
JPN-P02-039 JPN-P02-034 2-Minor
9.11 Multiset
Technical element
grouping
JPN-P02-038
Page 38 of 127
3-Major
Editorial
Although subclause 9.13, “Collation determination” has a
parameter,
an argument is not specified in application of Subclause 9.13,
“Collation determination” in SR4) of subclause 9.9, in SR4) of
subclause 9.10, in SR4) of subclause 9.11, and in SR4) of
subclause 9.12.
Solution
None provided with comment.
While a <multiset value expression> simply contained in a
<member predicate> is included in the list of multiset operands of
a multiset element grouping operation specified in SR2), a
ISO/IEC JTC1/SC32/WG3
operations
<member predicate> is not included in the list of multiset element
grouping operations in SR1).
Solution
Add a new list item immediately after SR1)e):
JPN-P02-040
3-Major
Editorial
9.14
Execution of
arrayreturning
functions
e.1) A <member predicate>.
GR8) reads:
8) 13 If the call type data item has a value of –1 (indicating
“open call”), then P is executed with a list of EN parameters
PDi whose parameter names are PNi and whose values are
set as follows:
…..
Although undefined symbol PNi for parameter names appears in
the rule, a parameter name is not significant, while values passed
to an executed program is significant. And PNi is not referred in
subsequent rules.
Solution
JPN-P02-041
4-Minor
Editorial
9.14
Execution of
arrayreturning
functions
None provided with comment.
The term “data type” should be used rather than “<data type>” in
GR10)a)i) and GR11)a) like GR8)b), because any syntax element
is not referred in those rules.
Solution
Replace GR10)a)i) and GR11)a) with:
10) …
a) …
i) For i varying from 1 (one) to EN, the <data type> DTi
of PDi is the data type listed in the host data type
Page 39 of 127
ISO/IEC JTC1/SC32/WG3
column of the row in the data type correspondences
table whose value in the SQL data type column
corresponds to the data type of ESPi.
…..
JPN-P02-042
4-Minor
Editorial
10.4
<routine
invocation>
11) …
a) For i varying from 1 (one) to EN, the <data type> DTi of
PDi is the data type listed in the host data type column of
the row in the data type correspondences table whose
value in the SQL data type column corresponds to the
data type of ESPi.
The phrase of “The subject routine SR of XAL” in SR8)c)i)2)is
incorrect, because XAL is an argument list and the concept of a
subject routine defined for a routine invocation.
Solution
Replace SR8)c)i)2) with:
JPN-P02-043
Page 40 of 127
3-Major
Editorial
10.4
<routine
invocation>
2) The subject routine SR of XAL RI is the SQL-invoked
routine SIRCR1 that is a candidate routine of RI such that
there is no other candidate routine R2 for which the
<schema name> of the schema that includes R2 precedes in
DP the <schema name> of the schema that includes SIRCR1.
In GR3), which is quoted below, the declared type of a SQL parameter is passed
to TARGET parameter in an application of Syntax Rules of 9.2.
3) Let N and PN be the number of values Vi in DAL. Let Ti be
the declared type of the i-th SQL parameter Pi of R. For i
ranging from 1 (one) to PN,
Case:
a) 14 If Pi is an input SQL parameter or both an input SQL
parameter and an output SQL parameter, then let CPVi be
the result an application of the General Rules of Subclause
9.2, “Store assignment”, with Vi as VALUE and Ti as
TARGET.
b) …..
ISO/IEC JTC1/SC32/WG3
Subclause 9.2 requires, however, that TARGET parameter is a
value, not a data type, because the declared type of TARGET
parameter is referred in SR1), which reads:
1) Let T be the TARGET and let V be the VALUE in an
application of this Subclause. Let TD and SD be the declared
types of T and V, respectively.
In addition, although GR3)a) of subclause 10.4 refers the result of
an application of subclause 9.2, Subclause Signature of 9.2 has no
“returns”. There are also the similar issues in GR9)a)iii).
Solution
JPN-P02-044
2-Minor
10.4
Technical <routine
invocation>
None provided with comment.
In GR3), the value of SQL parameter Pi of R is set applying the
General Rules of Subclause 9.2, “Store assignment”. In GR7),
quoted below, however, the value of SQL parameter Pi is set
again.
7) If R is an SQL routine, then
Case:
a) If R is a null-call function and if any of CPVi is the null
value, then let RV be the null value.
b) Otherwise:
i) For i ranging from 1 (one) to PN, set the value of Pi to
CPVi.
…..
Solution
JPN-P02-045
2-Minor
10.4
Technical <routine
invocation>
Page 41 of 127
None provided with comment.
GR10)e), which quoted below, specifies that rows which have
already fetched during a routine execution are excepted from a
with-return cursor.
ISO/IEC JTC1/SC32/WG3
e) For each i, 1 (one) ≤ i ≤ RTN,
Case:
i) If FRCi is a scrollable cursor, then the initial cursor
position of RSi is the current cursor position of FRCi.
ii) Otherwise,
Case:
1) If the application of Subclause 15.3, “Determination
of the current row of a cursor”, with FRCi as CURSOR
and NEXT as FETCH ORIENTATION, would position the
cursor on or before some row in RSi, then let RN be
the ordinal position of that row in RSi.
2) Otherwise, let RN be one greater than the number of
rows in RSi.
The first RN rows are deleted from RSi and the initial
cursor position of RSi is before the first row.
There are problems in GR10)e)ii).
1. As the result the application of 15.3, the cursor position
proceeds to the next row in RSi. Because RN is the number that
denotes that position, the deletion of first RN rows excepts that
next row which has not been fetched yet from RSi.
2. In case of GR10)e)ii)2), RN exceeds the number of rows in RSi
by 1(one). So the first RN rows include the row that is not
present and the deletion from RSi in the last sentence of
GR10)e)ii) does not work.
Solution
JPN-P02-046
4-Minor
Editorial
10.6
<specific
routine
designator>
None provided with comment.
The phrase “method of the type identified by <schema-resolved
user-defined type name>” appears in SR3)c)i)3)A), B), and C).
The term “the user-defined type” used in SR3)c)ii)3) is more
suitable rather than “the type” in this phrase.
Solution
Page 42 of 127
ISO/IEC JTC1/SC32/WG3
Replace SR3)c)i)3)A), B), and C) with:
JPN-P02-047
Page 43 of 127
4-Minor
Editorial
10.6
<specific
routine
designator>
A) If STATIC is specified, then there shall be exactly one static
SQL-invoked method of the user-defined type identified by
<schema-resolved user-defined type name> whose <method
name> is METH, such that for all i the Syntax Rules of
Subclause 9.18, “Data type identity”, when applied with the
declared type of its i-th SQL parameter and the i-th <data
type> in the <data type list> of MN, are satisfied. The
<specific routine designator> identifies that static SQLinvoked method.
B) If CONSTRUCTOR is specified, then there shall be exactly
one SQL-invoked constructor method of the user-defined
type identified by <schema-resolved user-defined type
name> whose <method name> is METH, such that for all i
the Syntax Rules of Subclause 9.18, “Data type identity”,
when applied with the declared type of its i-th SQL parameter
in the unaugmented <SQL parameter declaration list> and
the i-th <data type> in the <data type list> of MN, are
satisfied. The <specific routine designator> identifies that
SQLinvoked
constructor method.
C) Otherwise, there shall be exactly one instance SQL-invoked
method of the user-defined type identified by <schemaresolved user-defined type name> whose <method name> is
METH, such that for all i the Syntax Rules of Subclause 9.18,
“Data type identity”, when applied with the declared type of
its i-th SQL parameter in the unaugmented <SQL parameter
declaration list> and the i-th <data type> in the <data type
list> of MN, are satisfied. The <specific routine designator>
identifies that instance SQL-invoked method.
Because the keyword FUNCTION is for an SQL-invoked regular
function, in SR3)c)ii)1) the term “SQL-invoked regular function”
that is used in SR3)c)i)1) should be used rather than “SQLinvoked function”.
ISO/IEC JTC1/SC32/WG3
Solution
Replace SR3)c)ii)1) with:
JPN-P02-048
4-Minor
Editorial
10.6
<specific
routine
designator>
1) If <routine type> specifies FUNCTION, then there shall be
exactly one SQL-invoked regular function in the schema
identified by SCN whose <schema qualified routine name> is
RN. The <specific routine designator> identifies that SQLinvoked function.
In SR4), while in case that FUNCTION, PROCEDURE, STATIC
METHOD, or ROUTINE is specified, “SQL-invoked routine” is
followed by “that is identified”, in case of CONSTRUCTOR
METHOD and INSTANCE METHOD it is not followed.
Solution
Replace SR4) with:
JPN-P02-049
Page 44 of 127
4-Minor
Editorial
10.9
<aggregate
function>
4) If FUNCTION is specified, then the SQL-invoked routine that
is identified shall be an SQL-invoked regular function. If
PROCEDURE is specified, then the SQL-invoked routine that is
identified shall be an SQL-invoked procedure. If STATIC
METHOD is specified, then the SQL-invoked routine that is
identified shall be a static SQL-invoked method. If
CONSTRUCTOR METHOD that is identified is specified,
then the SQL-invoked routine shall be an SQL-invoked
constructor method. If INSTANCE METHOD that is
identified is specified or implicit, then the SQL-invoked
routine shall be an instance SQL-invoked method. If
ROUTINE is specified, then the SQL-invoked routine that is
identified is either an SQL-invoked function or an SQLinvoked procedure.
CR8) reads:
8) Without Feature F441, “Extended set function support”,
conforming SQL language shall not contain a column
reference contained in an <aggregate function> that contains
a reference to a column derived from a <value expression>
ISO/IEC JTC1/SC32/WG3
that generally contains an <aggregate function> SFS2
without an intervening <routine invocation>.
The first occurrence of <aggregate function>in this rule should be
“<aggregate function> SFS1” in order to distinguish clearly the
first occurrence from the second.
Solution
Replace CR8) with:
JPN-P02-050
3-Major
Editorial
10.9
<aggregate
function>,
Annex A
8) Without Feature F441, “Extended set function support”,
conforming SQL language shall not contain a column
reference contained in an <aggregate function> SFS1 that
contains a reference to a column derived from a <value
expression> that generally contains an <aggregate function>
SFS2 without an intervening <routine invocation>.
CR2) should be added to Annex A 108) Specifications for Feature
F801, “Full set function”:
Solution
Add the following item to 108) of Annex A:
JPN-P02-051
Page 45 of 127
4-Minor
Editorial
108) Specifications for Feature F801, “Full set function”:
a) …..
b) Subclause 10.9, “<aggregate function>”:
i) Without Feature F561, “Full value expressions”,
or Feature F801, “Full set function”, conforming
SQL language shall not contain a <general set
function> that immediately contains DISTINCT
and contains a <value expression> that is not a
column reference.
10.11
The phrase “the schema identified by the <table name>” in GR2)
Determinatio is not appropriate, because a schema name identifies a schema
ISO/IEC JTC1/SC32/WG3
n of view
privileges
name, not a table name.
Solution
Replace GR2) with:
JPN-P02-052
4-Minor
Editorial
2) Let A be the <authorization identifier> that owns the
schema identified by the <schema name> of the <table
name> of V.
10.12
The phrase “one-to-one with” in GR4)a)ii)1) of subclause 10.12
Determinatio should be “one-to-one with respect to” according to the definition
n of view
in SR21)c) of subclause 7.12. The same issue is also in GR4)a)ii)1)
component
of subclause 10.12, GR4) in subclause 20.20 and GR4) in
privileges,
subclause 20.21.
20.20
<dynamic
Solution
delete
statement:
1. GR4)a)ii)1) of 10.12 with:
positioned>,
20.21
1) If, for every leaf underlying table LUT of VCi such that VCi is
<dynamic
one-to-one with respect to LUT, the applicable privileges for
update
A include DELETE on LUT, then a view component table
statement:
privilege descriptor is created whose identified object is VCi,
positioned>
action is DELETE, grantor is the special grantor value
“_SYSTEM”, and the grantee is A. The privilege is grantable if
and only if the applicable privileges for A includes grantable
DELETE privilege on each such LUT. …..
2. GR4) of 20.20 with:
4) Let T be the simply underlying table of CR. Let LUT be the
leaf underlying table of T such that T is one-to-one with
respect to LUT.
3. GR4) of 20.21 with:
Page 46 of 127
ISO/IEC JTC1/SC32/WG3
JPN-P02-053
3-Major
Editorial
11.2 <drop
schema
statement>,
Annex A
4) Let T be the simply underlying table of CR. Let LUT be the
leaf underlying table of T such that T is one-to-one with
respect to LUT.
While there is a conformance rule for F032, “CASCADE drop
behavior” in 11.30 <drop table statement> and in a few
subclauses, there is not the rule in 11.2 <drop schema
statement>, in which the BNF of <drop behavior> is defined.
Solution
1. Add the following CR to Conformance Rules of 11.2:
1.1)
Without Feature F032, “CASCADE drop
behavior”, conforming SQL language shall not
contain a <drop behavior> that contains CASCADE.
2. Insert the following item immediately before Annex A 31)a):
a.0) Subclause 11.2, “<drop schema statement>”:
i) Without Feature F032, “CASCADE drop behavior”,
conforming SQL language shall not contain a <drop
behavior> that contains CASCADE.
JPN-P02-054
4-Minor
Editorial
11.3 <table
definition>
The column name LCNj appears twice in SR7)b)iv)6)B). The
second occurrence needs to be replaced with LNCj, which denotes
a null constraint. In SR7)b)iv)7), there is the same issue.
Solution
Replace SR7)b)iv)6) and 7) with:
6) If INCLUDING GENERATED is specified, then let GCDj, 1
(one) ≤ j ≤ D, be the column descriptors included in the
descriptor of LT, with j being the ordinal position of the
column described by GCDj. For each GCDj that indicates that
the column it describes is a generated column:
Page 47 of 127
ISO/IEC JTC1/SC32/WG3
JPN-P02-055
3-Major
Editorial
11.5
<default
clause>
A) Let GEj be the <generation expression> included in
GCDj, where the <table name> contained in any
contained <column reference> is replaced by TN.
B) The value of CDj is replaced by
LCNj LDTj GENERATED ALWAYS AS GEj LCNj
LNCj
7) If INCLUDING DEFAULTS is specified, then let DCDm, 1
(one) ≤ m ≤ D, be the column descriptors included in the
descriptor of LT, with m being the ordinal position of the
column described by DCDm.
For each DCDm, if DCDm includes a <default option> DOm,
then the value of CDm is replaced by
LCNm LDTm DEFAULT DOm LCNm LNCm
The term “data descriptor” used in GR3)b) and c) is not defined.
Solution
Replace GR3)b) and c) with:
JPN-P02-056
b) If the data descriptor for the site includes a <default
option>, then S is set to the value specified by that <default
option>.
c) If the data descriptor for the site includes a <domain
name> that identifies a domain descriptor that includes a
<default option>, then S is set to the value specified by that
<default option>.
1-Major
P02-11.11,
An <add column definition> to a system-versioned table is
Technical <add column prohibited by the following Syntax Rules in subclause 11.11:
definition>,
P02-11.12,
<alter
column
definition>,
P02-11.23,
<drop
column
Page 48 of 127
1) Let T be the table identified by the <table name>
immediately contained in the containing <alter table
statement>.
2) T shall not be a referenceable table or a system-versioned
table.
Generally, some columns may be necessarily added to a base
ISO/IEC JTC1/SC32/WG3
definition>
table due to changes of a user application. A system-versioned
table is not usable for actual user applications because of the
above-mentioned restriction.
There is the same problem in <alter column definition> and in
<drop column definition>.
Solution
JPN-P02-057
JPN-P02-058
4-Minor
Editorial
11.19 <alter
column data
type
clause>,
11.20 <alter
identity
column
specification
>
None provided with comment.
Feature F381, “Extended scheme manipulation” is required for
specifying <alter column definition>. While there are the
conformance rules about Feature F381 in 11.13 <set column
default clause>, 11.14 <drop column default clause>, 11.17 <add
column scope clause>, 11.18 <drop column scope clause>, there
is not that rule in subclause 11.26, there are no conformance
rules in subclause 11.19 and 11.20.
Solution
None provided with comment.
1-Major
11.19 <alter The change of the column data type that reduces the size of the
Technical column data data type is prohibited. As for an interval type, however, no
type clause> restriction on the interval precision is specified in SR13)h) and i).
The rules need to prohibit, for example, the change from
INTERVAL YEAR TO MONTH type to INTERVAL MONTH type.
Solution
JPN-P02-059
4-Minor
Editorial
11.20 <alter
identity
column
specification
>
None provided with comment.
The phrase “in conforming SQL language” is missing in CR1). In
addition, CR2) has a small typo that a comma is missing.
Solution
Replace CR1) and 2) with:
Page 49 of 127
ISO/IEC JTC1/SC32/WG3
JPN-P02-060
JPN-P02-061
3-Major
Editorial
3-Major
Editorial
11.23 <drop
column
definition>,1
1.30 <drop
table
statement>,
11.32 <drop
view
statement>,
11.47 <drop
assertion
statement>,
11.58 <drop
data type
statement>,
11.61 <drop
routine
statement>
11.26 <drop
table
constraint
definition>
1) Without Feature T174, “Identity columns”, in conforming
SQL language, an <alter column definition> shall not
contain an <alter identity column specification>.
2) Without Feature T178, “Identity columns: ”, in conforming
SQL language, an <alter sequence generator restart option>
contained in an <alter identity column specification> shall
contain a <sequence generator restart value>.
NOTE 308 in SR5)e) of 11.23 reads:
NOTE 308 — If CASCADE is specified, then any such
dependent object will be dropped by the execution of the
<revoke statement> specified in the General Rules of this
Subclause.
This Note is incorrect, because dependant objects are dropped not
only by the execution of the <revoke statement>. The <drop
trigger statement> in GR1) also drop such objects.
There is the similar issues in NOTE317 in SR7)f) of 11.30,
NOTE325 in SR5)d) of 11.32, NOTE336 in SR10)e) of 11.47,
NOTE351 in SR4)h) of 11.58, and NOTE369 in SR5)b) of 11.61.
Solution
Replace “<revoke statement>” in the NOTE308 in SR5)e) of
11.23, NOTE317 in SR7)f) of 11.30, NOTE325 in SR5)d) of 11.32,
NOTE336 in SR10)e) of 11.47, NOTE351 in SR4)h) of 11.58, and
NOTE369 in SR5)b) of 11.61 with “SQL schema manipulation
statements”.
Feature F491, “Constraint management” is required for specifying
<constraint name>. While there is the conformance rule about
Feature F491 in 11.38 <drop domain constraint definition>, there
is not that rule in subclause 11.26.
Solution
None provided with comment.
Page 50 of 127
ISO/IEC JTC1/SC32/WG3
JPN-P02-062
3-Major
Editorial
11.31 <view Although the feature of a subtable is implied for a <subview
definition>, clause>, the conformance rule for S081, “Subtables” is missing in
Annex A
the subclause.
Solution
1. Add the following CR to Conformance Rules of 11.31:
3.1) Without Feature S081, “Subtables”, conforming
SQL language shall not contain a <subview clause>.
2. Insert the following items immediately after Annex 142)a) :
a.1) Subclause 11.31, “ <view definition>”:
i) Without Feature S081, “Subtables”, conforming
SQL language shall not contain a <subview
clause>.
JPN-P02-063
4-Minor
Editorial
11.40
<character
set
definition>
There are a few typos in SR3) and GR4). The word “been” is
missing between “have” and “associated” and an unnecessary “it”
is between “with” and “a privilege” in SR3). An unnecessary “be”
appears immediately after “this character set”.
Solution
1. Replace SR3) with:
3) The character set CS identified by the <character set
specification> contained in <character set source> shall have
been associated with it a privilege descriptor that was
effectively defined by the <grant statement>
…..
2. Replace GR4) with:
4) A privilege descriptor is created that defines the USAGE
Page 51 of 127
ISO/IEC JTC1/SC32/WG3
JPN-P02-064
4-Minor
Editorial
11.45 <drop
transliteratio
n
statement>
privilege on this character set to be the <authorization
identifier> of the <schema definition> or <SQL-client module
definition> in which the <character set definition> appears.
The grantor of the privilege descriptor is set to the special
grantor value “_SYSTEM”. This privilege is grantable.
The description “transliteration identified by T” in SR2) is
inappropriate, because a transliteration name identifies a
transliteration and T is a transliteration, not a transliteration
name.
Solution
Replace SR2) with:
JPN-P02-065
4-Minor
Editorial
11.48
<trigger
definition>
2) Let A be the <authorization identifier> that owns the
schema identified by the <schema name> of the
transliteration identified by TN.
The representation “privileges for A for T” in AR2) is not in
conventional wording.
Solution
Replace AR2) with:
JPN-P02-066
4-Minor
Editorial
11.48
<trigger
definition>
2) The applicable privileges for A for T shall include TRIGGER
on T.
The phrase “view V identified by the subject table” in GR6)a) is
not appropriate, because a view is identified by a table name, not
by a table.
Solution
Replace GR6)a) with:
a) Let VD be the view descriptor of the view V identified
bythat is the subject table of TR. Let VN be the <table
Page 52 of 127
ISO/IEC JTC1/SC32/WG3
JPN-P02-067
2-Minor
11.49 <drop
Technical trigger
statement>
name> included in VD. Let QE be the <query expression>
included in VD. Let U be the <authorization identifier> that
owns the schema identified by the <schema name> of VN.
Although there is no syntax rule in the subclause, the rule that
requires the existence of the trigger descriptor of the trigger
identified by the <trigger name> specified in <drop trigger
statement>.
Solution
JPN-P02-068
2-Minor
11.49 <drop
Technical trigger
statement>
None provided with comment.
The intent of GR1)b)i)2)B)II)2) is to revoke the grant option on
INSERT privilege granted to the owner of the view that is the
subject table of an INSTEAD OF trigger. Therefore the grantee
from which is revoked it by <drop trigger statement> must be the
owner of the view that is denoted by U, not the owner of the
trigger that is denoted by A. (See GR1)b)i)2)B)II)1))
There are similar issues in GR1)b)ii)2)B)II)2) and
GR1)b)iii)2)B)II)2).
Solution
1. Replace GR1)b)i)2)B)II)2) with:
2) Otherwise, let VCTPD be the view component table privilege
descriptor whose identified object is QE, whose action is
INSERT, whose grantor is “_SYSTEM”, and whose grantee is
AU. If VCTPD indicates that the privilege is not grantable,
then the following <revoke statement> is effectively
executed with a current authorization identifier of “_SYSTEM”
and without further Access Rule checking:
REVOKE GRANT OPTION FOR INSERT ON VN FROM U
CASCADE
2. Replace GR1)b)ii)2)B)II)2) with:
Page 53 of 127
ISO/IEC JTC1/SC32/WG3
2) Otherwise, let VCTPD be the view component table privilege
descriptor whose identified object is QE, whose action is
UPDATE, whose grantor is “_SYSTEM”, and whose grantee is
AU. If VCTPD indicates that the privilege is not grantable,
then the following <revoke statement> is effectively
executed with a current authorization identifier of “_SYSTEM”
and without further Access Rule checking:
REVOKE GRANT OPTION FOR UPDATE ON VN FROM U
CASCADE
3. Replace GR1)b)iii)2)B)II)2) with:
2) Otherwise, let VCTPD be the view component table privilege
descriptor whose identified object is QE, whose action is
DELETE, whose grantor is “_SYSTEM”, and whose grantee is
AU. If VCTPD indicates that the privilege is not grantable,
then the following <revoke statement> is effectively
executed with a current authorization identifier of “_SYSTEM”
and without further Access Rule checking:
REVOKE GRANT OPTION FOR DELETE ON VN FROM U
CASCADE
JPN-P02-069
2-Minor
11.49 <drop
Technical trigger
statement>
View component privilege descriptors still remains at the end of
general rules of the subcluase. They should be removed like GR8)
of subclause 10.11 Determination of view privileges, because a
view component privilege descriptor is just used temporally.
Solution
JPN-P02-070
4-Minor
Editorial
None provided with comment.
11.50 <user- The index “i” in its definition does not coincide with that postfixed
defined type in symbols such as PCOMSj and POVMSj.
definition>
Solution
Replace SR9)b)xv)3)D) with:
Page 54 of 127
ISO/IEC JTC1/SC32/WG3
JPN-P02-071
3-Major
Editorial
D) For i j varying from 1 (one) to Ni, the Syntax Rules of
Subclause 9.18, “Data type identity”, are applied with the
declared type of PCOMSj and the declared type of POVMSj.
11.50 <user- The condition specified in if clause in GR1)g)vii) can not be
defined type satisfied, because a parameter style can be specified only in SQL
definition>
routine.
Solution
Replace GR1)g)vii) with:
JPN-P02-072
JPN-P02-073
3-Major
Editorial
4-Minor
Editorial
11.55 <add
original
method
specification
>,
11.56 <add
overriding
method
specification
>
11.57 <drop
method
specification
>
vii) 13 The explicit or implicit <parameter style> if the
<language name> is not SQL.
The term “parameter descriptor” or the phrase “descriptor of a
parameter” appears in GR1)f) of 11.55, and SR12)b), SR12)e),
SR12)f), and GR1)e) of 11.56. As for a parameter, however, its
descriptor is not defined anywhere.
Solution
None provided with comment.
The words “an indications” in SR3)d)i) is not grammatically
correct. Two indications are mentioned in the rule. One is that of
whether or not a method is original and the other is that of
whether a method is a static or constructor. So, “an indications”
should be “indications”. The words “an indication” in SR3)d)i)
should be also “indications”.
Solution
Replace SR3)d)i) and ii) with:
i) If STATIC is specified, then the descriptor of D shall include
Page 55 of 127
ISO/IEC JTC1/SC32/WG3
JPN-P02-074
3-Major
Editorial
11.58 <drop
data type
statement>
exactly one method specification descriptor DOOMS that
includes an indications that the method specification is both
original and STATIC.
ii) If CONSTRUCTOR is specified, then the descriptor of D shall
include exactly one method specification descriptor DOOMS
that includes an indications that the method specification is
both original and CONSTRUCTOR.
NOTE351 in SR4)h) reads:
NOTE 351 — If CASCADE is specified, then such referenced
objects will be dropped by the execution of the <revoke
statement> specified in the General Rules of this Subclause..
This NOTE is incorrect, because this note mentions only
referenced objects, but dependent objects are also mentioned in
SR4).
Solution
None provided with comment.
JPN-P02-075
3-Major
Editorial
11.59 <SQL- SR18) is the rule to avoid the confliction of the signature of the
invoked
defining SQL-invoked regular function and the existing method
routine>
specification. SR18)c) and d) state that the range of the index i
for PDMSi which is the declared type of the parameter in the
unaugmented SQL parameter declaration list of a method
specification is from 1 to PN. PN is, however, the number of the
parameters of the augmented SQL parameter declaration list
defined in SR12). According to SR5)a)vi) and b)iii), the number of
the parameters in the unaugmented SQL parameter declaration
list is MN. On the other hand, PMSi is the declared type of the
parameter of the defining SQL-invoked regular function. Because
the confliction is checked between the augmented SQL parameter
declaration list of a method specification and the specified SQL
parameter declaration list of SQL-invoked regular function, the
range of the index i for PMSi shall be from 1 to PN.
Page 56 of 127
ISO/IEC JTC1/SC32/WG3
Solution
Replace SR18)c) and b) with:
JPN-P02-076
4-Minor
Editorial
c) Let PDMSi, 1 (one) ≤ i ≤ PNMN, be the declared type of
the i-th SQL parameter in the unaugmented SQL parameter
declaration list in DMS and let PMSi, 1 (one) ≤ i ≤ PN, be
the declared type of the i-th SQL parameter contained in
<function specification>.
d) One of the following conditions shall be false:
i) The declared type of PDMSi, 1 (one) ≤ i ≤ NMN is
compatible with the declared type of SQL parameter
PMSi+1.
ii) …..
11.59 <SQL- SR20)d)iii)2)A)II)3) defines the symbol PT. While in this rule, the
invoked
definition forms “let PT …”, in rules other than 3) in
routine>
SR20)d)iii)2)A)II) form “PT is …”. It is better that rule 3) takes the
same form as other rules.
Solution
Replace SR20)d)iii)2)A)II) with:
JPN-P02-077
Page 57 of 127
4-Minor
Editorial
1) …
2) …
…..
ii) Otherwise, PT is the <parameter type> of the first
SQL parameter of TSF.
3) If R is an array-returning external function or a multisetreturning external function, then let PT beis the element
type of RT.
4) Otherwise, PT is RT.
11.59 <SQL- The incorrect term “SQL parameter type list” appears in
invoked
SR20)d)iii)8)A) and B).
routine>
ISO/IEC JTC1/SC32/WG3
Solution
Replace SR20)d)iii)8)A) and B) with:
JPN-P02-078
4-Minor
Editorial
11.60 <alter
routine
statement>
A) Effective SQL parameter type list entry
(PN+FRN)+(N+FRN)+5 is an SQL parameter whose <data
type> is character string of implementation-defined length
and character set SQL_TEXT with <parameter mode>
INOUT.
B) Effective SQL parameter type list entry
(PN+FRN)+(N+FRN)+6 is an SQL parameter whose <data
type> is an exact numeric type with scale 0 (zero) and with
<parameter mode> IN.
“SQL data type” column in SR9)b) and SQL data type column in
SR9)c) should be “SQL data type column”. In addition, host data
type column in SR9)c) should be “host data type column”.
Solution
Replace SR9)b) with:
b) Depending on whether the <language clause> specifies
ADA, C, COBOL, FORTRAN, M, PASCAL, or PLI, let the
operative data type correspondences table be Table 16, “Data
type correspondences for Ada”, Table 17, “Data type
correspondences for C”, Table 18, “Data type
correspondences for COBOL”, Table 19, “Data type
correspondences for Fortran”, Table 20, “Data type
correspondences for M”, Table 21, “Data type
correspondences for Pascal”, or Table 22, “Data type
correspondences for PL/I”, respectively. Refer to the two
columns of the operative data type correspondences table as
the “SQL data type” column” and the “host data type
column”.
c) Any <data type> in the effective SQL parameter list entry of
SR shall specify a data type listed in the ”SQL data type
Page 58 of 127
ISO/IEC JTC1/SC32/WG3
JPN-P02-079
3-Major
Editorial
11.60 <alter
routine
statement>
column” for which the corresponding row in the ”host data
type column” is not “None”.
Several subrules in GR1) is incomplete. Subrule a), for example,
does not describe how the descriptor item is modified. It should
be such that:
a) If <returned result sets characteristic> is specified, then
the maximum number of returned result sets is the
value of <maximum returned result sets>.
Solution
None provided with comment.
JPN-P02-080
4-Minor
Editorial
11.73 <drop The words “referenced objects” are incorrect in NOTE375 in SR3),
sequence
quoted below, because an SQL routine and a trigger reference a
generator
sequence generator, but they are not referenced.
statement>
3) If RESTRICT is specified, then SEQ shall not be referenced
in any of the following:
a) The SQL routine body of any routine descriptor.
b) The triggered action of any trigger descriptor.
NOTE 375 — If CASCADE is specified, then such referenced
objects will be dropped by the execution of the <revoke
statement> specified in the General Rules of this Subclause.
Solution
Replace NOTE375 with:
JPN-P02-081
Page 59 of 127
4-Minor
Editorial
12.1 <grant
statement>
NOTE 375 — If CASCADE is specified, then such referenced
referencing objects will be dropped by the execution of the
<revoke statement> specified in the General Rules of this
Subclause
Unnecessary period appears between <method reference> and
MR in GR4)b)iii) and GR4)c)i)1)C).
ISO/IEC JTC1/SC32/WG3
Solution
1. Replace GR4)b)iii) with:
iii) The applicable privileges for G include grantable SELECT
privilege on every table T1 and every method M such that
there is a <method reference>. MR contained in QE such
that T1 is in the scope of the <value expression primary> of
MR and M is the method identified by the <method name> of
MR.
2. Replace GR4)c)i)1)C) with:
C) The applicable privileges for G include grantable SELECT
privilege on every table T1 and every method M such that
there is a <method reference>. MR contained in QE such
that T1 is in the scope of the <value expression primary> of
MR and M is the method identified by the <method name> of
MR.
JPN-P02-082
4-Minor
Editorial
12.2 <grant
privilege
statement>
“grantee G, and grantor A” at the end of the lead text of GR11)
shown below seems to lack connection with the preceding words
“every privilege descriptor in SWH”. Some word such as “with”
seem to be missing between “in SWH” and “grantee G, and
grantor A”
11) Let SWH be the set of privilege descriptors in CPD whose
action is SELECT WITH HIERARCHY OPTION. Let ST be the
set of subtables of O. For every table T in ST and for every
privilege descriptor in SWH grantee G, and grantor A,
Solution
JPN-P02-083
Page 60 of 127
4-Minor
Editorial
12.7
<revoke
None provided with comment.
The description “column privilege descriptor that identifies a
<column name>” in GR7)c)i) and GR12)b)i) is a little bit incorrect,
ISO/IEC JTC1/SC32/WG3
statement>
because column privilege descriptor identifies a column, not a
column name.
Solution
1. Replace GR7)c)i) with:
i) If P is neither a SELECT nor a REFERENCES column privilege
descriptor that identifies a column CV identified by a
<column name> CVN explicitly or implicitly contained in the
<view column list> of a <view definition> V, then let XO and
XA respectively be the identifier of the object identified by a
privilege descriptor X and the action of X. …..
2. Replace GR12)b)i) with:
JPN-P02-084
4-Minor
Editorial
12.7
<revoke
statement>
i) P is a column privilege descriptor that identifies a column
CV identified by a <column name> CVN explicitly or
implicitly contained in the <view column list> of a <view
definition> V, with an action PA of REFERENCES or SELECT.
Terms of “SELECT column descriptor” and “REFERENCES column
descriptor” appear in GR7)c)i). Those terms are not found
anywhere else in this document. Instead of those, the phrase that
forms “column descriptor … with an action …” should be used like
GR7)c)ii) .
ii) If P is a column privilege descriptor that identifies a column
CV identified by a <column name> CVN explicitly or implicitly
contained in the <view column list> of a <view definition> V
with an action PA of REFERENCES or SELECT, then let SP be
the set of privileges upon which P directly depends. …..
Solution
Replace GR7)c)i) with:
Page 61 of 127
ISO/IEC JTC1/SC32/WG3
JPN-P02-085
4-Minor
Editorial
12.7
<revoke
statement>
i) If P is neither a SELECT nor a REFERENCES column
privilege descriptor that identifies a column CV identified
by a <column name> CVN explicitly or implicitly contained in
the <view column list> of a <view definition> V with an
action of neither REFERENCES nor SELECT, then let XO
and XA respectively be the identifier of the object identified
by a privilege descriptor X and the action of X. …..
Although the keyword sequence “GRANT ADMIN OPTION FOR”
appears in GR13)b), it can not be specified in <revoke role
statement> “ ADMIN OPTION FOR” is correct, instead.
Solution
Replace GR13)b) with:
JPN-P02-086
4-Minor
Editorial
12.7
<revoke
statement>
b) If the <revoke statement> is a <revoke role statement>,
then the destruction of all abandoned role authorization
descriptors, all abandoned privilege descriptors and, if
GRANT ADMIN OPTION FOR is not specified, all identified
role authorization descriptors.
An incorrect syntax element “<routine body>” in GR29)a) shall be
replaced with the correct one “<SQL routine body>”. “SQL routine
body” that is not enclosed in angle brackets should be replaced
with the enclosed form “<SQL routine body>”
Solution
1. Replace GR29)a) with:
a) 04 EXECUTE privilege on the SQL-invoked routine that is the
subject routine of any <routine invocation>, <method
invocation>, <static method invocation>, or <method
reference> that is contained in the <SQL routine body> of
RD.
2. Replace “SQL routine body” with “<SQL routine body>”
Page 62 of 127
ISO/IEC JTC1/SC32/WG3
throughout GR29).
JPN-P02-087
4-Minor
Editorial
13.4 Calls to
an
<externallyinvoked
procedure>
In the last sentence of SR2)b)ii), “have” is missing between “shall”
and “parameter”. In addition, a period is missing that sentence.
Solution
Replace SR2)b)ii) with:
JPN-P02-088
3-Major
Editorial
13.4 Calls to
an
<externallyinvoked
procedure>
ii) The parameters in each Ada procedure declaration APD shall
appear in the same order as the <host parameter
declaration>s of the corresponding <externally-invoked
procedure> EIP. If the names of the parameters declared in
the <host parameter declaration>s of EIP are valid Ada
identifiers, then the parameters in APD shall have parameter
names that are equivalent to the names of the corresponding
parameters declared in the <host parameter declaration>s
contained in EIP; otherwise, the parameters in APD shall
have parameter names that are implementation-defined.
SR3)c), which is quoted below, states that the data type of a host
parameter shall be a C data type corresponding to its SQL data
type. It does not make sense, because <data type> specified in
<host parameter declaration> is an SQL data type and therefore
it can not be a host language data type.
c) For each i, 1 (one) ≤ i ≤ n, the type of the i-th host
parameter shall be the data type listed in the “C data type”
column of Table 17, “Data type correspondences for C”, for
which the corresponding row in the “SQL data type” column
is PDTi.
If the words such as “the type of the argument corresponding to
the i-th host parameter on the call to an <externally-invoked
procedure>” is used instead of “the type of the i-th host
parameter“, it makes sense.
There are same issues in SR4)c), SR5)c), SR6)c), SR7)c), and
Page 63 of 127
ISO/IEC JTC1/SC32/WG3
SR8)c).
Solution
JPN-P02-089
JPN-P02-090
JPN-P02-091
4-Minor
Editorial
3-Major
Editorial
3-Major
Editorial
13.4 Calls to
an
<externallyinvoked
procedure>
13.4 Calls to
an
<externallyinvoked
procedure>
13.4 Calls to
an
<externallyinvoked
procedure>
None provided with comment.
Although ARG is specified as a parameter in an application of
General Rules of 13.4, it is not referenced anywhere in General
Rules of this subclause.
Solution
None provided with comment.
The descriptions when DT is a character string type and a caller
language is ADA in GR2) and GR3) are missing.
Solution
None provided with comment.
A character length units of character types mentioned in GR2)a)
and b) should be clarified, because length units are specified for
some length mentioned in the rules..
Solution
Replace GR3)a) and b) with:
a) If DT identifies CHARACTER(L U) or CHARACTER
VARYING(L) data types and the caller language of EP is C,
then let CL be k greater than the maximum possible length in
octets of PN, where k is the size in octets of the largest
character in the character set of DT. A reference to PN that
assigns some value SV to PN implicitly assigns a value that is
an SQL CHARACTER(CL OCTETS) data type in which octets
of the value are the corresponding octets of SV, padded on
the right with <space>s as necessary to reach the length CL
– k, concatenated with a single implementation-defined null
Page 64 of 127
ISO/IEC JTC1/SC32/WG3
character that terminates a C character string.
…..
b) If DT identifies a CHARACTER(L U) data type and the caller
language of EP is either COBOL, FORTRAN, or PASCAL, then
let CL be the maximum possible length in octets of PN. A
reference to PN that assigns some value SV to PN implicitly
assigns a value that is an SQL CHARACTER(CL OCTETS) data
type in which octets of the value are the corresponding
octets of SV, padded on the right with <space>s as
necessary to reach the length CL.
JPN-P02-092
2-Minor
13.4 Calls to
Technical an
<externallyinvoked
procedure>
If the intent of SR3)c) is to require that the data type of the
argument in a host program correspond to that of the host
parameter of external-invoked procedure as specified in Table 17,
then the length of the data types must completely match. It raises
a few questions.
1. Is it really possible that the following condition specified in
GR2)g)i) is true?
If DT identifies a BINARY(L) data type and the length in octets
LPI of PI is less than L,”
2. Is the following action described in GR3)b), c), d)ii), i), k), and
l)ii) really necessary?
, padded on the right with <space>s as necessary to reach the
length CL.
Solution
JPN-P02-093
Page 65 of 127
3-Major
Editorial
13.4 Calls to
an
<externallyinvoked
procedure>
None provided with comment.
The symbol CL is not defined in GR3)c). It should be defined as
similar to GR3)b) quoted below, or GR3)d).
b) If DT identifies a CHARACTER(L) data type and the caller
language of EP is either COBOL, FORTRAN, or PASCAL, then
ISO/IEC JTC1/SC32/WG3
let CL be the maximum possible length in octets of PN. A
reference to PN that assigns some value SV to PN implicitly
assigns a value that is an SQL CHARACTER(CL) data type in
which octets of the value are the corresponding octets of
SV, padded on the right with <space>s as necessary to
reach the length CL.
Solution
Replace GR3)c) with:
c) If DT identifies a CHARACTER VARYING(L) data type and
the caller language of EP is M, then let CL be the
maximum possible length in octets of PN. aA
reference to PN that assigns some value SV to PN implicitly
assigns a value that is an SQL CHARACTER VARYING(ML)
data type in which octets of the value are the corresponding
octets of SV, padded on the right with <space>s as
necessary to reach the length CL. ML is the implementationdefined maximum length of variable-length character
strings.
JPN-P02-094
4-Minor
Editorial
13.4 Calls to
an
<externallyinvoked
procedure>
The value of the host parameter whose data type is CHARACTER
LARGE OBJECT is described in the word “character string” in
GR2)f)i)1), GR2)f)ii)1),GR2)f)iii)1), and GR2)f)iv)1). The word
“large object character string” is more appropriate for that value.
Solution
1. Replace GR2)f)i)1) with:
1) If DT identifies a CHARACTER LARGE OBJECT type, then a
large object character string containing the PN.PN_length
characters of PN.PN_data starting at character number 1
(one) in the same order that the characters appear in
PN.PN_data.
Page 66 of 127
ISO/IEC JTC1/SC32/WG3
2. Replace GR2)f)ii)1) with:
1) If DT identifies a CHARACTER LARGE OBJECT type, then a
large object character string containing the PN-LENGTH OF
PN characters of PN-DATA OF PN starting at character
number 1 (one) in the same order that the characters appear
in PN-DATA OF PN.
3. Replace GR2)f)iii)1) with:
1) If DT identifies a CHARACTER LARGE OBJECT type, then a
large object character string containing the PN_LENGTH
characters of PN_DATA starting at character number 1 (one)
in the same order that the characters appear in PN_DATA.
4. Replace GR2)f)iv)1) with:
1) If DT identifies a CHARACTER LARGE OBJECT type, then a
large object character string containing the PN.PN_length
characters of PN.PN_data starting at character number 1
(one) in the same order that the characters appear in
PN.PN_data.
JPN-P02-095
JPN-P02-096
JPN-P02-097
Page 67 of 127
3-Major
Editorial
3-Major
Editorial
4-Minor
13.4 Calls to
an
<externallyinvoked
procedure>
13.4 Calls to
an
<externallyinvoked
procedure>
13.4 Calls to
GR2)f) and GR3)h), which ate rules for a large object type, do not
include subrules when the caller language is ADA or PASCAL.
Solution
None provided with comment.
GR2)h) and GR3)k), which ate rules for a large object type, do not
include subrules when the caller language is ADA or PASCAL.
Solution
None provided with comment.
Some of host variable names in GR3)h)ii) does not correspond to
ISO/IEC JTC1/SC32/WG3
Editorial
an
<externallyinvoked
procedure>
those defined in Table 18. And some references to a host variable
are incorrect in terms of the grammar of the corresponding host
language.
Solution
Replace GR3)h)ii) with:
JPN-P02-098
3-Major
Editorial
13.4 Calls to
an
<externallyinvoked
procedure>
ii) If the caller language of EP is COBOL, then a reference to
PN that assigns some value SV to PN implicitly assigns the
value OCTET_LENGTH(SV) to PN.PN-OCTET_LENGTH OF
PN and the value SV to PN.PN-DATA OF PN.
The phrase “in which octets of the value are the corresponding
octets of SV” should be added immediately after “an SQL
CHARACTER(CL) data type” in GR3)l)i), like GR3)b) and c).
Solution
Replace GR3)l)i) with:
i) If DT identifies BINARY(L), then an SQL BINARY(CL) data
type in which octets of the value are the
corresponding octets of SV.
JPN-P02-099
4-Minor
Editorial
13.5 <SQL
procedure
statement>
( Note whether the text of “padded on the right with …” is
necessary to follow the above replacement depends on the
solution of JPN-P02-083. )
A comma is missing immediate before “no further subrules of this
General Rule are evaluated,” in GR5)a)iii)5) and 8).
Solution
Replace GR5)a)iii)5) and 8) with:
5) If S contains an <SQL schema statement> and the access
mode of the current SQL-transaction is read-only, then an
exception condition is raised: invalid transaction state, no
Page 68 of 127
ISO/IEC JTC1/SC32/WG3
JPN-P02-100
4-Minor
Editorial
13.6 Data
type
corresponde
nces
further subrules of this General Rule are evaluated, and
evaluation continues with the next General Rule.
6) …..
7) …..
8) If S does not conform to the Syntax Rules and Access Rules
of an <SQL procedure statement>, then an exception
condition is raised: syntax error or access rule violation, no
further subrules of this General Rule are evaluated, and
evaluation continues with the next General Rule.
Several subclauses that reference tables in 13.6 should be
mentioned in NOTE397.
Solution
Replace NOTE397 with:
NOTE 397 — These tables are referenced in Subclause 11.59,
“<SQL-invoked routine>”, for the definitions of external
routines, and in Subclause 11.60, “<alter routine
statement>” , for the alteration of external routines,
and in Subclause 10.4, “<routine invocation>”, for the
invocation of external routines, and in Subclause 9.14,
“Execution of array-returning functions” , for the
execution of array-returning external functions or
multiset-returning external functions, and in Subclause
13.4, “Calls to an <externally-invoked procedure>” ,
for the call to externally-invoked procedures, and in
Subclause 21.3, “<embedded SQL Ada program>”,
Subclause 21.4, “<embedded SQL C program>”,
Subclause 21.5, “<embedded SQL COBOL program>”,
Subclause 21.6, “<embedded SQL Fortran program>”,
Subclause 21.7, “<embedded SQL MUMPS program>”,
Subclause 21.8, “<embedded SQL Pascal program>”
and Subclause 21.9, “<embedded SQL PL/I program>”,
for the user-defined type variable of embedded SQL
host program.
Page 69 of 127
ISO/IEC JTC1/SC32/WG3
JPN-P02-101
3-Major
Editorial
13.6 Data
type
corresponde
nces
In C data type corresponding to SQL data type CHAR LARGE
OBJECT in Table 17, a character length unit should be taken
account of.
Solution
Replace C data Type column in the row whose SQL Data Type
column is CHAR LARGE OBJECT in Table 17 with:
struct {
long hvn_reserved;
unsigned long hvn_length;
unit hvn_data[L1*k];
} hvn1 2;
JPN-P02-102
2-Minor
13.6 Data
Technical type
corresponde
nces
<MUMPS type specification> defined in 21.7 <embedded SQL
MUMPS program> does not contain NUMERIC type. So, the
implied SQL client module for an <embedded SQL MUMPS
program> can not have a host parameter whose data type is
NUMERIC. Table 20 - Data type correspondences for M, however,
defines M data type corresponding to SQL NUMERIC type. The
value in the column of M data type corresponding to SQL
NUMERIC type in Table 20 should be “None”.
Solution
JPN-P02-103
3-Major
Editorial
13.6 Data
type
corresponde
nces
None provided with comment.
In SQL data type CHARACTER(1) in Table 21, a character set and
a character length unit should be taken account of. Because the
corresponding Pascal data type is CHAR, the restriction that the
maximum number of octets per character is 1 is required.
Solution
None provided with comment.
JPN-P02-104
3-Major
Editorial
14.5 <fetch In SR9)a)i) of 14.5, which is quoted below, a row type is passed to VALUE
statement>, parameter in an application of Syntax Rules of 9.2.
14.7 <select
i) 04 If TS is an <SQL parameter reference>, then the Syntax Rules of
Page 70 of 127
ISO/IEC JTC1/SC32/WG3
statement:
single row>
Subclause 9.2, “Store assignment”, apply to TS as TARGET and the row
type of T as VALUE.
Subclause 9.2 requires, however, that VALUE parameter is a
value, not a type, because the declared type of VALUE parameter
is mentioned in SR1), which reads:
1) Let T be the TARGET and let V be the VALUE in an
application of this Subclause. Let TD and SD be the declared
types of T and V, respectively.
There are similar problems in SR9)a)ii) of 14.5, SR3)a)i) and ii) of
14.7.
Solution
JPN-P02-105
3-Major
Editorial
14.5 <fetch
statement>
None provided with comment.
GR6) of 14.5 reads:
6) If an exception condition occurs during the assignment of a
value to a target, then the values of all targets are
implementation-dependent.
GR6) of 20.17 <dynamic fetch statement> reads:
6) If an exception condition is raised during the assignment of
a value to a target, then the values of all targets are
implementation-dependent and CR remains positioned on the
current row.
The description about a cursor position is missing in GR6) of 14.5. It was still in
the corresponding rule GR8) of 14.3 <fetch statement> of SQL:2003.
Solution
JPN-P02-106
Page 71 of 127
4-Minor
14.5 <fetch
None provided with comment.
The phrase “in conforming SQL language” is missing in CR1).
ISO/IEC JTC1/SC32/WG3
Editorial
statement>
Solution
Replace CR1) with:
JPN-P02-107
4-Minor
Editorial
14.7 <select
statement:
single row>
1) Without Feature F431, “Read-only ”, in conforming SQL
language, a <fetch statement> shall not contain a <fetch
orientation>.
It would be desirable to describe clearly that “for each <target
specification> TS” in SR3)b)iii) and iv) ranges over <select list>,
like SR9)b)iii) and iv) of 14.5 <fetch statement>.
Solution
Replace SR3)b)iii), iii), and iv) with:
ii) 04 For i varying from 1 (one) to NOE, let TS1i be the i-th
<target specification> in the <select target list> that is either
an <SQL parameter reference> or a <target array element
specification>, and let SLi be the i-th element of the <select
list> that corresponds to the <target specification> in the
<select target list>.
Case:
1) If <target array element specification> is specified, then
the Syntax Rules of Subclause 9.2, “Store assignment”,
apply to an arbitrary site whose declared type is the
declared type of TS1i and SLi as TARGET and VALUE,
respectively.
2) Otherwise, the Syntax Rules of Subclause 9.2, “Store
assignment”, apply to TS1i and the corresponding
element of the <select list>, as TARGET and VALUE,
respectively.
iii) For each <target specification> TS2i, 1 (one) ≤ i, ≤
NOE, that is a <host parameter specification>, the Syntax
Rules of Subclause 9.1, “Retrieval assignment”, apply to TS2i
and the corresponding element of the <select list>, as
Page 72 of 127
ISO/IEC JTC1/SC32/WG3
TARGET and VALUE, respectively.
For each <target specification> TS2i, 1 (one) ≤ i, ≤
NOE, that is an <embedded variable specification>, the
Syntax Rules of Subclause 9.1, “Retrieval assignment”, apply
to TS2i and the corresponding element of the <select list>,
as TARGET and VALUE, respectively.
14.8 <delete The symbol CN is used to denote a correlation name in SR11),
statement:
while the same symbol denotes a cursor name in the preceding
positioned> rules in the subclause. It is desirable to use the different symbols.
iv)
JPN-P02-108
4-Minor
Editorial
10
Solution
JPN-P02-109
4-Minor
Editorial
None provided with comment.
14.8 <delete The phrase ”privileges for the owner” in AR1)a) of subclause 14.8,
statement:
AR1)a) of subclause 20.20, and AR1)a) of subclause 20.22 is a
positioned>, little bit incorrect, because a privilege is for an authorization
20.20
identifier. In addition, the phrase such as “DELETE for TN” is not
<dynamic
in conventional wording.
delete
statement:
Solution
positioned>,
20.22
1. Replace AR1)a) of 14.8 with:
<preparable
dynamic
a) If DSP is contained, without an intervening <SQL routine
delete
spec> that specifies SQL SECURITY INVOKER, in an <SQL
statement:
schema statement>, then the applicable privileges for the
positioned>
<authorization identifier> of the owner of that schema
shall include DELETE foron TN.
b) Otherwise, the current privileges shall include DELETE
foron TN.
2. Replace AR1)a) of 20.20 with:
a) If DDSP is contained, without an intervening <SQL routine
spec> that specifies SQL SECURITY INVOKER, in an <SQL
schema statement>, then the applicable privileges for the
Page 73 of 127
ISO/IEC JTC1/SC32/WG3
<authorization identifier> of the owner of that schema
shall include DELETE foron TN.
b) Otherwise, the current privileges shall include DELETE
foron TN.
3. Replace AR1)a) of 20.22 with:
JPN-P02-110
3-Major
Editorial
14.12
<merge
statement>
a) If PDDSP is contained, without an intervening <SQL routine
spec> that specifies SQL SECURITY INVOKER, in an <SQL
schema statement>, then the applicable privileges for the
<authorization identifier> of the owner of that schema
shall include DELETE foron TN.
b) Otherwise, the current privileges shall include DELETE
foron TN.
The definition of an exposed <correlation name> and an exposed
<table or query name> of <merge statement> are needed,
because an <identifier chain> may be contained in scope of it and
it is referred in SR8)b) of subclause 6.6 <identifier chain> in order
to resolve the reference by a qualifier. There is that definition, for
example, in SR11) of 14.9 <delete statement: searched>.
Solution
Replace SR7) with:
JPN-P02-111
1-Major
14.9,
Technical <delete
statement:
searched>,
Page 74 of 127
7) Case:
a) If <merge correlation name> is specified, then let CN be
the <correlation name> contained in <merge correlation
name>. CN is an exposed <correlation name>.
b) Otherwise, let CN be the <table name> contained in
<target table>. CN is an exposed <table or query
name>.
In the execution of a <delete statement: searched>, an <merge
statement> or an <update statement: searched> on a systemversioned table, the rows of historical system versions are
automatically removed from the set of modified rows, whereas in
ISO/IEC JTC1/SC32/WG3
JPN-P02-112
3-Major
Editorial
14.12,
<merge
statement>,
14.14,
<update
statement:
searched>,
15.13 Effect
of replacing
rows in base
tables
14.12
<merge
statement>
the execution of an <update statement: positioned>, for the row
of historical system versions, an exception condition is raised:
data exception — invalid row version. Such a mismatch between
behavior of an <update statement: positioned> and those of
other statements is not desirable.
Solution
None provided with comment.
SR8) of subclause 7.6 <table reference> defines an exposed
<correlation name> and an exposed <table or query name>
through a range variable for references to those terms in SR8)b)
of subclause 6.6 <identifier chain>. The terms used in “The
<correlation name> or exposed <table name> that is exposed by
TR (table reference)” in SR10) of 14.12 are a little bit incorrect.
Solution
Replace SR10) with:
JPN-P02-113
4-Minor
Editorial
10) The <correlation name> or exposed <table or query
name> that is exposed by TR shall not be equivalent to CN.
14.13
The term “exposed correlation name” in SR11)a) of subclause
<update
14.13 should be “exposed <correlation name>”, because it is
statement:
referred as “exposed <correlation name>” in SR8)b) of subclause
positioned>, 6.6 <identifier chain>. There is the same issue in SR8)a) of 14.14.
14.14
<update
statement:
searched>
Solution
1. Replace SR11)a) of 14.13 with:
a) If <correlation name> is specified, then let CN be that
<correlation name>. CN is an exposed <correlation name>.
Page 75 of 127
ISO/IEC JTC1/SC32/WG3
2. Replace SR8)a) of 14.14 with:
JPN-P02-114
4-Minor
Editorial
14.15 <set
clause list>
a) If <correlation name> is specified, then let CN be that
<correlation name>. CN is an exposed <correlation name>.
“Case” in SR7)b)vi)1) does not make sense, because subrules of
SR7)b)vi)1) does not describe any conditions.
Solution
Replace SR6)7)vi) with:
JPN-P02-115
vi) For 1 (one) ≤ j ≤ Mi:
Case:
1) If j = 1 (one), then
Case:
A) Let MTi,1 be the <mutated target> immediately
contained in MSCi.
B) Let MNi,1 be the <method name> immediately
contained in MSCi.
C) Let Vi,1 be:
MTi,1 . MNi,1 ( RCVEi )
2) Otherwise:
…..
1-Major
15.1 Effect
While there are the description for positioning a cursor in GR3)e)
Technical of opening a of 14.2 <open statement> of SQL:2003, there are no description
cursor
in the corresponding rule GR4)f) of 15.1.
GR3)e) of SQL:2003:
e) Case:
i) If S specifies INSENSITIVE, then a copy of T is effectively
created and cursor CR is placed in the open state and its
position is before the first row of the copy of T.
ii) Otherwise, cursor CR is placed in the open state and its
position is before the first row of T.
Page 76 of 127
ISO/IEC JTC1/SC32/WG3
GR4)f) of 15.1 of this CD:
f) Case:
i) If the operational sensitivity property of RSD is
INSENSITIVE, then let TT be a copy of T.
ii) Otherwise, let TT be T.
Because a cursor position is not determined, the application of
15.3, “Determination of the current row of a cursor” does not
work at the first execution of a fetch statement after a cursor
opening. For example, the result of GR7)b) of 15.3 depends on a
cursor position as follows:
b) If FO specifies NEXT or specifies RELATIVE with a positive
value of J, then:
i) If T is empty or if the position of CR is on or after the last
row of T, then let Tt be a sequence of no rows.
ii) If the position of CR is on a row R that is other than the
last row of T, then let Tt contain all rows of T ordered
after row R, preserving their order in T.
iii) If the position of CR is before a row R, then let Tt
contain row R and all rows of T ordered after row R,
preserving their order in T.
Solution
JPN-P02-116
4-Minor
Editorial
None provided with comment.
15.3
Two terms “sequence of no rows” and “empty sequence of rows”
Determinatio appear in GR7). If the two different terms have the same
n of the
meaning, the same term should be used.
current row
of a cursor
Solution
None provided with comment.
JPN-P02-117
Page 77 of 127
4-Minor
Editorial
15.3
A grammatically invalid sequence of words “row all rows” appears
Determinatio in GR7)c)iii).
ISO/IEC JTC1/SC32/WG3
JPN-P02-118
n of the
current row
of a cursor
1-Major
15.7, Effect
Technical of deleting
rows from
base tables
Solution
iii) If the position of CR is before a row R that is not the first
row of T, then let Tt contain row all rows of T ordered
before row R, preserving their order in T.
In 15.7 Effect of deleting rows from base tables, there are no
rules for system-versioned table.
Solution
None provided with comment.
JPN-P02-119
4-Minor
Editorial
15.9 Effect
GR3)a)ii)1) of subclause 15.9 reads:
of deleting
some rows
1) The set of transitions of SC consists of one copy of every
from a
row of V that is identified for deletion.
viewed table,
15.12 Effect “each” is missing between “one copy” and “of every row” by
of inserting a analogy with GR4)a) of subclause 15.7, which reads:
table into a
viewed table
a) If a state change SC exists in SSC with subject table ST and
trigger event DELETE, then one copy each of every row of ST
that is identified for deletion in ST is added to the set of
transitions of SC.
There is the same issue in GR3)a)ii)1) subclause 15.12.
Solution
1. Replace GR3)a)ii)1) of 15.9 with:
1) The set of transitions of SC consists of one copy each of
every row of V that is identified for deletion.
Page 78 of 127
ISO/IEC JTC1/SC32/WG3
2. Replace GR3)a)ii)1) of 15.12 with:
JPN-P02-120
4-Minor
Editorial
1) The set of transitions of SC consists of one copy each of
every row of S.
15.11 Effect SV is passed to SOURCE parameter in an application of General
of inserting a Rules of subclause 9.2 in GR2)b)iii)2) of subclause 15.11, which
table into a reads:
derived
table,
15.14 Effect
of replacing
some rows in
a derived
table
2) For j ranging from 1 (one) to n, let C be a column of some
candidate row identified by VEj, and let SV be the j-th value
of R. The General Rules of Subclause 9.2, “Store
assignment”, are applied to C and SV as TARGET and
SOURCE, respectively.
In Subclause Signature of subclause 9.2, however, VALUE
parameter is declared instead of SOURCE.
There is the same issue in GR3)c)iii)3) of subclause 15.14.
Solution
1. Replace GR2)b)iii)2) of 15.11 with:
2) For j ranging from 1 (one) to n, let C be a column of some
candidate row identified by VEj, and let SV be the j-th value
of R. The General Rules of Subclause 9.2, “Store
assignment”, are applied to C and SV as TARGET and
SOURCEVALUE, respectively.
2. Replace GR3)c)iii)3) of 15.14 with:
3) For j ranging from 1 (one) to n, let C be a column of some
candidate row identified by VEj, and let SV be the j-th value
of CNR. The General Rules of Subclause 9.2, “Store
assignment”, are applied to C and SV as TARGET and
Page 79 of 127
ISO/IEC JTC1/SC32/WG3
JPN-P02-121
SOURCEVALUE, respectively.
15.13 is invoked in general rules of subclause 14.13 <update
statement: positioned> and subclause 14.14 <update statement:
rows in base searched>, if the update target is a base table. In GR5)a) of
tables
15.13, quoted below, the value of an identity column is updated.
1-Major
15.13 Effect
Technical of replacing
5) For every table ST that is identified for replacement
processing, let TL be the set consisting of the names of the
columns of ST. For every subset STL of TL such that either
STL is empty or the intersection of STL and OC is not empty:
a) If some column IC of T is the identity column of ST,
then, for each row identified for replacement in ST whose
site ICS corresponding to IC is marked as unassigned:
i) Let NV be the result of applying the General Rules of
Subclause 9.23, “Generation of the next value of a
sequence generator”, with the sequence generator
descriptor included in the column descriptor of IC as
SEQUENCE.
Case:
1) If the declared type of IC is a distinct type DIST,
then let ICNV be DIST(NV).
2) Otherwise, let ICNV be NV.
ii) The General Rules of Subclause 9.2, “Store
assignment”, are applied with ICS as TARGET and
ICNV as VALUE.
This rule is, however, applied regardless of which an identity
column is specified in set clause, whenever an update statement
whose target table includes an identity column is executed. Take
the following table for example.
CREATE TABLE T1
(C1 INT GENERATED ALWAYS
AS IDENTITY (START WITH 1)
PRIMARY KEY,
C2 CHAR(10))
Page 80 of 127
ISO/IEC JTC1/SC32/WG3
Consider the update statement that set just the column other than
the identity column.
UPDATE T1 SET C2=’A’ WHERE …
This statement causes the increment of the value of the identity
column due to GR5)a). It does not seem reasonable that the value
of a surrogate key is changed every time some column in a table
is updated.
Solution
JPN-P02-122
None provided with comment.
STL appearing in GR5) is some combination of columns in a target
table which include some object columns. GR5)a) is applied for
rows in base every STL and invokes subclause 9.23 “Generation of the next
tables
value of a sequence generator”. Since a state change is added for
every STL that matches a column list of trigger event UPDATE in
GR5)c), the values of the identity column in transitions are
different among row-level UPDATE triggers activated by just one
update operation on a row. They should be the same value within
an update operation.
1-Major
15.13 Effect
Technical of replacing
Solution
JPN-P02-123
None provided with comment.
1-Major
15.13 Effect The site in a transition corresponding to a generated column is
Technical of replacing updated in GR7). The row identified for replacement is, however,
rows in base replaced with its new transition variable, not the transition.
tables
Therefore the change of the generated column is not reflected to
the row.
Solution
None provided with comment.
Page 81 of 127
ISO/IEC JTC1/SC32/WG3
JPN-P02-124
1-Major
15.13 Effect
Technical of replacing
When just one row in a system-versioned table is updated
multiple times in an SQL-transaction, multiple rows are inserted
rows in base into the table due to iii)2) of GR8)a), which reads:
tables
a) If T is a system-versioned table, then:
i) Let START be the system-version start column of T and
let END be the system-version end column of T. Let DT be
the data type of system-version start column of T.
ii) Let TTS be the transaction timestamp of the current SQLtransaction. Let CTTS be the result of
CAST (TTS AS DT)
iii) For every row R that is identified for replacement in T,
let STARTVAL be the value of system version start
column.
1) If CTTS ≤ STARTVAL, then an exception condition is
raised: data exception — invalid row version.
2) A copy of the old transition variable with the value of
END effectively replaced by CTTS is inserted into T.
3) R is replaced by its new transition variable with the
value of START effectively replaced by CTTS.
4) R is no longer identified for replacement. T is no
longer identified for replacement processing.
iv) Let S be the set consisting of every R. S is the new delta
table of update operation on T.
While the row inserted by GR8)a)iii)2) for the final update
operation in the SQL-transaction has committed data, those rows
for other update operations have uncommitted data. It is
desirable to insert only the row that includes committed data,
because the timestamp of the row in a system-versioned table is a
transaction timestamp, not the timestamp when an update
operation is performed.
Solution
None provided with comment.
Page 82 of 127
ISO/IEC JTC1/SC32/WG3
JPN-P02-125
4-Minor
Editorial
15.14 Effect
of replacing
some rows in
a derived
table
In the definitions of symbols CL1 and CL2 in the lead text of
GR3)b), the meanings of the symbols are immediately after “let”
and the symbols are on the right side immediately after “be”. This
is, however, different from other descriptions that define symbols
using “let”. The symbols CL1 and CL2 and the meanings should be
reversed.
Solution
Replace the lead text of GR3)b) with:
JPN-P02-126
1-Major
15.17
Technical Execution of
referential
actions
b)…..Let T1 and T2 be the tables identified by LO and RO,
respectively. Let the object columns CL1 and CL2 be the
columns of T1 and T2 that are underlying columns of the
object columns of CL be the object columns CL1 and
CL2, respectively. Let RS1 and RS2 be the initially empty
replacement sets for T1 and T2, respectively.
GR10)a)ii) is the update rule in case that the referential action is
SET NULL. In this rule, there is no difference between 1), the rule
in case that the match type is SIMPLE and 2), in case that match
type is FULL.
ii) If UR specifies SET NULL, then
Case:
1) If M specifies SIMPLE, then:
A) Each matching row MR in F is paired with the
candidate replacement row NMR, formed by copying
MR and setting each referencing column in the copy to
the null value. MR is identified for replacement by NMR
in F. The set of (MR, NMR) pairs is the replacement set
for F.
B) F is identified for replacement processing with
subtables with respect to the referencing columns.
C) The General Rules of Subclause 15.13, “Effect of
replacing rows in base tables”, are applied.
2) If M specifies FULL, then:
Page 83 of 127
ISO/IEC JTC1/SC32/WG3
A) Each matching row MR in F is paired with the
candidate replacement row NMR, formed by copying
MR and setting each referencing column in the copy to
the null value. MR is identified for replacement by NMR
in F. The set of (MR, NMR) pairs is the replacement set
for F.
B) F is identified for replacement processing with
subtables with respect to the referencing columns.
C) The General Rules of Subclause 15.13, “Effect of
replacing rows in base tables”, are applied.
The corresponding rule GR8)a)ii) of 11.8 <referential constraint
definition> of SQL:2003 Part2, quoted below, has a difference for
two cases
ii) If the <update rule> specifies SET NULL, then
Case:
1) If SIMPLE is specified or implicit, then:
A) For every F, for each matching row MR in F, a
transition is formed by pairing MR with the value
formed by copying MR and setting each referencing
column in the copy to the null value.
…..
2) If <match type> specifies FULL, then:
A) For every F, for each matching row MR in F, a
transition is formed by pairing MR with the value
formed by copying MR and setting each referencing
column in the copy that corresponds with a
referenced column to the null value.
…..
Solution
JPN-P02-127
Page 84 of 127
3-Major
Editorial
15.17
Execution of
None provided with comment.
The symbol T defined in GR17) that is quoted below and is the
last rule in the subclause, is not referred anywhere in this
ISO/IEC JTC1/SC32/WG3
referential
actions
subclause.
17) If any table T is the subject table of a state change in SSC
that has been created or modified during evaluation of the
preceding General Rules of this subclause, then, for every
referential constraint descriptor RC2 of an enforced
referential constraint, General Rules of this Subclause are
applied with RC2 as CONSTRAINT.
Solution
JPN-P02-128
4-Minor
Editorial
15.19
Execution of
triggers
None provided with comment.
“in” immediately before “ST” is duplicated in GR4)a)iii).
Solution
Replace GR4)a)iii) with:
JPN-P02-129
4-Minor
Editorial
18.2 <set
connection
statement>
iii) If TE is UPDATE, then the old transition table for the
invocation of TA is the multiset formed by taking the old rows
of the transitions in in ST and the new transition table for the
invocation of TA is the multiset formed by taking the new
rows of the transitions in ST. If TR is a row-level trigger, then
the value of the old transition variable for the invocation of
TA is the old row of T and the new transition variable for the
invocation of TA is the new row of T.
Throughout the subclause, the term “SQL-session context
information” is used. It is not exact. The term “SQL-session
context” is exact.
Solution
JPN-P02-130
Page 85 of 127
4-Minor
Editorial
19.2 <set
session user
Replace “SQL-session context information” with “SQL-session
context” throughout the subclause.
“then” immediately before “restriction” is duplicated in GR4).
ISO/IEC JTC1/SC32/WG3
identifier
statement>
Solution
Replace GR4) with:
JPN-P02-131
4-Minor
Editorial
19.8 <set
path
statement>
4) If V is not equal to the current value of the SQL-session
user identifier of the current SQL-session context, then then
restrictions on the permissible values for V are
implementation-defined.
Unnecessary word “respectively” appears immediately after
“<direct SQL statement>” in Function.
Solution
Replace Function with:
JPN-P02-132
4-Minor
Editorial
20.1
Description
of SQL
descriptor
areas
Function
Set the SQL-path used to determine the subject routine of
<routine invocation>s with unqualified <routine name>s in
<preparable statement>s that are prepared in the current
SQL-session by an <execute immediate statement> or a
<prepare statement> and in <direct SQL statement>s,
respectively, that are invoked directly. The SQL-path remains
the current SQL-path of the SQL-session until another SQLpath is successfully set.
“(L)” is missing immediately after the second occurrence of
“BINARY VARYING” in SR7)e).
Solution
Replace SR7)e) with:
JPN-P02-133
Page 86 of 127
3-Major
20.1
e) Either TYPE indicates BINARY VARYING and T is specified
by BINARY VARYING(L) or TYPE indicates BINARY LARGE
OBJECT and T is specified by BINARY LARGE OBJECT(L), and
…..
The phrase of “the row type of SVT“ appears in SR7)q) which
ISO/IEC JTC1/SC32/WG3
Editorial
Description
of SQL
descriptor
areas
specifies some descriptor fields for a REF type value . A row type
is, however, not an attribute of a REF type value.
Solution
Replace SR7)q) with:
JPN-P02-134
4-Minor
Editorial
20.1
Description
of SQL
descriptor
areas
q) TYPE indicates REF and T is specified by REF, where the
<user-defined type name> formed by the values of
USER_DEFINED_TYPE_CATALOG,
USER_DEFINED_TYPE_SCHEMA, and
USER_DEFINED_TYPE_NAME identifies the row referenced
type of SVT, and SCOPE_CATALOG, SCOPE_SCHEMA, and
SCOPE_NAME identify the scope of the reference type.
The description that a data type matches a descriptor area in
SR7)s), t), u) and v) is not appropriate, because what a data type
matches is a data type according to the definition in the lead text
of SR7), which reads:
7) The declared type T of a <simple value specification> or a
<simple target specification> SVT is said to match the data
type specified by a valid item descriptor area IDA if and only
if one of the following conditions is true.
Solution
Replace SR7)s), t), u) and v) with:
s) TYPE indicates ARRAY and T is an array type with maximum
cardinality C and the data type of the element type of T
matches the data type specified by the immediately
subordinate descriptor area of IDA, and
Case:
i) …..
ii) …..
t) TYPE indicates ARRAY LOCATOR and T is an array locator
Page 87 of 127
ISO/IEC JTC1/SC32/WG3
JPN-P02-135
4-Minor
Editorial
20.1
Description
of SQL
descriptor
areas
type whose associated array type has maximum cardinality C
and the data type of the element type of the associated array
type of T matches the data type specified by the
immediately subordinate descriptor area of IDA, and
Case:
i) …..
ii) …..
u) TYPE indicates MULTISET and T is a multiset type and the
data type of the element type of T matches the data type
specified by the immediately subordinate descriptor area of
IDA.
v) TYPE indicates MULTISET LOCATOR and T is a multiset
locator type and the data type of the element type of T
matches the data type specified by the immediately
subordinate descriptor area of IDA.
GR5) states that Table 32, “SQL-statement codes”, specifies the
identifier of the SQL-statements. Table32 specifies, however, the
code of the SQL-statements.
Solution
Replace GR5) with:
JPN-P02-136
2-Minor
20.3
Technical <deallocate
descriptor
statement>,
20.4 <get
descriptor
statement>
Page 88 of 127
5) The value of DYNAMIC_FUNCTION_CODE is a number that
identifies the type of the prepared or executed SQLstatement. Table 32, “SQL-statement codes”, specifies the
identifier code of the SQL-statements.
There is no rule in the case that the value of <extended descriptor
name> does not conform to the Format and Syntax Rules of an
<identifier>. Such a rule is in 20.2 <allocate descriptor
statement>, indeed, and the validity of the value of <extended
descriptor name> is checked when a descriptor is allocated. The
variable used for <extended descriptor name>, however, may be
modified or the wrong variable, which is different from that used
on allocation of descriptor, is specified possibly due to bugs of an
application program.
ISO/IEC JTC1/SC32/WG3
Solution
JPN-P02-137
4-Minor
Editorial
20.4 <get
descriptor
statement>,
20.5 <set
descriptor
statement>
None provided with comment.
The description of “the <descriptor name> was allocated” in GR2)
of subclause 20.4 is inappropriatet, because a descriptor area is
allocated and a name is not. The same issue is also in GR2) of
subclause 20.5
Solution
1. Replace GR2) of 20.4 with:
2) If the <item number> specified in a <get descriptor
statement> is greater than the value of <occurrences>
specified when the SQL descriptor area identified by the
<descriptor name> was allocated or less than 1 (one), then
an exception condition is raised: dynamic SQL error — invalid
descriptor index.
2. Replace GR2) of 20.5 with:
JPN-P02-138
4-Minor
Editorial
20.4 <get
descriptor
statement>
2) If the <item number> specified in a <set descriptor
statement> is greater than the value of <occurrences>
specified when the SQL descriptor areas identified by
the <descriptor name> was allocated or less than 1 (one),
then an exception condition is raised: dynamic SQL error —
invalid descriptor index.
“the value of” immediately before “TYPE” is unnecessary in
GR5)b).
Solution
Replace GR5)b) with:
b) If the value of TYPE in IDA indicates ROW, then an
Page 89 of 127
ISO/IEC JTC1/SC32/WG3
JPN-P02-139
4-Minor
Editorial
20.5 <set
descriptor
statement>
exception condition is raised: dynamic SQL error — undefined
DATA value.
It is better that word “shown” is inserted between “that” and “in
the Data Type column of the row of Table 23” in SR1) like other
rules such as SR2) etc.
Solution
Replace SR1) with:
JPN-P02-140
4-Minor
Editorial
20.6
<prepare
statement>
1) For each <set header information>, <header item name>
shall not be KEY_TYPE, TOP_LEVEL_COUNT,
DYNAMIC_FUNCTION, or DYNAMIC_FUNCTION_CODE, and
the declared type of <simple value specification 1> shall be
that shown in the Data Type column of the row of Table 23,
“Data types of <key word>s used in the header of SQL
descriptor areas”, whose <key word> column value is
equivalent to <header item name>.
The description of “DP is the value of …” should be “DP represents
the value of …” in GR5)a)xxxi) by analogy with other rules such as
GR5)a)xxvii).
Solution
Replace GR5)a)xxxi) with:
JPN-P02-141
Page 90 of 127
4-Minor
Editorial
20.6
<prepare
statement>
xxxi) 04 If DP is an <SQL argument> of RI or if DP is
represents the value of a subfield SF of the declared type of
a <value expression> immediately contained in such an
<SQL argument>, and if DP is the i-th <SQL argument> of
RI or is contained in the i-th <SQL argument> of RI, then let
RT denote the declared type of the i-th SQL parameter of SR.
“of SR” is duplicated in GR7)a)iii)1).
Solution
ISO/IEC JTC1/SC32/WG3
Replace GR7)a)iii)1) with:
1) D is an input <dynamic parameter specification> if the
<parameter mode> of the k-th SQL parameter of SR of SR is
IN or INOUT.
JPN-P02-142
2-Minor
20.9
Technical <describe
statement>
The expression “(k+NSj+1)” for the ordinal position of the item
descriptor for the next column to j-th column in GR6)f)iii)1),
quoted below, is incorrect.
iii) If the descriptor for the j-th column or <dynamic parameter
specification> is assigned to the k-th item descriptor area,
then:
1) The descriptor for the (j+1)-th column or <dynamic
parameter specification> is assigned to the (k+NSj+1)-th
item descriptor area.
Because subordinate descriptors of j-th column follow the item
descriptor for j-th column, NSj+1 must be replaced with NSj, the
number of subordinate descriptors of j-th column. But the
expression “(k+NSj)” still does not work. When the item descriptor
for j-th column is assigned to k-th item descriptor, if NSj is
0(zero), for example, the expression raises the fallacy that j+1-th
column is also assigned to k-th item descriptor. Avoiding the
fallacy, (k+NSj) is necessary to increase by +1.
Solution
Replace GR6)f)iii)1) with:
1) The descriptor for the (j+1)-th column or <dynamic
parameter specification> is assigned to the (k+NSj+1+1)th item descriptor area.
JPN-P02-143
Page 91 of 127
4-Minor
Editorial
20.9
<describe
“implementation-defined value” for the value of NAME in
GR7)c)iii)2)B) seems to be incorrect according to other rules
ISO/IEC JTC1/SC32/WG3
statement>
related with UNMAMED and NAME. “implementation-dependent
name” is correct.
Solution
Replace GR7)c)iii)2)B) with:
JPN-P02-144
2-Minor
20.9
Technical <describe
statement>
B) Otherwise, UNNAMED is set to 1 (one) and NAME is set to
an implementation-defined value dependent name.
While LENGTH and OCTET_LENGTH for a character string have
different values, those for binary string have the same value,
because unlike the case of a character string, length in octets of a
binary string is uniquely determined for each binary string value.
The phrase of “the maximum possible length in octets of the
binary string” in GR7)d)ii) is not appropriate to describe an unique
value.
Solution
Replace GR7)d)ii) with:
JPN-P02-145
2-Minor
20.9
Technical <describe
statement>
ii) If TYPE indicates a <binary string type>, then LENGTH and
OCTET_LENGTH is are set to the length or maximum
length in octets of the binary string and OCTET_LENGTH is
set to the maximum possible length in octets of the
binary string.
Although GR7)d)viii)2) mentions only a base table as a
referenceable table, is it not possible that a referenceable table is
a viewed table?
2) SCOPE_CATALOG, SCOPE_SCHEMA, and SCOPE_NAME are
set to the fully qualified name of the referenceable base
table.
Solution
Page 92 of 127
ISO/IEC JTC1/SC32/WG3
JPN-P02-146
4-Minor
Editorial
20.11
<output
using
clause>
None provided with comment.
The term “data type” in GR5)b)ii) should be “declared type”.
Solution
Replace GR5)b)ii) with:
JPN-P02-147
4-Minor
Editorial
20.15
<allocate
cursor
statement>
ii) If <into arguments> is specified, then let TDT be the
datadeclared type of the i-th <into argument>.
The term “<extended statement name>” in GR1)b) is
inappropriate, because V is the value given by <extended cursor
name>.
Solution
Replace GR1)b) with:
JPN-P02-148
4-Minor
Editorial
20.15
<allocate
cursor
statement>
b) Otherwise, let ECN be the <extended statementcursor
name>. The value of ECN is V.
Subrules following the description “… includes:” in GR3)d) and e)
and GR4)e) enumerate items that a cursor declaration descriptor
includes. Each of the subrules, however, is not an item. The
description “… includes” should be replaced with “… includes
indications that:” like GR4)d)
Solution
1. Replace GR3)d) and e) with:
d) A cursor declaration descriptor CDD is created. CDD includes
indications that:
i) The kind of cursor is an extended statement cursor.
ii) The provenance of the cursor is
Case:
…..
Page 93 of 127
ISO/IEC JTC1/SC32/WG3
iii) The name of the cursor is the extended name V and the
explicit or implicit <scope option> of the <extended
cursor name>.
iv) The cursor origin is P.
v) The cursor's declared properties are as determined by
the <cursor properties>.
e) A cursor instance descriptor CID is created. CID includes
indications that:
i) The cursor declaration descriptor is CDD.
ii) The SQL-session identifier is the current SQL-session
identifier.
iii) The cursor's state is closed.
2. Replace GR4)e) with:
JPN-P02-149
3-Major
Editorial
20.23
<preparable
dynamic
cursor
name>
e) A cursor instance descriptor CID is created. CID includes
indications that:
i) The cursor declaration descriptor is CDD.
ii) The SQL-session identifier is the current SQL-session
identifier.
iii) The cursor's state is open.
According to SR1), a <prepare statement> is one of the
statements that contain a <preparable dynamic cursor name>.
The production rule of the <prepare statement>, however, does
not derive a <preparable dynamic cursor name>.
Solution
1. Replace SR1) of 20.23 with:
JPN-P02-150
Page 94 of 127
4-Minor
20.23
1) Let PDCN be the <preparable dynamic cursor name>, let CN
be the <cursor name> contained in PDCN, and let P be the
<prepare statement>, <preparable dynamic delete
statement: positioned>, or <preparable dynamic update
statement: positioned> that contains PDCN.
An incorrect term “SLI-client module” appears in SR1)b)i).
ISO/IEC JTC1/SC32/WG3
Editorial
<preparable
dynamic
cursor
name>
Solution
Replace SR1)b)i) with:
The potentially referenced cursors of PDCN include every
declared dynamic cursor whose <cursor name> is equivalent
to CN and whose scope is the containing SQL-client module
(minus any <SQL schema statement>s contained in the SQLclient module) and every extended dynamic cursor having an
<extended cursor name> that has a scope of the containing
SLISQL-client module (minus any <SQL schema
statement>s contained in the SQL-client module) and whose
<cursor name> is equivalent to CN.
An incorrect term “user-defined locator” appears in SR10)a) and
c).
i)
JPN-P02-151
4-Minor
Editorial
21.1
<embedded
SQL host
program>
03
Solution
Replace SR10)a) and c) with:
a) If <embedded transform group specification> is not
specified, then an <embedded transform group
specification> containing a <multiple group specification>
with a <group specification> GS for each <host variable
definition> that has an associated user-defined type UDT,
but is not a user-defined type locator variable is implicit. The
<group name> of GS is implementation-defined and its
<path-resolved user-defined type name> is the <userdefined type name> of UDT.
b) …..
c) If <embedded transform group specification> contains a
<multiple group specification> MGS, then an <embedded
transform group specification> containing a <multiple group
specification> that contains MGS extended with a <group
specification> GS for each <host variable definition> that has
an associated user-defined type UDT, but is not a user-
Page 95 of 127
ISO/IEC JTC1/SC32/WG3
JPN-P02-152
JPN-P02-153
4-Minor
Editorial
4-Minor
Editorial
21.1
<embedded
SQL host
program>
21.1
<embedded
SQL host
program>
defined type locator variable and no equivalent of UDT is
contained in any <group specification> contained in MGS is
implicit. The <group name> of GS is implementation-defined
and its <path-resolved user-defined type name> is the
<user-defined type name> of UDT.
An undefined symbol “V” appears in SR21)h)i)3), 4), and 5).
Solution
Replace SR21)h)i)3), 4), and 5) with:
3) If EVN identifies an array locator variable, then PT is AAT AS
LOCATOR, where AAT is the associated array type of V EVN.
4) If EVN identifies a multiset locator variable, then PT is AMT
AS LOCATOR, where AMT is the associated multiset type of V
EVN.
5) 14 If EVN identifies a user-defined type locator variable, then
PT is UDT AS LOCATOR, where UDT is the associated userdefined type of V EVN.
In the definitions of the symbol TPT in SR21)h)ii)1)C), the
meaning of the symbol is immediately after “let” and the symbol is
on the right side immediately after “be”. This is, however,
different from other description that defines a symbol using “let”.
The symbol TPT and the meaning should be reversed.
Solution
Replace SR21)h)ii)1)C) with:
JPN-P02-154
1-Major
21.1
Technical <embedded
SQL host
program>
Page 96 of 127
C) Let TPT be the declared type of the single SQL parameter
of TSF be TPT. PT shall be assignable to TPT.
SR21)l)i) defines host parameter declarations of the externallyinvoked procedure in the implied SQL client module for an SQL
embedded host program.
i) If ES is not an <open statement>, then:
1) The <procedure name> of PS is implementation-
ISO/IEC JTC1/SC32/WG3
dependent.
2) Let n be the number of distinct <embedded variable
name>s contained in ES. Let HVNi, 1 (one) ≤ i ≤ n, be
the i-th such <embedded variable name> and let HVi be
the host variable identified by HVNi.
3) For each HVNi, 1 (one) ≤ i ≤ n, PS contains a <host
parameter declaration> PDi defining a host parameter Pi
such that:
A) The <host parameter name> PNi of PDi is
implementation-dependent.
B) The <host parameter data type> PTi of PDi is
determined as follows.
Case:
I) If HVi is a binary large object locator variable, then
PTi is BLOB AS LOCATOR.
…..
V) 14 If HVi is user-defined type locator variable,
then PTi is UDT AS LOCATOR, where UDT is the
associated user-defined type of HVi.
VI) Otherwise, PTi is the SQL data type that
corresponds to the host language data type of HVi
as specified in Subclause 13.6, “Data type
correspondences”.
…..
As reported in Annex G, SR21)l)i)3)B)VI) does not work, because
the mapping from a host language data type to an SQL data type
is not injective in Table16 of subclause 13.6. Especially, in the
case of MUMPS, MUMPS characters correspond to many SQL data
types. It seems to be appropriate that for a derived type
specification, the host parameter data type is the type specified
following to SQL TYPE and for a MUMPS type specification, that is
the type specified in itself regardless of Table16 of subclause
13.6.
Page 97 of 127
ISO/IEC JTC1/SC32/WG3
Solution
JPN-P02-155
4-Minor
Editorial
21.1
<embedded
SQL host
program>
None provided with comment.
The description of “Syntax Rule in <embedded SQL Ada
program>,…” appears in SR22)b). It is not appropriate, because
syntax rules are in a subclause, not in a syntax element.
Solution
Replace SR22)b) with:
JPN-P02-156
Page 98 of 127
3-Major
Editorial
21.3
<embedded
SQL Ada
program>,
21.4
<embedded
SQL C
program>,
21.5
<embedded
SQL COBOL
program>,
21.6
<embedded
SQL Fortran
b) Each <host variable definition> in an <embedded SQL
declare section> has been replaced by a valid data definition
in the target host language according to the Syntax Rules
specified in an Subclause 21.3, “ <embedded SQL Ada
program>”, Subclause 21.4, “<embedded SQL C
program>”, Subclause 21.5, “<embedded SQL COBOL
program>”, Subclause 21.6, “<embedded SQL Fortran
program>”, Subclause 21.8, “<embedded SQL Pascal
program>”, or an Subclause 21.9, “<embedded SQL PL/I
program>” clause.
SR6) of 21.3 defines the term “referenced type” of the reference
as follows:
6) The reference type identified by <reference type>
contained in an <Ada REF variable> is called the referenced
type of the reference.
“The reference type” at the beginning of the rule is not
appropriate, because the defined term is called “referenced type”.
“The referenced type identified by <referenced type> contained
in <reference type>” is appropriate instead of “The reference type
identified by <reference type>”. The same issue is also in SR6) of
21.4, SR6) of 21.5, SR7) of 21.6, SR10) of 21.7, SR6) of 21.8, and
SR6) of 21.9.
ISO/IEC JTC1/SC32/WG3
program>,
21.7
<embedded
SQL MUMPS
program>,
21.8
<embedded
SQL Pascal
program>,
21.9
<embedded
SQL PL/I
program>
Solution
1. Replace SR6) of 21.3 with:
6) The referenced type identified by <referenced type>
contained in <reference type> contained in an <Ada REF
variable> is called the referenced type of the reference.
2. Replace SR6) of 21.4 with:
6) The referenced type identified by <referenced type>
contained in <reference type> contained in a <C REF
variable> is called the referenced type of the reference.
3. Replace SR6) of 21.5 with:
6) The referenced type identified by <referenced type>
contained in <reference type> contained in a <COBOL REF
variable> is called the referenced type of the reference.
4. Replace SR7) of 21.6 with:
7) The referenced type identified by <referenced type>
contained in <reference type> contained in an <Fortran
REF variable> is called the referenced type of the reference.
5. Replace SR10) of 21.7 with:
10) The referenced type identified by <referenced type>
contained in <reference type> contained in an <MUMPS
REF variable> is called the referenced type of the reference.
6. Replace SR6) of 21.8 with:
6) The referenced type identified by <referenced type>
contained in <reference type> contained in an <Pascal REF
Page 99 of 127
ISO/IEC JTC1/SC32/WG3
variable> is called the referenced type of the reference.
7. Replace SR6) of 21.9 with:
6) The referenced type identified by <referenced type>
contained in <reference type> contained in an <PL/I REF
variable> is called the referenced type of the reference.
JPN-P02-157
4-Minor
Editorial
21.4
<embedded
SQL C
program>
There is a typo in SR5)h) that host variable identifier “hvn” is in
upper case.
Solution
Replace SR5)h) with:
JPN-P02-158
JPN-P02-159
21.5
<embedded
SQL COBOL
program>,
21.9
<embedded
SQL PL/I
program>
1-Major
21.7
Technical <embedded
SQL MUMPS
program>
3-Major
Editorial
h) The syntax
SQL TYPE IS BINARY ( L )
for a given <C host identifier> hvn shall be replaced by
unsigned char HVN hvn [L]
in any <C BINARY variable>.
The conformance rule for T071, “BIGINT” is missing in subclause
21.5 and subclause 21.9.
Solution
None provided with comment.
The whole <embedded SQL MUMPS declare> shall be removed
from the program derived from an <embedded SQL MUMPS
program>, because M language has no data type declaration. The
modified <MUMPS variable definition> in SR9) is not necessary.
Solution
None provided with comment.
Page 100 of 127
ISO/IEC JTC1/SC32/WG3
JPN-P02-160
1-Major
21.7
Technical <embedded
SQL MUMPS
program>
M language has no data type declaration and any data in MUMPS
program is treated as a character string. Is it really possible that
an implementation supports data types specified in <MUMPS
derived type specification> which is not castable from and to a
character type?
Solution
JPN-P02-161
2-Minor
21.7
Technical <embedded
SQL MUMPS
program>
None provided with comment.
SR5), quoted below, needs to provide the rule when CHARACTER
SET is explicitly specified. In addition, a character length is
necessary to be defined based on the character set specification
and the char length units, like other host languages.
5) The <MUMPS character variable> describes a variablelength character string. The equivalent SQL data type is
CHARACTER VARYING whose maximum length is the
<character length> of the <MUMPS length specification> and
whose character set is implementation-defined.
Solution
JPN-P02-162
3-Major
Editorial
21.9
<embedded
SQL PL/I
program>
None provided with comment.
While SR5)a) states that the specified character set specification is
removed for CHARACTER type and CHARACTER VARYING TYPE, it
is not mentioned for CLOB type.
Solution
Replace SR5)a) with:
JPN-P02-163
Page 101 of 127
4-Minor
23.1 <get
a) Any optional CHARACTER SET specification shall be
removed from the CHARACTER or CHARACTER VARYING
alternatives of a <PL/I type specification> and a <PL/I
CLOB variable>.
…..
In the definitions of the symbol STS in SR1), the meaning of the
ISO/IEC JTC1/SC32/WG3
Editorial
diagnostics
statement>
symbol is immediately after “let” and the symbol is on the right
side immediately after “be”. This is, however, different from other
description that defines a symbol using “let”. The symbol STS and
the meaning should be reversed.
Solution
Replace SR1) with:
JPN-P02-164
3-Major
Editorial
23.1 <get
diagnostics
statement>
1) Let STS be the <simple target specification> contained in a
<statement information item> or <condition information
item> be STS. …..
…..
The following title of Table 32 includes “03” denoting that Part3
SQL/CLI modifies this table.
03 04 09 14 15
Table 32 — SQL-statement codes
Part3 does not, however, add any new SQL statement. In
addition, “15” denotes Part15, but it does not exist.
Solution
Replace the title of Table 32:
03 04 09 14 15
JPN-P02-165
2-Minor
23.1 <get
Technical diagnostics
statement>
Table 32 — SQL-statement codes
GR2)f), quoted below, mentions the <table name> directly
contained in S. If S is an insert statement or a merge statement,
however, one or more <table name>s may be directly contained.
So, subrules of GR2)f) may not work.
f) The value of ROW_COUNT is the number of rows affected as
the result of executing a <delete statement: searched>,
<insert statement>, <merge statement>, or <update
statement: searched> or as a direct result of executing the
previous SQL-statement. Let S be the <delete statement:
Page 102 of 127
ISO/IEC JTC1/SC32/WG3
searched>, <insert statement>, <merge statement>, or
<update statement: searched>. Let T be the table identified
by the <table name> directly contained in S.
Case:
i) If S is an <insert statement>, then the value of
ROW_COUNT is the number of rows inserted into T.
ii) …
…..
Solution
JPN-P02-166
4-Minor
Editorial
23.1 <get
diagnostics
statement>
None provided with comment.
In GR4)h)i)1)A), it is not clear what name is the <qualified
identifier>. It should be clarified like “<qualified identifier> of that
view” in GR4)j).
Solution
Replace GR4)h)i)1)A) with:
JPN-P02-167
2-Minor
23.1 <get
Technical diagnostics
statement>
Page 103 of 127
A) If the specific table referenced was not a declared local
temporary table, then the <catalog name>, the <unqualified
schema name> of the <schema name> of the schema that
contains the table that caused the syntax error or access rule
violation, and the <qualified identifier> of that table,
respectively.
GR4)l) reads:
l) If the value of RETURNED_SQLSTATE corresponds to
external routine invocation exception, external routine
exception, SQL routine exception, or warning, then
i) The values of ROUTINE_CATALOG and
ROUTINE_SCHEMA are the <catalog name> and the
<unqualified schema name>, respectively, of the
<schema name> of the schema containing the SQLinvoked routine.
ii) …
ISO/IEC JTC1/SC32/WG3
…
According to this rule, when SQL statement completes with a
warning, the values of ROUTINE_CATALOG and
ROUTINE_SCHEMA are assigned to a diagnostics area regardless
of whether or not a routine has been executed. The same issue is
also in GR4)m).
Solution
JPN-P02-168
3-Major
Editorial
23.1 <get
diagnostics
statement>
None provided with comment.
GR4)l)iii)1) reads:
1) If the condition is related to parameter Pi of the SQLinvoked routine, then:
A) The value of PARAMETER_MODE is the <parameter
mode> of Pi.
B) The value of PARAMETER_ORDINAL_POSITION is the
value of i.
C) The value of PARAMETER_NAME is a zero-length string.
Like GR4)q)iii)3), PARAMETER_NAME should be set to the name
of Pi, if any.
Solution
Replace GR4)l)iii)1)C) with:
JPN-P02-169
Page 104 of 127
4-Minor
Editorial
24.1
SQLSTATE
C) If an <SQL parameter name> was specified for the
SQL parameter when the SQL-invoked routine was
created, then the value of PARAMETER_NAME is the
<SQL parameter name> of Pi. Otherwise, Tthe value of
PARAMETER_NAME is a zero-length string.
The term “implementation-specified” appears. The term
“implementation-defined” is correct rather than it.
ISO/IEC JTC1/SC32/WG3
Solution
1. Replace the second paragraph with:
Class values that begin with one of the <digit>s '0', '1', '2', '3',
or '4' or one of the <simple Latin upper case letter>s 'A', 'B',
'C', 'D', 'E', 'F', 'G', or 'H' are returned only for conditions
defined in ISO/IEC 9075 or in any other International
Standard. The range of such class values is called standarddefined classes. Some such class codes are reserved for use by
specific International Standards, as specified elsewhere in this
Clause. Subclass values associated with such classes that also
begin with one of those 13 characters are returned only for
conditions defined in ISO/IEC 9075 or some other International
Standard. The range of such subclass values is called standarddefined subclasses. Subclass values associated with such
classes that begin with one of the <digit>s '5', '6', '7', '8', or '9'
or one of the <simple Latin upper case letter>s 'I', 'J', 'K', 'L',
'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', or 'Z' are
reserved for implementation-specified defined conditions
and are called implementation-defined subclasses.
2. Replace the third paragraph with:
Class values that begin with one of the <digit>s '5', '6', '7', '8',
or '9' or one of the <simple Latin upper case letter>s 'I', 'J', 'K',
'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', or 'Z' are
reserved for implementation- specified defined exception
conditions and are called implementation-defined classes. All
subclass values except '000', which means no subclass,
associated with such classes are reserved for implementationspecified defined conditions and are called implementationdefined subclasses. An implementation-defined completion
condition shall be indicated by returning an implementationdefined subclass in conjunction with one of the classes
successful completion, warning, or no data.
Page 105 of 127
ISO/IEC JTC1/SC32/WG3
3. Replace the fifth paragraph with:
JPN-P02-170
4-Minor
Editorial
24.1
SQLSTATE
An implementation- specified defined condition may
duplicate, in whole or in part, a condition defined in ISO/IEC
9075; however, if such a condition occurs as a result of
executing a statement, then the corresponding
implementation-defined SQLSTATE value shall not be returned
in the SQLSTATE parameter but may be returned in the
diagnostics area.
The term “subcode” appears in NOTE497. The term “subclass” is
correct rather than it.
Solution
Replace NOTE 497 with:
JPN-P02-171
3-Major
Editorial
24.1
SQLSTATE
NOTE 497 — One consequence of this is that an SQLimplementation may, but is not required by ISO/IEC 9075 to,
provide subcodessubclases for exception condition syntax
error or access rule violation that distinguish between the
syntax error and access rule violation cases.
In the Subcondition column of the row in Table 33 whose
Condition column is “Remote Database Access”, Table 34 is
referred for the description of a subcondition. In Table34,
however, any subcondition is not described but subclass origin
does.
Solution
Replace Table 33 with:
…
X
Page 106 of 127
…..
Remote
DataBase
Access
…
NZ
…..
(See Table 12,
“SQLSTATE class and
subclass values for
…..
ISO/IEC JTC1/SC32/WG3
RDA-specific
conditions” in
[ISO9579],
Subclause 8.1,
“Exception codes for
RDA-specific
Conditions”Table 34,
“SQLSTATE class
codes for RDA”, for
the definition of
protocol subconditions
and subclass code
values)
JPN-P02-172
JPN-P02-173
JPN-P02-174
3-Major
Editorial
3-Major
Editorial
4-Minor
Editorial
…
…..
…
…..
…..
24.2 Remote Although the subclause states to reserve subclass codes for RDA,
Database
they are not provided in the text of the subclause and in Table 34.
Access
SQLSTATE
Subclasses
Solution
None provided with comment.
24.2 Remote Although the first paragraph states that [ISO8649] and
Database
[ISO10026] define some exception conditions, they do not define
Access
them.
SQLSTATE
Subclasses,
Solution
2.1 ISO and
IEC
None provided with comment.
standards
24.2 Remote The value of SUBCLASS_ORIGIN column in Table 34 does not
Database
form a literal denoting a standard like ‘ISO9579’.
Access
SQLSTATE
Solution
Subclasses
SQLSTATE
Class
HZ
Page 107 of 127
Subclass Origin
See [ISO9579]
ISO/IEC JTC1/SC32/WG3
JPN-P02-175
4-Minor
Editorial
24.2 Remote The fourth paragraph states that an exception may result in an
Database
SQL completion condition. This is inappropriate, because an
Access
exception results in an SQL exception condition
SQLSTATE
Subclasses
Solution
Replace fourth paragraph with:
JPN-P02-176
3-Major
Editorial
A Remote Database Access exception may also result in an
SQL completion exception condition defined in Table 33,
“SQLSTATE class and subclass values” (such as '40000',
transaction rollback); if such a condition occurs, then the 'HZ'
class SQLSTATE shall not be returned in the SQLSTATE
parameter, but may be returned in the Diagnostics Area.
25.3 Implied Feature S097, “Array element assignment” and Feature S098,
feature
“ARRAY_AGG” imply Feature S091, “Basic array support”. Table
relationships 35 — Implied feature relationships of SQL/Foundation, however,
of
does not include those features.
SQL/Foundat
ion
JPN-P02-177 JPN-P02-198 3-Major
Editorial
AnnexB
Solution
Add the following two rows immediately after the row of Feature
S096:
S096 Optional array bounds
S091 Basic array support
S09 Array element
S09 Basic array support
7
assignment
1
S09 ARRAY_AGG
S09 Basic array support
8
1
The following implementation-defined elements in 1) of Annex B
are not found in 2.2.2.
1) Subclause 4.2.2, “Comparison of character strings”:
a) The specific character set associated with the subtype of
character string represented by the <key word>s
NATIONAL CHARACTER is implementation-defined.
b) The circumstances in which conversion of non-UCS
Page 108 of 127
ISO/IEC JTC1/SC32/WG3
character string expressions from one character set to
another is automatic is implementation-defined.
As for Annex B 1)a), it seems to correspond to the first sentence
of the 5th paragraph of 4.2.1, which reads:
The <key word>s NATIONAL CHARACTER are used to specify
an implementation-defined character set.
Solution
JPN-P02-178
4-Minor
Editorial
AnnexB
None provided with comment.
Although 54)b) corresponds to SR4) of subclause 10.1, the value
of the upper bound of the maximum value of <interval fractional
seconds precision> is different from that specified in subclause
10.1.
Solution
Replace 54)b) with:
JPN-P02-179 JPN-P02-198 4-Minor
Editorial
AnnexB
b) The maximum value of <interval fractional seconds
precision> is implementation-defined, but shall not be less
than 26.
Although 55)a) corresponds to GR3)b)ii) of subclause 10.4, the
description is less precise than that in subclause 10.4. The
condition specified in subclause 10.4 that R is not an SQL routine
is lacking in 55)a).
Solution
Replace 55)a) with:
a) If pi Pi is an output SQL parameter and R is not an SQL
routine, then CPVi is an implementation-defined value of
most specific type Ti.
Page 109 of 127
ISO/IEC JTC1/SC32/WG3
JPN-P02-180
4-Minor
Editorial
AnnexB
The term “the top cell” should be used rather than “the first cell”
in 55)h), because “the top cell” should be used everywhere other
than in55)h).
Solution
Replace 55)h) with:
JPN-P02-181
4-Minor
Editorial
AnnexB
h) If the external security characteristic of an external SQLinvoked routine is IMPLEMENTATION DEFINED, then the user
identifier and role name in the first top cell of the
authorization stack of the new SQL-session context are
implementation-defined.
93)b) has a typo that an incorrect symbol “m” is used.
Solution
Replace 93)b)with:
JPN-P02-182
4-Minor
Editorial
AnnexB
b) If H does not contain an <embedded authorization
declaration>, then mM contains a <module authorization
clause> that specifies “SCHEMA SN”, where SN is an
implementation-defined <schema name>.
The term “transaction” in 100)c) and d) should be “SQLtransaction”.
Solution
Replace 100)c) and d)with:
JPN-P02-183
Page 110 of 127
4-Minor
AnnexC
c) Whether a <direct implementation-defined statement> may
be associated with an active SQL-transaction is
implementation-defined.
d) Whether a <direct implementation-defined statement>
initiates an SQL-transaction is implementation-defined.
The symbol “c” should be an upper case letter “C” in 10)a).
ISO/IEC JTC1/SC32/WG3
Editorial
Solution
Replace 10)a) with:
JPN-P02-184
4-Minor
Editorial
AnnexC
a) If QCR is a group-invariant column reference and the most
specific type of QCR is character string, datetime with time
zone, or a user-defined type, then QCR denotes an
implementation-dependent value that is not distinct from
the value of cC in every row of a given group of the
qualifying query of QCR.
A subclause title is missing in 25).
Solution
Replace 25) with:
25) Subclause 8.15, “<distinct predicate>”:
a) …
JPN-P02-185
3-Major
Editorial
AnnexF
F401, ”Extended joined table”, F402, “Named column joins for
LOBs, arrays, and multisets”, and F403, “Partitioned join tables”
are optional features. These should be excluded from the
description about F041, “Basic joined table” in Table 36,”Feature
taxonomy and definition for mandatory features”.
Solution
Replace Feature Description column of the row whose number is
116 in Table 36.
JPN-P02-186
Page 111 of 127
4-Minor
Editorial
AnnexF
—Subclause 7.7, “<joined table>” : Without support for
feature F401 through F403
The description of “the value of <unquoted timestamp string> is
simply <time value>” in Feature Description of row 127 in Table
36 should be “the value of <unquoted timestamp string> simply
ISO/IEC JTC1/SC32/WG3
contains <time value>”, because an <unquoted timestamp
string> contains also <date value> not only <time value>.
Solution
Replace Feature Description of row 127 in Table 36 with:
JPN-P02-187
3-Major
Editorial
AnnexF
— Subclause 5.3, “<literal>”: The <timestamp literal> form of
<datetime literal>, where the value of <unquoted timestamp
string> is simply contains <time value> that does not include
the optional <time zone interval> — Subclause 6.1, “<data
type>”: The TIMESTAMP <datetime type> without the <with
or without time zone> clause
— Subclause 6.30, “<datetime value expression>”: For values
of type TIMESTAMP
There is an annotation in the footnote of Table36. The annotation
number of it, however, is not referenced anywhere in the table.
Solution
JPN-P02-188
4-Minor
Editorial
AnnexF
None provided with comment.
Table 37 includes features F231, and F502 which are specified in
Part11 SQL/Schemata. They are necessary to be removed.
Solution
Delete row 54 through row 57, row 108 through row 110 and row
214 in Table 37:
…..
54
55
56
57
Page 112 of 127
…..
F231
F23101
F23102
F231-
…..
Privilege tables
TABLE_PRIVILEGES view
COLUMN_PRIVILEGES view
USAGE_PRIVILEGES view
ISO/IEC JTC1/SC32/WG3
03
…..
F502
F50202
110
F50203
…..
…..
214
T011
…..
…..
An invalid character
186 of Table 37.
…..
108
109
JPN-P02-189
4-Minor
Editorial
AnnexF
…..
Enhanced documentation tables
SQL_IMPLEMENTATION_INFO view
SQL_PACKAGES view
…..
Timestamp in Information Schema
…..
appears in the row number column of row
Solution
Replace row 186 in Table 37 with:
JPN-P02-190
No specific
1-Major
Technical location
…..
…..
…..
186/
S098
ARRAY_AGG
>
…..
…..
…..
The approach described in SQL system-versioned table is not a
valid approach to the issue of capturing historical data changes.
This approach is essentially different extension of the function of
constraints and data manipulations such as insert/update/delete
operations on a base table that forms the basis of SQL
functionality. This approach is such that it is said in the proverb of
Japan, “To engraft a bamboo upon a tree.” This extension of the
function should be manipulated in SQL application program itself
or provided by applications upon SQL databases.
Solution
JPN-P02-191
Page 113 of 127
No specific
1-Major
Technical location
None provided with comment.
The rows that include the specified historical system versions can
be retrieved, but the specific operations for historical data are not
ISO/IEC JTC1/SC32/WG3
defined.
Solution
JPN-P02-192
No specific
1-Major
Technical location
None provided with comment.
It is necessary to examine the interoperability between the
functional specification that supports a system-versioned table
and the functional specification that supports an existing table.
There are some issues of transaction and recovery to be
discussed.
Solution
JPN-P02-193
No specific
1-Major
Technical location
None provided with comment.
It is uncertain whether the rows that are deleted after the
expiration time are recoverable or not. There is no rule of
expiration specification after the retention period.
Solution
JPN-P02-194
No specific
1-Major
Technical location
None provided with comment.
It is very hard to understand the function "system-versioned
tables" easily from the current CD. A system-versioned table has
very different aspect from a regular table in various terms. Also,
the function should be individually operatable, but it seems that
the explanation itself is dispersed over a lot of Clauses, so that the
reader has to check the related sentence in whole contents and
understand how to use the function exactly.
Solution
1. Add a new subclause for the concept of a system-versioned
table in clause 4.
2. Develop a new part of the Technical Report 19075 to provide a
tutorial about a system-versioned table. The Use Case might be
useful to understand the operation.
Page 114 of 127
ISO/IEC JTC1/SC32/WG3
JPN-P02-195
No specific
1-Major
Technical location
It is necessary to recognize the falsification including the leakage
and the deletion of data. The session security context is
introduced into SQL-server, and the number of rows processed as
a result of data operation, such as SELECT, INSERT, UPDATE,
DELETE, and MERGE, are limited in an SQL-session.
Solution
JPN-P02-196
No specific
1-Major
Technical location
None provided with comment.
SQL-server security is protected by privileges. The information
that can be referenced, the information that can be updated, and
the objects that can be manipulated (schema objects, etc.) are
restricted by privileges. SQL-server can keep track of various
operations on the database in order to make it possible to
determine whether or not the privileges are operating
appropriately. This facility is called the security audit facility, and
the record of actions that is output is called an audit trail. The
audit trail that is output can be examined to check for
inappropriate accesses.
The audit trail collects information on who performed what action
on what using what privilege. A threat agent who has connected
to SQL system impersonates an authorized user or an authorized
user impersonates another authorized user. This leads to the
situation that a user can access with privileges that the user
should not have. Authorized access to assets by a threat agent
can not be protected by means of privileges. This access must be
detected or restrained by auditing. This work should focus on
standardizing audit trail data and format.
Solution
JPN-P02-197
Page 115 of 127
No specific
1-Major
Technical location
None provided with comment.
Numerical calculations in SQL approximate numeric types are
based on Binary Floating Point arithmetic, and therefore, it is wellknown that the results may not be always identical to what users
can obtain naturally by using pencil and paper. IEEE had been
ISO/IEC JTC1/SC32/WG3
discussing a new Decimal Floating Point arithmetic to overcome
this deficiency, and that was published in 2008 as IEEE 754R.
Following this movement, computer hardware (processors of Intel,
Unix, host systems) and language compilers like C/C++ started to
support the Decimal Floating Point arithmetic. In the areas of
financial, insurance, and accounting applications, those
frameworks are desiring Decimal Floating Point arithmetic as exact
and reliable calculations. In these circumstances, the SQL
standard should support a Decimal Floating Point type and its
arithmetic as a new numeric type.
Solution
JPN-P02-198 JPN-P02-008 3-Major
JPN-P02-177 Editorial
JPN-P02-179
No specific
location
None provided with comment.
A lot of implementation-defined elements in rules specified in the
standard are not included in Annex B. A number of
implementation-defined elements included in Annex B are
described differently from the corresponding rules or does not
have the corresponding rules specified in the standard.
Solution
JPN-P02-199
3-Major
Editorial
No specific
location
None provided with comment.
A lot of implementation-dependant elements in rules specified in
the standard are not included in Annex C. A number of
implementation-dependant elements included in Annex C are
described differently from the corresponding rules or does not
have the corresponding rules specified in the standard.
Solution
JPN-P02-200 JPN-P02-030 4-Minor
Editorial
No specific
location
None provided with comment.
A lot of feature names are incomplete, such as Feature F821,
“Local ”, whose complete name is “Local table references”.
Solution
Page 116 of 127
ISO/IEC JTC1/SC32/WG3
None provided with comment.
Page 117 of 127
Template for comments and secretariat observations
Date: 2008 April 15th
Document: CD 9075-2
1
2
(3)
4
5
(6)
(7)
MB1
Clause No./
Subclause
No./
Annex
(e.g. 3.1)
Paragraph/
Figure/Table
/Note
(e.g. Table 1)
Type
of
comment2
Comment (justification for change) by the MB
Proposed change by the MB
Secretariat observations
on each comment submitted
GB-01
3.1.6
ed
GB-02
4.2.2
GB-03
4.7.1
te
GB-04
4.14.2
ed
1
te
In the Definitions in Part 2, and in other subclauses, “data
type” is frequently written simply as “type”. Either is
acceptable, but in the interests of mindnumbing
consistency, one style should be used throughout the
standard.
The first paragraph says that two character strings are
comparable if either they have the same character set or
there exists a collation that is applicable to both.
However, 8.2 <comparison predicate> SR 5)a) subrules i)
and ii) refer to Subclauses 9.9 "Equality operations" and
9.12 "Ordering operations", which both refer to 9.13
"Collation determination", which refers to 9.3 "Result of
data type combinations", where SR 3)a)i) requires that all
character strings to be compared have the same
repertoire. Thus it seems that even if there were a
collation that applied to two character sets with different
repertoires, the character sets would not be comparable.
To solve this, we can either reword Concepts to say that
comparability requires a single shared character
repertoire, or we can change 9.13 "Collation derivation"
to say that the collation determined by the rules must be
applicable to all comparands. The latter course appears
more general.
The descriptor of a method specification seems not to be
correctly initialized by subclauses 11.46 “<add original
method specification>” GR 1 and 11.47 “<add overriding
method specification>” GR 1. They identify different sets
of attributes and present the attributes described in both
places in a different sequence.
The definition of current system version is really the
system version at time T, and the current system version
should be the system version at the current time.
1 MB = Member body (enter the ISO 3166 two-letter country code, e.g. CN for China; comments from the ISO/CS editing unit are identified by **)
2 Type of comment:
ge = general
te = technical ed = editorial
NOTE
Columns 1, 2, 4, 5 are compulsory.
page 1 of 127
ISO electronic balloting commenting template/version 2001-10
Template for comments and secretariat observations
Date: 2008 April 15th
Document: CD 9075-2
1
2
(3)
4
5
(6)
(7)
MB1
Clause No./
Subclause
No./
Annex
(e.g. 3.1)
Paragraph/
Figure/Table
/Note
(e.g. Table 1)
Type
of
comment2
Comment (justification for change) by the MB
Proposed change by the MB
Secretariat observations
on each comment submitted
GB-05
4.14.2
te
System version tables use a transaction timestamp that is
set before any steps of a transaction are executed, so
that each step can then use the same one and thus all
appear to have been executed at the same time. While
the actual value of a transaction timestamp is
implementation dependent, generating it at the start of a
transaction cannot provide the behaviour that would be
expected for transaction sequencing, which would require
the transaction end time.
A better approach might be to record a transaction
identifier in system version tables rather than transaction
end time, and record transaction end time elsewhere (in
some system table) that can be set after completion of a
transaction (though perhaps still implementation
dependent). A function such as
SYS_TIME(TRANSACTION_ID) could provide the
transaction time for subsequent use.
GB-06
4.18.7
te
We have added some new kinds of <table primary> that
are not discussed in this Subclause. The missing kinds
are:
 first bullet about immediately containing a
<table or query name> assumes that this
includes <only spec>, but actually <only spec>
is not a kind of <table or query name>.
 need <table function derived table>
 need to support parenthesized <join table>
1 MB = Member body (enter the ISO 3166 two-letter country code, e.g. CN for China; comments from the ISO/CS editing unit are identified by **)
2 Type of comment:
ge = general
te = technical ed = editorial
NOTE
Columns 1, 2, 4, 5 are compulsory.
page 2 of 127
ISO electronic balloting commenting template/version 2001-10
Template for comments and secretariat observations
Date: 2008 April 15th
Document: CD 9075-2
1
2
(3)
4
5
(6)
(7)
MB1
Clause No./
Subclause
No./
Annex
(e.g. 3.1)
Paragraph/
Figure/Table
/Note
(e.g. Table 1)
Type
of
comment2
Comment (justification for change) by the MB
Proposed change by the MB
Secretariat observations
on each comment submitted
GB-07
7.6
te
GB-08
7.6
te
GB-09
7.6
te
GB-10
7.7
te
Syntax Rule 7)a), which covers the case of a <table
factor> simply containing a <joined table>, defines a
symbol JT that is not referenced in any subsequent rule.
Otherwise, SR 7)b) defines symbols that are used in SR8)
to identify a <correlation name> or, if none is present, a
<table or query name>, as a range variable. There is no
definition of range variable for a <table factor> that
simply contains a <joined table>. Syntax Rule 8 assumes
that every <table factor> simply contains either a
<correlation name> or a <table or query name>. This is
not the case when a <table primary> TP immediately
contains a <parenthesized joined table> PJT. A possible
solution is to make SR8) part of case b) or SR7). Another
is to add an appropriate guard to SR8).
Syntax Rule 8) assumes that every <table factor> has
either a <correlation name> or a <table or query name>.
But in the case <table factor> ::= <table primary> ::=
<left paren> <joined table> <right paren>, this is not
true. This causes problems elsewhere. For example, 7.7
<joined table> assumes the <table reference>s have
range variables, but they don't in the case of nested
<joined table>s. For example, (T1 LEFT OUTER JOIN T2
ON T1.K = T2.K) CROSS JOIN T3.
The Syntax Rules contain multiple definitions of the
symbol TP. It is not always obvious whether or not these
refer to the same thing. It would be a useful clarification
to factor out the redefinitions into a single rule and
introduce other symbols where appropriate.
Syntax Rule 2) assumes that every <table reference> or
<table factor> that is an operand of a <joined table> has
a range variable. This is not so when one of the operands
contains a <joined table>.
1 MB = Member body (enter the ISO 3166 two-letter country code, e.g. CN for China; comments from the ISO/CS editing unit are identified by **)
2 Type of comment:
ge = general
te = technical ed = editorial
NOTE
Columns 1, 2, 4, 5 are compulsory.
page 3 of 127
ISO electronic balloting commenting template/version 2001-10
Template for comments and secretariat observations
Date: 2008 April 15th
Document: CD 9075-2
1
2
(3)
4
5
(6)
(7)
MB1
Clause No./
Subclause
No./
Annex
(e.g. 3.1)
Paragraph/
Figure/Table
/Note
(e.g. Table 1)
Type
of
comment2
Comment (justification for change) by the MB
Proposed change by the MB
Secretariat observations
on each comment submitted
GB-11
No specific
location
te
GB-12
No specific
location
te
The time at which the effects of a transaction become
visible to other transactions should be available. Further,
some symbolic representation of this time should be
available within the transaction. One possible solution is
to introduce a “transaction identifier” which is known to
the transaction, and a system table, generally accessible,
in which the termination time of each transaction is
recorded against its transaction identifier. Such a
mechanism would facilitate audit processes.
There are a number of areas where the current
specification does not address requirements that are
becoming visible, or have been visible for some time in
the market place, for example the handling of streaming
data from sensors, security concerns and temporal
functionality. Since the increased functionality relative to
the established standard that is proposed is relatively
small, this CD should not be progressed until some at
least of these evolving requirements have been
addressed.
1 MB = Member body (enter the ISO 3166 two-letter country code, e.g. CN for China; comments from the ISO/CS editing unit are identified by **)
2 Type of comment:
ge = general
te = technical ed = editorial
NOTE
Columns 1, 2, 4, 5 are compulsory.
page 4 of 127
ISO electronic balloting commenting template/version 2001-10
Template for comments and secretariat observations
Document: ISO/
Date:
1
2
3
4
5
6
7
MB1
Clause /
Subclause/
Annex/Figure/Tabl
e
(e.g. 3.1, Table 2)
Paragraph/
List item/
Note/
(e.g. Note 2)
Type
of
comment2
Comment (justification for change)
Proposed change
Secretariat observations
on each comment submitted
USA Comments on ISO/IEC CD 9075-2 (SQL/Foundation)
SEQ
#
Cmnt
ID
001. USA-P02-010
See
Also
Severit
y
4-Minor
Editorial
Reference
Description
P02-04.13,
The phrase “associated table constraint definition” should be
Columns, fields, italicized in the last m-dash of the sixth paragraph.
and attributes
Solution
002. USA-P02-020
P02-07.06,
1-Major
Technical <table
reference>
See above.
General Rule 1) c) ii) 1) specifies the behavior of <table
reference> containing a <system-version specification>. The rules
currently in place for VERSIONS BEFORE SYSTEM TIME and
VERSIONS AFTER SYSTEM TIME options are not quite correct. We
believe VERSIONS BEFORE SYSTEM TIME TS1 should behave like
VERSIONS BETWEEN SYSTEM TIME min-ts AND TS1, and
VERSIONS AFTER SYSTEM TIME TS1 should behave like
VERSIONS BETWEEN SYSTEM TIME TS1 AND max-ts, where mints and max_ts are the smallest and the largest value, respectively,
of the value space of the data type of system-version start and
system-version end columns.
Solution
003. USA-P02-030
P02-08.06,
1-Major
Technical <similar
predicate>
None provided with comment.
<similar predicate> was replaced by the <regex like predicate> in
SQL/Foundation:2008. The <similar predicate> should now be
deprecated.
Solution
004. USA-P02-040
P02-09.05,
2-Minor
Technical Type
precedence list
None provided with comment.
TIMESTAMP should be added to the list of data types in the type
precedence list of DATE. This enhances the pool of routines that
Page 5 of 127
Addressed
By
See comment.
SEQ
#
Cmnt
ID
See
Also
Severit
y
Reference
determination
Description
Addressed
By
can be invoked with date values. If the routine expects a
timestamp value as input, then the date supplied as the argument
is implicitly cast to a timestamp (i.e., the time portion of the
timestamp is all zeros, which makes it deterministic and is
consistent with explicit CAST rules DATE -> TIMESTAMP).
Solution
005. USA-P02-050
3-Major
Editorial
None provided with comment.
P02-10.08,
The name of Feature F492 in Conformance Rule 3) is incomplete.
<constraint
It should be “Optional table constraint enforcement“.
name
definition> and There are more instances in Foundation where a feature name is
incomplete (e.g., Subclause 11.15, <set column not null clause>,
<constraint
characteristics> CR 1). Maybe there is something wrong with the style sheet(s)
used to produce the PDF files.
Partially by
comment.
Solution
See above.
006. USA-P02-060
4-Minor
Editorial
P02-11.15, <set In General Rule 1) c) i), one of the instances of “is added” needs
column not null to be removed.
clause>
See comment.
Solution
007. USA-P02-070
3-Major
Editorial
P02-11.20,
<alter identity
column
specification>
See above.
In the Format, in the production of <alter identity column
specification>, in the first alternative “<set identity column
generation clause> [ <alter identity column option> ]“ as
well as in Syntax Rule 1), 1)b), Note 306, and General Rule 1),
the ellipsis (“…”) are missing after “<alter identity column
option>” as was proposed by BWU-032r1.
See comment.
Solution
008. USA-P02-080
3-Major
Editorial
P02-11.26,
<drop table
constraint
definition>
See above.
In Syntax Rules 7) and 8), at the end of the first sentence, the
See comment.
symbol “TC” is preceded by the words “a table constraint” making
is look as if the symbol was defined/redefined here. However,
since it was already correctly defined in SR2), The words “table
constraint” should be removed.
Solution
See above.
Page 6 of 127
SEQ
#
Cmnt
ID
009. USA-P02-090
010. USA-P02-100
011. USA-P02-110
See
Also
Severit
y
4-Minor
Editorial
4-Minor
Editorial
Reference
P02-11.26,
<drop table
constraint
definition>
P02-15.19,
Execution of
triggers
Description
In Syntax Rule 4), the last sentence starts with “If the TC is
needed…”. Remove the definitive article before ”TC”.
Addressed
By
See comment.
Solution
See above.
In General Rule 4) a) iii), the words “…transition in in ST…”
appear. One “in” should be removed.
See comment.
Solution
See above.
P02-19.01, <set The System Versioned Tables added at the WG3 FAO meeting
1-Major
Technical session
introduced <system version specification> that can be used in
characteristics
queries. It would be useful if there were a Set Session statement
statement>
<system version specification> that effectively added the
<system version specification> to all queries in that session that
involved system versioned tables. This would make it easy to build
applications that retrieved data as of a particular time. Instead of
adding the <system version specification> to each query, the
application developer could set the parameter for the session.
Solution
012. USA-P02-120
P02-20.06,
2-Minor
Technical <prepare
statement>
None provided with comment.
GR 5)a)xviii) says “If DP is a <case operand> or <when operand>
simply contained in a <simple case> CE or DP represents the
value of a subfield SF of the declared type of such a <case
operand> or <when operand>, then RT is the result of applying
the Syntax Rules of Subclause 9.3, “Result of data type
combinations”, to the declared types of the <case operand> and
<when operand>s simply contained in CE.”
But not all <when operand>s have a declared type. For example,
<character like predicate part 2> has no declared type, at least
not in the SRs of 8.5 <like predicate>. The problem dates back
to SQL:2003 (Foundation 19.6 <prepare statement> GR
6)a)xviii)). We need to look at each kind of <when operand> to
ascertain an appropriate declared type.
Page 7 of 127
SEQ
#
Cmnt
ID
See
Also
Severit
y
Reference
Description
Addressed
By
In principle, this comment potentially applies to any part that adds
a data type. I have checked SQL/XML and it appears to be okay,
though someone responding to this comment should probably
double check to be sure.
Solution
013. USA-P02-130
P02-No specific
1-Major
Technical location
None provided with comment.
The SQL standard currently supports time zones for TIME and
TIMESTAMP values in the form of a <time zone interval>; e.g.,
‘+10:00’ or ‘-11:00’. However, there are other ways to express a
timezone component, like the region in which the time zone is in
effect; e.g. ‘PDT’ or ‘pacific’, etc. The SQL standard should be
enhanced to support those “named” time zones as well.
Solution
014. USA-P02-140
P02-No specific
1-Major
Technical location
None provided with comment.
The SQL standard is missing operators on binary data types
(BINARY, VARBINARY, BLOB) that allow users to bitwise
manipulate values. These operators (with straightforward
semantics) are:
- BITAND
- BITOR
- BITNOT
Additionally, these operators could be enhanced to support binary
integer values as well.
Solution
015. USA-P02-150
P02-No specific
1-Major
Technical location
None provided with comment.
When calling a procedure, all arguments have to be provided in
the order in which they were specified when the procedure was
created. This is not always the most user-friendly way.
Programming languages provide an alternative for this in the form
“named parameters”. The SQL standard should embrace this
concept as well.
Solution
016. USA-P02-160
1-Major
P02-No specific
location
None provided with comment.
When defining and calling a procedure, it may be beneficial to
Page 8 of 127
SEQ
#
Cmnt
ID
See
Also
Severit
y
Reference
Technical
Description
Addressed
By
provide default values for some or all of the
parameters/arguments. This allows the user to omit certain
arguments when calling a procedure and if the default values for
those arguments should be used. However, when introducing the
concept of default values for parameters, special attention needs
to be paid to overloading of procedures and the existing routine
resolution process to ensure that any extensions are backwardcompatible.
Solution
017. USA-P02-190
P02-No specific
1-Major
Technical location
None provided with comment.
All Possible Problems and Editor’s Notes must be satisfactorily
resolved and all problems discovered during the course of the
ballot resolution process must be satisfactorily resolved.
Solution
018. USA-P02-200
P02-No specific
1-Major
Technical location
None provided with comment.
Over the last several years, there has been increasing concern
with preventing disclosure of personally identifiable data. One
obstacle to preventing this disclosure is the lack of a standard
mechanism for identifying which tables and/or columns contain
such information. It would be useful if the create and alter table
statements supported the capability of tagging tables and columns
to indicate the type of sensitive information they hold. This would
allow queries of the schema information tables and views to
review what sensitive information is in a database, To accomplish
this tagging, the following would be needed:
 an easily updatable table of standard sensitivity tags
 syntax to specify the sensitivity tag(s) associated with a
column or table
 Additions to the schema information tables and views to
support storing and retrieving the sensitivity tags.
While the origins of this comment are in the area of Personally
Identifiable Information, it would be useful to support more
general user-extensible metadata attributes.
Solution
Page 9 of 127
SEQ
#
019.
Cmnt
ID
USA-P022120
See
Also
Severit
y
Reference
P02-No specific
1-Major
Technical location
Description
Addressed
By
None provided with comment.
All Possible Problems and Editor’s Notes must be satisfactorily
resolved and all problems discovered during the course of the
ballot resolution process must be satisfactorily resolved.
Solution
020. USA-P02-220
P02-No specific
2-Minor
Technical location
None provided with comment.
Conformance Rules now have truncated names. The editor is
aware of this and describes it as “"obviously a bug in my
stylesheets".
Solution
None provided with comment.
==========================
End of paper
==========================
Page 10 of 127