SQLite

Artifact [4cebcddb]
Login

Artifact 4cebcddb11fdd466c1a02c253f1fafcdfa8621ff:

Ticket change [4cebcddb] - New ticket [80ba2010] Bug involving subqueries and the OR optimization. by dan 2010-12-06 16:01:30.
D 2010-12-06T16:01:30
J comment SELECT\sstatements\scan\sreturn\sincorrect\sresults\sin\scertain\scases\swhere\sthe\sfollowing\sare\strue:\r\n\r\n<ul>\r\n<li>\sThe\squery\sis\sa\sjoin,\r\n<li>\sThe\squery\stakes\sadvantage\sof\sthe\sOR\soptimization,\r\n<li>\sAt\sleast\sone\sbranch\sof\sthe\soptimized\sOR\sexpression\sin\sthe\sWHERE\sclause\sinvolves\sa\ssubquery.\r\n<li>\sAt\sleast\sone\sbranch\sof\sthe\soptimized\sOR\sexpression\sin\sthe\sWHERE\sclause\srefers\sto\sa\scolumn\sof\sa\stable\sother\sthan\sthe\stable\sto\swhich\sthe\sOR\soptimization\sapplies.\r\n</ul>\r\n\r\nFor\sexample:\r\n\r\n<verbatim>\r\n\s\sCREATE\sTABLE\st1(a);\r\n\s\sINSERT\sINTO\st1\sVALUES('A');\r\n\s\sCREATE\sINDEX\si1\sON\st1(a);\r\n\r\n\s\sCREATE\sTABLE\st2(b);\r\n\s\sINSERT\sINTO\st2\sVALUES('B');\r\n\r\n\s\sCREATE\sTABLE\st3(c);\r\n\s\sINSERT\sINTO\st3\sVALUES('C');\r\n\r\n\s\sSELECT\s*\sFROM\st1,\st2\sWHERE\r\n\s\s\s\s\s(a='A'\sAND\sb='X')\r\n\s\sOR\s(a='A'\sAND\sEXISTS\s(SELECT\s*\sFROM\st3\sWHERE\sc='C'))\r\n</verbatim>\r\n\r\nThe\sbug\scauses\sthe\squery\sabove\sreturns\szero\srows\sinstead\sof\sthe\sexpected\sresult\s-\sone\srow.\r\n\r\nThis\sbug\swas\sdiscovered\sin\sa\sreal\sapplication\sand\sreported\son\sthe\smailing\slist.\sBisection\sreveals\sthat\sit\swas\sintroduced\son\s2009-08-13\sby\scommit\s[86a06dd049].\sIt\sfirst\sappeared\sin\srelease\s3.6.18.
J detected Application_Fault
J foundin 3.7.3
J severity Important
J status Open
J subsystem Code_Generator
J title Bug\sinvolving\ssubqueries\sand\sthe\sOR\soptimization
J type Code_Defect
K 80ba201079ea608071d22a57856b940ea3ac53ce
U dan
Z 5ae8da1c28ed154c2ec0d1c5042ba2af