rc = parseQuery(v, zInput, nInput, iColumn, pQuery);
if( rc!=SQLITE_OK ) return rc;
+ /* Empty or NULL queries return no results. */
+ if( pQuery->nTerms==0 ){
+ dataBufferInit(pResult, 0);
+ return SQLITE_OK;
+ }
+
/* Merge AND terms. */
/* TODO(shess) I think we can early-exit if( i>nNot && left.nData==0 ). */
aTerm = pQuery->pTerms;
-C Make\smemset()\suses\sless\serror-prone.\nhttp://www.sqlite.org/cvstrac/tktview?tn=2036,35\sdescribes\ssome\scases\nwhere\swe\swere\spassing\smemset()\sa\slength\swhich\swas\sthe\ssizeof\sa\npointer,\srather\sthan\sthe\sstructure\spointed\sto.\s\sInstead,\swrap\sthis\nidiom\sup\sin\sCLEAR()\sand\sSCRAMBLE()\smacros.\s(CVS\s3488)
-D 2006-10-26T00:04:31
+C Empty\squeries\sshould\sget\sno\sresults.\s\sMy\srecent\schange\n(\shttp://www.sqlite.org/cvstrac/chngview?cn=3486\s)\sbroke\stest\sfts2a-5.3.\nThis\schange\sshould\smake\sthe\sexpected\sresult\smore\sobvious.\s(CVS\s3489)
+D 2006-10-26T00:41:51
F Makefile.in 4379c909d46b38b8c5db3533084601621d4f14b2
F Makefile.linux-gcc 2d8574d1ba75f129aba2019f0b959db380a90935
F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028
F ext/fts1/simple_tokenizer.c 1844d72f7194c3fd3d7e4173053911bf0661b70d
F ext/fts1/tokenizer.h 0c53421b832366d20d720d21ea3e1f6e66a36ef9
F ext/fts2/README.txt 8c18f41574404623b76917b9da66fcb0ab38328d
-F ext/fts2/fts2.c bee8988db6a97104d86ad7e025f1b6e80e4aa41a
+F ext/fts2/fts2.c 10fe8d96a95ad09814d4a06049385b60b204e3a9
F ext/fts2/fts2.h bbdab26d34f91974d5b9ade8b7836c140a7c4ce1
F ext/fts2/fts2_hash.c b3f22116d4ef0bc8f2da6e3fdc435c86d0951a9b
F ext/fts2/fts2_hash.h e283308156018329f042816eb09334df714e105e
F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0
F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b
F www/whentouse.tcl 97e2b5cd296f7d8057e11f44427dea8a4c2db513
-P 2d3b22197c7c06488b789cce333b34b6d1ae39aa
-R c18224b43b58b956ecd0a15ea9ad3008
+P 5878add0839f9c5bec77caae2361ec20cb60b48b
+R 3d9ce122beb09a00cd3fd7137dd66557
U shess
-Z 69630a14b82d73d5314cd0d1d7882fb7
+Z 4dba001cc239d0747f6caf0a916f48ed