<div dir="ltr">I'm sorry it was wrong diff if the patch<br><br><div>diff --git a/src/box/sql/analyze.c b/src/box/sql/analyze.c</div><div>index f0054c5..6ac035b 100644</div><div>--- a/src/box/sql/analyze.c</div><div>+++ b/src/box/sql/analyze.c</div><div>@@ -1123,6 +1123,8 @@ analyzeDatabase(Parse * pParse)</div><div> <span style="white-space:pre"> </span>iTab = pParse->nTab;</div><div> <span style="white-space:pre">     </span>for (k = sqliteHashFirst(&pSchema->tblHash); k; k = sqliteHashNext(k)) {</div><div> <span style="white-space:pre">             </span>Table *pTab = (Table *) sqliteHashData(k);</div><div>+<span style="white-space:pre">           </span>if (space_is_view(pTab))</div><div>+<span style="white-space:pre">                     </span>continue;</div><div> <span style="white-space:pre">           </span>analyzeOneTable(pParse, pTab, 0, iStatCur, iMem, iTab);</div><div> <span style="white-space:pre">     </span>}</div><div> <span style="white-space:pre">   </span>loadAnalysis(pParse);</div><div>@@ -1179,8 +1181,12 @@ sqlite3Analyze(Parse * pParse, Token * pName)</div><div> <span style="white-space:pre">            </span>/* Form 2:  Analyze table named */</div><div> <span style="white-space:pre">         </span>z = sqlite3NameFromToken(db, pName);</div><div> <span style="white-space:pre">                </span>if (z) {</div><div>-<span style="white-space:pre">                     </span>if ((pTab = sqlite3LocateTable(pParse, 0, z)) != 0) {</div><div>-<span style="white-space:pre">                                </span>analyzeTable(pParse, pTab, 0);</div><div>+<span style="white-space:pre">                       </span>if ((pTab = sqlite3LocateTable(pParse, 0, z)) != NULL) {</div><div>+<span style="white-space:pre">                             </span>if (space_is_view(pTab))</div><div>+<span style="white-space:pre">                                     </span>sqlite3ErrorMsg(pParse, "VIEW isn't "</div><div>+<span style="white-space:pre">                                  </span>"allowed to be analyzed");</div><div>+<span style="white-space:pre">                         </span>else</div><div>+<span style="white-space:pre">                                 </span>analyzeTable(pParse, pTab, 0);</div><div> <span style="white-space:pre">                      </span>}</div><div> <span style="white-space:pre">           </span>}</div><div> <span style="white-space:pre">           </span>sqlite3DbFree(db, z);</div><div>diff --git a/test/sql-tap/analyzeD.test.lua b/test/sql-tap/analyzeD.test.lua</div><div>index 8fdadf5..ef6aced 100755</div><div>--- a/test/sql-tap/analyzeD.test.lua</div><div>+++ b/test/sql-tap/analyzeD.test.lua</div><div>@@ -1,6 +1,6 @@</div><div> #!/usr/bin/env tarantool</div><div> test = require("sqltester")</div><div>-test:plan(9)</div><div>+test:plan(15)</div><div> </div><div> testprefix = "analyzeD"</div><div> </div><div>@@ -139,5 +139,66 @@ test:do_execsql_test(</div><div>         -- </1.8></div><div>    <span style="white-space:pre">       </span>})</div><div> </div><div>+test:do_catchsql_test(</div><div>+<span style="white-space:pre">    </span>"analyzeD-1.9",</div><div>+<span style="white-space:pre">    </span>[[</div><div>+<span style="white-space:pre">           </span>CREATE TABLE table1(id INT PRIMARY KEY, a INT);</div><div>+<span style="white-space:pre">              </span>CREATE VIEW v AS SELECT * FROM table1;</div><div>+<span style="white-space:pre">               </span>ANALYZE;</div><div>+<span style="white-space:pre">     </span>]], {</div><div>+<span style="white-space:pre">                </span>-- <analyzeD-1.9></div><div>+<span style="white-space:pre">              </span>0</div><div>+<span style="white-space:pre">            </span>-- <analyzeD-1.9></div><div>+<span style="white-space:pre">      </span>})</div><div>+</div><div>+test:do_execsql_test(</div><div>+<span style="white-space:pre">      </span>"analyzeD-1.10",</div><div>+<span style="white-space:pre">   </span>[[</div><div>+<span style="white-space:pre">           </span>SELECT * FROM "_sql_stat4" WHERE "tbl" = 'v';</div><div>+<span style="white-space:pre">    </span>]], {</div><div>+<span style="white-space:pre">                </span>-- <analyzeD-1.10></div><div>+<span style="white-space:pre">             </span></div><div>+<span style="white-space:pre">             </span>-- <analyzeD-1.10></div><div>+<span style="white-space:pre">     </span>})</div><div>+</div><div>+test:do_execsql_test(</div><div>+<span style="white-space:pre">      </span>"analyzeD-1.11",</div><div>+<span style="white-space:pre">   </span>[[</div><div>+<span style="white-space:pre">           </span>SELECT * FROM "_sql_stat1" WHERE "tbl" = 'v';</div><div>+<span style="white-space:pre">    </span>]], {</div><div>+<span style="white-space:pre">                </span>-- <analyzeD-1.11></div><div>+<span style="white-space:pre">             </span></div><div>+<span style="white-space:pre">             </span>-- <analyzeD-1.11></div><div>+<span style="white-space:pre">     </span>})</div><div>+</div><div>+test:do_catchsql_test(</div><div>+<span style="white-space:pre">     </span>"analyzeD-1.12",</div><div>+<span style="white-space:pre">   </span>[[</div><div>+<span style="white-space:pre">           </span>ANALYZE v;</div><div>+<span style="white-space:pre">   </span>]], {</div><div>+<span style="white-space:pre">                </span>-- <analyzeD-1.12></div><div>+<span style="white-space:pre">             </span>1, "VIEW isn't allowed to be analyzed"</div><div>+<span style="white-space:pre">         </span>-- <analyzeD-1.12></div><div>+<span style="white-space:pre">     </span>})</div><div>+</div><div>+test:do_execsql_test(</div><div>+<span style="white-space:pre">      </span>"analyzeD-1.13",</div><div>+<span style="white-space:pre">   </span>[[</div><div>+<span style="white-space:pre">           </span>SELECT * FROM "_sql_stat4" WHERE "tbl" = 'v';</div><div>+<span style="white-space:pre">    </span>]], {</div><div>+<span style="white-space:pre">                </span>-- <analyzeD-1.13></div><div>+<span style="white-space:pre">             </span></div><div>+<span style="white-space:pre">             </span>-- <analyzeD-1.13></div><div>+<span style="white-space:pre">     </span>})</div><div>+</div><div>+test:do_execsql_test(</div><div>+<span style="white-space:pre">      </span>"analyzeD-1.14",</div><div>+<span style="white-space:pre">   </span>[[</div><div>+<span style="white-space:pre">           </span>SELECT * FROM "_sql_stat1" WHERE "tbl" = 'v';</div><div>+<span style="white-space:pre">    </span>]], {</div><div>+<span style="white-space:pre">                </span>-- <analyzeD-1.14></div><div>+<span style="white-space:pre">             </span></div><div>+<span style="white-space:pre">             </span>-- <analyzeD-1.14></div><div>+<span style="white-space:pre">     </span>})</div><div> </div><div> test:finish_test()</div><div><br></div></div>