sqllogictest
Check-in [484d0e58e0]
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Updates to requirement marks. No code changes.
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1:484d0e58e011c2440d053a8bc4055ffad41a2a62
User & Date: drh 2016-11-22 19:15:33
Context
2016-12-30
20:22
Update the built-in SQLite to the latest 3.16.0 beta. check-in: 32c0710fcb user: drh tags: trunk
2016-11-22
19:15
Updates to requirement marks. No code changes. check-in: 484d0e58e0 user: drh tags: trunk
2016-10-05
19:09
Update the built-in SQLite to the 3.15.0 beta. check-in: ef3b86baac user: drh tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to test/evidence/in1.test.

4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
onlyif mssql
halt

# skip this entire file if oracle
onlyif oracle
halt

# EVIDENCE-OF: R-58875-56087 The IN and NOT IN operators take a single
# scalar operand on the left and a vector operand on the right formed by
# an explicit list of zero or more scalars or by a single subquery.
#

# EVIDENCE-OF: R-52275-55503 When the right operand is an empty set, the
# result of IN is false and the result of NOT IN is true, regardless of
# the left operand and even if the left operand is NULL.
#

# EVIDENCE-OF: R-13595-45863 Note that SQLite allows the parenthesized
# list of scalar values on the right-hand side of an IN or NOT IN







<
<
<
<
<







4
5
6
7
8
9
10





11
12
13
14
15
16
17
onlyif mssql
halt

# skip this entire file if oracle
onlyif oracle
halt






# EVIDENCE-OF: R-52275-55503 When the right operand is an empty set, the
# result of IN is false and the result of NOT IN is true, regardless of
# the left operand and even if the left operand is NULL.
#

# EVIDENCE-OF: R-13595-45863 Note that SQLite allows the parenthesized
# list of scalar values on the right-hand side of an IN or NOT IN

Changes to test/evidence/in2.test.

1
2
3
4
5
6
7
8
9
10
11
...
289
290
291
292
293
294
295
296
297

298
299
300
301
302
303
304
...
310
311
312
313
314
315
316
317
# EVIDENCE-OF: R-58875-56087 The IN and NOT IN operators take a single
# scalar operand on the left and a vector operand on the right formed by
# an explicit list of zero or more scalars or by a single subquery.
#

# EVIDENCE-OF: R-52275-55503 When the right operand is an empty set, the
# result of IN is false and the result of NOT IN is true, regardless of
# the left operand and even if the left operand is NULL.
#

# EVIDENCE-OF: R-13595-45863 Note that SQLite allows the parenthesized
................................................................................
SELECT 1 FROM t1 WHERE NULL NOT IN ( NULL, 1.0 )
----

query I nosort
SELECT 1 FROM t1 WHERE NULL NOT IN ( NULL, '1' )
----

# EVIDENCE-OF: R-00416-37972 When the right operand of an IN or NOT IN
# operator is a subquery, the subquery must have a single result column.


query I nosort
SELECT 1 FROM t1 WHERE 1 IN (SELECT 1)
----
1
1
1
................................................................................
SELECT 1 FROM t1 WHERE 1 IN (SELECT x,y FROM t1)

statement error
SELECT 1 FROM t1 WHERE 1 IN (SELECT * FROM t1)

statement error
SELECT 1 FROM t1 WHERE 1 IN (SELECT min(x),max(x) FROM t1)

<
<
<
<







 







|
|
>







 







<




1
2
3
4
5
6
7
...
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
...
307
308
309
310
311
312
313






# EVIDENCE-OF: R-52275-55503 When the right operand is an empty set, the
# result of IN is false and the result of NOT IN is true, regardless of
# the left operand and even if the left operand is NULL.
#

# EVIDENCE-OF: R-13595-45863 Note that SQLite allows the parenthesized
................................................................................
SELECT 1 FROM t1 WHERE NULL NOT IN ( NULL, 1.0 )
----

query I nosort
SELECT 1 FROM t1 WHERE NULL NOT IN ( NULL, '1' )
----

# EVIDENCE-OF: R-35033-20570 The subquery on the right of an IN or NOT
# IN operator must be a scalar subquery if the left expression is not a
# row value expression.

query I nosort
SELECT 1 FROM t1 WHERE 1 IN (SELECT 1)
----
1
1
1
................................................................................
SELECT 1 FROM t1 WHERE 1 IN (SELECT x,y FROM t1)

statement error
SELECT 1 FROM t1 WHERE 1 IN (SELECT * FROM t1)

statement error
SELECT 1 FROM t1 WHERE 1 IN (SELECT min(x),max(x) FROM t1)