Skip to content

Commit b488b6f

Browse files
Update SQLite to 3.19.2
1 parent 492aa3d commit b488b6f

File tree

10 files changed

+65
-35
lines changed

10 files changed

+65
-35
lines changed

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@ If you need a specific version of SQLite, or specific SQLite compilation options
88

99

1010

11-
**May 23, 2017: Update SQLite to 3.19.1** ([changelog](CHANGELOG.md)).
11+
**May 27, 2017: Update SQLite to 3.19.2** ([changelog](CHANGELOG.md)).
1212

1313
**Requirements**: iOS 8.0+ / OSX 10.9+, Xcode 7.3+
1414

15-
**SQLite Included:** **[3.19.1](https://www.sqlite.org/releaselog/3_19_1.html)**
15+
**SQLite Included:** **[3.19.2](https://www.sqlite.org/releaselog/3_19_2.html)**
1616

1717

1818

@@ -65,7 +65,7 @@ There is no need to modify any other files.
6565

6666
#### Compiling a Specific Version of SQLite:
6767

68-
SQLiteLib currently ships with the source for SQLite 3.19.1.
68+
SQLiteLib currently ships with the source for SQLite 3.19.2.
6969

7070
If you'd like to compile a newer (or older) version, the process is simple:
7171

sqlite/VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
3.19.1
1+
3.19.2

sqlite/configure

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#! /bin/sh
22
# Guess values for system-dependent variables and create Makefiles.
3-
# Generated by GNU Autoconf 2.69 for sqlite 3.19.1.
3+
# Generated by GNU Autoconf 2.69 for sqlite 3.19.2.
44
#
55
#
66
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@@ -726,8 +726,8 @@ MAKEFLAGS=
726726
# Identity of this package.
727727
PACKAGE_NAME='sqlite'
728728
PACKAGE_TARNAME='sqlite'
729-
PACKAGE_VERSION='3.19.1'
730-
PACKAGE_STRING='sqlite 3.19.1'
729+
PACKAGE_VERSION='3.19.2'
730+
PACKAGE_STRING='sqlite 3.19.2'
731731
PACKAGE_BUGREPORT=''
732732
PACKAGE_URL=''
733733

@@ -1463,7 +1463,7 @@ if test "$ac_init_help" = "long"; then
14631463
# Omit some internal or obsolete options to make the list less imposing.
14641464
# This message is too long to be a string in the A/UX 3.1 sh.
14651465
cat <<_ACEOF
1466-
\`configure' configures sqlite 3.19.1 to adapt to many kinds of systems.
1466+
\`configure' configures sqlite 3.19.2 to adapt to many kinds of systems.
14671467
14681468
Usage: $0 [OPTION]... [VAR=VALUE]...
14691469
@@ -1528,7 +1528,7 @@ fi
15281528

15291529
if test -n "$ac_init_help"; then
15301530
case $ac_init_help in
1531-
short | recursive ) echo "Configuration of sqlite 3.19.1:";;
1531+
short | recursive ) echo "Configuration of sqlite 3.19.2:";;
15321532
esac
15331533
cat <<\_ACEOF
15341534
@@ -1652,7 +1652,7 @@ fi
16521652
test -n "$ac_init_help" && exit $ac_status
16531653
if $ac_init_version; then
16541654
cat <<\_ACEOF
1655-
sqlite configure 3.19.1
1655+
sqlite configure 3.19.2
16561656
generated by GNU Autoconf 2.69
16571657
16581658
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2071,7 +2071,7 @@ cat >config.log <<_ACEOF
20712071
This file contains any messages produced by compilers while
20722072
running configure, to aid debugging if configure makes a mistake.
20732073
2074-
It was created by sqlite $as_me 3.19.1, which was
2074+
It was created by sqlite $as_me 3.19.2, which was
20752075
generated by GNU Autoconf 2.69. Invocation command line was
20762076
20772077
$ $0 $@
@@ -12151,7 +12151,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
1215112151
# report actual input values of CONFIG_FILES etc. instead of their
1215212152
# values after options handling.
1215312153
ac_log="
12154-
This file was extended by sqlite $as_me 3.19.1, which was
12154+
This file was extended by sqlite $as_me 3.19.2, which was
1215512155
generated by GNU Autoconf 2.69. Invocation command line was
1215612156
1215712157
CONFIG_FILES = $CONFIG_FILES
@@ -12217,7 +12217,7 @@ _ACEOF
1221712217
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
1221812218
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
1221912219
ac_cs_version="\\
12220-
sqlite config.status 3.19.1
12220+
sqlite config.status 3.19.2
1222112221
configured by $0, generated by GNU Autoconf 2.69,
1222212222
with options \\"\$ac_cs_config\\"
1222312223

sqlite/manifest

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
C Version\s3.19.1
2-
D 2017-05-24T13:08:33.856
1+
C Version\s3.19.2
2+
D 2017-05-25T16:50:27.649
33
F Makefile.in 1cc758ce3374a32425e4d130c2fe7b026b20de5b8843243de75f087c0a2661fb
44
F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
55
F Makefile.msc 8eeb80162074004e906b53d7340a12a14c471a83743aab975947e95ce061efcc
66
F README.md 2b15fae33852f2f53996774c21fb41e1d94181c4401a0e43ac93e11f2cc901b9
7-
F VERSION 1699c6ade55970f0e2ab64ef0aa90ff406db479796172c8676e0899704f5dbe8
7+
F VERSION 10a1d396b8a19db3c3cc6c7b909be2cf7ad97c517b4f00af363506fd85aab713
88
F aclocal.m4 a5c22d164aff7ed549d53a90fa56d56955281f50
99
F art/sqlite370.eps aa97a671332b432a54e1d74ff5e8775be34200c2
1010
F art/sqlite370.ico af56c1d00fee7cd4753e8631ed60703ed0fc6e90
@@ -30,7 +30,7 @@ F autoconf/tea/win/rules.vc c511f222b80064096b705dbeb97060ee1d6b6d63
3030
F config.guess 226d9a188c6196f3033ffc651cbc9dcee1a42977
3131
F config.h.in 6376abec766e9a0785178b1823b5a587e9f1ccbc
3232
F config.sub 9ebe4c3b3dab6431ece34f16828b594fb420da55
33-
F configure a02beb39087ff63175fa1da1172c90db8c27b9cecf24639cd7438c1f3596163f x
33+
F configure 1b0309062481dbde6278cb870f1680c81c65202d0bfde469f81c7e22397d6f23 x
3434
F configure.ac 901e8db2c211e8b655e51ee24f2b8faa33407acde87effc47f70380f3b04e452
3535
F contrib/sqlitecon.tcl 210a913ad63f9f991070821e599d600bd913e0ad
3636
F doc/lemon.html b5a3c07d33ecb8e019ce8f7660fe2dbbad9d7977
@@ -356,7 +356,7 @@ F src/ctime.c 47d91a25ad8f199a71a5b1b7b169d6dd0d6e98c5719eca801568798743d1161c
356356
F src/date.c cc42a41c7422389860d40419a5e3bce5eaf6e7835c3ba2677751dc653550a5c7
357357
F src/dbstat.c 19ee7a4e89979d4df8e44cfac7a8f905ec89b77d
358358
F src/delete.c 665e705641e5815c3f32d05820d1a5aa630274e568af73f377fdbc614fcf40b4
359-
F src/expr.c c83f799f3e5e3f3863bd0716119383e4a062d00a1e34e7273a78555918840a7c
359+
F src/expr.c 30f61b7d8236def0e99485651e5d983a102afa4cbc8b1ef0ab19ccb1f3841f99
360360
F src/fault.c 460f3e55994363812d9d60844b2a6de88826e007
361361
F src/fkey.c db65492ae549c3b548c9ef1f279ce1684f1c473b116e1c56a90878cd5dcf968d
362362
F src/func.c 9d52522cc8ae7f5cdadfe14594262f1618bc1f86083c4cd6da861b4cf5af6174
@@ -403,7 +403,7 @@ F src/printf.c 8757834f1b54dae512fb25eb1acc8e94a0d15dd2290b58f2563f65973265adb2
403403
F src/random.c 80f5d666f23feb3e6665a6ce04c7197212a88384
404404
F src/resolve.c 3e518b962d932a997fae373366880fc028c75706
405405
F src/rowset.c 7b7e7e479212e65b723bf40128c7b36dc5afdfac
406-
F src/select.c 9db6887514a663ef4eb117f12cbae613bece9267f180d0fcdfa49402b013483e
406+
F src/select.c c444ca057d48cf1a4eb8f6a58fbc13418a7f83ae94a6bd6f29f7ad6c704a9e4c
407407
F src/shell.c a37d96b20b3644d0eb905df5aa7a0fcf9f6e73c15898337230c760a24a8df794
408408
F src/sqlite.h.in 8dd468837a4f6d76713e3a4cc65bea48095009038593d41040ab46c1b351197f
409409
F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8
@@ -487,7 +487,7 @@ F src/walker.c b71a992b413b3a022572eccf29ef4b4890223791
487487
F src/where.c c6352f15be5031907c68bcbde96cad1a6da20e9f4051d10168a59235de9a8566
488488
F src/whereInt.h 2a4b634d63ce488b46d4b0da8f2eaa8f9aeab202bc25ef76f007de5e3fba1f20
489489
F src/wherecode.c 8ad48867660519e262a401720845dc76934f86f558ec9606335fafcd7a2554f8
490-
F src/whereexpr.c e913aaa7b73ffcce66abcea5f197e2c538d48b5df78d0b7bba8ff4d73cc2e745
490+
F src/whereexpr.c a2fe3811d45af45a5c6667caabc15e01054fe6228c64e86e1f7d2ba5ef5284f9
491491
F test/8_3_names.test ebbb5cd36741350040fd28b432ceadf495be25b2
492492
F test/affinity2.test a6d901b436328bd67a79b41bb0ac2663918fe3bd
493493
F test/affinity3.test 6a101af2fc945ce2912f6fe54dd646018551710d
@@ -906,7 +906,7 @@ F test/ioerr3.test d3cec5e1a11ad6d27527d0d38573fbff14c71bdd
906906
F test/ioerr4.test f130fe9e71008577b342b8874d52984bd04ede2c
907907
F test/ioerr5.test 2edfa4fb0f896f733071303b42224df8bedd9da4
908908
F test/ioerr6.test a395a6ab144b26a9e3e21059a1ab6a7149cca65b
909-
F test/join.test a26e4c45edba5d2090216be6fc26d8d862c1a66e5729ce38308b4f286aa745e5
909+
F test/join.test 302f164f4a41c240d16ebd780762834233be77b852f15232c9a48a6fe37ac0fa
910910
F test/join2.test a48f723c5692e2cbb23a9297ac2720cb77d51a70
911911
F test/join3.test 6f0c774ff1ba0489e6c88a3e77b9d3528fb4fda0
912912
F test/join4.test 1a352e4e267114444c29266ce79e941af5885916
@@ -1059,7 +1059,7 @@ F test/rdonly.test 64e2696c322e3538df0b1ed624e21f9a23ed9ff8
10591059
F test/regexp1.test 497ea812f264d12b6198d6e50a76be4a1973a9d8
10601060
F test/regexp2.test 40e894223b3d6672655481493f1be12012f2b33c
10611061
F test/reindex.test 44edd3966b474468b823d481eafef0c305022254
1062-
F test/releasetest.tcl cb06c4df0de4872e65b178316f8a87ccf7624d59 x
1062+
F test/releasetest.tcl 936c8b9c72d46a86d0f9d65c536e883c2d79a8f53a5324283757bfc9d8b5a656 x
10631063
F test/resolver01.test f4022acafda7f4d40eca94dbf16bc5fc4ac30ceb
10641064
F test/rollback.test 458fe73eb3ffdfdf9f6ba3e9b7350a6220414dea
10651065
F test/rollback2.test 8435d6ff0f13f51d2a4181c232e706005fa90fc5
@@ -1580,11 +1580,11 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
15801580
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
15811581
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
15821582
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
1583-
P 05ada741554b9fd00befcf7b4083637f53de68699ae5210ac18e0773ad1a9910
1584-
R 7de9199234b8233f96ae8f86cad0d9b4
1583+
P 1a074c8a2bc0b28918ef905339d11a21d30101b4ea8c06c8b3faca7d17237538
1584+
R f4b3c258ec4a8c30fd1362752bfd9b5c
15851585
T +bgcolor * #d0c0ff
15861586
T +sym-release *
1587-
T +sym-version-3.19.1 *
1587+
T +sym-version-3.19.2 *
15881588
U drh
1589-
Z 01699a882c84539aef9719d24b44a477
1589+
Z 1c4850e8eeff11c8d32e6493160f83cd
15901590
# Remove this line to create a well-formed manifest.

sqlite/manifest.uuid

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
f6d7b988f40217821a382bc298180e9e6794f3ed79a83c6ef5cae048989b3f86
1+
edb4e819b0c058c7d74d27ebd14cc5ceb2bad6a6144a486a970182b7afe3f8b9

sqlite/src/expr.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1740,10 +1740,12 @@ static int exprNodeIsConstant(Walker *pWalker, Expr *pExpr){
17401740
testcase( pExpr->op==TK_AGG_COLUMN );
17411741
if( pWalker->eCode==3 && pExpr->iTable==pWalker->u.iCur ){
17421742
return WRC_Continue;
1743-
}else{
1744-
pWalker->eCode = 0;
1745-
return WRC_Abort;
17461743
}
1744+
/* Fall through */
1745+
case TK_IF_NULL_ROW:
1746+
testcase( pExpr->op==TK_IF_NULL_ROW );
1747+
pWalker->eCode = 0;
1748+
return WRC_Abort;
17471749
case TK_VARIABLE:
17481750
if( pWalker->eCode==5 ){
17491751
/* Silently convert bound parameters that appear inside of CREATE

sqlite/src/select.c

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3511,6 +3511,14 @@ static int flattenSubquery(
35113511
return 0; /* Restriction (3) */
35123512
}
35133513
}
3514+
#ifdef SQLITE_EXTRA_IFNULLROW
3515+
else if( iFrom>0 && !isAgg ){
3516+
/* Setting isLeftJoin to -1 causes OP_IfNullRow opcodes to be generated for
3517+
** every reference to any result column from subquery in a join, even though
3518+
** they are not necessary. This will stress-test the OP_IfNullRow opcode. */
3519+
isLeftJoin = -1;
3520+
}
3521+
#endif
35143522

35153523
/* Restriction 17: If the sub-query is a compound SELECT, then it must
35163524
** use only the UNION ALL operator. And none of the simple select queries
@@ -3764,7 +3772,7 @@ static int flattenSubquery(
37643772
pSub->pOrderBy = 0;
37653773
}
37663774
pWhere = sqlite3ExprDup(db, pSub->pWhere, 0);
3767-
if( isLeftJoin ){
3775+
if( isLeftJoin>0 ){
37683776
setJoinExpr(pWhere, iNewParent);
37693777
}
37703778
if( subqueryIsAgg ){

sqlite/src/whereexpr.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1375,11 +1375,11 @@ Bitmask sqlite3WhereExprUsage(WhereMaskSet *pMaskSet, Expr *p){
13751375
Bitmask mask;
13761376
if( p==0 ) return 0;
13771377
if( p->op==TK_COLUMN ){
1378-
mask = sqlite3WhereGetMask(pMaskSet, p->iTable);
1379-
return mask;
1378+
return sqlite3WhereGetMask(pMaskSet, p->iTable);
13801379
}
1380+
mask = (p->op==TK_IF_NULL_ROW) ? sqlite3WhereGetMask(pMaskSet, p->iTable) : 0;
13811381
assert( !ExprHasProperty(p, EP_TokenOnly) );
1382-
mask = p->pRight ? sqlite3WhereExprUsage(pMaskSet, p->pRight) : 0;
1382+
if( p->pRight ) mask |= sqlite3WhereExprUsage(pMaskSet, p->pRight);
13831383
if( p->pLeft ) mask |= sqlite3WhereExprUsage(pMaskSet, p->pLeft);
13841384
if( ExprHasProperty(p, EP_xIsSelect) ){
13851385
mask |= exprSelectUsage(pMaskSet, p->x.pSelect);

sqlite/test/join.test

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -743,4 +743,24 @@ do_execsql_test join-14.5 {
743743
SELECT * FROM (SELECT 111) LEFT JOIN (SELECT c+222 FROM t1) GROUP BY 1;
744744
} {111 {}}
745745

746+
# Verify the fix to ticket
747+
# https://www.sqlite.org/src/tktview/7fde638e94287d2c948cd9389
748+
#
749+
db close
750+
sqlite3 db :memory:
751+
do_execsql_test join-14.10 {
752+
CREATE TABLE t1(a);
753+
INSERT INTO t1 VALUES(1),(2),(3);
754+
CREATE VIEW v2 AS SELECT a, 1 AS b FROM t1;
755+
CREATE TABLE t3(x);
756+
INSERT INTO t3 VALUES(2),(4);
757+
SELECT *, '|' FROM t3 LEFT JOIN v2 ON a=x WHERE b=1;
758+
} {2 2 1 |}
759+
do_execsql_test join-14.11 {
760+
SELECT *, '|' FROM t3 LEFT JOIN v2 ON a=x WHERE b+1=x;
761+
} {2 2 1 |}
762+
do_execsql_test join-14.12 {
763+
SELECT *, '|' FROM t3 LEFT JOIN v2 ON a=x ORDER BY b;
764+
} {4 {} {} | 2 2 1 |}
765+
746766
finish_test

sqlite/test/releasetest.tcl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1036,7 +1036,7 @@ proc main {argv} {
10361036
regsub -all {fuzzoomtest} $xtarget fuzztest xtarget
10371037
if {$debug_idx < 0} {
10381038
incr NTEST
1039-
append config_options " -DSQLITE_DEBUG=1"
1039+
append config_options " -DSQLITE_DEBUG=1 -DSQLITE_EXTRA_IFNULLROW=1"
10401040
add_test_suite all "${zConfig}_debug" $xtarget $config_options
10411041
} else {
10421042
incr NTEST

0 commit comments

Comments
 (0)