summaryrefslogtreecommitdiff
path: root/dev-db/sqlite/files/sqlite-3.32.3-backports_1.patch
diff options
context:
space:
mode:
Diffstat (limited to 'dev-db/sqlite/files/sqlite-3.32.3-backports_1.patch')
-rw-r--r--dev-db/sqlite/files/sqlite-3.32.3-backports_1.patch361
1 files changed, 0 insertions, 361 deletions
diff --git a/dev-db/sqlite/files/sqlite-3.32.3-backports_1.patch b/dev-db/sqlite/files/sqlite-3.32.3-backports_1.patch
deleted file mode 100644
index 256d18ee76fc..000000000000
--- a/dev-db/sqlite/files/sqlite-3.32.3-backports_1.patch
+++ /dev/null
@@ -1,361 +0,0 @@
-https://sqlite.org/src/info/d48af4d2cfff3d5f
-https://sqlite.org/src/info/cc888878ea8d5bc7
-https://sqlite.org/src/info/be545f85a6ef09cc
-https://sqlite.org/src/info/6e0ffa2053124168
-https://sqlite.org/src/info/4d0cfb1236884349
-https://sqlite.org/src/info/ccff8cb8267d4c56
-https://sqlite.org/src/info/5124732370fd53c9
-
---- /ext/fts3/fts3.c
-+++ /ext/fts3/fts3.c
-@@ -2068,7 +2068,7 @@
- sqlite3_int64 *piPrev, /* IN/OUT: Previous value written to list */
- sqlite3_int64 iVal /* Write this value to the list */
- ){
-- assert( iVal-*piPrev > 0 || (*piPrev==0 && iVal==0) );
-+ assert_fts3_nc( iVal-*piPrev > 0 || (*piPrev==0 && iVal==0) );
- *pp += sqlite3Fts3PutVarint(*pp, iVal-*piPrev);
- *piPrev = iVal;
- }
-@@ -5208,10 +5208,12 @@
- );
- if( res ){
- nNew = (int)(pOut - pPhrase->doclist.pList) - 1;
-- assert( pPhrase->doclist.pList[nNew]=='\0' );
-- assert( nNew<=pPhrase->doclist.nList && nNew>0 );
-- memset(&pPhrase->doclist.pList[nNew], 0, pPhrase->doclist.nList - nNew);
-- pPhrase->doclist.nList = nNew;
-+ if( nNew>=0 ){
-+ assert( pPhrase->doclist.pList[nNew]=='\0' );
-+ assert( nNew<=pPhrase->doclist.nList && nNew>0 );
-+ memset(&pPhrase->doclist.pList[nNew], 0, pPhrase->doclist.nList - nNew);
-+ pPhrase->doclist.nList = nNew;
-+ }
- *paPoslist = pPhrase->doclist.pList;
- *pnToken = pPhrase->nToken;
- }
-@@ -5563,7 +5565,10 @@
- }else
- #endif
- {
-- bHit = (pExpr->bEof==0 && pExpr->iDocid==pCsr->iPrevId);
-+ bHit = (
-+ pExpr->bEof==0 && pExpr->iDocid==pCsr->iPrevId
-+ && pExpr->pPhrase->doclist.nList>0
-+ );
- }
- break;
- }
---- /ext/fts3/fts3_write.c
-+++ /ext/fts3/fts3_write.c
-@@ -341,7 +341,9 @@
- ** created by merging the oldest :2 segments from absolute level :1. See
- ** function sqlite3Fts3Incrmerge() for details. */
- /* 29 */ "SELECT 2 * total(1 + leaves_end_block - start_block) "
-- " FROM %Q.'%q_segdir' WHERE level = ? AND idx < ?",
-+ " FROM (SELECT * FROM %Q.'%q_segdir' "
-+ " WHERE level = ? ORDER BY idx ASC LIMIT ?"
-+ " )",
-
- /* SQL_DELETE_SEGDIR_ENTRY
- ** Delete the %_segdir entry on absolute level :1 with index :2. */
-@@ -2853,6 +2855,19 @@
- return SQLITE_OK;
- }
-
-+static int fts3GrowSegReaderBuffer(Fts3MultiSegReader *pCsr, int nReq){
-+ if( nReq>pCsr->nBuffer ){
-+ char *aNew;
-+ pCsr->nBuffer = nReq*2;
-+ aNew = sqlite3_realloc(pCsr->aBuffer, pCsr->nBuffer);
-+ if( !aNew ){
-+ return SQLITE_NOMEM;
-+ }
-+ pCsr->aBuffer = aNew;
-+ }
-+ return SQLITE_OK;
-+}
-+
-
- int sqlite3Fts3SegReaderStep(
- Fts3Table *p, /* Virtual table handle */
-@@ -2987,15 +3002,9 @@
- }
-
- nByte = sqlite3Fts3VarintLen(iDelta) + (isRequirePos?nList+1:0);
-- if( nDoclist+nByte>pCsr->nBuffer ){
-- char *aNew;
-- pCsr->nBuffer = (nDoclist+nByte)*2;
-- aNew = sqlite3_realloc(pCsr->aBuffer, pCsr->nBuffer);
-- if( !aNew ){
-- return SQLITE_NOMEM;
-- }
-- pCsr->aBuffer = aNew;
-- }
-+
-+ rc = fts3GrowSegReaderBuffer(pCsr, nByte+nDoclist);
-+ if( rc ) return rc;
-
- if( isFirst ){
- char *a = &pCsr->aBuffer[nDoclist];
-@@ -3020,6 +3029,9 @@
- fts3SegReaderSort(apSegment, nMerge, j, xCmp);
- }
- if( nDoclist>0 ){
-+ rc = fts3GrowSegReaderBuffer(pCsr, nDoclist+FTS3_NODE_PADDING);
-+ if( rc ) return rc;
-+ memset(&pCsr->aBuffer[nDoclist], 0, FTS3_NODE_PADDING);
- pCsr->aDoclist = pCsr->aBuffer;
- pCsr->nDoclist = nDoclist;
- rc = SQLITE_ROW;
-@@ -4288,7 +4300,7 @@
- int i;
- int nHeight = (int)aRoot[0];
- NodeWriter *pNode;
-- if( nHeight<1 || nHeight>FTS_MAX_APPENDABLE_HEIGHT ){
-+ if( nHeight<1 || nHeight>=FTS_MAX_APPENDABLE_HEIGHT ){
- sqlite3_reset(pSelect);
- return FTS_CORRUPT_VTAB;
- }
---- /src/expr.c
-+++ /src/expr.c
-@@ -4272,7 +4272,9 @@
- int nCol;
- testcase( op==TK_EXISTS );
- testcase( op==TK_SELECT );
-- if( op==TK_SELECT && (nCol = pExpr->x.pSelect->pEList->nExpr)!=1 ){
-+ if( pParse->db->mallocFailed ){
-+ return 0;
-+ }else if( op==TK_SELECT && (nCol = pExpr->x.pSelect->pEList->nExpr)!=1 ){
- sqlite3SubselectError(pParse, nCol, 1);
- }else{
- return sqlite3CodeSubselect(pParse, pExpr);
---- /test/fts3corrupt4.test
-+++ /test/fts3corrupt4.test
-@@ -6123,4 +6123,163 @@
- SELECT offsets(t1) FROM t1 WHERE t1 MATCH 'rtree ner "json1^enable"';
- }
-
-+#-------------------------------------------------------------------------
-+do_execsql_test 42.1 {
-+ CREATE VIRTUAL TABLE f USING fts3(a, b);
-+}
-+do_execsql_test 42.2 {
-+ INSERT INTO f_segdir VALUES(0,2,1111,0,0,X'00');
-+ INSERT INTO f_segdir VALUES(0,3,0 ,0,0,X'00013003010200');
-+}
-+do_execsql_test 42.3 {
-+ INSERT INTO f(f) VALUES ('merge=107,2');
-+}
-+
-+#-------------------------------------------------------------------------
-+reset_db
-+set saved $sqlite_fts3_enable_parentheses
-+set sqlite_fts3_enable_parentheses 1
-+do_execsql_test 43.1 {
-+ CREATE VIRTUAL TABLE def USING fts3(xyz);
-+ INSERT INTO def_segdir VALUES(0,0,0,0,0, X'0001310301c9000103323334050d81');
-+} {}
-+
-+do_execsql_test 43.2 {
-+ SELECT rowid FROM def WHERE def MATCH '1 NEAR 1'
-+} {1}
-+
-+set sqlite_fts3_enable_parentheses $saved
-+
-+#-------------------------------------------------------------------------
-+reset_db
-+do_execsql_test 44.1 {
-+ CREATE VIRTUAL TABLE t0 USING fts3(col0 INTEGER PRIMARY KEY,col1 VARCHAR(8),col2 BINARY,col3 BINARY);
-+ INSERT INTO t0_content VALUES(0,NULL,NULL,NULL,NULL);
-+ INSERT INTO t0_segdir VALUES(0,0,0,0,'0 42',X'00013103010200010332333405010201ba00000461616161050101020200000462626262050101030200');
-+}
-+
-+do_execsql_test 44.2 {
-+ SELECT matchinfo(t0, t0) IS NULL FROM t0 WHERE t0 MATCH '1*'
-+} {0}
-+
-+#-------------------------------------------------------------------------
-+#
-+reset_db
-+do_test 45.0 {
-+ sqlite3 db {}
-+ db deserialize [decode_hexdb {
-+.open --hexdb
-+| size 24576 pagesize 4096 filename crash-65c98512cc9e49.db
-+| page 1 offset 0
-+| 0: 53 51 4c 69 74 65 20 66 6f 72 6d 61 74 20 33 00 SQLite format 3.
-+| 16: 10 00 01 01 00 40 20 20 00 00 00 00 00 00 00 06 .....@ ........
-+| 96: 00 00 00 00 0d 0e fc 00 06 0d bc 00 0f ca 0f 6c ...............l
-+| 112: 0f 04 0e 13 0e c9 0d bc 00 00 00 00 00 00 00 00 ................
-+| 3504: 00 00 00 00 00 00 00 00 00 00 00 00 55 06 07 17 ............U...
-+| 3520: 1b 1b 01 81 01 74 61 62 6c 65 78 31 5f 73 74 61 .....tablex1_sta
-+| 3536: 74 78 31 5f 73 74 61 74 06 43 52 45 41 54 45 20 tx1_stat.CREATE
-+| 3552: 54 41 42 4c 45 20 27 78 31 5f 73 74 61 74 27 28 TABLE 'x1_stat'(
-+| 3568: 69 64 20 49 4e 54 45 47 45 52 20 50 52 49 4d 41 id INTEGER PRIMA
-+| 3584: 52 59 20 4b 45 59 2c 20 76 61 6c 75 65 20 42 4c RY KEY, value BL
-+| 3600: 41 82 29 81 33 04 07 17 1f 1f 01 82 35 74 61 62 A.).3.......5tab
-+| 3616: 6c 65 78 31 5f 73 65 67 64 69 72 78 31 5f 73 65 lex1_segdirx1_se
-+| 3632: 67 64 69 72 04 43 52 45 41 54 45 20 54 41 42 4c gdir.CREATE TABL
-+| 3648: 45 20 27 78 31 5f 73 65 67 64 69 72 27 28 6c 65 E 'x1_segdir'(le
-+| 3664: 76 65 6c 20 49 4e 54 45 47 45 52 2c 69 64 78 20 vel INTEGER,idx
-+| 3680: 49 4e 54 45 47 45 52 2c 73 74 61 72 74 5f 62 6c INTEGER,start_bl
-+| 3696: 6f 63 6b 20 49 4e 54 45 47 45 52 2c 6c 65 61 76 ock INTEGER,leav
-+| 3712: 65 73 5f 65 6e 64 5f 62 6c 6f 63 6b 20 49 4e 54 es_end_block INT
-+| 3728: 45 47 45 52 2c 65 6e 64 5f 62 6c 6f 63 6b 20 49 EGER,end_block I
-+| 3744: 4e 54 45 47 45 52 2c 72 6f 6f 74 20 42 4c 4f 42 NTEGER,root BLOB
-+| 3760: 2c 50 52 49 4d 41 52 59 20 4b 45 59 28 6c 65 76 ,PRIMARY KEY(lev
-+| 3776: 65 6c 2c 20 69 64 78 29 29 31 05 06 17 45 1f 01 el, idx))1...E..
-+| 3792: 00 69 6e 64 65 78 73 71 6c 69 74 65 5f 61 75 74 .indexsqlite_aut
-+| 3808: 6f 69 6e 64 65 78 5f 78 31 5f 73 65 67 64 69 72 oindex_x1_segdir
-+| 3824: 5f 31 78 31 5f 73 65 67 64 69 72 05 00 00 00 08 _1x1_segdir.....
-+| 3840: 60 00 00 00 66 03 07 17 23 23 01 81 13 74 61 62 `...f...##...tab
-+| 3856: 6c 65 78 31 5f 73 65 67 6d 65 6e 74 73 78 31 5f lex1_segmentsx1_
-+| 3872: 73 65 67 6d 65 6e 74 73 03 43 52 45 41 54 45 20 segments.CREATE
-+| 3888: 54 41 42 4c 45 20 27 78 31 5f 73 65 67 6d 65 6e TABLE 'x1_segmen
-+| 3904: 74 73 27 28 62 6c 6f 63 6b 69 64 20 49 4e 54 45 ts'(blockid INTE
-+| 3920: 47 45 52 20 50 52 49 4d 41 52 59 20 4b 45 59 2c GER PRIMARY KEY,
-+| 3936: 20 62 6c 6f 63 6b 20 42 4c 4f 42 29 5c 02 07 17 block BLOB)....
-+| 3952: 21 21 01 81 03 74 61 62 6c 65 78 31 5f 63 6f 6e !!...tablex1_con
-+| 3968: 74 65 6e 74 78 31 5f 63 6f 6e 74 65 6e 74 02 43 tentx1_content.C
-+| 3984: 52 45 41 54 45 20 54 41 42 4c 45 20 27 78 31 5f REATE TABLE 'x1_
-+| 4000: 63 6f 6e 74 65 6e 74 27 28 64 6f 63 69 64 20 49 content'(docid I
-+| 4016: 4e 54 45 47 45 52 20 50 52 49 4d 41 52 59 20 4b NTEGER PRIMARY K
-+| 4032: 45 59 2c 20 27 63 30 78 27 29 34 01 06 17 11 11 EY, 'c0x')4.....
-+| 4048: 08 57 74 61 62 6c 65 78 31 78 31 43 52 45 41 54 .Wtablex1x1CREAT
-+| 4064: 45 20 56 49 52 54 55 41 4c 20 54 41 42 4c 45 20 E VIRTUAL TABLE
-+| 4080: 78 31 20 55 53 49 4e 47 20 66 74 73 33 28 78 29 x1 USING fts3(x)
-+| page 2 offset 4096
-+| 0: 0d 00 00 00 11 0f 77 f0 0f f8 0f f0 0f e8 0f e0 ......w.........
-+| 16: 0f d8 0f d0 0f c8 0f c0 00 00 00 00 00 00 00 00 ................
-+| 3952: 00 00 00 00 00 00 00 00 06 11 03 00 13 77 78 79 .............wxy
-+| 3968: 06 10 03 00 13 74 75 76 06 0f 03 00 13 71 33 73 .....tuv.....q3s
-+| 3984: 06 0e 03 00 13 6e 6f 70 06 0d 03 00 13 6b 6c 6d .....nop.....klm
-+| 4000: 06 0c 03 04 c3 68 69 6a 06 0b 03 00 13 65 66 67 .....hij.....efg
-+| 4016: 06 0a 03 00 13 62 63 64 06 09 03 00 13 79 7a 61 .....bcd.....yza
-+| 4032: 06 08 03 00 13 76 77 78 06 07 03 00 13 73 74 75 .....vwx.....stu
-+| 4048: 06 06 03 00 13 70 71 72 06 05 03 00 13 6d 6e 6f .....pqr.....mno
-+| 4064: 06 03 03 00 13 6a 6b 6c 06 03 03 00 13 67 68 69 .....jkl.....ghi
-+| 4080: 06 02 02 00 03 64 65 66 06 01 03 00 13 61 52 63 .....def.....aRc
-+| page 3 offset 8192
-+| 0: 0d 00 00 00 03 0f a7 00 0f b5 0f a7 0f fa 01 00 ................
-+| 4000: 00 00 00 00 00 00 00 0c 02 03 00 1e 00 03 6b 6c ..............kl
-+| 4016: 6d 03 0d 02 00 43 01 04 00 81 0a 00 03 61 62 63 m....C.......abc
-+| 4032: 03 0b 32 00 00 03 62 63 64 03 0a 02 00 00 03 64 ..2...bcd......d
-+| 4048: 69 26 03 02 02 00 00 03 65 66 67 03 0b 02 00 00 i&......efg.....
-+| 4064: 03 67 68 69 03 03 02 00 00 03 68 69 6a 03 0c 02 .ghi......hij...
-+| 4080: 00 00 03 6a 6a 2c 03 04 02 00 03 81 00 03 00 00 ...jj,..........
-+| page 4 offset 12288
-+| 0: 0d 0f 3a 00 05 0f 25 00 0f 9e 0f 88 0f 43 0f 25 ..:...%......C.%
-+| 16: 0f 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .r..............
-+| 3856: 00 00 00 00 00 00 00 00 00 56 01 08 08 13 1e 03 .........V......
-+| 3872: 30 20 39 00 03 13 05 07 08 08 18 08 13 1e 30 20 0 9...........0
-+| 3888: 39 00 03 77 78 79 03 11 02 00 0f 6c 00 09 01 08 9..wxy.....l....
-+| 3904: 08 15 54 27 04 07 09 01 08 08 15 42 02 30 20 33 ..T'.......B.0 3
-+| 3920: 36 00 03 6e 6f 70 03 0e 02 00 00 03 71 72 73 03 6..nop......qrs.
-+| 3936: 0f 02 00 00 03 74 75 76 03 10 02 00 0f cf b1 06 .....tuv........
-+| 3952: 01 08 14 06 07 01 08 09 01 1b 14 02 02 31 32 38 .............128
-+| 3968: 20 2d 37 32 10 01 01 6b 14 03 07 09 09 08 08 15 -72...k........
-+| 3984: 1e 30 20 33 36 00 03 79 7a 61 03 09 02 00 2f 02 .0 36..yza..../.
-+| 4000: 07 09 08 08 08 15 54 30 20 33 36 00 03 6d 6e 6f ......T0 36..mno
-+| 4016: 03 05 02 00 00 03 70 71 72 03 06 02 00 00 03 73 ......pqr......s
-+| 4032: 74 75 03 07 02 00 00 03 76 77 78 03 08 02 00 00 tu......vwx.....
-+| 4048: 00 00 4a 08 08 08 15 54 30 20 33 36 00 03 61 62 ..J....T0 36..ab
-+| 4064: 63 03 01 02 00 00 03 64 65 66 03 02 02 00 00 03 c......def......
-+| 4080: 67 68 69 03 03 67 00 00 03 6a 6b 6c 03 04 02 00 ghi..g...jkl....
-+| page 5 offset 16384
-+| 0: 0a 0f e7 00 05 0f da 00 0f e1 0f fa 0f f4 0f ed ................
-+| 16: 0f da 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
-+| 4048: 00 00 00 00 00 00 00 1a 01 03 06 04 01 08 01 02 ................
-+| 4064: 06 05 04 08 08 01 05 00 00 00 06 01 03 06 04 09 ................
-+| 4080: 02 01 02 04 05 04 09 09 01 03 05 04 09 08 01 02 ................
-+| page 6 offset 20480
-+| 0: 0d 00 10 00 01 0f f9 00 0f f9 00 00 00 00 00 00 ................
-+| 4080: 00 00 00 00 00 00 00 00 00 05 01 03 00 10 01 03 ................
-+| end crash-65c98512cc9e49.db
-+}]} {}
-+
-+do_catchsql_test 45.2 {
-+ INSERT INTO x1(x1) VALUES( 'merge=1' )
-+} {1 {database disk image is malformed}}
-+
-+#-------------------------------------------------------------------------
-+reset_db
-+set saved $sqlite_fts3_enable_parentheses
-+set sqlite_fts3_enable_parentheses 1
-+do_execsql_test 46.1 {
-+ CREATE VIRTUAL TABLE t0 USING fts3(a INTEGER PRIMARY KEY,b,c,d);
-+ INSERT INTO t0_segdir VALUES(0,0,0,0,'0 42',X'0001310301c9000103323334050d8000f200000461616161050101020200000462626262050101030200');
-+} {}
-+
-+do_catchsql_test 46.2 {
-+ SELECT * FROM t0
-+ WHERE t0 MATCH x'2b0a312b0a312a312a2a0b5d0a0b0b0a312a0a0b0b0a312a0b310a392a0b0a27312a2a0b5d0a312a0b310a31315d0b310a312a316d2a0b313b15bceaa50a312a0b0a27312a2a0b5d0a312a0b310a312b0b2a310a312a0b2a0b2a0b2e5d0a0bff313336e34a2a312a0b0a3c310b0a0b4b4b0b4b2a4bec40322b2a0b310a0a312a0a0a0a0a0a0a0a0a0b310a312a2a2a0b5d0a0b0b0a312a0b310a312a0b0a4e4541530b310a5df5ced70a0a0a0a0a4f520a0a0a0a0a0a0a312a0b0a4e4541520b310a5d616161610a0a0a0a4f520a0a0a0a0a0a312b0a312a312a0a0a0a0a0a0a004a0b0a310b220a0b0a310a4a22310a0b0a7e6fe0e0e030e0e0e0e0e01176e02000e0e0e0e0e01131320226310a0b0a310a4a22310a0b0a310a766f8b8b4ee0e0300ae0090909090909090909090909090909090909090909090909090909090909090947aaaa540b09090909090909090909090909090909090909090909090909090909090909fae0e0f2f22164e0e0f273e07fefefef7d6dfafafafa6d6d6d6d';
-+} {1 {database disk image is malformed}}
-+
-+set sqlite_fts3_enable_parentheses $saved
-+
- finish_test
---- /test/fts3corrupt6.test
-+++ /test/fts3corrupt6.test
-@@ -0,0 +1,60 @@
-+# 2020 June 8
-+#
-+# The author disclaims copyright to this source code. In place of
-+# a legal notice, here is a blessing:
-+#
-+# May you do good and not evil.
-+# May you find forgiveness for yourself and forgive others.
-+# May you share freely, never taking more than you give.
-+#
-+#*************************************************************************
-+# This file implements regression tests for SQLite library. The
-+# focus of this script is testing the FTS3 module.
-+#
-+# $Id: fts3aa.test,v 1.1 2007/08/20 17:38:42 shess Exp $
-+#
-+
-+set testdir [file dirname $argv0]
-+source $testdir/tester.tcl
-+source $testdir/fts3_common.tcl
-+set testprefix fts3corrupt6
-+
-+# If SQLITE_ENABLE_FTS3 is defined, omit this file.
-+ifcapable !fts3 {
-+ finish_test
-+ return
-+}
-+
-+set ::saved_sqlite_fts3_enable_parentheses $::sqlite_fts3_enable_parentheses
-+set sqlite_fts3_enable_parentheses 1
-+sqlite3_fts3_may_be_corrupt 1
-+database_may_be_corrupt
-+
-+do_execsql_test 1.0 {
-+ BEGIN TRANSACTION;
-+ CREATE TABLE t_content(col0 INTEGER);
-+ PRAGMA writable_schema=ON;
-+ CREATE VIRTUAL TABLE t0 USING fts3(col0 INTEGER PRIMARY KEY,col1 VARCHAR(8),col2 BINARY,col3 BINARY);
-+ INSERT INTO t0_content VALUES(0,NULL,NULL,NULL,NULL);
-+ INSERT INTO t0_segdir VALUES(0,0,0,0,'0 42',X'000131030102000103323334050101010200000461616161050101020200000462626262050101030200');
-+ COMMIT;
-+}
-+
-+do_execsql_test 1.1 {
-+ SELECT 0+matchinfo(t0,'yxyyxy') FROM t0 WHERE t0 MATCH CAST( x'2b0a312b0a312a312a2a0b5d0a0b0b0a312a0a0b0b0a312a0b310a392a0b0a27312a2a0b5d0a312a0b310a31315d0b310a312a316d2a0b313b15bceaa50a312a0b0a27312a2a0b5d0a312a0b310a312b0b2a310a312a0b2a0b2a0b2e5d0a0bff313336e34a2a312a0b0a3c310b0a0b4b4b0b4b2a4bec40322b2a0b310a0a312a0a0a0a0a0a0a0a0a0b310a312a2a2a0b5d0a0b0b0a312a0b310a312a0b0a4e4541530b310a5df5ced70a0a0a0a0a4f520a0a0a0a0a0a0a312a0b0a4e4541520b310a5d616161610a0a0a0a4f520a0a0a0a0a0a312b0a312a312a0a0a0a0a0a0a004a0b0a310b220a0b0a310a4a22310a0b0a7e6fe0e0e030e0e0e0e0e01176e02000e0e0e0e0e01131320226310a0b0a310a4a22310a0b0a310a766f8b8b4ee0e0300ae0090909090909090909090909090909090909090909090909090909090909090947aaaa540b09090909090909090909090909090909090909090909090909090909090909fae0e0f2f22164e0e0f273e07fefefef7d6dfafafafa6d6d6d6d' AS TEXT);
-+} {0}
-+
-+do_execsql_test 1.2 {
-+ CREATE VIRTUAL TABLE t1 USING fts3(col0 INTEGER PRIMARY KEY,col1 VARCHAR(8),col2 BINARY,col3 BINARY);
-+ INSERT INTO t1_content VALUES(0,NULL,NULL,NULL,NULL);
-+ INSERT INTO t1_segdir VALUES(0,0,0,0,'0 42',X'000131030102000103323334050101010200000461616161050101020200000462626262050101030200');
-+}
-+
-+do_execsql_test 1.3 {
-+ SELECT 42+matchinfo(t1,'yxyyxy') FROM t1 WHERE t1 MATCH x'2b0a312b0a312a312a2a0b5d0a0b0b0a312a0a0b0b0a312a0b310a392a0b0a27312a2a0b5d0a312a0b310a31315d0b310a312a316d2a0b313b15bceaa50a312a0b0a27312a2a0b5d0a312a0b310a312b0b2a310a312a0b2a0b2a0b2e5d0a0bff313336e34a2a312a0b0a3c310b0a0b4b4b0b4b2a4bec40322b2a0b310a0a312a0a0a0a0a0a0a0a0a0b310a312a2a2a0b5d0a0b0b0a312a0b310a312a0b0a4e4541530b310a5df5ced70a0a0a0a0a4f520a0a0a0a0a0a0a312a0b0a4e4541520b310a5d616161610a0a0a0a4f520a0a0a0a0a0a312b0a312a312a0a0a0a0a0a0a004a0b0a310b220a0b0a310a4a22310a0b0a7e6fe0e0e030e0e0e0e0e01176e02000e0e0e0e0e01131320226310a0b0a310a4a22310a0b0a310a766f8b8b4ee0e0300ae0090909090909090909090909090909090909090909090909090909090909090947aaaa540b09090909090909090909090909090909090909090909090909090909090909fae0e0f2f22164e0e0f273e07fefefef7d6dfafafafa6d6d6d6d';
-+} {42}
-+
-+set sqlite_fts3_enable_parentheses $saved_sqlite_fts3_enable_parentheses
-+finish_test
-+
-+