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
© Copyright 2026 Paperzz