32N2343-summ_of_voting-N2320-DCOR_9075

ISO/IEC JTC 1/SC 32 N 2343
Date: 2013-06-08
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 32N2320 ISO/IEC DCOR 9075-2 Information
technology - Database languages - SQL - Part 2: Foundation (SQL/Foundation)
Ed 4
SOURCE
SC32 Secretariat
PROJECT NUMBER
1.32.03.07.02.91
STATUS
The document obtained substantial support. WG3 is requested to address the
comments and revise the draft text accordingly.
REFERENCES
ACTION ID.
ACT
REQUESTED
ACTION
DUE DATE
Number of Pages
60
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 N2343
Summary of Voting on Document SC 32 N 2320
Title: ISO/IEC DCOR 9075-2 Information technology - Database languages - SQL - Part 2:
Foundation (SQL/Foundation) Ed 4
Project: 1.32.03.07.02.91
“P” Member
Approval
Approval
Disapprov Abstention
with
al with
with
Comments Comments Comments
Canada
1
China
1
Czech Republic
1
Egypt
1
Finland
1
Germany
1
India
1
Japan
1
Korea, Republic of
1
Portugal
1
Russian Federation
1
United Kingdom
1
United States
1
Total “P”
7
0
2
4
“O” Member
Austria
Belgium
France
1
Ghana
Hungary
Indonesia
Italy
Kazakhstan
Netherlands, The
Norway
Romania
Poland
Sweden
Switzerland
Total “O”
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
COMMENTS:
Finland
ABSTAIN. Lack of expertise and interest.
India
ABSTAIN. Lack of expertise and interest.
Japan
NO. See comments below:
Portugal
ABSTAIN. Lack of expertise and interest.
United Kingdom
ABSTAIN. Lack of expertise and interest.
United States
NO. See comments below:
WG3/National Body JPN DCOR 9075-2 Comments — 2013-0425
SEQ
#
Cmnt
ID
See
Also
Addressed By
Severity
Reference
Description
DCOR SQL/Foundation
T02-JPN-001
4-Minor
Editorial
T02-4.2.4
Character
repertoires
The wrong standard number 19075 appears in the lead text of the third
paragraph.
See comment.
Solution
Modify the lead text of third paragraph as follows:
T02-JPN-002
4-Minor
Editorial
T02-4.4.3
Operations
involving
numbers
The following character repertoire names are specified as part of
ISO/IEC 19075:
In the 5th list item in the first paragraph, Subclause 4.10.6,“Operations
involving multisets” is referenced for <max cardinality expression>.
However, the <max cardinality expression> is not mentioned in
Subclause 4.10.6, because a max cardinality is a property of an array
type, not of a multiset type.
See comment.
Solution
Modify the 5th list item in the first paragraph as follows:
T02-JPN-003
4-Minor
Editorial
T02-4.15.2.3
Temporary
tables
— <max cardinality expression> (see Subclause 4.10.5, “Operations
involving arrays”, and Subclause 4.10.6, “Operations involving
multisets”) operates on an array argument and returns an integer.
The term “temporary base table” appears in the first paragraph and does See comment.
not appear anywhere else in the standard. The term “temporary table” is
the correct term, because of the definition in the lead text of Subclause
4.15.2 that a regular base table is either a regular persistent base table
or a temporary table. In addition, a period is missing in the first sentence
in the first paragraph.
Solution
Modify first paragraph as follows:
A temporary base table is either a global temporary table, a created
T02-JPN-004
4-Minor
Editorial
T02-4.15.7
Table
descriptors
local temporary table, or a declared local temporary table.
The word “descriptor” is the correct word rather than “description” in the See comment.
3rd list item of the 3rd paragraph.
Solution
Page 4 of 65
2017-07-28
WG3/National Body JPN DCOR Ballot Comments Template
SEQ
#
Cmnt
ID
See
Also
Addressed By
Severity
Reference
Description
Modify the third list item of the 3rd paragraph as follows:
T02-JPN-005
4-Minor
Editorial
T02-4.15.10
Operations
involving tables
The description descriptor of each period defined for the table.
Although the 6th paragraph describes the primary effect of a delete
statement on a regular base table and derived table, the term “base
table” appears in the second sentence of the paragraph. It is incorrect,
because a base table may be not only a regular base table, but also a
system-versioned table.
See comment.
Solution
Modify 6th paragraph as follows:
T02-JPN-006
3-Major
Editorial
T02-4.15.10
Operations
involving tables
The primary effect of a <delete statement: positioned> on a regular
base table T or a derived table T is to delete exactly one specified row
from T. The primary effect of a <delete statement: searched> on a
regular base table T or a derived table T is to delete zero or more
rows from T.
The description of the primary effect of a searched delete statement on
a system-versioned table should be separated from that of a positioned
delete statement just like that of a regular base table in 6th paragraph of
the same subclause, because the number of rows for deletion is different
between those two types of delete statement.
Solution
T02-JPN-007
T02-JPN-008
4-Minor
Editorial
3-Major
Editorial
None provided with comment.
T02-4.19.9
The term “BUCset” without hyphen appears in the second sentence.
Known
Solution
functional
Modify the text of Subclause:
dependencies in
a <table
Let R be the result of <table factor> TF. Let S be the result of <table
factor>
primary> immediately contained in TF. The counterparts of the BPK-
T02-4.23.3.2
Unique
constraints
See comment.
sets and BUC-sets of S are the BPK-sets and BUC-sets, respectively,
of R. If A ↦B is a functional dependency in S, and AC and BC are the
counterparts of A and B, respectively, then AC ↦ BC is a known
functional dependency in R.
The condition for satisfaction of the unique constraint without a <without
overlap specification> is described in the third paragraph, which reads:
A unique constraint that does not include a <without overlap
specification> on a table T is satisfied if and only if there do not exist
Page 5 of 44
2017-07-28
WG3/National Body JPN DCOR Ballot Comments Template
SEQ
#
Cmnt
ID
See
Also
Addressed By
Severity
Reference
Description
two rows R1 and R2 of T such that R1 and R2 have the same non-null
values in the unique columns.
This condition is incorrect in case of a system-versioned table, because
uniqueness is required only for rows with system time as of current
timestamp.
Solution
T02-JPN-009
3-Major
Editorial
T02-4.23.3.3
Referential
constraints
None provided with comment.
The semantics of referential check described in the second and third paragraph
are incorrect in case of a system-versioned table, because only rows with system
time as of current timestamp are involved with referential check.
Solution
T02-JPN-010
3-Major
Editorial
None provided with comment.
T02-4.24.8
Since the symbol TQN is defined immediately after the first appearing <table or
Known
query name>, TQN indicates just that <table or query name>, but cannot
functional
indicate the second one, which is contained in <only spec>, in the third list item
dependencies in in the second paragraph, which reads:
a <table
primary>
If TP immediately contains a <table or query name> TQN or an <only
spec> that contains a <table or query name>, then the counterparts
of the BPK-sets and BUC-sets of TQN are the BPK-sets and BUC-sets,
respectively, of R. If A ↦ B is a known functional dependency in the
result of TQN, and AC and BC are the counterparts of A and B,
respectively, then AC ↦ BC is a known functional dependency in R.
Solution
T02-JPN-011
4-Minor
Editorial
T02-4.36.3
Properties of
SQLtransactions
None provided with comment.
An intransitive verb “execute” appears without an object in 4th paragraph. In
other than Subclause 4.41.3, the similar occurrence of “execute” appears in
several location in this standard.
See comment.
Solution
Modify 4th paragraph.as follows:
An SQL-transaction has a transaction timestamp, a value of an
implementation-defined timestamp type that is used to set the values
of system-time period start and system-time period end columns of
rows, if any, modified by the execution of an SQL-data change
statement in this SQL-transaction. The transaction timestamp is set by
Page 6 of 44
2017-07-28
WG3/National Body JPN DCOR Ballot Comments Template
SEQ
#
Cmnt
ID
T02-JPN-012
See
Also
Addressed By
Severity
4-Minor
Editorial
Reference
T02-4.36.7
Encompassing
transactions
Description
an SQL-implementation before any SQL-data change statement
executesis executed in that transaction and, once set, remains
unchanged during that SQL-transaction.
The term “isolation level” appears in the second list item of the 4th
paragraph. The term “transaction isolation level” is correct.
See comment.
Solution
Modify the first sentence of the second list item of the 4th paragraph.as
follows:
T02-JPN-013
4-Minor
Editorial
T02-4.38.4
SQL-session
context
management
If the SQL-transaction has a transaction isolation level of READ
UNCOMMITTED, then the branch of the SQL-transaction may have an
a transaction isolation level of READ UNCOMMITTED, READ
COMMITTED, REPEATABLE READ, or SERIALIZABLE.
The term “SQL-session execution context” appears at the end of the 4th
See comment.
paragraph. The correct term is “SQL-session context”, because this paragraph is
involved with a stack of SQL-session contexts.
Solution
Modify 4th paragraph.as follows:
T02-JPN-014
4-Minor
Editorial
T02-4.38.4
SQL-session
context
management
The <value specification>s CURRENT_USER and CURRENT_ROLE
identify the user name and role name on top of the authorization
stack in the top of the stack of SQL-session contexts. The <value
specification> SESSION_USER is the value of the SQL-session user
identifier in the latest SQL-session execution context.
The term “authorization clause of the module” in 5th paragraph should be
“<module authorization clause>”, because syntax element “<module
authorization clause> “is defined, but the term of “authorization clause” is not
defined in anywhere in the standard.
See comment.
Solution
Modify 5th paragraph.as follows:
Invocation of an <externally-invoked procedure> pushes a cell on the
authorization stack. If the <externally-invoked procedure> is invoked
using invoker’s rights, then the new cell is a copy of the one beneath
it. If it is invoked using definer's rights, the new cell is taken from the
authorization clause of the module<module authorization
clause>, which supplies either a user name or a role name, the
other being set to the null value.
Page 7 of 44
2017-07-28
WG3/National Body JPN DCOR Ballot Comments Template
SEQ
#
Cmnt
ID
T02-JPN-015
See
Also
Addressed By
Severity
4-Minor
Editorial
Reference
T02-4.38.4
SQL-session
context
management
Description
An incorrect term “user name” appears in several places. The correct term is
“user identifier”.
See comment.
Solution
Replace the term “user name” in the 3rd, 4th, 5th, and 8th paragraphs
with “user identifier”.
Modify 3rd, 4th, 5th paragraph.as follows:
Each SQL-session context contains an “authorization stack”. Each cell
of the authorization stack is a pair, a user identifier, and a role name.
Whenever an SQL-session context is created, the base of its
authorization stack is initialized with the SQL-session user identifier
for the user name identifier and the null value for the role name.
The <value specification>s CURRENT_USER and CURRENT_ROLE
identify the user name identifier and role name on top of the
authorization stack in the top of the stack of SQL-session contexts.
The <value specification> SESSION_USER is the value of the SQLsession user identifier in the latest SQL-session execution context.
Invocation of an <externally-invoked procedure> pushes a cell on the
authorization stack. If the <externally-invoked procedure> is invoked
using invoker’s rights, then the new cell is a copy of the one beneath
it. If it is invoked using definer's rights, the new cell is taken from the
authorization clause of the module, which supplies either a user
name identifier or a role name, the other being set to the null
value.
Modify 8th paragraph.as follows:
T02-JPN-016
2-Minor
Technical
T02-6.10
<window
function>
The <set role statement> changes the role name on top of the
authorization stack in the latest SQL-session context, but does not
change the user name identifier.
After SR1) assigns WINFUNC parameter is to a symbol OF, SR3) assigns
<window function> to the symbol OF.
1) Let OF be the WINFUNC in an application of the Syntax Rules of
this Subclause. The result of the application of this Subclause is QSX
or SSSRX, as appropriate, which is returned as TRANSFORM.
Page 8 of 44
2017-07-28
WG3/National Body JPN DCOR Ballot Comments Template
SEQ
#
Cmnt
ID
See
Also
Addressed By
Severity
Reference
Description
2) An <aggregate function> simply contained in a <window
function> shall not simply contain a <hypothetical set function>.
3) Let OF be the <window function>.
This means that the syntax element passed through WINFUNC from
invoking Subclause is overwritten in SR3) and therefore WINFUNC
parameter does not have any effect.
Solution
T02-JPN-017
3-Major
Editorial
T02-6.10
<window
function>
None provided with comment.
GR 1)a) ii)3)E) II) says as follows:
II) Otherwise, for each i, 1 (one) ≤ i ≤ MOD(CT, NT), let NQi be
CEILING(CT /NT), and for each i, (MOD(CT, NT) + 1) < i ≤ NT, let
NQi be FLOOR(CT / NT).
See comment.
In case of i = (MOD(CT, NT) + 1), NQi is undefined. The symbol “<” is
not correct.
Solution
T02-JPN-018
4-Minor
Editorial
T02-6.10
<window
function>
Replace “(MOD(CT, NT) + 1) < i” with “(MOD(CT, NT) + 1) ≤ i”.
The second occurrence of “END(i–-1)” in GR1)a)ii)3)F) contains double
hyphen..
See comment.
Solution
Modify GR1)a)ii)3)F) as follows:
F) Let END0 be 0 (zero). For each i, 1 (one) ≤ i ≤ NT, let STARTi be
T02-JPN-019
4-Minor
Editorial
T02-6.10
<window
function>
(END(i–1) + 1) and let ENDi be (END(i–-1) + NQi).
The term “row ordering” appears in GR1)b)iv)1). However, “row ordering” is
the term related with <row pattern recognition clause>. The term “window
ordering”is a correct term.
See comment.
Solution
Modify GR1)b)iv)1)A) and B) as follows:
A) If NTREAT is RESPECT NULLS, then let TX be the sequence of
values that is the result of applying VE1 to each row of T that
precedes the current row, ordered according to the rowwindow
ordering of WDX.
B) Otherwise, let TX be the sequence of values that is the result of
applying VE1 to each row of T that precedes the current row and
Page 9 of 44
2017-07-28
WG3/National Body JPN DCOR Ballot Comments Template
SEQ
#
Cmnt
ID
T02-JPN-020
See
Also
Addressed By
Severity
4-Minor
Editorial
Reference
T02-6.11
<nested
window
function>
Description
eliminating null values, ordered according to the rowwindow
ordering of WDX.
While the symbol VE is defined to denote the <value expression> in GR4)a), it
is never referred in the following GRs. “the <value expression>” appearing in
GR4)e)ii) should be VE.
See comment.
Solution
Modify GR4)e)ii) as follows:
T02-JPN-021
3-Major
Editorial
T02-6.23
<reference
resolution>,
T02-8.2
<comparison
predicate>,
T02-11.32
<view
definition>
ii) Otherwise, the value of NWF is the value of the <value
expression>VE, evaluated in ROWM.
While the term “reference value” appears in Function of Subclause 6.23, GR9)
of Subclause 8.2, and GR1)b)i) of Subclause 11.32, “REF value” is used in
everywhere else in the standard.
See comment.
Solution
Modify Function of Subclause 6.23 as follows:
Obtain the value referenced by a referenceREF value..
Modify GR9) of Subclause 8.2 as follows:
9) The result of comparing two referenceREF values X and Y is
determined by the comparison of their octets with the same ordinal
position. Let Lx be the length in octets of X and let Ly be the length
in octets of Y. Let Xi and Yi, 1 (one) ≤ i ≤ Lx, be the values of the ith octets of X and Y, respectively. X is equal to Y if and only if Lx =
Ly and, for all i, Xi = Yi.
Modify GR1)b)i) of Subclause 11.32 as follows:
i) If RMSV has a derived representation, then let SL be the <select
list> simply contained in QS, and let TE be the <table expression>
simply contained in QS. Let IDV be an implementationdependent
<value expression> that computes the referenceREF value that
references a row of V. Let OQE be the <query expression>
SELECT IDV, SL
T02-JPN-022
3-Major
Editorial
T02-6.28
<numeric value
function>
TE
CR4) mentions just a declared type of NATIONAL CHARACTER LARGE
OBJECT as a national character type. However, NATIONAL CHARCTER and
NATIONAL CHARACTER VARYING type is also national character type.
Page 10 of 44
See comment.
2017-07-28
WG3/National Body JPN DCOR Ballot Comments Template
SEQ
#
Cmnt
ID
See
Also
Addressed By
Severity
Reference
Description
Solution
Modify CR4) as follows:
T02-JPN-023
4-Minor
Editorial
T02-6.29
<string value
expression>
5) Without Feature F421, “National character”, conforming SQL
language shall not contain a <length expression> that simply
contains a <string value expression> that has a declared type of
NATIONAL CHARCTER and NATIONAL CHARACTER
VARYING, or NATIONAL CHARACTER LARGE OBJECT.
Wording “the most specific type at least one of S1 and S2” in GR2)b)ii)3)A) is
incomplete as a phrase.
See comment.
Solution
Modify the lead text of GR2)b)ii)3)A) as follows:
T02-JPN-024
4-Minor
Editorial
T02-6.30
<string value
function>
A) If the most specific type of at least one of S1 and S2 is a character
large object type, then let LOL be the implementation-defined
maximum length of large object character strings.
The last sentence of GR9)b)v)1)C), as quoted below, does not make sense.
See comment.
C) Otherwise, let MV be the OCC-th match vector in LOMV. The
General Rules of Subclause 9.19, “XQuery regular expression
replacement”, are applied with MV as MATCH, STR as STRING,
PAT as PATTERN, REP as REPLACEMENT, and FL as FLAG; let the
character string be the RESULT returned from the application of
those General Rules.
It is reasonable that the GR9)b)v)1) specifies the result of <regex
transliteration>, like GR9)b)v)2).
Solution
Modify GR9)b)v)1)C) as follows:
C) Otherwise, let MV be the OCC-th match vector in LOMV. The
General Rules of Subclause 9.19, “XQuery regular expression
replacement”, are applied with MV as MATCH, STR as STRING,
PAT as PATTERN, REP as REPLACEMENT, and FL as FLAG; let the
character string be the result of <regex transliteration> is
the RESULT returned from the application of those General Rules.
Page 11 of 44
2017-07-28
WG3/National Body JPN DCOR Ballot Comments Template
SEQ
#
Cmnt
ID
T02-JPN-025
See
Also
Addressed By
Severity
4-Minor
Editorial
Reference
T02-6.30
<string value
function>,
T02-Annex A
SQL
Conformance
Summary
Description
Although CR10) restricts the declared type of a <character value expression>,
CR of Subclause 6.30 “<string vale function>” should restrict that of <string
vale function>.
See comment.
Solution
Modify CR10) of Subclause 6.30 as follows:
11) Without Feature F421, “National character”, conforming SQL
language shall not contain a <character value
expressionfunction> that has a declared type of NATIONAL
CHARACTER, NATIONAL CHARACTER VARYING, or NATIONAL
CHARACTER LARGE OBJECT.
Modify 75)f)i) of Annex A as follows:
i) Without Feature F421, “National character”, conforming SQL
language shall not contain a <character value
expressionfunction> that has a declared type of NATIONAL
CHARACTER, NATIONAL CHARACTER VARYING, or NATIONAL
CHARACTER LARGE OBJECT.
T02-JPN-026
4-Minor
Editorial
T02-7.7
<joined table>
Under SR9)e)ii), subrule2) is that for RTA and subrule3) is that for RTB.
However, the symbol RTA appears in SR9)e)ii)3)B), which reads:
See comment.
B) Otherwise, let RVAi be some range variable that is not equivalent
to any range variable in the outermost <query specification>
containing the <joined table>, nor to any other range variable
created by these rules. RVAi is effectively associated with the field
of RTA whose name is CJCNi.
RTB is correct instead of RTA in this subrule.
Solution
Modify SR9)e)ii)3)B) as follows:
T02-JPN-027
4-Minor
T02-7.7
B) Otherwise, let RVAi be some range variable that is not equivalent
to any range variable in the outermost <query specification>
containing the <joined table>, nor to any other range variable
created by these rules. RVAi is effectively associated with the field
of RTA RTB whose name is CJCNi.
The character “≤” is missing in the last line of SR9)e)iii).
Page 12 of 44
See comment.
2017-07-28
WG3/National Body JPN DCOR Ballot Comments Template
SEQ
#
Cmnt
ID
See
Also
Addressed By
Severity
Editorial
Reference
Description
<joined table>
Solution
Modify SR9)e)iii) as follows:
T02-JPN-028
T02-JPN-029
4-Minor
Editorial
4-Minor
Editorial
T02-7.11
<window
clause>
T02-7.12
<query
specification>
iii) Let SLCC be a <select list> of <derived column>s of the form
COALESCE ( RVAi.CJCNi, RVBi.CJCNi ) AS CJCNi
for every i, 1 (one) ≤ i ≤ N, in ascending order.
Undefined symbol EC1 and EC2 appears in GR5)b)iii)3).
See comment.
Solution
Modify GR5)b)iii)3) as follows:
3) The distance between two window ordering groups WOG1 and
WOG2 is number of window ordering groups between EC1 WOG1
and EC2 WOG2, inclusive, minus 1 (one).
The last sentence of SR13)b) is redundant, because the application of SR of the See comment.
Subclause is fully described in the part before that sentence in SR13)b). The
subject and the complement are reversed in the sentence.
Solution
Modify SR13)b) as follows:
T02-JPN-030
T02-JPN-031
4-Minor
Editorial
4-Minor
Editorial
T02- 7.13
<query
expression>
T02- 7.13
<query
expression>
b) If the <select list> of GWQ1 immediately contains <asterisk> or
simply contains <qualified asterisk>, then Syntax Rules of this
Subclause are applied with GWQ1 as TBLEXP; let GWQ2 be the
TBLEXP2 returned from the application of those Syntax Rules;
otherwise, let GWQ2 be GWQ1. Apply the syntactic
transformations specified in Subclause 7.12, “<query
specification>”.
The wording “the i-th columns” in SR19)c) should be a singular form
See comment.
Solution
Modify SR19)c) as follows:
c) If the SQL-implementation supports Feature T101, “Enhanced
nullability determination” and the i-th columns of at least one of
T1 and T2 is known not nullable, then the i-th column of TR is
known not nullable; otherwise, the i-th column of TR is possibly
nullable.
It is necessary that GR7)d) defines the cardinality of the result table.
However, the description at the end of GR7)d)ii) defines FFRC value as
the cardinality of the result table.
Page 13 of 44
See comment.
2017-07-28
WG3/National Body JPN DCOR Ballot Comments Template
SEQ
#
Cmnt
ID
See
Also
Addressed By
Severity
Reference
Description
Solution
Modify GR7)d)ii) as follows:
T02-JPN-032
4-Minor
Editorial
T02- 7.13
<query
expression>,
T02- Annex A
SQL
Conformance
Summary
ii) Otherwise, rows other than the first FFRC rows in order as
specified by General Rule 6) of this Subclause are removed from T
and FFRC is the cardinality of T is FFRC.
CR19) and 20) are inconsistent with CR12), 13), 14), and 16). CR12) and See comment.
CR16) describe “in subquery” feature as follows:
a <query expression> contained in another <query expression> shall
not immediately contain …..
CR13) and CR14) describe “nested” feature as follows:
a <query primary> shall not immediately contain…..
On the other hand, in CR19) and 20) the description for “in subquery”
feature and that for “nested” feature is swapped
12) Without Feature F851, “<order by clause>in subqueries”, in
conforming SQL language, a <query expression> contained in
another <query expression> shall not immediately contain an
<order by clause>.
13) Without Feature F855, “Nested <order by clause>in <query
expression>”, in conforming SQL language, a <query primary> shall
not immediately contain an <order by clause>.
14) Without Feature F856, “Nested <fetch first clause>in <query
expression>”, in conforming SQL language, a <query primary> shall
not immediately contain a <fetch first clause>.
15) …..
16) Without Feature F858, “<fetch first clause>in subqueries”, in
conforming SQL language, a <query expression> contained in
another <query expression> shall not immediately contain a <fetch
first clause>.
17) …..
18) …..
19) Without Feature F862, “<result offset clause>in subqueries”, in
conforming SQL language, a <query primary> shall not immediately
Page 14 of 44
2017-07-28
WG3/National Body JPN DCOR Ballot Comments Template
SEQ
#
Cmnt
ID
See
Also
Addressed By
Severity
Reference
Description
contain a <result offset clause>.
20) Without Feature F863, “Nested <result offset clause>in <query
expression>”, in conforming SQL language, a <query expression>
contained in another <query expression> shall not immediately
contain a <result offset clause>.
Solution
Modify CR19) and 20) of Subclause 7.16 as follows:
19) Without Feature F862, “<result offset clause>in subqueries”, in
conforming SQL language, a <query primary> shall not
immediately contain a <result offset clause> a <query
expression> contained in another <query expression> shall
not immediately contain a <result offset clause>.
20) Without Feature F863, “Nested <result offset clause>in <query
expression>”, in conforming SQL language, a <query
expression> contained in another <query expression> shall
not immediately contain a <result offset clause> a <query
primary> shall not immediately contain a <result offset
clause>.
Modify 132)a)i) of Annex A as follows:
i) Without Feature F862, “<result offset clause>in subqueries”, in
conforming SQL language, a <query primary> shall not
immediately contain a <result offset clause> a <query
expression> contained in another <query expression> shall
not immediately contain a <result offset clause>.
Modify 133)a)i) of Annex A as follows:
T02-JPN-033
4-Minor
Editorial
T02- 7.13
<query
expression>,
i) Without Feature F863, “Nested <result offset clause>in <query
expression>”, in conforming SQL language, a <query
expression> contained in another <query expression> shall
not immediately contain a <result offset clause> a <query
primary> shall not immediately contain a <result offset
clause>.
A phrase “in conforming SQL language” is missing in CR22) and CR23)
See comment.
Solution
Page 15 of 44
2017-07-28
WG3/National Body JPN DCOR Ballot Comments Template
SEQ
#
Cmnt
ID
See
Also
Addressed By
Severity
Reference
T02- Annex A
SQL
Conformance
Summary
Description
Modify CR22) and 23) of Subclause 7.16 as follows:
22) Without Feature F866, “FETCH FIRST clause: PERCENT option”,
in conforming SQL language, <fetch first clause> shall not
contain <fetch first percentage>.
23) Without Feature F867, “FETCH FIRST clause: WITH TIES option”,
in conforming SQL language,<fetch first clause> shall not
contain WITH TIES.
Modify 136)a)i) of Annex A as follows:
i) Without Feature F866, “FETCH FIRST clause: PERCENT option”, in
conforming SQL language, <fetch first clause> shall not contain
<fetch first percentage>.
Modify 137)a)i) of Annex A as follows:
T02-JPN-034
2-Minor
Technical
T02-7.15
<query
specification>
i) Without Feature F867, “FETCH FIRST clause: WITH TIES option”,
in conforming SQL language,<fetch first clause> shall not
contain WITH TIES.
In an application of Subclause 6.10,"<window function>", a grouped, windowed
query GWQ is specified as WINFUNC parameter in SR13)a), which reads:
a) If GWQ contains an <in-line window specification>, then the
Syntax Rules of Subclause 6.10, “<window function>”, are applied
with GWQ as WINFUNC; let GWQ1 be the TRANSFORM returned
from the application of those Syntax Rules; otherwise, let GWQ1 be
GWQ.
However, Subclause 6.10 requires WINFUNC parameter to be a window
function.
Solution
T02-JPN-035
4-Minor
Editorial
T02- 7.16
<query
expression>
None provided with comment.
SR21)b)iv)2) specifies the data type and nullability of the result column
of an anchor expression which is not recursively referred:
2) If the i-th column of TR is not recursively referred to, then the
Syntax Rules of Subclause 9.5, “Result of data type combinations”,
are applied with the set comprising the declared type of the i-th
Page 16 of 44
2017-07-28
WG3/National Body JPN DCOR Ballot Comments Template
SEQ
#
Cmnt
ID
See
Also
Addressed By
Severity
Reference
Description
column of T1 and the declared type of the i-th column of T2 as
DTSET; let the declared type of the i-th column of TR be the
RESTYPE returned from the application of those Syntax Rules. If the
i-th columns of at least one of T1 and T2 are known not nullable,
then the i-th column of TR is known not nullable; otherwise, the i-th
column of TR is possibly nullable.
This rule does not work in case of the following with list element.
WT(WC1, WC2) AS(
SELECT C1,0 FROM T1
UNION ALL
SELECT C1, WC1 FROM WT, T1 WHERE WT.WC1=T1.C2)
Although the column WC2 of WT is not recursively referred, the
corresponding column of the second operand of UNION ALL is untyped
and therefore Subclause 9.5 cannot be applied.
Solution
T02-JPN-036
1-Major
Technical
T02-8.5 <like
predicate>
None provided with comment.
A substring specifier is an arbitrary character specifier, arbitrary string
specifier, or any sequence of single character specifiers according to
GR3)c), which reads:
c) The string PCV is a sequence of the minimum number of substring
specifiers such that each portion of PCV is part of exactly one
substring specifier. A substring specifier is an arbitrary character
specifier, arbitrary string specifier, or any sequence of single
character specifiers.
For example, suppose ‘9075-_ SQL/%’ is a character pattern. The
sequence of the minimum number of substring specifiers is ‘9075-‘, ‘_’, ‘
SQL/’, ‘%’. In this substring specifiers, ‘_’ is an arbitrary character
specifier, ‘%’ is an arbitrary string specifier, and ‘9075-‘ and ‘ SQL/’ are
sequences of single character specifiers.
GR3)d)ii) provides the condition that like predicate is true when the
character string length of the operand, which reads:
ii) The <predicate>
Page 17 of 44
2017-07-28
WG3/National Body JPN DCOR Ballot Comments Template
SEQ
#
Cmnt
ID
See
Also
Addressed By
Severity
Reference
Description
MC LIKE PC
is True if there exists a partitioning of MCV into substrings such
that:
1) A substring of MCV is a sequence of 0 (zero) or more
contiguous characters of MCV and each character of MCV is part
of exactly one substring.
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>.
5) The number of substrings of MCV is equal to the number of
substring specifiers of PCV.
Subrule 2) and 3) provide the condition for an arbitrary character
specifier in the pattern and that for an arbitrary string specifier in the
pattern. Although subrule 4) must provide the condition for a sequence
of single character specifiers according to classification of a substring
specifier defined in GR3)c), it actually provides the condition for a single
character specifier, not a sequence of them. In addition, the substring
partitioning of the pattern PCV into single characters cannot make the
minimum number of substring specifiers and makes maximum number of
them. This means violation of GR3)c).
Incidentally, the corresponding rule to GR3)d)ii)4) in SQL:1999 is as
follows:
4) If the i-th substring specifier of PCV is neither an arbitrary character
specifier nor an arbitrary string specifier, then the i-th substring of
MCV is equal to that substring specifier according to the collating
sequence of the <like predicate>, without the appending of <space>
characters to MCV, and has the same length as that substring
specifier.
Solution
Page 18 of 44
2017-07-28
WG3/National Body JPN DCOR Ballot Comments Template
SEQ
#
Cmnt
ID
T02-JPN-037
See
Also
Addressed By
Severity
3-Major
Editorial
Reference
T02-8.7
<regex like
predicate>
Description
None provided with comment.
Undefined symbols STR, SP, and CKU appear in GR1)b). STR, SP, and
CKU are assigned to parameters STRING, POSITION, UNITS of
Subclause 9.18, “XQuery regular expression matching”, respectively. In
GR1)b), it is necessary that STRING, POSITION, UNITS are CVE, 1,
CHARACTERS, respectively.
See comment.
Solution
Modify GR1)b) as follows:
T02-JPN-038
2-Minor
Technical
T02-8.17
<submultiset
predicate>
b) The General Rules of Subclause 9.18, “XQuery regular expression
matching”, are applied with STRCVE as STRING, PAT as PATTERN,
SP1 as POSITION, CLUCHARACTERS as UNITS, and FL as FLAG;
let LOMV be the LIST returned from the application of those General
Rules.
GR3)c)ii) states that for all i, j, CEi=MEj. This statement leads to the
conclusion that all CEi and MEj are the same value, because for all
combination of i and j, CEi=MEj. It does not meet the intention of the
feature.
Solution
T02-JPN-039
4-Minor
Editorial
T02-9.3
Passing a value
from a host
language to the
SQL-server
None provided with comment.
In GR4)a), symbol “LANG” is not italic form. In addition, “Ada”,
“Fortran”, “Pascal”, and “PL/I” should be “ADA”, “FORTRAN”, “PASCAL”,
and “PLI”, just like GR3).
See comment.
Solution
Modify GR4)a) as follows:
a) If DT contains <locator indication>, then
Case:
i) If LANG LANG is AdaADA, then Interfaces.SQL.INT.
ii) If LANG LANG is C, then unsigned long.
iii) If LANG LANG is COBOL, then PIC S9(9) USAGE IS BINARY.
iv) If LANG LANG is FortranFORTRAN, then INTEGER.
v) If LANG LANG is M, then character.
vi) If LANG LANG is PascalPASCAL, then INTEGER.
T02-JPN-040
4-Minor
Editorial
T02-9.4
Passing a value
from the SQL-
vii) If LANG LANG is PL/I, then FIXED BINARY(31).
In GR3)a), symbol “LANG” is not in italic form. In addition, “Ada”,
See comment.
“Fortran”, “Pascal”, and “PL/I” should be . “ADA”, “FORTRAN”, “PASCAL”,
and “PLI”, just like GR2).
Page 19 of 44
2017-07-28
WG3/National Body JPN DCOR Ballot Comments Template
SEQ
#
Cmnt
ID
See
Also
Addressed By
Severity
Reference
Description
server to a host
language
Solution
Modify GR3)a) as follows:
a) If DT contains <locator indication>, then
Case:
i) If LANG LANG is AdaADA, then Interfaces.SQL.INT.
ii) If LANG LANG is C, then unsigned long.
iii) If LANG LANG is COBOL, then PIC S9(9) USAGE IS BINARY.
iv) If LANG LANG is FortranFORTRAN, then INTEGER.
v) If LANG LANG is M, then character.
vi) If LANG LANG is PascalPASCAL, then INTEGER.
T02-JPN-041
T02-JPN-042
T02-JPN-043
4-Minor
Editorial
4-Minor
Editorial
4-Minor
Editorial
T02-9.4
Passing a value
from the SQLserver to a host
language
T02-9.5
Result of data
type
combinations
T02-9.16
Execution of
array-returning
functions
vii) If LANG LANG is PL/I, then FIXED BINARY(31).
The unexpected “respectively” appears in GR5)a).
See comment.
Solution
Modify GR5)a) as follows:
a) If DT contains <locator indication>, then let the value of PI be the
binary large object locator value, the character large object locator
value, the array locator value, the multiset locator value, or the
userdefined type locator value, respectively, that uniquely
identifies SV.
A word is missing between “the” and “in” in SR3)h)i).
See comment.
Solution
Modify SR3)h)i) as follows:
i) If the field in the same ordinal position as FDi in every row type in
DTS have the same name F, then the <field name> in FDi is F.
A word “table” in “operative data type correspondences table” in GR7)a)
is not in italic form.
See comment.
Solution
Modify GR7)a) as follows:
a) Depending on whether the language of P specifies ADA, C, COBOL,
FORTRAN, M, PASCAL, or PLI, let the operative data type
correspondences tabletable 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
Page 20 of 44
2017-07-28
WG3/National Body JPN DCOR Ballot Comments Template
SEQ
#
Cmnt
ID
T02-JPN-044
See
Also
Addressed By
Severity
4-Minor
Editorial
Reference
T02-9.16
Execution of
array-returning
functions
Description
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.
Throughout General Rules, the notation form of open call is different
from fetch call and close call. While the notation of open call is double
quotation-enclosed form “open call”, those of other calls are italic form
fetch call, close call..
See comment.
Solution
Modify the lead text of GR9) as follows:
9)
T02-JPN-045
T02-JPN-046
T02-JPN-047
4-Minor
Editorial
4-Minor
Editorial
4-Minor
Editorial
T02-9.18
XQuery regular
expression
matching
T02-9.30
Determination
of view
component
privileges
T02-10.4
<routine
invocation>
13 If the call type data item has a value of –1 (indicating “open
call” open call), then:
A wrong spelling “he” appears in NOTE 299 instead of “the”.
See comment.
Solution
Modify NOTE 299 as follows:
NOTE 299 — For example, if S is 'a', then there are four
position/lengths, namely (1,0), denoting the zero-length substring
at the beginning of S; (2,0), denoting the zero-length substring at
the end of S; (1,1), denoting the whole string S; and (0,0),
denoting no substring of S.
The wording “<from clause> VCi” in the lead text of GR4)a)i) is wrong,
because VCi is supposed to be a <query specification> in the lead text
of GR4)a).
See comment.
Solution
Modify the lead text of GR4)a)i) as follows:
i) If the <from clause> of VCi contains exactly one <table reference>
TR, then.
The lead text of SR9) does not make sense, because symbol R denotes
See comment.
an SQL-invoked routine and a syntax element contained in <call
statement> is <routine invocation>.
Solution
Modify the lead text of SR9) as follows:
9) If RI is immediately contained in a <call statement>, then:
Page 21 of 44
2017-07-28
WG3/National Body JPN DCOR Ballot Comments Template
SEQ
#
Cmnt
ID
T02-JPN-048
See
Also
Addressed By
Severity
4-Minor
Editorial
Reference
T02-10.4
<routine
invocation>
Description
The wording “shall contain” in SR9)a)ii) should be “contains”, because
SR9)a)ii) describes a condition.
See comment.
Solution
Modify SR9)a)ii) as follows:
T02-JPN-049
T02-JPN-050
4-Minor
Editorial
4-Minor
Editorial
T02-10.4
<routine
invocation>
T02-10.4
<routine
invocation>
ii) If the <SQL argument list> does not contain any <SQL argument>
that is a <named argument specification>, then for each k, NA < k
≤ SIRNA, the routine descriptor of SIR shall contains an indication
that the k-th SQL parameter has a default value.
Undefined symbol Pi appears in SR9)g)i)2)A).
See comment.
Solution
Modify the lead text of SR9)g) as follows:
g) Let SRNP be the number of SQL parameters of SR. Let Pi, 1
(one) ≤ i ≤ SRNP, be the i-th SQL parameter of SR.
In SR9)g)iii)3), an argument of a routine invocation is specified as a
target of store assignment and an input SQL parameter of a routine is
specified as a value of the store assignment. However, a target must be
an input parameter and a value must be an argument on a routine
invocation.
See comment.
Solution
Modify the lead text of SR9)g)iii)3) as follows:
T02-JPN-051
4-Minor
Editorial
T02-10.4
<routine
invocation>
3) 04 If XAi is an <SQL parameter reference>, a <column reference>,
or a <target array element specification>, then the Syntax Rules
of Subclause 9.2, “Store assignment”, are applied with XAi Pi as
TARGET and Pi XAi as VALUE.
The lead text of SR10) does not make sense, because symbol R denotes
an SQL-invoked routine and a syntax element contained in <call
statement> is <routine invocation>.
See comment.
Solution
Modify the lead text of SR10) as follows:
T02-JPN-052
4-Minor
Editorial
T02-10.4
<routine
invocation>
10) If RI is not immediately contained in a <call statement>, then:
In SR10)b)ix), an argument of a routine invocation is specified as a
target of store assignment and an input SQL parameter of a routine is
specified as a value of the store assignment. However, a target must be
an input parameter and a value must be an argument on a routine
Page 22 of 44
See comment.
2017-07-28
WG3/National Body JPN DCOR Ballot Comments Template
SEQ
#
Cmnt
ID
See
Also
Addressed By
Severity
Reference
Description
invocation.
Solution
Modify the lead text of SR10)b)ix) as follows:
T02-JPN-053
4-Minor
Editorial
T02-10.4
<routine
invocation>
ix) For each Pi, the Syntax Rules of Subclause 9.2, “Store
assignment”, are applied with Ai Pi as TARGET and PiAi as
VALUE.
SR12)a) does not make sense, because symbol R denotes an SQLinvoked routine and a syntax element contained in <call statement> is
<routine invocation>.
See comment.
Solution
Modify SR12)a) as follows:
T02-JPN-054
T02-JPN-055
4-Minor
Editorial
4-Minor
Editorial
a) If RI is not immediately contained in a <call statement> and <SQL
argument list> does not immediately contain at least one <SQL
argument>, then let the static SQL argument list of RI be an empty
list of SQL arguments.
T02-11.2 <drop In NOTE 336, a redundant “by” appears.
See comment.
schema
Solution
statement>
Modify NOTE 336 as follows:
T02-11.4
<column
definition>
NOTE 336 — If CASCADE is specified, then such objects will be
dropped by implicitly by the <revoke statement> and/or explicitly by
the SQL-schema manipulation statements specified in the General
Rules of this Subclause.
GR4) enumerates items included in a column descriptor. However,
GR4)f)iv) describes how to derive a sequence generator descriptor but
does not describe such an item.
See comment.
Solution
Modify GR4)f)iv) as follows:
4) A column descriptor is created that describes the column being
defined. The column descriptor includes:
a) …..
…..
f) If <identity column specification> is specified, then:
i) An indication that the column is an identity column.
ii) If ALWAYS is specified, then an indication that values are
Page 23 of 44
2017-07-28
WG3/National Body JPN DCOR Ballot Comments Template
SEQ
#
Cmnt
ID
T02-JPN-056
See
Also
Addressed By
Severity
4-Minor
Editorial
Reference
T02-11.26
<drop table
constraint
definition>
Description
always generated.
iii) If BY DEFAULT is specified, then an indication that values are
generated by default.
iv) The General Rules of Subclause 9.26, “Creation of a
sequence generator”, are applied with SGO as
OPTIONS and ICT as DATA TYPE; let the descriptor of
the sequence generator SG be the SEQGENDESC
returned from the application of those General Rules.
The descriptor of the sequence generator SG returned
as SEQGENDESC from the application of the General
Rules of Subclause 9.26, “Creation of a sequence
generator” with SGO as OPTIONS and ICT as DATA
TYPE.
The second sentence of SR10)b) is a little bit incorrect.
See comment.
TC shall not cause the nullability characteristic of the ATPN start
column of T or the ATPN end column of T to change from known not
nullable to possibly nullable.
TC makes some column not nullable but does not make any column
possibly nullable. The dropping of TC makes it possibly nullable.
Solution
Modify SR10)b) as follows:
T02-JPN-057
4-Minor
Editorial
T02-11.26
<drop table
constraint
definition>
b) Let ATPN be the <application time period name> included in ATPD.
The dropping of TC shall not cause the nullability characteristic of
the ATPN start column of T or the ATPN end column of T to change
from known not nullable to possibly nullable..
In NOTE 367, the wording “specified in the General Rules of this
See comment.
Subclause” is better than “specified in this Subclause”, just like that in
NOTE 364, which reads:
NOTE 364— If CASCADE is specified, then any such dependent object
will be dropped by the execution of the <revoke statement> and/or
explicitly by the SQL-schema manipulation statements specified in the
General Rules of this Subclause.
Solution
Modify NOTE 367as follows:
Page 24 of 44
2017-07-28
WG3/National Body JPN DCOR Ballot Comments Template
SEQ
#
Cmnt
ID
T02-JPN-058
See
Also
Addressed By
Severity
4-Minor
Editorial
Reference
Description
NOTE 367— If CASCADE is specified, then any such dependent object
will be dropped implicitly by the <revoke statement> and/or explicitly
by the SQL-schema manipulation statements specified in the General
Rules of this Subclause.
T02-11.27 <add SR4)a) is a little bit incorrect, since what a table descriptor includes is
See comment.
table period
not a period but a period descriptor.
definition>
Solution
Modify SR4)a) as follows:
T02-JPN-059
T02-JPN-060
4-Minor
Editorial
4-Minor
Editorial
T02-11.32
<view
definition>
T02-11.32
<view
definition>
a) The table descriptor of T shall not include a system-time period
descriptor.
In GR1)e)ii)1)A)I), there is an unnecessary word “If”.
See comment.
Solution
I) If <self-referencing column name> is specified, then If <selfreferencing column name>.
The term “update column privilege” in NOTE 384 should be a capital
letter form “UPDATE column privilege”, similar to “UPDATE privilege”
which appears in many places in the standard.
See comment.
Solution
Modify NOTE 384 as follows:
T02-JPN-061
4-Minor
Editorial
T02-11.34
<domain
definition>
NOTE 384 — This ensures that the updatable columns of SUPERT can
be determined when the view is created and will not be subject to
change as a result of adding the subview. It also ensures that
updateUPDATE column privileges on SUPERT can be established
solely by examining the original <query expression> of SUPERT, and
need not change as the result of adding a subview. In more detail,
the rule says that if a column of a referenceable view RV is a column
reference to a column of the basis table of RV, then in every subview
SUBRV, that column must be a column reference to the corresponding
column in the basis table of SUBRV..
The wording “domain constraint included in the domain descriptor” in
See comment.
GR4) is a little bit incorrect, because what a domain descriptor includes
is not a domain constraint but a domain constraint descriptor according
to GR3), which reads:
3) A domain descriptor is created that describes the domain being
Page 25 of 44
2017-07-28
WG3/National Body JPN DCOR Ballot Comments Template
SEQ
#
Cmnt
ID
See
Also
Addressed By
Severity
Reference
Description
created. The domain descriptor contains the name of the domain,
the data type descriptor of the declared type, the value of the
<default clause> if the <domain definition> immediately contains
<default clause>, and a domain constraint descriptor for every
immediately contained <domain constraint>..
Solution
Modify GR4) as follows:
T02-JPN-062
4-Minor
Editorial
T02-11.50
<drop trigger
statement>
4) A privilege descriptor is created that defines the USAGE privilege
on this domain to the <authorization identifier> A of the schema or
SQL-client module in which the <domain definition> appears. This
privilege is grantable if and only if the applicable privileges for A
include a grantable REFERENCES privilege for each <column
reference> contained in the <search condition> of every domain
constraint descriptor included in the domain descriptor and a
grantable USAGE privilege for each <domain name>, <collation
name>, <character set name>, and <transliteration name>
contained in the <search condition> of every domain constraint
descriptor included in the domain descriptor. The grantor of the
privilege descriptor is set to the special grantor value “_SYSTEM”.
The term “schema name” in SR2) should be BNF form “<schema
name>”.
See comment.
Solution
Modify SR2) as follows:
2) The schema identified by the explicit or implicit <schema name> of
TRN
T02-JPN-063
4-Minor
Editorial
T02-11.51
The term “locator indication” in GR1)h)viii) should be BNF form
<user-defined
“<“locator indication >”, since it is described as contained in <returns
type definition> clause>. .
See comment.
Solution
Modify GR1)h)viii) as follows:
T02-JPN-064
4-Minor
Editorial
T02-11.51
<user-defined
viii) The <locator indication> contained in the <returns clause>
included in the DCMS, if any.
I n GR1)g)xvi)及びGR1)h)xv), the term ”last_altered timestamp” is not
correct.
Page 26 of 44
See comment.
2017-07-28
WG3/National Body JPN DCOR Ballot Comments Template
SEQ
#
Cmnt
ID
See
Also
Addressed By
Severity
Reference
Description
type definition>
Solution
Modify GR1)g)xvi) and GR1)h)xv) as follows:
xvi) The CURRENT_TIMESTAMP as the value of the last_altered
last-altered timestamp.
T02-JPN-065
T02-JPN-066
T02-JPN-067
4-Minor
Editorial
4-Minor
Editorial
4-Minor
Editorial
T02-11.56
<add original
method
specification>
xv) The CURRENT_TIMESTAMP as the value of the last_altered
last-altered timestamp.
The term “SQL descriptor” in GR1)f) is incorrect..
Modify GR1)f) as follows:
f) For every SQL descriptorparameter declaration in NPL, a
locator indication (if specified).
T02-11.57
A subscript “j” appears in SR9)c) with no mention about its range. It is
<add overriding right to use subscript “i” instead of “j”.
method
Solution
specification>
Modify SR9)c) as follows:
T02-11.60
<SQL-invoked
routine>
See comment.
Solution
c) For i varying from 2 to N, the Syntax Rules of Subclause 9.20,
“Data type identity”, are applied with the declared type of SQL
parameter PCOMSi of UPCOMS as TYPE1 and the declared type of
SQL parameter POVMSji–1 of MPDL as TYPE2.
Although SR6)o) allows that a <returns data type> or <result cast from
type> of a multiset-returning external function is a distinct type whose
source type is a collection type, that data type shall be a multiset type,
since a collection type includes an array type.
See comment.
See comment.
Solution
Modify SR6)o)i) and ii) as follows:
i) A <result cast from type> is specified that simply contains a
<multiset type> or a <path-resolved user-defined type name>
whose source type is a collection multiset type and does not
contain a <locator indication>.
ii) A <result cast from type> is not specified and <returns data type>
simply contains a <multiset type> or a <path-resolved user-defined
type name> whose source type is a collection multiset type and
does not contain a <locator indication>.
Page 27 of 44
2017-07-28
WG3/National Body JPN DCOR Ballot Comments Template
SEQ
#
Cmnt
ID
T02-JPN-068
See
Also
Addressed By
Severity
4-Minor
Editorial
Reference
T02-11.60
<SQL-invoked
routine>
Description
A undefined symbol “T” appears in SR20)d)iv)1)B)I)2)a). Guessing from
the description of SR20)d)iv)1)B)I)1)a), symbol “Ti” is correct one.
See comment.
Solution
Modify SR20)d)iv)1)B)I)2)a) as follows:
T02-JPN-069
4-Minor
Editorial
T02-11.61
<alter routine
statement>
a) The Syntax Rules of Subclause 9.23, “Determination of a to-sql
function”, are applied with the data type identified by Ti as TYPE
and the <group name> contained in the <group specification> that
contains T as GROUP. There shall be an applicable to-sql function
TSFi. TSFi is called the to-sql function associated with i-th SQL
parameter.
In SR9)b), the quotation “host data type column” is closed at a wrong
position. “host data type” column is correct.
See comment.
Solution
Modify SR9)b) as follows:
T02-JPN-070
4-Minor
Editorial
T02-12.7
<revoke
statement>
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”.
The term “SQL routine body” appears in GR29)e), g), k), and l). It
See comment.
should be BNF form “< SQL routine body >”.
Solution
Modify SR29)e) as follows:
e) SELECT privilege on at least one column of each table identified by
a <table reference> contained in a <value expression> simply
contained in an <update source> or an <assigned row> contained
in the <SQL routine body> of RD.
Modify SR29)g) as follows:
Page 28 of 44
2017-07-28
WG3/National Body JPN DCOR Ballot Comments Template
SEQ
#
Cmnt
ID
See
Also
Addressed By
Severity
Reference
Description
g) SELECT privilege on at least one column identified by a <column
reference> contained in a <value expression> simply contained in
an <update source> or an <assigned row> contained in the <SQL
routine body> of RD.
Modify SR29)k) as follows:
k) DELETE privilege on the table identified by the <target table>
contained in a <merge statement> that contains a <merge delete
specification> and that is contained in the <SQL routine body> of
RD.
Modify SR29)l) as follows:
T02-JPN-071
4-Minor
Editorial
l) USAGE privilege on each domain, collation, character set,
transliteration, and sequence generator whose name is contained in
the <SQL routine body> of RD.
T02-13.5
In SQL DataTtype column of Table 16 — Data type correspondences for
Data type
Ada, a specification for character unit is missing at rows of CHARACTER
correspondence VARYING and CHARACTER LARGE OBJECT.
s
See comment.
Solution
Modify a value of SQL data type column at the row of CHARACTER
VARYING type as follows:
CHARACTER VARYING (L U)
CHARACTER SET CS
Modify a value of SQL data type column at the row of CHARACTER
VARYING type in Table 16 as follows:
CHARACTER LARGE OBJECT
(L U)
CHARACTER SET CS
T02-JPN-072
4-Minor
Editorial
T02-13.5
In C data type column of Table 17 — Data type correspondences for C,
Data type
footnote reference number 1 appears twice at rows of CHARACTER
correspondence LARGE OBJECT.
s
See comment.
Solution
Page 29 of 44
2017-07-28
WG3/National Body JPN DCOR Ballot Comments Template
SEQ
#
Cmnt
ID
See
Also
Addressed By
Severity
Reference
Description
Modify a value of SQL data type column at the row of CHARACTER
LARGE OBJECT type in Table 17as follows:
struct {
long hvn_reserved;
unsigned long hvn_length;
unit hvn_data[L1 * k];
} hvn1 2 3;
T02-JPN-073
4-Minor
Editorial
T02-13.5
In the third item of footnote of Table 17 — Data type correspondences
Data type
for C, an undefined symbol AV appears instead of a defined symbol CV.
correspondence
Solution
s
Modify the third item of footnote of Table 17 as follows:
See comment.
CV of this type, the length portion of CV is the field of CV called
hvn_length, and the data portion of AV CV is the field of AV CV called
hvn_data.
3 In a C value
T02-JPN-074
4-Minor
Editorial
T02-13.5
In the 4th item of footnote ofTable 18 — Data type correspondences for
Data type
COBOL, an undefined symbol AV appears instead of a defined symbol
correspondence CV.
s
See comment.
Solution
Modify the 4th item of footnote of Table 18 as follows:
CV of this type, the length portion of CV is the field of CV
called hvn-LENGTH, and the data portion of AV CV is the field of AV CV
called hvn-DATA..
4 In a COBOL value
T02-JPN-075
4-Minor
Editorial
T02-13.5
In the third item of footnote of Table 19 — Data type correspondences
See comment.
Data type
for Fortran, an undefined symbol AV appears instead of a defined symbol
correspondence CV.
s
Solution
Modify the third item of footnote of Table 19 as follows:
FV of this type, the length portion of FV is the field of FV
called hvn_LENGTH, and the data portion of AV FV is the field of AV FV
called hvn_DATA.
3 In a Fortran value
T02-JPN-076
4-Minor
Editorial
T02-13.5
Data type
correspondence
s
According to Table 19 — Data type correspondences for Fortran, Fortran
Data Type corresponding to SQL Data Type of BINARY VARYING is
“None”. However, SR6)e) of Subclause 21.6 <embedded SQL Fortran
program> provides Fortran variable declaration corresponding to host
Page 30 of 44
See comment.
2017-07-28
WG3/National Body JPN DCOR Ballot Comments Template
SEQ
#
Cmnt
ID
See
Also
Addressed By
Severity
Reference
Description
parameter data type of BINARY VARYING. Fortran data type for BINARY
VARYING should be supplied as provided in SR6)g) of Subclause 21.6.
Solution
Modify a value of Fortran data type column at the row of BINARY
VARYING(L) type in Table 19 as follows:
None
T02-JPN-077
4-Minor
Editorial
T02-14.5
<fetch
statement>
CHARACTER HVN (L+8)
INTEGER*4 HVN_RESERVED
INTEGER*4 HVN_LENGTH
CHARACTER HVN_DATA * L
EQUIVALENCE (HVN(1), HVN_RESERVED)
EQUIVALENCE (HVN(5), HVN_LENGTH)
EQUIVALENCE (HVN(9), HVN_DATA)
While the term “arbitrary site” used in in SR9)b)iii)1) of Subclause 14.5,
“temporary site” is used inSR3)b)ii)1) of Subclause 14.7, “14.7 <select
statement: single row>”, in SR11)a) of Subclause 14.14, “<set clause
list>”, and so on.
See comment.
Solution
Modify SR9)b)iii)1)as follows:
T02-JPN-078
T02-JPN-079
4-Minor
Editorial
4-Minor
Editorial
T02-14.5
<fetch
statement>
T02-14.8
<delete
statement:
positioned>,
T02-14.13
<update
1) If TS1i contains a <simple value specification>, then the Syntax
Rules of Subclause 9.2, “Store assignment”, are applied with an
arbitrary a temporary site whose declared type is the declared
type of TS1i as TARGET and CSi as VALUE.
An unexpected comma appears in SR9)b)v.
See comment.
Solution
Modify SR9)b)v)as follows:
v) For each <target specification> TS2i, 1 (one) ≤ i, ≤ NTS, that is
an <embedded variable specification>, the Syntax Rules of
Subclause 9.1, “Retrieval assignment”, are applied with TS2i as
TARGET and CSi as VALUE.
A wording “implicit qualifier of TN” appears in SR10) of Subclause 14.8
and in SR10) of Subclause 14.13, “<update statement: positioned>”. It
should be “<schema name> of TN”, just like 14.10, because <schema
name> is more specific.
See comment.
Solution
Page 31 of 44
2017-07-28
WG3/National Body JPN DCOR Ballot Comments Template
SEQ
#
Cmnt
ID
See
Also
Addressed By
Severity
Reference
statement:
positioned>
Description
Modify SR10) of 14.8 as follows:
10) The schema identified by the explicit or implicit
qualifier<schema name> of TN shall include the descriptor of
LUT.
Modify SR10) of 14.13 as follows:
T02-JPN-080
T02-JPN-081
4-Minor
Editorial
4-Minor
Editorial
T02-14.8
<delete
statement:
positioned>
T02-14.11
<insert
statement>
10) The schema identified by the explicit or implicit
qualifier<schema name> of TN shall include the descriptor of
LUT.
While a symbol CN appears in NOTE 466 in SR11), the symbol used in a
description in SR11) is COR.
See comment.
Solution
Modify NOTE 466 as follows:
NOTE 466 — CN COR has no scope.
It seems that the last line of SR6) needs “is” between “DEFAULT” and
“equal”.
See comment.
Solution
Modify SR6) as follows:
T02-JPN-082
2-Minor
Technical
T02-14.11
<insert
statement>
6) An <insert columns and source> that specifies DEFAULT VALUES is
implicitly replaced by an <insert columns and source> that
specifies a <contextually typed table value constructor> of the
form
VALUES (DEFAULT, DEFAULT, ..., DEFAULT)
where the number of instances of “DEFAULT” is equal to the
number of columns of T.
In application of Subclause 9.2, “Store assignment” in SR14, while a
See comment.
column is specified as the assignment target, a table value is specified
for the assignment value. This means that SR14) describes an
incompatible store assignment.
Solution
Modify SR14) as follows:
14) For each column of T identified by the <column name> in
the <insert column list>, Tthe Syntax Rules of Subclause 9.2,
Page 32 of 44
2017-07-28
WG3/National Body JPN DCOR Ballot Comments Template
SEQ
#
Cmnt
ID
T02-JPN-083
T02-JPN-084
See
Also
Addressed By
Severity
4-Minor
Editorial
4-Minor
Editorial
Reference
T02-14.12
<merge
statement>
T02-14.12
<merge
statement>
Description
“Store assignment”, are applied with corresponding the columns
of T as TARGET and the corresponding column of QT as
VALUE.
The symbol “DSC” in SR19) is not in italic form.
See comment.
Solution
Modify the lead text of SR19) as follows:
19) Let DSC DSC be the <search condition> immediately
contained in <merge statement>.
Although AR1)b) is rules in terms of current privileges, AR1)d)ii) describe See comment.
a rule for applicable privileges.
Solution
Modify AR1)d)ii) as follows:
T02-JPN-085
4-Minor
Editorial
T02-14.12
<merge
statement>
ii) If <merge delete specification> is specified, then the applicable
current privileges for A shall include DELETE for T.
In GR6)a)vi)2)B), the sentence “T is a viewed table” following
“otherwise,” does not make sense.
See comment.
Solution
Modify GR6)a)vi)2)B) as follows:
T02-JPN-086
4-Minor
Editorial
T02-14.14
<update
statement:
searched>
B) Otherwise,If T is a viewed table and, then the General Rules of
Subclause 15.9, “Effect of deleting some rows from a viewed
table”, are applied with TT as VIEW NAME.
An undefined symbol UPS appears in SR8). If UPS is intended to be the
update statement of this Subclause, symbol USS defined in SR1) should
be used.
See comment.
Solution
Modify SR8) as follows:
T02-JPN-087
4-Minor
Editorial
T02-14.14
<update
statement:
searched>
8) If UPSUSS is contained in a <triggered SQL statement>, then SC
shall not contain a <value specification> that specifies a parameter
reference.
The table identified by “<correlation name>s or <table or query name>” See comment.
in GR5)a) should be clarified just likeGR5)b), which reads:
a) If TT contains ONLY, then SC is effectively evaluated for each row
of T with the exposed <correlation name>s or <table or query
Page 33 of 44
2017-07-28
WG3/National Body JPN DCOR Ballot Comments Template
SEQ
#
Cmnt
ID
See
Also
Addressed By
Severity
Reference
Description
name>s bound to that row, and the subject rows are those rows for
which the result of SC is True and for which there is no subrow in a
proper subtable of T. SC is effectively evaluated for each row of T
before updating any row of T.
b) Otherwise, SC is effectively evaluated for each row of T with the
exposed <correlation name>s or <table or query name>s of TT
bound to that row, and the subject rows are those rows for which
the result of SC is True. SC is effectively evaluated for each row of T
before updating any row of T.
Solution
Modify GR5)a) as follows:
T02-JPN-088
4-Minor
Editorial
T02-14.16
<temporary
table
declaration>
a) If TT contains ONLY, then SC is effectively evaluated for each row
of T with the exposed <correlation name>s or <table or query
name>s of TT bound to that row, and the subject rows are those
rows for which the result of SC is True and for which there is no
subrow in a proper subtable of T. SC is effectively evaluated for
each row of T before updating any row of T.
A description “U does not contain a table” in GR1 is incorrect, since U is
See comment.
a schema name and what does not contain a table is a schema itself, not
its name.
Solution
Modify GR1) as follows:
T02-JPN-089
T02-JPN-090
4-Minor
Editorial
4-Minor
T02-15.10
Effect of
inserting tables
into base tables
T02-15.10
1) Let U be the implementation-dependent <schema name> of the
schema that contains the declared local temporary table such that
the schema identified by U does not contain a table whose
<table name> is equivalent to TN.
The term “data type “ in GR2)b)ii) should be “declared type”, just like in
GR2)c)ii).
See comment.
Solution
Modify GR2)b)ii) as follows:
ii) Let NV be the transaction timestamp of the current SQLtransaction. Let DT be the data declared type of the system-time
period start column of T. Let NVV be the result of CAST (NV AS
DT)
A period is missing at the end of GR2)a)iii), GR2)b)iii), and GR2)c)iii).
Page 34 of 44
See comment.
2017-07-28
WG3/National Body JPN DCOR Ballot Comments Template
SEQ
#
Cmnt
ID
See
Also
Addressed By
Severity
Editorial
T02-JPN-091
T02-JPN-092
T02-JPN-093
4-Minor
Editorial
4-Minor
Editorial
4-Minor
Editorial
Reference
Description
Effect of
inserting tables
into base tables
Solution
T02-15.13
Effect of
replacing rows
in base tables
T02-15.13
Effect of
replacing rows
in base tables
T02-15.19
Execution of
triggers
Supply a period at the end of GR2)a)iii), GR2)b)iii), and GR2)c)iii),
respectively.
The unexpected hyphen appears between “system-time” and “period” in
GR8)a)i).
See comment.
Solution
Modify GR8)a)i) as follows:
i) Let START be the system-time-period start column of T and let END
be the system-time period end column of T. Let DT be the declared
type of START.:
The word “constraint” is missing immediately before “checking” in
See comment.
GR9)d)ii).
Solution
Modify GR9)d)ii) as follows:
ii) The following <insert statement> is effectively executed without
further Access Rule and constraint checking:
A condition name “modify table modified by data change delta table” in
GR5)h) is incorrect. In Table 33 — SQLSTATE class and subclass values,
the condition name whose subcondition name is “modify table modified
by data change delta table” is “prohibited statement encountered during
trigger execution”.
See comment.
Solution
Modify GR5)h) as follows:
h) If TR is an AFTER trigger and the subject table restriction flag of
the current SQL-session context is set to True, and if during the
execution of TR any attempt is made to insert a row, update a row,
or delete a row in a table whose name is included in the restricted
subject table name list included in the current SQL-session context,
then an exception condition is raised: prohibited statement
encountered during trigger execution — modify table modified by
data change delta table.
Delete the entry for “prohibited statement encountered during trigger
execution” from Index.
Page 35 of 44
2017-07-28
WG3/National Body JPN DCOR Ballot Comments Template
SEQ
#
Cmnt
ID
T02-JPN-094
T02-JPN-095
See
Also
Addressed By
Severity
3-Major
Editorial
4-Minor
Editorial
Reference
T02-15.19
Execution of
triggers
T02-16.2
<return
statement>
Description
An undefined symbol RSC appears in GR5)j).
See comment.
Solution
Modify GR5) as follows:
a) The General Rules of Subclause 23.2, “Pushing and popping the
diagnostics area stack”, are applied with “PUSH” as OPERATION and the
diagnostics area stack in the current SQL-session context CSC as
STACK.
…..
j)The General Rules of Subclause 23.2, “Pushing and popping the
diagnostics area stack”, are applied with “POP” as OPERATION and the
diagnostics area stack in RSC CSC as STACK.
In application of Subclause 9.2, “Store assignment” in SR4), data type of
a value is specified as parameter VALUE. However, of Subclause 9.2
requires a value itself as parameter VALUE,not a data type of a value.
See comment.
Solution
Modify SR4) as follows:
T02-JPN-096
4-Minor
Editorial
T02-20.4
<get descriptor
statement>
4) The Syntax Rules of Subclause 9.2, “Store assignment”, are applied
with an item of the data type RDT as TARGET and the declared
type of VE as VALUE.
An incorrect term “SQL descriptor” appears in GR2). The correct term is See comment.
“SQL descriptor area”.
Solution
Modify GR2) as follows:
T02-JPN-097
4-Minor
Editorial
T02-20.4
<get descriptor
statement>
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.
An incorrect term “item information area” appears in GR7). The correct
term is “item descriptor area”. In addition, a word “item” at the end of
5th sentence is not expected, since the referent from <allocate
descriptor statement> etc is an SQL descriptor and is not an item.
See comment.
Solution
Modify GR7) as follows:
Page 36 of 44
2017-07-28
WG3/National Body JPN DCOR Ballot Comments Template
SEQ
#
Cmnt
ID
T02-JPN-098
See
Also
Addressed By
Severity
4-Minor
Editorial
Reference
T02-20.5
<set descriptor
statement>
Description
7) A <get descriptor statement> retrieves values from the SQL
descriptor area specified by <descriptor name>. The values
retrieved are specified by the <get descriptor information>. If <get
descriptor information> specifies one or more <get header
information>s, then the values retrieved are those identified by the
<header item name>s contained in those <get header
information>s. If <get descriptor information> specifies one or
more <get item information>s, then the values retrieved are those
identified by the <descriptor item name>s contained in those <get
item information>s in the item informationdescriptor area
identified by <item number>. For each item, the value that is
retrieved is the one established by the most recently executed
<allocate descriptor statement>, <set descriptor statement>, or
<describe statement> that references the specified SQL descriptor
area and item. The value retrieved by a <get descriptor
statement> for any field whose value is undefined is
implementation-dependent.
GR5) describes an assignment of header information. However,
according to GR4), V, which is specified for an assignment value, is the
value of <simple value specification 2> for item information.
See comment.
Solution
Modify GR5) as follows:
T02-JPN-099
4-Minor
Editorial
T02-20.6
<prepare
statement>
5) For each <set header information> specified, the General Rules of
Subclause 9.2, “Store assignment”, are applied with the field
identified by <header item name> as TARGET and Vthe value of
<simple value specification 1> as VALUE.
The description “DP is X1 or X2” does not make sense in the lead texts in See comment.
GR5)a)ix), x) and xi)2).
Solution
Modify the lead text of GR5)a)ix) as follows:
ix) If DP is either X1 or X2 in a <value expression> of the form “X1 ||
X2” and DP is X1 or X2, then
Modify the lead text of GR5)x) as follows:
x) If DP is either X1 or X2 in a <value expression> of the form “X1 *
Page 37 of 44
2017-07-28
WG3/National Body JPN DCOR Ballot Comments Template
SEQ
#
Cmnt
ID
See
Also
Addressed By
Severity
Reference
Description
X2” or “X1 / X2” and DP is X1 or X2, respectively, then
Modify the lead text of GR5)xi)2) as follows:
T02-JPN-100
T02-JPN-101
T02-JPN-102
4-Minor
Editorial
4-Minor
Editorial
4-Minor
Editorial
T02-20.6
<prepare
statement>
T02-20.6
<prepare
statement>
T02-20.23
<preparable
dynamic delete
statement:
positioned>
2) Otherwise, if DP is X1 or X2, then
In GR5)a)xviii)1)D), “<match predicate part2>” is missing..
See comment.
Solution
Modify GR5)a)xviii)1)D) as follows:
D) The set consisting of the declared row type of a <table subquery>
simply contained in an <in predicate part 2>, <match predicate
part2>, or <quantified comparison predicate part 2> simply
contained in CE.
Notation RV1(RV2) still remain GR5)a)xxiv)2).
See comment.
Solution
Modify GR5)a)xxiv)2) as follows:
2) Otherwise, if DP is simply contained in RV1 (or RV2), then DT is
the declared type of the first field of RV2 (or RV1) , respectively.
Although a symbol TN is defined for the name of LUT in SR2)b), it is
See comment.
defined for the name of a target table in SR2)c)ii). The definition for LUT
should be in SR2)c)i), which is in the same level as SR2)c)ii).
Solution
Modify SR2)b) and c) as follows:
b) Let QE be the <query expression> simply contained in the <cursor
specification> of the result set descriptor of CR. Let LUT be the
target leaf underlying table of QE. Let TN be the name of LUT.
c) Case:
i) If <target table> is not specified, then let TN be the name of
LUT.
Case:
1) If the <table reference> that references LUT specifies ONLY,
then the <target table>
ONLY ( TN )
is implicit.
2) Otherwise, the <target table>
TN
Page 38 of 44
2017-07-28
WG3/National Body JPN DCOR Ballot Comments Template
SEQ
#
Cmnt
ID
T02-JPN-103
See
Also
Addressed By
Severity
4-Minor
Editorial
Reference
Description
is implicit.
ii) Otherwise, let TN be the <table name> contained in <target
table>. TN shall identify LUT.
T02-20.25
Although a symbol TN is defined for the name of LUT in SR2)b), it is
See comment.
<preparable
defined for the name of a target table in SR2)c)ii). The definition for LUT
dynamic update should be in SR2)c)i), which is in the same level as SR2)c)ii). In addition,
statement:
a symbol CR defined in in SR2)a) should be used instead of “the cursor
positioned>
identified by <preparable dynamic cursor name>”.
Solution
Modify SR2)b) and c) as follows:
b) Let QE be the <query expression> simply contained in the <cursor
specification> of the result set descriptor of the cursor identified
by <preparable dynamic cursor name>CR. Let LUT be the
target leaf underlying table of QE. Let TN be the name of LUT.
c) Case:
i) If <target table> is not specified, then let TN be the name of
LUT.
Case:
1) If the <table reference> that references LUT specifies ONLY,
then the <target table>
ONLY ( TN )
is implicit.
2) Otherwise, the <target table>
TN
T02-JPN-104
4-Minor
Editorial
T02-21.1
<embedded
SQL host
program>
is implicit.
ii) Otherwise, let TN be the <table name> contained in <target
table>. TN shall identify LUT.
A undefined symbol “GUOk” appears in SR22)l)i)6)J). The correct symbol
is “GNOk” defined in SR22)l)i)6)G) since “GUOk” is used as a group name”
See comment.
Solution
Modify SR2)l)i)6)J) as follows:
J) For every k, 1 (one) ≤ k ≤ b, the Syntax Rules of Subclause 9.21,
“Determination of a from-sql function”, are applied with TUOk as
TYPE and GUOk GNOk as GROUP. There shall be an applicable
from-sql function FSFOk identified by <routine name> FSONk. Let
TROk be the result data type of FSFOk. TSOk shall be assignable to
Page 39 of 44
2017-07-28
WG3/National Body JPN DCOR Ballot Comments Template
SEQ
#
Cmnt
ID
T02-JPN-105
T02-JPN-106
See
Also
Addressed By
Severity
4-Minor
Editorial
4-Minor
Editorial
Reference
T02-21.1
<embedded
SQL host
program>
T02-21.3
<embedded
SQL Ada
program>
Description
TROk.
The symbol “GNIO” appears without subscript in SR22)l)i)6)K).
See comment.
Solution
Modify SR22)l)i)6)K) as follows:
K) For every l, 1 (one) ≤ l ≤ c, the Syntax Rules of Subclause 9.21,
“Determination of a from-sql function”, are applied with TUIO as
TYPE and GNIOl as GROUP. There shall be an applicable from-sql
function FSFIOl identified by <routine name> FSIONl. Let TRIOl be
the result data type of FSFIOl. TSIOl shall be assignable to TRIOl.
The term “maximum length” in SR4)c)i) and iv) is appropriate rather
than “length”, because the length of a large object type is variable.
See comment.
Solution
Modify SR4)c)i) as follows:
i) If ATS is <Ada CLOB variable>, then the <host parameter data
type> of HV is CHARACTER LARGE OBJECT, with maximum length
specified by <character large object length> and character set
specified by <character set specification>. If <character set
specification> is omitted, then the character set is implementationdefined.
Modify SR4)c)iv) as follows:
T02-JPN-107
4-Minor
Editorial
T02-21.3
<embedded
SQL Ada
program>
iv) If ATS is <Ada VARBINARY variable>, then the <host parameter
data type> of HV is BINARY VARYING with maximum length
specified by <length>.
A wording “reference type identified by RT” in SR6) is not reasonable,
because the data type identified by a <referenced type> is a reference
type but a referenced type.
See comment.
Solution
Modify SR6) as follows:
T02-JPN-108
4-Minor
Editorial
T02-21.4
<embedded
6) The reference data type identified by the <referenced type>
contained in the <reference type> contained in an <Ada REF
variable> is called the referenced type of the reference.
The last sentence of SR4)b)iv) is redundant, because a description about See comment.
default character set in the case of CHARACTER LARGR OBJECT type and
Page 40 of 44
2017-07-28
WG3/National Body JPN DCOR Ballot Comments Template
SEQ
#
Cmnt
ID
See
Also
Addressed By
Severity
Reference
SQL C
program>
Description
NATIONAL CHARACTER LARGR OBJECT is provided in the last sentence
of SR4)b)i).
Solution
Modify SR4)b)iv) as follows:
T02-JPN-109
T02-JPN-110
T02-JPN-111
4-Minor
Editorial
4-Minor
Editorial
4-Minor
Editorial
T02-21.4
<embedded
SQL C
program>
T02-21.5
<embedded
SQL COBOL
program>
T02-21.5
<embedded
SQL COBOL
program>
iv) If <C CLOB variable> or <C NCLOB variable> is specified, then
the <host parameter data type> of HV is CHARACTER LARGE
OBJECT or NATIONAL CHARACTER LARGE OBJECT, respectively,
with maximum length specified by <character large object length>,
and with character set specified by the <character set
specification>. If there is no <character set specification>,
then the character set is implementation-defined.
A wording “reference type identified by RT” in SR4)c)x) is not
reasonable, because the data type identified RT is RT itself.
See comment.
Solution
Modify SR4)c)x) as follows:
x) 14 If CVS is <C REF variable>, then the <host parameter data
type> of HV is RT, where RT is the <reference type>. The
reference data type identified by the <referenced type>
contained in RT is called the referenced type of the reference.
The term “maximum length” in SR4)d)iii) is appropriate rather than
“length”, because the length of a large object type is variable.
See comment.
Solution
Modify SR4)d)iii) as follows:
iii) If CTS contains <COBOL BLOB variable>, then the <host
parameter data type> of HV is BINARY LARGE OBEJCT, with
maximum length specified by the <large object length>.
A wording “reference type identified by RT” in SR4)d)x) is not
See comment.
reasonable, because the data type identified by a <referenced type> is a
reference type but a referenced type.
Solution
Modify SR4)d)x) as follows:
x)
14
If CTS contains <COBOL REF variable>, then the <host
Page 41 of 44
2017-07-28
WG3/National Body JPN DCOR Ballot Comments Template
SEQ
#
Cmnt
ID
T02-JPN-112
T02-JPN-113
See
Also
Addressed By
Severity
4-Minor
Editorial
4-Minor
Editorial
Reference
T02-21.5
<embedded
SQL COBOL
program>
T02-21.6
<embedded
SQL Fortran
program>
Description
parameter data type> of HV is the <reference type> RT contained
in CTS. The reference data type identified by the <referenced
type> contained in RT is called the referenced type of the
reference.
The term “SQL data type” in CR12) should be “<host parameter data
type>” which is used in syntax rules.
See comment.
Solution
Modify CR12) as follows:
12) Without Feature T071, “BIGINT data type”, in conforming SQL
language, the SQL data type <host parameter data type>that
is equivalent to a <COBOL integer type> shall not be BIGINT.
A wording “reference type identified by the <referenced type>” in
SR5)g)xi) is not reasonable, because the data type identified by a
<referenced type> is a reference type but a referenced type.
See comment.
Solution
Modify SR5)g)xi) as follows:
14 If FTS contains <Fortran REF variable>, then the <host
parameter data type> of HV is RT, where RT is the <reference
type> contained in FTS. The reference data type identified by the
<referenced type> contained in the <reference type> contained in
RT is called the referenced type of the reference.
The declaration to fill out any gap in a variable area is necessary in
SR6)g), just like SR6)e) which reads:
xi)
T02-JPN-114
4-Minor
Editorial
T02-21.6
<embedded
SQL Fortran
program>
See comment.
CHARACTER HVN (L+8)
INTEGER*4 HVN_RESERVED
INTEGER*4 HVN_LENGTH
CHARACTER HVN_DATA * LL
EQUIVALENCE (HVN(1), HVN_RESERVED)
EQUIVALENCE (HVN(5), HVN_LENGTH)
EQUIVALENCE (HVN(9), HVN_DATA)
Solution
Modify SR6)g) as follows:
g) The syntax
SQL TYPE IS VARBINARY ( L )
for a given <Fortran host identifier> HVN shall be replaced by
Page 42 of 44
2017-07-28
WG3/National Body JPN DCOR Ballot Comments Template
SEQ
#
Cmnt
ID
See
Also
Addressed By
Severity
Reference
Description
CHARACTER HVN (L+8)
INTEGER*4 HVN_RESERVED
INTEGER*4 HVN_LENGTH
CHARACTER HVN_DATA * L
EQUIVALENCE (HVN(1), HVN_RESERVED)
EQUIVALENCE (HVN(5), HVN_LENGTH)
EQUIVALENCE (HVN(9), HVN_DATA)
T02-JPN-115
4-Minor
Editorial
T02-21.7
<embedded
SQL MUMPS
program>
in any <Fortran VARBINARY variable>.
A wording “reference type identified by RT” in SR4)c)ii) is not
See comment.
reasonable, because the data type identified by a <referenced type> is a
reference type but a referenced type.
Solution
Modify SR4)c)vii) as follows:
T02-JPN-116
4-Minor
Editorial
T02-21.8
<embedded
SQL Pascal
program>
vii) If MVD contains <MUMPS REF variable>, then let RT be the
<reference type> contained in MVD. The <host parameter data
type> of HV is RT. The reference data type identified by the
<referenced type> contained in RT is called the referenced type of
the reference.
The incorrect wording “<Pascal host identifier> contained in PTS” is
included in the lead text of SR4), which lead.
See comment.
4) A <Pascal variable definition> PVD defines one or more <Pascal
host identifier>s. Let PTS be the <Pascal type specification>
contained in PVD, let PHI be a <Pascal host identifier> contained in
PTS, and let HV be the host variable corresponding to PHI.
The symbol PTS denotes <Pascal type specification>. However, <Pascal
type specification> specify a data type and does not contain <Pascal
host identifier>. PVD shall be used instead of PTS.
Solution
Modify the lead text of SR4) as follows:
T02-JPN-117
4-Minor
T02-21.8
4) A <Pascal variable definition> PVD defines one or more <Pascal
host identifier>s. Let PTS be the <Pascal type specification>
contained in PVD, let PHI be a <Pascal host identifier> contained in
PTS PVD, and let HV be the host variable corresponding to PHI.
The term “maximum length” in SR4)f)i) and iii) is appropriate rather than See comment.
Page 43 of 44
2017-07-28
WG3/National Body JPN DCOR Ballot Comments Template
SEQ
#
Cmnt
ID
See
Also
Addressed By
Severity
Editorial
Reference
<embedded
SQL Pascal
program>
Description
“length”, because the length of a large object type is variable.
Solution
Modify SR4)f)i) as follows:
i) If PTS contains <Pascal CLOB variable>, then the <host parameter
data type> of HV is CHARACTER LARGE OBJECT, with maximum
length specified by the <character large object length>, and with
character set specified by <character set specification>. If
<character set specification> is not specified, then the character set
is implementation-defined.
Modify SR4)f)iii) as follows:
T02-JPN-118
4-Minor
Editorial
T02-21.8
<embedded
SQL Pascal
program>
iii) If PTS contains <Pascal BLOB variable>, then the <host parameter
data type> of HV is BINARY LARGE OBJECT, with maximum
length specified by the <large object length>.
A wording “reference type identified by RT” in SR4)f)x) is not
See comment.
reasonable, because the data type identified by a <referenced type> is a
reference type but a referenced type.
Solution
Modify SR4)f)x) as follows:
T02-JPN-119
4-Minor
Editorial
T02-21.8
<embedded
SQL Pascal
program>
T02-Annex A,
SQL
Conformance
Summary
x) 14If PTS contains <Pascal REF variable>, then the <host parameter
data type> of HV is the <reference type> RT contained in PTS. The
reference data type identified by the <referenced type> contained
in RT is called the referenced type of the reference.
CR10) implies CR7) and CR8). The duplicate parts should be excluded
from CR10).
See comment.
7) Without Feature T041, “Basic LOB data type support”, conforming
SQL language shall not contain a <Pascal BLOB variable>.
8) Without Feature T041, “Basic LOB data type support”, conforming
SQL language shall not contain a <Pascal CLOB variable>.
9) …..
10) Without Feature T041, “Basic LOB data type support”, conforming
SQL language shall not contain a <Pascal BLOB variable>, <Pascal
CLOB variable>, <Pascal CLOB locator variable>.
Page 44 of 44
2017-07-28
WG3/National Body JPN DCOR Ballot Comments Template
SEQ
#
Cmnt
ID
See
Also
Addressed By
Severity
Reference
Description
Solution
Modify CR10) of Subclause 21.8 as follows:
10) Without Feature T041, “Basic LOB data type support”, conforming
SQL language shall not contain a <Pascal BLOB variable>,
<Pascal CLOB variable>, <Pascal CLOB locator variable>.
Modify 186)k)iv) of Annex A as follows:
T02-JPN-120
T02-JPN-121
4-Minor
Editorial
4-Minor
Editorial
21.9
<embedded
SQL PL/I
program>
21.9
<embedded
SQL PL/I
program>
iv) Without Feature T041, “Basic LOB data type support”, conforming
SQL language shall not contain a <Pascal BLOB variable>,
<Pascal CLOB variable>, <Pascal CLOB locator variable>.
The description in SR4)d) that the host parameter data type for PL/I
type fixed binary is inappropriate
See comment.
Solution
Modify SR4)d) as follows:
d) If PTS is <PL/I type fixedfloat binary>, then the <host parameter
data type> of HV is FLOAT with the same <precision>.
A wording “reference type identified by RT” in SR4)e)xi) is not
See comment.
reasonable, because the data type identified by a <referenced type> is a
reference type but a referenced type.
Solution
Modify SR4) e)xi) as follows:
14 If PTS contains <PL/I REF variable>, then the <host parameter
data type> of HV is RT, where RT is the <reference type>
contained in PTS. The reference data type identified by RT is
called the referenced type of the reference.
The description about an optional <character representation> is nothing
anywhere in syntax rules. It was included in SQL:2008.
xi)
T02-JPN-122
T02-JPN-123
2-Minor
Technical
4-Minor
Editorial
21.9
<embedded
SQL PL/I
program>
21.9
<embedded
SQL PL/I
program>
Solution
None provided with comment.
The term “SQL data type” in CR13) should be “<host parameter data
type>” which is used in syntax rules.
See comment.
Solution
Modify CR13) as follows:
Page 45 of 44
2017-07-28
WG3/National Body JPN DCOR Ballot Comments Template
SEQ
#
Cmnt
ID
T02-JPN-124
See
Also
Addressed By
Severity
4-Minor
Editorial
Reference
T02-22.1
<direct SQL
statement>
Description
13) Without Feature T071, “BIGINT data type”, in conforming SQL
language, the SQL data type <host parameter data type> that
is equivalent to a <PL/I type fixed binary> shall not be BIGINT.
The term “access mode” in GR6)b)iv) is a little bit incorrect. “transaction See comment.
access mode” is correct one.
Solution
Modify GR6)b)iv as follows:
iv) If S contains an <SQL schema statement> and the transaction
access mode of the current SQL-transaction is read-only, then an
exception condition is raised: invalid transaction state — read-only
SQLtransaction, no further subrules of this General Rule are
T02-JPN-125
4-Minor
Editorial
T02-25.3
Implied feature
relationships of
SQL/Foundation
evaluated, and evaluation continues with the next General Rule.
In Table 35 “Table 35 — Implied feature relationships of SQL/Foundation See comment.
“, the “Feature Name” column value of the row whose “Feature ID”
column value is “F867” and whose “Implied Feature ID” column value is
“F850” is incorrect.
Solution
Modify the “Feature Name” column value of the row whose “Feature ID”
column value is “F867” and whose “Implied Feature ID” column value is
“F850” in Table 35 as follows:
T02-JPN-126
4-Minor
Editorial
Nested <fetch first clause> in <query expression>
FETCH FIRST clause: WITH TIES option
T02-Annex.B
No corresponding descriptions to the description of item 1)a) and b) are See comment.
Implementation in Subclause 4.2.2, “Comparison of character strings”. The corresponding
-defined
descriptions are in Subclause 4.2.1, “Introduction to character strings”.
elements
The title of item 1) shall be 4.2.1, “Introduction to character strings”
Solution
Modify 1) as follows:
1) Subclause 4.2.2, “Comparison of character strings” 4.2.1,
“Introduction to 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 character
Page 46 of 44
2017-07-28
WG3/National Body JPN DCOR Ballot Comments Template
SEQ
#
Cmnt
ID
T02-JPN-127
See
Also
Addressed By
Severity
4-Minor
Editorial
Reference
Description
string expressions from one character set to another is automatic
are implementation-defined.
T02-Annex.B
The item 20)a) of Annex B states that output parameters, the value
See comment.
Implementation returned from the program, the value of the SQLSTATE, and the value of
-defined
the message text from the values assigned by the program to the
elements
effective SQL parameter list are obtained in an implementation-defined
manner in an invocation of an external routine with parameter style
GENERAL. However, according to 4th and 5th sentence of 6th paragraph
of 4.33.2, “Characteristics of SQL-invoked routines”, quoted below,
obtaining such values to the effective SQL parameter list is the manner
in in an invocation of an external routine with parameter style SQL. A
manner of obtaining those values is implementation-defined in an
invocation of an external routine with parameter style GENERAL.
After the execution of that program, if the parameter passing style of
the SQL-invoked routine is SQL, then the SQL-implementation obtains
the values for output parameters (if any), the value (if any) returned
from the program, the value of the SQLSTATE, and the value of the
message text (if any) from the values assigned by the program to the
effective SQL parameter list. If the parameter passing style of the
SQL-invoked routine is GENERAL, then such values are obtained in an
implementation-defined manner.
Therefore, the phrase of “from the values assigned by the program to
the effective SQL parameter list” should be removed.
Solution
Modify 20)a) as follows:
T02-JPN-128
4-Minor
Editorial
a) After the execution of the program identified by the <routine
body> of an external routine, if the parameter passing style of that
routine is GENERAL, then the values for output parameters (if any),
the value (if any) returned from the program, the value of the
SQLSTATE, and the value of the message text (if any) from the
values assigned by the program to the effective SQL
parameter list are obtained in an implementation-defined manner.
T02-Annex.B
While the item 24)a) mentions only information about an exception
Implementation condition, that about a completion condition is also mentioned in 5th
-defined
paragraph of Subclause 4.36 “Diagnostics area”., which reads:
elements
Page 47 of 44
See comment.
2017-07-28
WG3/National Body JPN DCOR Ballot Comments Template
SEQ
#
Cmnt
ID
See
Also
Addressed By
Severity
Reference
Description
At the beginning of the execution of any <SQL procedure statement>
that is not an <SQL diagnostics statement>, the first diagnostics area
is emptied. An implementation places information about a completion
condition or an exception condition reported by SQLSTATE into a
vacant condition area in this diagnostics area. If other conditions are
raised, the extent to which these cause further condition areas to
become occupied is implementation-defined.
Solution
Modify24)a) as follows:
T02-JPN-129
3-Major
Editorial
a) When information about a completion condition or an
exception condition reported by SQLSTATE is placed into a vacant
condition area in this diagnostics area, the extent to which other
conditions that may be raised cause further condition areas to
become occupied is implementation-defined.
T02-Annex.B
The implementation-defined item described in the prior paragraph to the
Implementation last of Subclause 4.39.1, “General description of triggers” is missing in
-defined
Annex B.
elements
See comment.
Solution
Insert the following item immediately after item 30) and increase the
number of every item after the inserted item:
T02-JPN-130
4-Minor
Editorial
31) Subclause, 4.39.1, “General description of triggers”
a) The order of execution of a set of triggers is ascending
by value of their timestamp of creation in their
descriptors, such that the oldest trigger executes first.
If one or more triggers have the same timestamp value,
then their relative order of execution is implementationdefined.
T02-Annex.B
No corresponding rule to the description of item 66)a) is in Subclause
See comment.
Implementation 11.6, “<table constraint definition>”. The corresponding rule is GR2) of
-defined
Subclause 11.8, “<referential constraint definition>”. The title of item
elements
66) shall be 11.8, “<referential constraint definition>”.
Solution
Modify 66) as follows:
66) Subclause 11.6, “<table constraint definition>” 11.8,
Page 48 of 44
2017-07-28
WG3/National Body JPN DCOR Ballot Comments Template
SEQ
#
Cmnt
ID
T02-JPN-131
T02-JPN-132
See
Also
Addressed By
Severity
4-Minor
Editorial
4-Minor
Editorial
Reference
Description
“<referential constraint definition>”:
a) The ordering of the lists of referencing column names and
referenced column names in a referential constraint descriptor is
implementation-defined, but shall be such that corresponding
column names occupy corresponding positions in each list.
T02-Annex.C
The term “implementation-defined “ appears in 6)c) instead of
Implementation “implementation-dependent”.
-dependent
Solution
elements
Modify 6)c) as follows:
c) The maximum number of diagnostics area in a diagnostics area
stack is implementation-defined dependent.
T02-Annex.C
The item 34)a) includes the description that a referenceable view whose
Implementation reference representation is derived. This is a little bit inappropriate,
-dependent
because “derived representation” is an alternative of a reference type
elements
specification, and a reference type specification is a property of a
reference type, not of a table.
See comment.
See comment.
Solution
Modify 34)a) as follows:
T02-JPN-133
4-Minor
Editorial
a) The expression used to compute the value of the selfreferencing column of a referenceable view whose reference
type has derived representation is derived is implementationdependent.
T02-Annex.C
The symbol PORMS in 38)a) does not appear in the corresponding rule
Implementation SR6)a) of Subclause 11.57, “<add overriding method specification>”,
-dependent
which reads:
elements
See comment.
a) If POVMS does not specify <specific method name>, then an
implementation-dependent <specific method name> is implicit
whose <schema name> is equivalent to SN.
Solution
Modify 38)a)as follows:
T02-JPN-134
4-Minor
T02-Annex.C
a) If PORMS POVMS does not specify <specific method name>,
then an implementation-dependent <specific method name> is
implicit whose <schema name> is equivalent to SN.
The term “constraint” in 63)a) is different from the term at the same
Page 49 of 44
See comment.
2017-07-28
WG3/National Body JPN DCOR Ballot Comments Template
SEQ
#
Cmnt
ID
See
Also
Addressed By
Severity
Editorial
Reference
Description
Implementation position on the corresponding rule to GR2)a) of Subclause 21.1,”<direct
-dependent
SQL statement>”, which reads:
elements
a) A <rollback statement> or a <commit statement> is effectively
executed. If an unrecoverable error has occurred, or if the direct
invocation of SQL terminated unexpectedly, or if any enforced
constraint is not satisfied, then a <rollback statement> is
performed. Otherwise, the choice of which of these SQL-statements
to perform is implementation-dependent. The determination of
whether a directinvocation of SQL has terminated unexpectedly is
implementation-dependent.
Solution
Modify 63)a) as follows:
T02-JPN-135
T02-JPN-136
4-Minor
Editorial
4-Minor
Editorial
a) A <commit statement> or a <rollback statement> is executed. If
an unrecoverable error has occurred, or if the direct invocation of
SQL terminated unexpectedly, or if any enforced constraint is not
satisfied, then a <rollback statement> is performed. Otherwise, the
choice of which of these SQL-statements to perform is
implementation-dependent. The determination of whether a direct
invocation of SQL has terminated unexpectedly is implementationdependent.
The last sentence of item 3) is incompletely finished.
T02-Annex.E
Incompatibilities
with ISO/IEC
Modify 3) as follows:
9075:2008
See comment.
Solution
3) In ISO/IEC 9075-2:2008, Feature T052, “MAX and MIN for row
types” provided support for MAX and MIN operations on values of
row types. In this edition of this part of ISO/IEC 9075, that feature
has been removed and the support provided inherently in the
specification has been removed.
T02-Annex.E
The term “Feature Code” in item 7) is incorrect. The correct term is
Incompatibilities “Feature ID”.
with ISO/IEC
Solution
9075:2008
Modify 7) as follows:
See comment.
7) In ISO/IEC 9075-2:2008, ISO/IEC 9075-4:2008, and ISO/IEC 907511:2008, Feature CodesIDs T322 and T332 were not used
Page 50 of 44
2017-07-28
WG3/National Body JPN DCOR Ballot Comments Template
SEQ
#
Cmnt
ID
T02-JPN-137
T02-JPN-138
T02-JPN-139
See
Also
Addressed By
Severity
4-Minor
Editorial
4-Minor
Editorial
1-Major
Technical
Reference
Description
consistently; they identified three different Features in various parts
of ISO/IEC 9075. In this edition of ISO/IEC 9075, three Feature
CodesIDs (T322, T332, and T341) have been used consistently to
identify those three Features.
T02-Annex.E
Before the second occurrence of “9075-2” is “ISO/IEC” is missing in item
Incompatibilities 11).
with ISO/IEC
Solution
9075:2008
Modify 11) as follows:
T02-Annex.F
SQL feature
taxonomy
T02-No specific
location
See comment.
11) In ISO/IEC 9075-2:2008, the length portion of a host language
data structure for a CHARACTER LARGE OBJECT was measured in
characters when moving from the host language to the SQL-server,
but in octets in the reverse direction. In this edition of ISO/IEC
9075-2, the length portion is measured in the same units in either
direction, either characters or octets, depending on the <char length
units> of the declared type.
The row with “Feature ID” column value of “F673” does not found in
See comment.
Table 39 — Feature taxonomy for optional features.
Solution
Insert a row with number of “119”, “Feature ID” column value of “F673”
and “Feature Name” column value of “Reads SQL-data routine
invocations in CHECK constraints” immediately after the row with
number “118” and increase the number of every row after the inserted
row.
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
None provided with comment.
Page 51 of 44
2017-07-28
Template for comments and secretariat observations
Date:
Document:
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
US
US
US
T02-04.01.04,
Data type
terminology
T02-04.15.10,
Operations
involving
tables
T02-04.15.11,
Identity
columns
te
There are now two conflicting definitions of array-ordered
and multiset-ordered (see STR-033 and BHX-062r1).
None provided with comment.
te
This subclause might be wordsmithed to better describe
the primary effect of a data change operation on a view
with an INSTEAD OF trigger. Currently we have the
statement “The effect of an SQL-data change statement
on a viewed table is specified by the General Rules of
Subclause 15.9, “Effect of deleting some rows from a
viewed table”, Subclause 15.12, “Effect of inserting a
table into a viewed table”, and Subclause 15.15, “Effect of
replacing some rows in a viewed table”. Which is certainly
true. Then later we read “The primary effect of a <delete
statement: positioned> on a regular base table T or a
derived table T is to delete exactly one specified row from
T. The primary effect of a <delete statement: searched>
on a base table T or a derived table T is to delete zero or
more rows from T.” which is not true in the case of a
trigger-deletable view. Similarly for trigger-updatable and
trigger-insertable-into views.
None provided with comment.
te
The text describes the situation in which a value for an
identity column is om9itted from the INSERT statement;
however, it does not describe what happens if the
INSERT statement does have a value for the identity
column.
None provided with comment.
(reported by Fred Toussi, developer of an open-source
SQL product)
US
T02-05.03,
<literal>
te
GR 5) talks of "rounding or truncation" but does not say
that it is implementation defined. A general hunt for
“round” and “truncat” might be in order to look for all
similar situations.
None provided with comment.
US
T02-06.01,
<data type>
te
Two minor problems with <large object length>:
Both of these problems can be solved by revising
the BNF as follows:
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 65
ISO electronic balloting commenting template/version 2001-10
Template for comments and secretariat observations
Date:
Document:
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
<large object length> ::=
A) Consider the following BNF:
<length> <unsigned integer> [ <multiplier> ]
<length> ::= <unsigned integer>
| <large object length token>
<large object length> ::=
<length> [ <multiplier> ]
| <large object length token>
If <large object length> is omitted, then <length> is
omitted and one might expect SR 5) “If <length> is
omitted, then a <length> of 1 (one) is implicit” to supply
the default. However SR 8) “If <large object length> is
omitted, then an implementation-defined <large object
length> is implicit” should be applied.
B) SR 9)a) and 9)b) hypothesize a <large object length>
that immediately contains an <unsigned integer>, but
actually it is <length> that is immediately contained in
<large object length>
US
US
T02-06.01,
<data type>
T02-06.06,
<identifier
chain>
te
te
SR 43) regarding <array type> says that <maximum
cardinality> is the maximum cardinality of an array. It
would be better to say that the value of <maximum
cardinality> is the maximum cardinality.
Edit the second sentence of SR 43) as follows:
SR 8)a)i)1) handles references to columns in the result of
a <query expression>, so that they can be referenced by
an ORDER BY clause. But as worded, the rule assumes
that there is a single SELECT list in the <query
expression>. This ignores the possibility of UNION, etc.
None provided with comment.
The value of the <maximum cardinality>
immediately contained in AT is the maximum
cardinality of a site of data type AT.
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 65
ISO electronic balloting commenting template/version 2001-10
Template for comments and secretariat observations
Date:
Document:
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
Probably this rule is meant to apply only to simple table
queries, defined in 7.16 <query expression> SR 30)c).
US
US
T02-06.09,
<set function
specification>
T02-06.26,
<value
expression>
te
SR 3) defines “aggregated argument of a <set function
specification>”. A search shows that there are a few
instances of “aggregated argument” applied to
<aggregate function> rather than <set function
specification>, namely 6.11 <nested window function>
Function and SR 1), and 10.9 <aggregate function> SR
13).
None provided with comment.
te
Consider this example:
None provided with comment.
SELECT T.C
FROM (SELECT CURRENT_DATE FROM Emp) AS T(C)
The column of the <derived table> in the FROM clause is
non-determinstic, according to SR 7)a). However there is
no rule that T.C in the SELECT list is non-deterministic.
Note that SR 7) prolog paragraph uses general
containment, but general containment does not recurse
through <derived table>, <lateral derived table>, etc.
US
US
T02-07.06,
<table
reference>
T02-07.06,
<table
reference>
te
SR 16)b)ii) prohibits FINAL TABLE with MERGE if the
target table is a view with an INSERT or UPDATE
INSTEAD OF trigger. Should there also be a prohibition if
the view has an INSTEAD OF DELETE trigger? There is
no new delta table for DELETE but if a MERGE fires an
INSTEAD OF trigger on a DELETE then you don't know
what the final delta table is; the trigger might perform an
insert or update to the target view, for example.
None provided with comment.
te
FINAL TABLE should be prohibited if the target table is a
view that has a target underlying table that is trigger
insertable-into, trigger updatable or trigger deletable,
None provided with comment.
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 65
ISO electronic balloting commenting template/version 2001-10
Template for comments and secretariat observations
Date:
Document:
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
depending on the operation in the <data change delta
table>.
US
US
US
US
T02-07.06,
<table
reference>
T02-07.07,
<joined
table>
T02-07.11,
<window
clause>
T02-07.13,
<query
expression>
te
SR 9)b) pertains to the scope of table references in a
MERGE statement. Is this statement still correct, in view
of the enhancements to MERGE? For example, SR 10)b)
refers to “the <search condition>” as if there were only
one, but there are now three places that a <search
condition> can be nested in a MERGE statement.
None provided with comment.
te
The evaluation of a FULL outer join in GR 5)d) requires
XNA, which is defined in GR 3)d), but GR 3)d) is not
executed for FULL outer joins.
None provided with comment.
ed
GR 5)b)i)1) has a probable typo “computer value” instead
of “computed value”
Edit the rule as follows:
SR 28)d)i)4) states explicitly that a common column name
is regarded as fully qualified. The preceding rule SR
28)d)i)3) also talks about fully qualified column names,
but does not say what to do about common column
names.
Edit 30)d)i)3) as follows:
te
In the following subrules, when performing addition
or subtraction to combine a datetime and a yearmonth interval, if the result would raise the
exception condition data exception — datetime
field overflow because the <primary datetime
field> DAY is not valid for the computer computed
value of the <primary datetime field>s YEAR and
MONTH, then the <primary datetime field> DAY is
set to the last day that is valid for the <primary
datetime field>s YEAR and MONTH, and no
exception condition is raised.
3) Let SL be the <select list> of QS. Let SLT be
obtained from SL by replacing each <column
reference> with its fully qualified equivalent; in the
case of common column names, each common
column name is regarded as fully qualified.
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 65
ISO electronic balloting commenting template/version 2001-10
Template for comments and secretariat observations
Date:
Document:
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
US
US
US
T02-07.13,
<query
expression>
T02-07.13,
<query
expression>
T02-08.02,
<comparison
predicate>
te
GR 5)b) and the informative note 248 that follows it
assume that there is a one-to-one relationship between
the result of QE and the sort table of QE. This depends
on some kind of magic such as a notion of row identity.
Perhaps the transformation from the sort table of QE to
the result of QE by discarding columns as described in
note 288 can be moved into an actual GR.
None provided with comment.
ed
SR 3)i)ii)2)D)I) is structurally "P or Q and R" which is
ambiguous because English conjunctions do not have a
commonly agreed precedence. The rule says: "QS
immediately contains a <select list> SL or TE immediately
contains a <having clause> HC and SL or TE contain a
<set function specification>."
None provided with comment.
ed
See minor editorial improvements to GR 1)b)ii) suggested
below
Edit the lead paragraph of GR 1)b)ii) as follows:
ii) If the declared types of XV and YV are array
types or distinct types whose source types are
array types and the cardinalities of XV and YV are
N1 and N2, respectively, then let Xi, 1 (one) ≤ i ≤
N1, denote a <value expression> whose value and
declared type is that of the i-th element of XV and
let Yi , 1 (one) ≤ i ≤ N2, denote a <value
expression> whose value and declared type is that
of the i-th element of YV. ...
Edit GR 1)b)ii)3) as follows:
3) X = Y is False if and only if one of the following
is true:
A) N1 ≠ N2 or
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 5 of 65
ISO electronic balloting commenting template/version 2001-10
Template for comments and secretariat observations
Date:
Document:
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
B) N1 = N2 and for some i, 1 (one) ≤ i ≤ N1,
NOT (Xi = Yi) is True, for some i.
US
US
US
US
T02-09.16,
Execution of
arrayreturning
functions
T02-09.30,
Determination
of view
component
privileges
T02-09.30,
Determination
of view
component
privileges
T02-10.04,
te
The size of the resulting array is not always specified.
The two subclauses that invoke this subclause merely
create an array AR without stipulating its size. This
subclause uses the variable E to keep track of which
subscript to insert the next array element into. If there is
no data on the open call, then AR is set to null; if there is
no data on the first fetch call, then the size of AR is set to
0 elements, but otherwise the size of the output array is
not set.
None provided with comment.
te
GR 4)a)i)1) is a Case. Beneath this case, the first subrule
considers a <table reference> TR that is a <table name>.
Then the second subrule claims that the only other case
to consider is a <query name>. But surely there are other
cases. Existing TC item 3 due to SXF-020 has limited
GR 4)a.0) to just updatable <query specification>s, we do
not need to worry about the non-updatable kinds of <table
reference> such as <collection derived table>, <table
function derived table>, or <data change delta table>.
But what about <only spec> and <parenthesized join
table>? See SXF-020 section 1.5.
None provided with comment.
te
GR 4)a)i)2) creates a view component privilege descriptor
for the single-table DELETE case, but does not note if it is
immediately dependent on any privilege.
None provided with comment.
Contrast this with GR 4)a)i)3) subrules A) and B) which
handle single-table UPDATE and INSERT and handle
immediate dependencies, and with GR 4)a)ii)1) which
handles the multi-table DELETE case, and handles
immediate dependencies. The rules are due to SIA-018.
te
According to Framework 6.3.3.8 “General Rules not
None provided with comment.
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 6 of 65
ISO electronic balloting commenting template/version 2001-10
Template for comments and secretariat observations
Date:
Document:
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
<routine
invocation>
terminated on exception conditions”, the GRs of this
Subclause are not terminated on an exception. We
should scrutinize whether that is completely true. If it is
true, it would be helpful to note that fact as the first GR. If
it is only partially true, we might isolate the pseudocode
that does not terminate on an exception in its own
subclause, with a first GR noting that the subclause does
not terminate on exceptions.
Similar remarks apply to 13.4 <SQL procedure
statement>, 15.19 “Execution of triggers”, and 22.1
<direct SQL statement>.
US
US
US
US
T02-10.04,
<routine
invocation>
T02-10.04,
<routine
invocation>
T02-10.05,
<character set
specification>
T02-11.07,
<unique
constraint
te
GR 8)b)i)1)M) says that the initial value of the save area
data item when invoking an array-returning or multisetreturning external function is 0. But 11.60 <SQL-invoked
routine> SR 20)d)iii)8)A) says its data type is character
string. The GRs of 9.16 “Execution of array-returning
functions" are no help; they just say that the value on
each call is copied from the value on the previous call.
(Perhaps this parameter is available to the user-defined
function for saving context.)
None provided with comment.
te
It is not clear how SR1) and GR 1) work if the <routine
invocation> is a <value expression primary>.
None provided with comment.
te
SR 2) describes the creation of a privilege, something we
normally find in a GR. Moving this rule to this subclause’s
GRs would not be correct because the premise is that the
privilege has already been created before this subclause
is invoked. Perhaps this rule belongs in Concepts since
this privilege is essentially a configuration issue.
None provided with comment.
te
SR 7) says “If the <unique specification> specifies
PRIMARY KEY, then for each <column name> in the
explicit or implicit <unique column list> for which NOT
None provided with comment.
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 7 of 65
ISO electronic balloting commenting template/version 2001-10
Template for comments and secretariat observations
Date:
Document:
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
definition>
US
US
US
US
T02-11.16,
<drop column
not null
clause>
T02-11.26,
<drop table
constraint
definition>
T02-11.32,
<view
definition>
T02-11.32,
<view
definition>
NULL is not specified, NOT NULL is implicit in the
<column definition>.” That’s fine if the <unique constraint
definition> is contained in a <table definition>, but if it is
contained in an ALTER TABLE statement there is no
<column definition>.
te
The GRs do not say what to do if the column is part of a
primary key.
None provided with comment.
te
An identity column has an implicit NOT NULL constraint
(11.4 <column definition> SR 16)d)) yet there is no
RESTRICT or CASCADE rule about what happens to the
identity column if this constraint is dropped.
None provided with comment.
te
SR 21)r)ii)2) says that for a referenceable view whose
reference type has a derived representation, the basis
table shall have a candidate key that is a subset of the
underlying columns of the attributes of the derived
representation. This does not prevent the following
scenario: basis table has candidate key (A, B) and the
expression defining a column corresponding to an
attribute of the derived representation is A+B. Even
though the key (A, B) is unique, the value A+B is not
unique, so this condition is not enough to insure that
derived representations are unique, as required in 4.15.9
“Referenceable tables, subtables and supertables”
penultimate paragraph.
None provided with comment.
te
Regarding referenceable base tables, 11.3 <table
definition> SR 11)g)i) allows <scope clause> for
originally-defined columns but not for inherited columns.
None provided with comment.
11.32 <view definition> SR 21)t) does not have a similar
restriction. Prior to KMG-033 section 6.16 instruction 6,
the GRs of <view definition> did not create column
descriptors for inherited columns. Thus prior to KMG-033,
the user could specify a SCOPE clause for an inherited
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 8 of 65
ISO electronic balloting commenting template/version 2001-10
Template for comments and secretariat observations
Date:
Document:
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
column of a referenceable view, but nothing was done
with the information. After KMG-033, the SCOPE clause
is actually saved in a column descriptor. While it is
correct to create column descriptors for inherited
columns, it is probably not correct to allow the user to
specify a SCOPE for inherited columns, since this is a
variance from the
practice with referenceable base tables.
US
US
US
US
US
T02-11.32,
<view
definition>
T02-11.49,
<trigger
definition>
T02-11.49,
<trigger
definition>
T02-11.49,
<trigger
definition>
T02-11.60,
<SQL-invoked
routine>
te
GR 1)f) sets updatability in column descriptors, but there
are no rules setting the indications of insertable-into or
updatable in the view’s table descriptors.
None provided with comment.
te
SR 15)d) says that you cannot define an INSTEAD OF
trigger on a leaf underlying table of a view that specifies
WITH CASCADED CHECK OPTION. But does this
recurse deep enough? Don't we want to prohibit it on a
view that is a generally underlying table of a view WITH
CASCADED CHECK OPTION?
None provided with comment.
te
INSTEAD OF trigger on a view V should be prohibited if
there is a schema object dependent on V that performs a
<data change delta table> that specifies FINAL TABLE
that targets V, since the FINAL TABLE becomes illegal if
the INSTEAD OF trigger is defined. SQL routines and
triggered actions are two such categories of schema
objects.
None provided with comment.
te
SR 7)f) defines the scope of the old and new transition
table and variable names to be <triggered action>. This
means that they are not in scope in the <triggered when
clause>. But in that case there is no way to evaluate the
<search condition> in the <triggered when clause>, as
required by 15.19 “Execution of triggers” GR 4)b)i).
None provided with comment.
te
SR 20)g) checks that the <data type> of an effective
parameter is supported by the host language of an
None provided with comment.
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 9 of 65
ISO electronic balloting commenting template/version 2001-10
Template for comments and secretariat observations
Date:
Document:
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
external SQL-invoked routine. In the case of an SQLinvoked function with PARAMETER STYLE SQL, the
return type is converted into an OUT parameter in the
effective parameter list by SR 20)d)iii)2) so the return type
is checked against the supported types of the host
language. However, for an external SQL-invoked routine
with PARAMETER STYLE GENERAL, the return type is
never checked against the supported types of the host
language.
US
US
US
US
T02-11.60,
<SQL-invoked
routine>
T02-12.01,
<grant
statement>
T02-12.02,
<grant
privilege
statement>
T02-12.07,
<revoke
statement>
te
SR 6)n)i) says “A <result cast from type> is specified that
simply contains an <array type> or a <path-resolved userdefined type name> whose source type is an array type
and does not contain a <locator indication>.” This is
ambiguous because the English conjunctions “and” and
“or” do not have commonly understood precedence. SR
6)n)ii), 6)o)i) and 6)o)ii) have the same problem.
None provided with comment.
te
GR 4)e) contains a case with two subrules i) and ii) but no
“otherwise”. This means that there are cases in which
WGO is not defined. Perhaps the REFERENCES
privilege should not be granted if neither i) nor ii) applies.
None provided with comment.
te
GR 7), 8) and 9) use <action> in a sloppy fashion.
Elsewhere it is clear that an <action> with a <column
name list> such as SELECT (C1) is not the same as an
<action> without a <column name list> such as vanilla
SELECT. What these rules intend to do is construct, e.g.,
SELECT (C1) as an <action> from the different <action>
of SELECT, rather than use “the identical <action>”. We
should also check other places that construct column or
table/method privileges from table privileges.
None provided with comment.
te
GR 5)a) uses the view privilege dependency descriptors
to determine the direct dependencies of DML privileges
on views. The dependency descriptors are created in
9.29 "Determination of view privileges" and 9.30
"Determination of view component privileges". However,
None provided with comment.
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 10 of 65
ISO electronic balloting commenting template/version 2001-10
Template for comments and secretariat observations
Date:
Document:
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
those subclauses only compute the privileges of a view
based on its view definition and result in view privileges
with the special grantor _SYSTEM. This works for the
definer of the view but not for anyone who is
subsequently granted access to the view..
US
US
T02-14.12,
<merge
statement>
T02-14.12,
<merge
statement>
te
GR 6)a)i)1) assumes that the range variable for the target
table is a <table name>, ignoring the fact that the BNF
and Syntax Rules permit a correlation name.
None provided with comment.
te
GR 6) lead paragraph appears to specify a loop over all
<merge when clause>s. However, the subrules do not
adhere to this strictly. In particular:
None provided with comment.
GR 6)a) appears to handle a single <merge when
matched clause>. Its subrule ii) identifies a set of rows as
the old delta table of merge operation. However, the old
delta table must be the union across all <merge when
matched clause>s, so it should not be subordinate to
processing a single <merge when matched clause>.
GR 6)b) appears to handle a single <merge when not
matched clause>. Subrules i) through vii) can certainly
only handle a single <merge when not matched clause>.
However, subrule viii) needs to form the union of the
candidate rows from each <merge when not matched
clause>.
For both of these, it would be better to have an explicit
loop to do the processing of individual <merge when
matched clause>s or <merge when not matched clause>,
followed by separate rules after the loops to perform the
unions.
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 11 of 65
ISO electronic balloting commenting template/version 2001-10
Template for comments and secretariat observations
Date:
Document:
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
US
US
US
US
T02-14.12,
<merge
statement>
T02-14.12,
<merge
statement>
T02-14.15,
<set clause
list>
T02-15.12,
Effect of
inserting a
table into a
viewed table
te
CR 1)a) talks of an underlying table that is broadly
contained in a piece of syntax. What must be meant is an
underlying table specification. This was not fixed by
KRK-021; maybe there are similar rules with the same
problem.
None provided with comment.
te
GR 6)b)iv) assumes that a <table or query name> can be
used as a correlation name. This is not true if the <table
or query name> is a <table name>..
None provided with comment.
ed
GR 1) says “A <set clause> specifies one or more object
columns and an update value.” But in fact, if there is more
than one object column, then there is more than one
update value.
Edit GR 1) as follows:
GR 3)a) handles INSTEAD OF INSERT triggers. There is
no check for either CASCADED CHECK OPTION or
LOCAL CHECK OPTION (unlike GR 3)b)). This is correct
in the case CASCADED CHECK OPTION, but what
about LOCAL CHECK OPTION? See 11.49 <trigger
definition> SR 15)c). The paper that introduced this is
URC-033. Note that section 1.1 PDF page 4 item 6 says
“WITH CHECK OPTION must not have been specified for
the view”. Possibly the paper meant to prohibit both kinds
of CHECK OPTION. Or possibly it meant to prohibit
CASCADED CHECK OPTION (the default) but forgot to
include the rules to enforce the LOCAL CHECK
OPTION. This is also an issue 15.15 “Effect of replacing
some rows in a viewed table”.
None provided with comment.
te
1) A <set clause> specifies one or more object
columns and an equal number of update values.
An object column is a column identified by an
<object column> in the <set clause>. The An
update value is the value specified by the an
<update source> contained in the <set clause>.
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 12 of 65
ISO electronic balloting commenting template/version 2001-10
Template for comments and secretariat observations
Date:
Document:
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
US
US
US
US
US
T02-20.01,
Description of
SQL descriptor
areas
T02-20.02,
<allocate
descriptor
statement>
T02-20.06,
<prepare
statement>
T02-21.04,
<embedded
SQL C
program>
T02-21.04,
<embedded
SQL C
te
SR 3) describes how LEVEL is used to indicate
subordinate descriptor areas, but it does not state what
the value of LEVEL is for a “top-level” SQL item
descriptor. Presumably it is 0, based on the initialization
in 20.2 <allocate descriptor statement> GR 3)b). It would
be helpful to the reader to clarify this in 20.1 “Description
of SQL descriptor areas”.
None provided with comment.
te
GR 2) last sentence says "The maximum number of SQL
descriptor areas that can be allocated at one time is
implementation-defined." However, <occurrences> does
not specify the number of SQL descriptor areas, it
specifies the number of SQL item descriptor areas (see
GR 3)b)). Annex B says that both the maximum number
of SQL descriptor areas and SQL item descriptor areas
are implementation-defined.
None provided with comment.
te
Most of the subrules of GR 5)a) that identify exact
numeric data types with scale 0 use NUMERIC (MP, 0);
however, a few use INTEGER and a few use NUMERIC
(MP). It might be better if they all used the same data
type.
None provided with comment.
te
<C NCHAR variable> permits an optional <character set
specification>. According to SR 4)b)i), this declaration
corresponds to a <host parameter data type> that is
NATIONAL CHARACTER with the user-specified
character set. However, NATIONAL CHARACTER type
does not permit the user to specify a character set. There
is a similar problem in embedded COBOL, but none of
the other embedded languages. The problem is not
found in SQL-92, it first occurred in Bindings:1999. KOA030 rearranged the SRs but did not aggravate or alleviate
the problem.
None provided with comment.
te
SR 7) says "Except for array specifications for character
strings, a <C variable definition> shall specify a scalar
None provided with comment.
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 13 of 65
ISO electronic balloting commenting template/version 2001-10
Template for comments and secretariat observations
Date:
Document:
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
program>
type." It is not clear what this rule is trying to say. First, is
the "scalar type" a scalar type of C or of SQL? It can't be
the
latter because of <C array locator variable> and <C
multiset locator variable>. So presumably this means a
scalar C type. But then, what about <C BINARY
variable> and <C REF variable>, which are transformed
into array of char? And what about <C BLOB variable>,
which is transformed into a struct? Maybe we can just
delete this rule, if the BNF and the transformations
already insure that the C declarations are correct.
US
T02-No
specific
location
te
All problems discovered during the course of the ballot
resolution process must be satisfactorily resolved.
None provided with comment.
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 14 of 65
ISO electronic balloting commenting template/version 2001-10