Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Don't do anything when input doclists are both empty. Ticket #2774 (CVS 4546) |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
75cb46f82a6a95dbe9e279dede299baf |
User & Date: | shess 2007-11-16 00:23:08.000 |
Context
2007-11-16
| ||
14:55 | Fix a crash that can occur after a malloc failure. Ticket #2775. (CVS 4547) (check-in: c91bc8d333 user: danielk1977 tags: trunk) | |
00:23 | Don't do anything when input doclists are both empty. Ticket #2774 (CVS 4546) (check-in: 75cb46f82a user: shess tags: trunk) | |
2007-11-15
| ||
16:04 | Return SQLITE_MISUSE instead of crashing if NULL is (incorrectly) passed to sqlite3_step(). Ticket #2773. (CVS 4545) (check-in: 3bfee76fa6 user: danielk1977 tags: trunk) | |
Changes
Changes to ext/fts2/fts2.c.
︙ | ︙ | |||
1347 1348 1349 1350 1351 1352 1353 | const char *pRight, int nRight, DataBuffer *pOut /* Write the combined doclist here */ ){ DLReader left, right; DLWriter writer; if( nLeft==0 ){ | | | 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 | const char *pRight, int nRight, DataBuffer *pOut /* Write the combined doclist here */ ){ DLReader left, right; DLWriter writer; if( nLeft==0 ){ if( nRight!=0) dataBufferAppend(pOut, pRight, nRight); return; } if( nRight==0 ){ dataBufferAppend(pOut, pLeft, nLeft); return; } |
︙ | ︙ | |||
1528 1529 1530 1531 1532 1533 1534 | const char *pRight, int nRight, DataBuffer *pOut /* Write the combined doclist here */ ){ DLReader left, right; DLWriter writer; if( nLeft==0 ){ | | | 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 | const char *pRight, int nRight, DataBuffer *pOut /* Write the combined doclist here */ ){ DLReader left, right; DLWriter writer; if( nLeft==0 ){ if( nRight!=0 ) dataBufferAppend(pOut, pRight, nRight); return; } if( nRight==0 ){ dataBufferAppend(pOut, pLeft, nLeft); return; } |
︙ | ︙ |
Changes to ext/fts3/fts3.c.
︙ | ︙ | |||
1331 1332 1333 1334 1335 1336 1337 | const char *pRight, int nRight, DataBuffer *pOut /* Write the combined doclist here */ ){ DLReader left, right; DLWriter writer; if( nLeft==0 ){ | | | 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 | const char *pRight, int nRight, DataBuffer *pOut /* Write the combined doclist here */ ){ DLReader left, right; DLWriter writer; if( nLeft==0 ){ if( nRight!=0) dataBufferAppend(pOut, pRight, nRight); return; } if( nRight==0 ){ dataBufferAppend(pOut, pLeft, nLeft); return; } |
︙ | ︙ | |||
1629 1630 1631 1632 1633 1634 1635 | const char *pRight, int nRight, DataBuffer *pOut /* Write the combined doclist here */ ){ DLReader left, right; DLWriter writer; if( nLeft==0 ){ | | | 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 | const char *pRight, int nRight, DataBuffer *pOut /* Write the combined doclist here */ ){ DLReader left, right; DLWriter writer; if( nLeft==0 ){ if( nRight!=0 ) dataBufferAppend(pOut, pRight, nRight); return; } if( nRight==0 ){ dataBufferAppend(pOut, pLeft, nLeft); return; } |
︙ | ︙ |
Changes to test/fts2g.test.
1 2 3 4 5 6 7 8 9 | # 2006 October 19 # # The author disclaims copyright to this source code. # #************************************************************************* # This file implements regression tests for SQLite library. The focus # of this script is testing handling of edge cases for various doclist # merging functions in the FTS2 module query logic. # | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | # 2006 October 19 # # The author disclaims copyright to this source code. # #************************************************************************* # This file implements regression tests for SQLite library. The focus # of this script is testing handling of edge cases for various doclist # merging functions in the FTS2 module query logic. # # $Id: fts2g.test,v 1.3 2007/11/16 00:23:08 shess Exp $ # set testdir [file dirname $argv0] source $testdir/tester.tcl # If SQLITE_ENABLE_FTS2 is defined, omit this file. ifcapable !fts2 { |
︙ | ︙ | |||
79 80 81 82 83 84 85 86 87 | # doclist before it reaches the end of the other. do_test fts2g-1.11 { execsql {SELECT rowid FROM t1 WHERE t1 MATCH 'this OR also'} } {1 2} do_test fts2g-1.12 { execsql {SELECT rowid FROM t1 WHERE t1 MATCH 'also OR this'} } {1 2} finish_test | > > > > > > | 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | # doclist before it reaches the end of the other. do_test fts2g-1.11 { execsql {SELECT rowid FROM t1 WHERE t1 MATCH 'this OR also'} } {1 2} do_test fts2g-1.12 { execsql {SELECT rowid FROM t1 WHERE t1 MATCH 'also OR this'} } {1 2} # Empty left and right in docListOrMerge(). Each term matches neither # row, and when combined there was an assertion failure. do_test fts2g-1.13 { execsql {SELECT rowid FROM t1 WHERE t1 MATCH 'something OR nothing'} } {} finish_test |
Changes to test/fts3ag.test.
1 2 3 4 5 6 7 8 9 | # 2006 October 19 # # The author disclaims copyright to this source code. # #************************************************************************* # This file implements regression tests for SQLite library. The focus # of this script is testing handling of edge cases for various doclist # merging functions in the FTS3 module query logic. # | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | # 2006 October 19 # # The author disclaims copyright to this source code. # #************************************************************************* # This file implements regression tests for SQLite library. The focus # of this script is testing handling of edge cases for various doclist # merging functions in the FTS3 module query logic. # # $Id: fts3ag.test,v 1.2 2007/11/16 00:23:08 shess Exp $ # set testdir [file dirname $argv0] source $testdir/tester.tcl # If SQLITE_ENABLE_FTS3 is defined, omit this file. ifcapable !fts3 { |
︙ | ︙ | |||
79 80 81 82 83 84 85 86 87 | # doclist before it reaches the end of the other. do_test fts3ag-1.11 { execsql {SELECT rowid FROM t1 WHERE t1 MATCH 'this OR also'} } {1 2} do_test fts3ag-1.12 { execsql {SELECT rowid FROM t1 WHERE t1 MATCH 'also OR this'} } {1 2} finish_test | > > > > > > | 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | # doclist before it reaches the end of the other. do_test fts3ag-1.11 { execsql {SELECT rowid FROM t1 WHERE t1 MATCH 'this OR also'} } {1 2} do_test fts3ag-1.12 { execsql {SELECT rowid FROM t1 WHERE t1 MATCH 'also OR this'} } {1 2} # Empty left and right in docListOrMerge(). Each term matches neither # row, and when combined there was an assertion failure. do_test fts3ag-1.13 { execsql {SELECT rowid FROM t1 WHERE t1 MATCH 'something OR nothing'} } {} finish_test |