Skip to content

Commit c17b466

Browse files
committed
Snapshot of upstream SQLite 3.32.1
1 parent 5e3132e commit c17b466

File tree

18 files changed

+158
-78
lines changed

18 files changed

+158
-78
lines changed

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
3.32.0
1+
3.32.1

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.32.0.
3+
# Generated by GNU Autoconf 2.69 for sqlite 3.32.1.
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.32.0'
730-
PACKAGE_STRING='sqlite 3.32.0'
729+
PACKAGE_VERSION='3.32.1'
730+
PACKAGE_STRING='sqlite 3.32.1'
731731
PACKAGE_BUGREPORT=''
732732
PACKAGE_URL=''
733733

@@ -1467,7 +1467,7 @@ if test "$ac_init_help" = "long"; then
14671467
# Omit some internal or obsolete options to make the list less imposing.
14681468
# This message is too long to be a string in the A/UX 3.1 sh.
14691469
cat <<_ACEOF
1470-
\`configure' configures sqlite 3.32.0 to adapt to many kinds of systems.
1470+
\`configure' configures sqlite 3.32.1 to adapt to many kinds of systems.
14711471
14721472
Usage: $0 [OPTION]... [VAR=VALUE]...
14731473
@@ -1532,7 +1532,7 @@ fi
15321532

15331533
if test -n "$ac_init_help"; then
15341534
case $ac_init_help in
1535-
short | recursive ) echo "Configuration of sqlite 3.32.0:";;
1535+
short | recursive ) echo "Configuration of sqlite 3.32.1:";;
15361536
esac
15371537
cat <<\_ACEOF
15381538
@@ -1659,7 +1659,7 @@ fi
16591659
test -n "$ac_init_help" && exit $ac_status
16601660
if $ac_init_version; then
16611661
cat <<\_ACEOF
1662-
sqlite configure 3.32.0
1662+
sqlite configure 3.32.1
16631663
generated by GNU Autoconf 2.69
16641664
16651665
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2078,7 +2078,7 @@ cat >config.log <<_ACEOF
20782078
This file contains any messages produced by compilers while
20792079
running configure, to aid debugging if configure makes a mistake.
20802080
2081-
It was created by sqlite $as_me 3.32.0, which was
2081+
It was created by sqlite $as_me 3.32.1, which was
20822082
generated by GNU Autoconf 2.69. Invocation command line was
20832083
20842084
$ $0 $@
@@ -12243,7 +12243,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
1224312243
# report actual input values of CONFIG_FILES etc. instead of their
1224412244
# values after options handling.
1224512245
ac_log="
12246-
This file was extended by sqlite $as_me 3.32.0, which was
12246+
This file was extended by sqlite $as_me 3.32.1, which was
1224712247
generated by GNU Autoconf 2.69. Invocation command line was
1224812248
1224912249
CONFIG_FILES = $CONFIG_FILES
@@ -12309,7 +12309,7 @@ _ACEOF
1230912309
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
1231012310
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
1231112311
ac_cs_version="\\
12312-
sqlite config.status 3.32.0
12312+
sqlite config.status 3.32.1
1231312313
configured by $0, generated by GNU Autoconf 2.69,
1231412314
with options \\"\$ac_cs_config\\"
1231512315

ext/misc/sqlar.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
#include "sqlite3ext.h"
1818
SQLITE_EXTENSION_INIT1
1919
#include <zlib.h>
20+
#include <assert.h>
2021

2122
/*
2223
** Implementation of the "sqlar_compress(X)" SQL function.

ext/misc/vfsstat.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -811,7 +811,7 @@ int sqlite3_vfsstat_init(
811811
if( rc==SQLITE_OK ){
812812
rc = vstatRegister(db, pzErrMsg, pApi);
813813
if( rc==SQLITE_OK ){
814-
rc = sqlite3_auto_extension(vstatRegister);
814+
rc = sqlite3_auto_extension((void(*)(void))vstatRegister);
815815
}
816816
}
817817
if( rc==SQLITE_OK ) rc = SQLITE_OK_LOAD_PERMANENTLY;

manifest

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
C Version\s3.32.0
2-
D 2020-05-22T17:46:16.912
1+
C Version\s3.32.1
2+
D 2020-05-25T16:19:56.155
33
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
44
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
55
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
66
F Makefile.in 376f53999defeb32b7ad2626fd58aae8f3694c38ab7ee30c2289e0d0525a9238
77
F Makefile.linux-gcc f609543700659711fbd230eced1f01353117621dccae7b9fb70daa64236c5241
88
F Makefile.msc 8d00aeba2609bb498dded5eead2890126321f02e292573bf29bf2d18487d37bd
99
F README.md 1514a365ffca3c138e00c5cc839906108a01011a6b082bad19b09781e3aa498a
10-
F VERSION 980d78a2ce04a1fd0ebefbaabd665f7f9186563820629ee29c6e350e96f19b52
10+
F VERSION 7d1da8465e06354a9ffb67a9ef3f933552767d8e239b507cb2a08ba417048322
1111
F aclocal.m4 a5c22d164aff7ed549d53a90fa56d56955281f50
1212
F art/sqlite370.eps aa97a671332b432a54e1d74ff5e8775be34200c2
1313
F art/sqlite370.ico af56c1d00fee7cd4753e8631ed60703ed0fc6e90
@@ -34,7 +34,7 @@ F autoconf/tea/win/rules.vc c511f222b80064096b705dbeb97060ee1d6b6d63
3434
F config.guess 883205ddf25b46f10c181818bf42c09da9888884af96f79e1719264345053bd6
3535
F config.h.in 6376abec766e9a0785178b1823b5a587e9f1ccbc
3636
F config.sub c2d0260f17f3e4bc0b6808fccf1b291cb5e9126c14fc5890efc77b9fd0175559
37-
F configure 4bbb5f13998f2faf929b9ae708aea9fbcb08a46cb6dd3150e36c3f09c0a05a75 x
37+
F configure 4705718305e176b707e65047b69dca834fe7bc5475584e30fe1f63c8e33751b8 x
3838
F configure.ac 798a24cee2879325ca5b688a618199eb32cc77ed8136edbaa43d9137b470d54e
3939
F contrib/sqlitecon.tcl 210a913ad63f9f991070821e599d600bd913e0ad
4040
F doc/F2FS.txt c1d4a0ae9711cfe0e1d8b019d154f1c29e0d3abfe820787ba1e9ed7691160fcd
@@ -317,7 +317,7 @@ F ext/misc/sha1.c c8f2253c8792ffab9517695ea7d88c079f0395a5505eefef5c8198fe184ed5
317317
F ext/misc/shathree.c 135b7c145db4a09b1650c3e7aff9cb538763a9a361e834c015dd1aaf8d5c9a00
318318
F ext/misc/showauth.c 732578f0fe4ce42d577e1c86dc89dd14a006ab52
319319
F ext/misc/spellfix.c 94df9bbfa514a563c1484f684a2df3d128a2f7209a84ca3ca100c68a0163e29f
320-
F ext/misc/sqlar.c c9e5d58544e1506135806a1e0f525f92d4bb6bb125348dce469d778fb334fbce
320+
F ext/misc/sqlar.c 0ace5d3c10fe736dc584bf1159a36b8e2e60fab309d310cd8a0eecd9036621b6
321321
F ext/misc/stmt.c 35063044a388ead95557e4b84b89c1b93accc2f1c6ddea3f9710e8486a7af94a
322322
F ext/misc/templatevtab.c 8a16a91a5ceaccfcbd6aaaa56d46828806e460dd194965b3f77bf38f14b942c4
323323
F ext/misc/totype.c fa4aedeb07f66169005dffa8de3b0a2b621779fd44f85c103228a42afa71853b
@@ -326,7 +326,7 @@ F ext/misc/unionvtab.c 36237f0607ca954ac13a4a0e2d2ac40c33bc6e032a5f55f431713061e
326326
F ext/misc/urifuncs.c f71360d14fa9e7626b563f1f781c6148109462741c5235ac63ae0f8917b9c751
327327
F ext/misc/uuid.c 5bb2264c1b64d163efa46509544fd7500cb8769cb7c16dd52052da8d961505cf
328328
F ext/misc/vfslog.c 3b25c2f56ba60788db247287be6ab024b53c4afffd412b4876db563389be0d35
329-
F ext/misc/vfsstat.c 77b5b4235c9f7f11eddf82487c0a422944ac2f132dafd5af3be7a68a057b1cdb
329+
F ext/misc/vfsstat.c 389ea13983d3af926504c314f06a83cc858d5adc24b40af74aaed1fece00c118
330330
F ext/misc/vtablog.c 5538acd0c8ddaae372331bee11608d76973436b77d6a91e8635cfc9432fba5ae
331331
F ext/misc/vtshim.c 1976e6dd68dd0d64508c91a6dfab8e75f8aaf6cd
332332
F ext/misc/wholenumber.c 520f34c3099e5b7d546f13708607dc2fa173c46b68952eecf0d19cd675fec85e
@@ -485,7 +485,7 @@ F src/date.c b29b349d277e3d579dcc295b24c0a2caed83fd8f090a9f7cbe6070c0fd662384
485485
F src/dbpage.c 8a01e865bf8bc6d7b1844b4314443a6436c07c3efe1d488ed89e81719047833a
486486
F src/dbstat.c 793deaf88a0904f88285d93d6713c636d55ede0ffd9f08d10f4ea825531d367f
487487
F src/delete.c 88047c8e59878c920fce14582bc1dde4d81157d1ca5ffdf36c2907e6d41996c4
488-
F src/expr.c 8eed44d9de8a3b0fe1c9809bb75a02b65488774c8ba8685512d8f63adade18e5
488+
F src/expr.c b46669d9fc9e0361dba6cc289901a013789e0b1dc629c4c1bc88ec9403633b38
489489
F src/fault.c 460f3e55994363812d9d60844b2a6de88826e007
490490
F src/fkey.c 4b575423b0a5d4898b1a7868ce985cf1a8ad91c741c9abbb108ff02536d20f41
491491
F src/func.c 2333eb4277f55a5efdc12ef754e7d7ec9105d257b2fd00301d23ce1e8fa67dc0
@@ -494,7 +494,7 @@ F src/hash.c 8d7dda241d0ebdafb6ffdeda3149a412d7df75102cecfc1021c98d6219823b19
494494
F src/hash.h 9d56a9079d523b648774c1784b74b89bd93fac7b365210157482e4319a468f38
495495
F src/hwtime.h cb1d7e3e1ed94b7aa6fde95ae2c2daccc3df826be26fc9ed7fd90d1750ae6144
496496
F src/in-operator.md 10cd8f4bcd225a32518407c2fb2484089112fd71
497-
F src/insert.c 8e4211d04eb460c0694d486c6ba1c068d468c6f653c3f237869a802ad82854de
497+
F src/insert.c 92b07a7f7e682114948ce59fd6511ffec7672b508cc343a804ef6afee21b6c11
498498
F src/legacy.c d7874bc885906868cd51e6c2156698f2754f02d9eee1bae2d687323c3ca8e5aa
499499
F src/loadext.c 421310045bd78afefb772294a99e50f37d87ae578786a6169074e6291e30d969
500500
F src/main.c 97d962ab1f830540043042e41085c5b85636a60e6ed95002c1a56b64f7eb6a0b
@@ -529,16 +529,16 @@ F src/pcache1.c 6596e10baf3d8f84cc1585d226cf1ab26564a5f5caf85a15757a281ff977d51a
529529
F src/pragma.c 1b0db48177e52b256c003b8dc6ac708b1079a82cded944a23820574586a4731f
530530
F src/pragma.h 8168e588536bffd95319451f34e9a754dc37d205ebe433031a7813c5b286beae
531531
F src/prepare.c 8d4d6c8aa6afefc48027c54b41cdf134b4d6bc2fc4badbe483ad7fd9e1728a28
532-
F src/printf.c ebf563cff3122f6a61149964b738b470196d3619df31d6a720d0ff72fcfd7c7b
532+
F src/printf.c 94b5419ad0a17269f76a9e968ca19cf9fa37617abed2e246fc48844e511b6bc6
533533
F src/random.c 80f5d666f23feb3e6665a6ce04c7197212a88384
534-
F src/resolve.c d36a2b1639e1c33d7b508abfd3452a63e7fd81737f6f3940bfef085fca6f21f4
534+
F src/resolve.c c2008519a0654f1e7490e9281ed0397d0f14bb840d81f0b96946248afcbdb25d
535535
F src/rowset.c ba9515a922af32abe1f7d39406b9d35730ed65efab9443dc5702693b60854c92
536-
F src/select.c ee4b02ad8047c35891b7a612091beec21ae7a0155290dcbefb0824aed20c46f3
536+
F src/select.c e2a59548681bf1c407132863ae87bf2444aca5543867c21d9d09aa07f44aef5d
537537
F src/shell.c.in cf2d24f54412c06e5fb34af7fabc748651125e1dceac29b740e91f06d23447b6
538538
F src/sqlite.h.in 74342b41e9d68ff9e56b192009046f8dd0aa2bd76ce1a588f330de614ba61de7
539539
F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8
540540
F src/sqlite3ext.h 2d1af80082edffd71c6f96f70ad1ce6a4fb46615ad10291fc77fe0dea9ff0197
541-
F src/sqliteInt.h 8878a88c18a013d1843638001d7fc56a8f99740f151fc7597b1641b61accf58c
541+
F src/sqliteInt.h 37f74544c8e2f59a16d1b13e6847bc02fb3fcbbfae4d6e6342c7a94c3a3984a5
542542
F src/sqliteLimit.h 95cb8479ca459496d9c1c6a9f76b38aee12203a56ce1092fe13e50ae2454c032
543543
F src/status.c 9ff2210207c6c3b4d9631a8241a7d45ab1b26a0e9c84cb07a9b5ce2de9a3b278
544544
F src/table.c 0f141b58a16de7e2fbe81c308379e7279f4c6b50eb08efeec5892794a0ba30d1
@@ -598,7 +598,7 @@ F src/test_window.c cdae419fdcea5bad6dcd9368c685abdad6deb59e9fc8b84b153de513d394
598598
F src/test_wsd.c 41cadfd9d97fe8e3e4e44f61a4a8ccd6f7ca8fe9
599599
F src/threads.c 4ae07fa022a3dc7c5beb373cf744a85d3c5c6c3c
600600
F src/tokenize.c eee7bae3ec0bc4abee951554bf46a8ba567c0f7752ac90c820ed8afff4c612dc
601-
F src/treeview.c 82c6391a3ba76215d4185fd4719a56ec4caf186a40c8a7b6e6ba4ae4467c2742
601+
F src/treeview.c 9df54af6e5830fd527496e62ae0148e1ba33197205d8e232c2826537d42d4063
602602
F src/trigger.c 4ada1037cc99777f647a882cdacbd1a4deb6567b69daf02946286401b88cdc04
603603
F src/update.c 3199098455830fc2d8c8fc4ae3ec2ea513eef64339ae9a7048db62b21169bc7a
604604
F src/upsert.c 2920de71b20f04fe25eb00b655d086f0ba60ea133c59d7fa3325c49838818e78
@@ -617,14 +617,14 @@ F src/vdbetrace.c fa3bf238002f0bbbdfb66cc8afb0cea284ff9f148d6439bc1f6f2b4c3b7143
617617
F src/vdbevtab.c ee5b4c902fdda2230f9503ac7b84c6d614c91e8f6f4dc1633e2e8dfef8ffb144
618618
F src/vtab.c 7b452592ed2ee95dedb1f323d557cebede5a6f3b4558b21a5dca527e6ae9b12c
619619
F src/vxworks.h d2988f4e5a61a4dfe82c6524dd3d6e4f2ce3cdb9
620-
F src/wal.c 17ea0a319d3ead17ef3b16aa30f10f2626056893effea7e609a20a6661ffec1b
620+
F src/wal.c 04c3d2a673192016a671eb051a1900945a8c7331f4378636a8bfb70e8e596c84
621621
F src/wal.h c3aa7825bfa2fe0d85bef2db94655f99870a285778baa36307c0a16da32b226a
622-
F src/walker.c 7c429c694abd12413a5c17aec9f47cfe9eba6807e6b0a32df883e8e3a14835ed
622+
F src/walker.c 3df26a33dc4f54e8771600fb7fdebe1ece0896c2ad68c30ab40b017aa4395049
623623
F src/where.c 9546c82056e8cdb27291f98cf1adca5d271240b399bb97b32f77fc2bea6146c9
624624
F src/whereInt.h 6b874aa15f94e43a2cec1080be64d955b04deeafeac90ffb5d6975c0d511be3c
625625
F src/wherecode.c 7b939de85d65cc4b4bfa197513136b9e0ae03167e3b82842ca5a0ba1055ba65d
626626
F src/whereexpr.c 264d58971eaf8256eb5b0917bcd7fc7a1f1109fdda183a8382308a1b18a2dce7
627-
F src/window.c 194fc168626f186a2b90dfe5edb534ab164cbeb6c4906177bfcdd5c188a0b53d
627+
F src/window.c 66c5fd1e48af7581cf90b97700268294f4da4037f120f367715f912e1148d3f9
628628
F test/8_3_names.test ebbb5cd36741350040fd28b432ceadf495be25b2
629629
F test/affinity2.test ce1aafc86e110685b324e9a763eab4f2a73f737842ec3b687bd965867de90627
630630
F test/affinity3.test 6a101af2fc945ce2912f6fe54dd646018551710d
@@ -1246,7 +1246,7 @@ F test/pragma4.test 10c624e45a83c0096a82a7579a5ff658542391d3b77355192da6572c8c17
12461246
F test/pragma5.test 7b33fc43e2e41abf17f35fb73f71b49671a380ea92a6c94b6ce530a25f8d9102
12471247
F test/pragmafault.test 275edaf3161771d37de60e5c2b412627ac94cef11739236bec12ed1258b240f8
12481248
F test/prefixes.test b524a1c44bffec225b9aec98bd728480352aa8532ac4c15771fb85e8beef65d9
1249-
F test/printf.test 0300699733e53101b2ce48800518427249edd4053bb50fa0621c6607482f0fdb
1249+
F test/printf.test 1e0e469f5f8a09afa8a182f34647e3d9b8c01978cbbe2313a194ccc3a8471506
12501250
F test/printf2.test 30b5dd0b4b992dc5626496846ecce17ff592cacbcb11c3e589f3ac4d7e129dae
12511251
F test/progress.test ebab27f670bd0d4eb9d20d49cef96e68141d92fb
12521252
F test/ptrchng.test ef1aa72d6cf35a2bbd0869a649b744e9d84977fc
@@ -1727,7 +1727,7 @@ F test/win32heap.test 10fd891266bd00af68671e702317726375e5407561d859be1aa04696f2
17271727
F test/win32lock.test fbf107c91d8f5512be5a5b87c4c42ab9fdd54972
17281728
F test/win32longpath.test 4baffc3acb2e5188a5e3a895b2b543ed09e62f7c72d713c1feebf76222fe9976
17291729
F test/win32nolock.test ac4f08811a562e45a5755e661f45ca85892bdbbc
1730-
F test/window1.test a3504d44a3a125e35c53358cde1457d55bfc487bbe00f4c86bfed3a0bcc02140
1730+
F test/window1.test 502a3e72fce895aaaa633bbe709f6de3c24eed3ecb8098ab9fb8b47584b4452c
17311731
F test/window2.tcl 492c125fa550cda1dd3555768a2303b3effbeceee215293adf8871efc25f1476
17321732
F test/window2.test e466a88bd626d66edc3d352d7d7e1d5531e0079b549ba44efb029d1fbff9fd3c
17331733
F test/window3.tcl acea6e86a4324a210fd608d06741010ca83ded9fde438341cb978c49928faf03
@@ -1866,11 +1866,11 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
18661866
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
18671867
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
18681868
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
1869-
P ce36b6d1331edba5a921fef32553e2470a79bdb1f62d2cfd81190691c83d5b06
1870-
R b5a877f3e2a7ab538bc565ffd2aae787
1869+
P b1b182be2ab34cec1d94c5570bc361331a34f727eb9fa4aadfabb7f1ef79f83e
1870+
R 060d4022d9a6a2267bacd2bd89abcc90
18711871
T +bgcolor * #d0c0ff
18721872
T +sym-release *
1873-
T +sym-version-3.32.0 *
1873+
T +sym-version-3.32.1 *
18741874
U drh
1875-
Z 4af13806b6e302c99aeddae94a54c013
1875+
Z 2dade396208e30c3681b79baa530525b
18761876
# Remove this line to create a well-formed manifest.

manifest.uuid

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
5998789c9c744bce92e4cff7636bba800a75574243d6977e1fc8281e360f8d5a
1+
0c1fcf4711a2e66c813aed38cf41cd3e2123ee8eb6db98118086764c4ba83350

src/expr.c

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3811,7 +3811,10 @@ int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target){
38113811
switch( op ){
38123812
case TK_AGG_COLUMN: {
38133813
AggInfo *pAggInfo = pExpr->pAggInfo;
3814-
struct AggInfo_col *pCol = &pAggInfo->aCol[pExpr->iAgg];
3814+
struct AggInfo_col *pCol;
3815+
assert( pAggInfo!=0 );
3816+
assert( pExpr->iAgg>=0 && pExpr->iAgg<pAggInfo->nColumn );
3817+
pCol = &pAggInfo->aCol[pExpr->iAgg];
38153818
if( !pAggInfo->directMode ){
38163819
assert( pCol->iMem>0 );
38173820
return pCol->iMem;
@@ -4111,7 +4114,10 @@ int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target){
41114114
}
41124115
case TK_AGG_FUNCTION: {
41134116
AggInfo *pInfo = pExpr->pAggInfo;
4114-
if( pInfo==0 ){
4117+
if( pInfo==0
4118+
|| NEVER(pExpr->iAgg<0)
4119+
|| NEVER(pExpr->iAgg>=pInfo->nFunc)
4120+
){
41154121
assert( !ExprHasProperty(pExpr, EP_IntValue) );
41164122
sqlite3ErrorMsg(pParse, "misuse of aggregate: %s()", pExpr->u.zToken);
41174123
}else{
@@ -5867,15 +5873,6 @@ static int analyzeAggregate(Walker *pWalker, Expr *pExpr){
58675873
}
58685874
return WRC_Continue;
58695875
}
5870-
static int analyzeAggregatesInSelect(Walker *pWalker, Select *pSelect){
5871-
UNUSED_PARAMETER(pSelect);
5872-
pWalker->walkerDepth++;
5873-
return WRC_Continue;
5874-
}
5875-
static void analyzeAggregatesInSelectEnd(Walker *pWalker, Select *pSelect){
5876-
UNUSED_PARAMETER(pSelect);
5877-
pWalker->walkerDepth--;
5878-
}
58795876

58805877
/*
58815878
** Analyze the pExpr expression looking for aggregate functions and
@@ -5889,8 +5886,8 @@ static void analyzeAggregatesInSelectEnd(Walker *pWalker, Select *pSelect){
58895886
void sqlite3ExprAnalyzeAggregates(NameContext *pNC, Expr *pExpr){
58905887
Walker w;
58915888
w.xExprCallback = analyzeAggregate;
5892-
w.xSelectCallback = analyzeAggregatesInSelect;
5893-
w.xSelectCallback2 = analyzeAggregatesInSelectEnd;
5889+
w.xSelectCallback = sqlite3WalkerDepthIncrease;
5890+
w.xSelectCallback2 = sqlite3WalkerDepthDecrease;
58945891
w.walkerDepth = 0;
58955892
w.u.pNC = pNC;
58965893
w.pParse = 0;

src/insert.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1944,7 +1944,7 @@ void sqlite3GenerateConstraintChecks(
19441944
sqlite3TableAffinity(v, pTab, regNewData+1);
19451945
bAffinityDone = 1;
19461946
}
1947-
VdbeNoopComment((v, "uniqueness check for %s", pIdx->zName));
1947+
VdbeNoopComment((v, "prep index %s", pIdx->zName));
19481948
iThisCur = iIdxCur+ix;
19491949

19501950

src/printf.c

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,13 @@ static char *printfTempBuf(sqlite3_str *pAccum, sqlite3_int64 n){
194194
#endif
195195
#define etBUFSIZE SQLITE_PRINT_BUF_SIZE /* Size of the output buffer */
196196

197+
/*
198+
** Hard limit on the precision of floating-point conversions.
199+
*/
200+
#ifndef SQLITE_PRINTF_PRECISION_LIMIT
201+
# define SQLITE_FP_PRECISION_LIMIT 100000000
202+
#endif
203+
197204
/*
198205
** Render a string given by "fmt" into the StrAccum object.
199206
*/
@@ -394,6 +401,8 @@ void sqlite3_str_vappendf(
394401
** xtype The class of the conversion.
395402
** infop Pointer to the appropriate info struct.
396403
*/
404+
assert( width>=0 );
405+
assert( precision>=(-1) );
397406
switch( xtype ){
398407
case etPOINTER:
399408
flag_long = sizeof(char*)==sizeof(i64) ? 2 :
@@ -515,6 +524,11 @@ void sqlite3_str_vappendf(
515524
length = 0;
516525
#else
517526
if( precision<0 ) precision = 6; /* Set default precision */
527+
#ifdef SQLITE_FP_PRECISION_LIMIT
528+
if( precision>SQLITE_FP_PRECISION_LIMIT ){
529+
precision = SQLITE_FP_PRECISION_LIMIT;
530+
}
531+
#endif
518532
if( realvalue<0.0 ){
519533
realvalue = -realvalue;
520534
prefix = '-';
@@ -797,7 +811,7 @@ void sqlite3_str_vappendf(
797811
}
798812
isnull = escarg==0;
799813
if( isnull ) escarg = (xtype==etSQLESCAPE2 ? "NULL" : "(NULL)");
800-
/* For %q, %Q, and %w, the precision is the number of byte (or
814+
/* For %q, %Q, and %w, the precision is the number of bytes (or
801815
** characters if the ! flags is present) to use from the input.
802816
** Because of the extra quoting characters inserted, the number
803817
** of output characters may be larger than the precision.

src/resolve.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@
2424
**
2525
** incrAggFunctionDepth(pExpr,n) is the main routine. incrAggDepth(..)
2626
** is a helper function - a callback for the tree walker.
27+
**
28+
** See also the sqlite3WindowExtraAggFuncDepth() routine in window.c
2729
*/
2830
static int incrAggDepth(Walker *pWalker, Expr *pExpr){
2931
if( pExpr->op==TK_AGG_FUNCTION ) pExpr->op2 += pWalker->u.n;

0 commit comments

Comments
 (0)