Correctly capture the error when a RETURNING clause appears on an 
attempt to UPDATE an eponymous virtual table.
dbsqlfuzz 486f791cbe2dc45839310073e71367a1d8ad22dd.

FossilOrigin-Name: 778a9a6e6f8d960fd55ac9be7eea20b1875a46192db85e63dddc61b632b30173
diff --git a/src/trigger.c b/src/trigger.c
index 3acdf14..2cdbaed 100644
--- a/src/trigger.c
+++ b/src/trigger.c
@@ -69,7 +69,7 @@
       ){
         pTrig->pNext = pList;
         pList = pTrig;
-      }else if( pTrig->op==TK_RETURNING ){
+      }else if( pTrig->op==TK_RETURNING && pParse->db->pVtabCtx==0 ){
         assert( pParse->bReturning );
         assert( &(pParse->u1.pReturning->retTrig) == pTrig );
         pTrig->table = pTab->zName;