mirror of
https://github.com/sqlite/sqlite.git
synced 2025-07-30 19:03:16 +03:00
Fix for [9861b74ab9]. Correctly handle strings with zero tokens in the fts3 offsets() function.
FossilOrigin-Name: d37034f7fc46b83be681247fde97823736c994cc
This commit is contained in:
@ -1156,11 +1156,13 @@ void sqlite3Fts3Offsets(
|
||||
"%d %d %d %d ", iCol, pTerm-sCtx.aTerm, iStart, iEnd-iStart
|
||||
);
|
||||
rc = fts3StringAppend(&res, aBuffer, -1);
|
||||
}else if( rc==SQLITE_DONE ){
|
||||
rc = SQLITE_CORRUPT;
|
||||
}
|
||||
}
|
||||
}
|
||||
if( rc==SQLITE_DONE ){
|
||||
rc = SQLITE_CORRUPT;
|
||||
rc = SQLITE_OK;
|
||||
}
|
||||
|
||||
pMod->xClose(pC);
|
||||
|
26
manifest
26
manifest
@ -1,8 +1,5 @@
|
||||
-----BEGIN PGP SIGNED MESSAGE-----
|
||||
Hash: SHA1
|
||||
|
||||
C Attempt\sto\ssuppress\sa\swarning\sfrom\sBorland\sCode\sGuard.
|
||||
D 2010-03-24T11:55:08
|
||||
C Fix\sfor\s[9861b74ab9].\sCorrectly\shandle\sstrings\swith\szero\stokens\sin\sthe\sfts3\soffsets()\sfunction.
|
||||
D 2010-03-24T15:57:33
|
||||
F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
|
||||
F Makefile.in 4f2f967b7e58a35bb74fb7ec8ae90e0f4ca7868b
|
||||
F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
|
||||
@ -67,7 +64,7 @@ F ext/fts3/fts3_hash.c 3c8f6387a4a7f5305588b203fa7c887d753e1f1c
|
||||
F ext/fts3/fts3_hash.h 8331fb2206c609f9fc4c4735b9ab5ad6137c88ec
|
||||
F ext/fts3/fts3_icu.c ac494aed69835008185299315403044664bda295
|
||||
F ext/fts3/fts3_porter.c 7546e4503e286a67fd4f2a82159620e3e9c7a1bc
|
||||
F ext/fts3/fts3_snippet.c ec53bd8a8384172b9e866f48fa2d6055f3b9f3cf
|
||||
F ext/fts3/fts3_snippet.c bc582c38e194b48818da862f9e6f293cc44e29ee
|
||||
F ext/fts3/fts3_tokenizer.c 1a49ee3d79cbf0b9386250370d9cbfe4bb89c8ff
|
||||
F ext/fts3/fts3_tokenizer.h 13ffd9fcb397fec32a05ef5cd9e0fa659bf3dbd3
|
||||
F ext/fts3/fts3_tokenizer1.c b6d86d1d750787db5c168c73da4e87670ed890a1
|
||||
@ -388,7 +385,7 @@ F test/fts3.test ae0433b09b12def08105640e57693726c4949338
|
||||
F test/fts3_common.tcl 1d887ded06dac9b993cfb175618df7f70c796de2
|
||||
F test/fts3aa.test 5327d4c1d9b6c61021696746cc9a6cdc5bf159c0
|
||||
F test/fts3ab.test 09aeaa162aee6513d9ff336b6932211008b9d1f9
|
||||
F test/fts3ac.test fc1ac42c33f8a66d48ae41e4728f7ca4b6dfc950
|
||||
F test/fts3ac.test 636ed7486043055d4f126a0e385f2d5a82ebbf63
|
||||
F test/fts3ad.test e40570cb6f74f059129ad48bcef3d7cbc20dda49
|
||||
F test/fts3ae.test ce32a13b34b0260928e4213b4481acf801533bda
|
||||
F test/fts3af.test d394978c534eabf22dd0837e718b913fd66b499c
|
||||
@ -796,14 +793,7 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
|
||||
F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
|
||||
F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
|
||||
F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
|
||||
P 892e286709c4a72aae364b85dd43bea525bb1b4d
|
||||
R 4e7747e6db66a7edbd7dd3bc5f585004
|
||||
U drh
|
||||
Z 2ab106cf9f20d8820321fdf18867654a
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG v1.4.6 (GNU/Linux)
|
||||
|
||||
iD8DBQFLqf2ioxKgR168RlERAk6sAKCMJy1kpasa8Iln1YSuu28cwzVTfwCdGJ6Z
|
||||
xmlmqHa8MLbO8oc6p2G4nto=
|
||||
=XtmL
|
||||
-----END PGP SIGNATURE-----
|
||||
P be278979917336e7186d7830876180154b5280ba
|
||||
R 6bbbd4e14a2d996a1a670e3cf1c5912f
|
||||
U dan
|
||||
Z 53e87a02495e18ae66f9c4a591836541
|
||||
|
@ -1 +1 @@
|
||||
be278979917336e7186d7830876180154b5280ba
|
||||
d37034f7fc46b83be681247fde97823736c994cc
|
@ -1198,4 +1198,22 @@ do_test fts3ac-5.2 {
|
||||
15 <b>Questar</b> Pipeline
|
||||
40 Rockies<b>...</b>}}
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
# Test a problem reported on the mailing list.
|
||||
#
|
||||
do_test fts3ac-6.1 {
|
||||
execsql {
|
||||
CREATE VIRTUAL TABLE ft USING fts3(one, two);
|
||||
INSERT INTO ft VALUES('', 'foo');
|
||||
INSERT INTO ft VALUES('foo', 'foo');
|
||||
SELECT offsets(ft) FROM ft WHERE ft MATCH 'foo';
|
||||
}
|
||||
} {{1 0 0 3} {0 0 0 3 1 0 0 3}}
|
||||
do_test fts3ac-6.2 {
|
||||
execsql {
|
||||
DELETE FROM ft WHERE one = 'foo';
|
||||
SELECT offsets(ft) FROM ft WHERE ft MATCH 'foo';
|
||||
}
|
||||
} {{1 0 0 3}}
|
||||
|
||||
finish_test
|
||||
|
Reference in New Issue
Block a user