diff --git a/manifest b/manifest
index efb724704c..f3a6dea836 100644
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Avoid\sspurious\s"no\ssuch\stable"\serrors\sin\sstatements\sof\sthe\sform\s"INSERT\sINTO\stbl\sWITH\sxxx\sAS\s(...)\sSELECT\s*\sFROM\sxxx".
-D 2014-01-18T08:27:02.507
+C Add\sasserts()\sfor\sa\scouple\sof\sunreachable\sconditions.\s\sAdd\sthe\sMandelbrot\sSet\nquery\sas\sa\stest\scase.
+D 2014-01-18T15:22:53.229
 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
 F Makefile.in 2ef13430cd359f7b361bb863504e227b25cc7f81
 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@@ -175,7 +175,7 @@ F src/complete.c dc1d136c0feee03c2f7550bafc0d29075e36deac
 F src/ctime.c 77779efbe78dd678d84bfb4fc2e87b6b6ad8dccd
 F src/date.c 593c744b2623971e45affd0bde347631bdfa4625
 F src/delete.c 91e1321021db5dc266360531b8b6550009d771ff
-F src/expr.c e239763d8b43356fa1f46f1cf41d62a076f7f72e
+F src/expr.c 8c7e482bc8f7982333f046851a610ccdb8a1ba94
 F src/fault.c 160a0c015b6c2629d3899ed2daf63d75754a32bb
 F src/fkey.c 2ab0f5384b70594468ef3ac5c7ed8ca24bfd17d5
 F src/func.c 6325ac2ec10833ccf4d5c36d323709221d37ea19
@@ -280,7 +280,7 @@ F src/update.c c2706a6eb232a96345c35b7e1e75a188e26812bb
 F src/utf.c 6fc6c88d50448c469c5c196acf21617a24f90269
 F src/util.c e71f19b272f05c8695cf747b4bac1732685f9e5c
 F src/vacuum.c 3728d74919d4fb1356f9e9a13e27773db60b7179
-F src/vdbe.c ccc8594e89751966022642464ec2b5c5fa7840a2
+F src/vdbe.c 98d96d04d9a2bef78ca850be1053dc91d031338a
 F src/vdbe.h e6c4c610fcabad4fa80ebb1efc6822a9367e2b26
 F src/vdbeInt.h 42db251e9f863401ff847b90d5fe1614c89a6a56
 F src/vdbeapi.c ce4e68ea4842cc6081046f533d088dcf01d247ad
@@ -1091,7 +1091,7 @@ F test/wild001.test bca33f499866f04c24510d74baf1e578d4e44b1c
 F test/win32heap.test ea19770974795cff26e11575e12d422dbd16893c
 F test/win32lock.test 7a6bd73a5dcdee39b5bb93e92395e1773a194361
 F test/win32longpath.test 169c75a3b2e43481f4a62122510210c67b08f26d
-F test/with1.test 6e49c7841abb5603425f8f1316ab077f6a9bbb49
+F test/with1.test be21f7efdc08fe6ad182dc943d42704300f0fcdb
 F test/with2.test 5f7ea3453c998a6b9ed3456f251c80d94722f22a
 F test/withM.test 52448ce23e1c2ecba79d10e130ee49ce9f9a2a7a
 F test/without_rowid1.test aaa26da19d543cd8d3d2d0e686dfa255556c15c8
@@ -1151,7 +1151,7 @@ F tool/vdbe-compress.tcl 0cf56e9263a152b84da86e75a5c0cdcdb7a47891
 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
 F tool/warnings.sh d1a6de74685f360ab718efda6265994b99bbea01
 F tool/win/sqlite.vsix 030f3eeaf2cb811a3692ab9c14d021a75ce41fff
-P eecc325afd72e37d7d565787c8cea68aad6d7a5c
-R 2a1f6d87654c7bd1758f1648d991f83e
-U dan
-Z bdd16ade1b5f6c0b188978b71304d4f1
+P cccff8a0b427feb05cc8952a765b829e731394fd
+R 538a9377a8d02c8e21002b1bc024f5ac
+U drh
+Z 8baad4729759494d05074bc32769b912
diff --git a/manifest.uuid b/manifest.uuid
index b0c2aeeecb..34f13530bf 100644
--- a/manifest.uuid
+++ b/manifest.uuid
@@ -1 +1 @@
-cccff8a0b427feb05cc8952a765b829e731394fd
\ No newline at end of file
+2ad4583c0cc7988f0dfe78fd0a2eb0fdb92d835a
\ No newline at end of file
diff --git a/src/expr.c b/src/expr.c
index 0614be1cf5..5f11dec420 100644
--- a/src/expr.c
+++ b/src/expr.c
@@ -1584,7 +1584,7 @@ int sqlite3FindInIndex(Parse *pParse, Expr *pX, int *prNotFound){
     iCol = (i16)pExpr->iColumn;
    
     /* Code an OP_VerifyCookie and OP_TableLock for <table>. */
-    if( pTab->pSchema ){
+    if( ALWAYS(pTab->pSchema) ){
       iDb = sqlite3SchemaToIndex(db, pTab->pSchema);
       sqlite3CodeVerifySchema(pParse, iDb);
       sqlite3TableLock(pParse, iDb, pTab->tnum, 0, pTab->zName);
diff --git a/src/vdbe.c b/src/vdbe.c
index 9af4a62d7e..86aae3c65d 100644
--- a/src/vdbe.c
+++ b/src/vdbe.c
@@ -3390,7 +3390,8 @@ case OP_SwapCursors: {
   p->apCsr[pOp->p1] = p->apCsr[pOp->p2];
   p->apCsr[pOp->p2] = pTmp;
 
-  rc = sqlite3BtreeClearTable(pTmp->pBt, MASTER_ROOT + !pTmp->isTable, 0);
+  assert( pTmp->isTable );
+  rc = sqlite3BtreeClearTable(pTmp->pBt, MASTER_ROOT, 0);
   break;
 }
 #endif /* ifndef SQLITE_OMIT_CTE */
diff --git a/test/with1.test b/test/with1.test
index d5b86209e6..54e0f0aa91 100644
--- a/test/with1.test
+++ b/test/with1.test
@@ -324,6 +324,47 @@ do_catchsql_test 7.6 {
   SELECT id FROM t;
 } {1 {circular reference: t}}
 
-
+# Compute the mandelbrot set using a recursive query
+#
+do_execsql_test 8.1 {
+  WITH RECURSIVE
+    xaxis(x) AS (VALUES(-2.0) UNION ALL SELECT x+0.05 FROM xaxis WHERE x<1.2),
+    yaxis(y) AS (VALUES(-1.0) UNION ALL SELECT y+0.1 FROM yaxis WHERE y<1.0),
+    m(iter, cx, cy, x, y) AS (
+      SELECT 0, x, y, 0.0, 0.0 FROM xaxis, yaxis
+      UNION ALL
+      SELECT iter+1, cx, cy, x*x-y*y + cx, 2.0*x*y + cy FROM m 
+       WHERE (x*x + y*y) < 4.0 AND iter<28
+    ),
+    m2(iter, cx, cy) AS (
+      SELECT max(iter), cx, cy FROM m GROUP BY cx, cy
+    ),
+    a(t) AS (
+      SELECT group_concat( substr(' .+*#', 1+min(iter/7,4), 1), '') 
+      FROM m2 GROUP BY cy
+    )
+  SELECT group_concat(rtrim(t),x'0a') FROM a;
+} {{                                    ....#
+                                   ..#*..
+                                 ..+####+.
+                            .......+####....   +
+                           ..##+*##########+.++++
+                          .+.##################+.
+              .............+###################+.+
+              ..++..#.....*#####################+.
+             ...+#######++#######################.
+          ....+*################################.
+ #############################################...
+          ....+*################################.
+             ...+#######++#######################.
+              ..++..#.....*#####################+.
+              .............+###################+.+
+                          .+.##################+.
+                           ..##+*##########+.++++
+                            .......+####....   +
+                                 ..+####+.
+                                   ..#*..
+                                    ....#
+                                    +.}}
 
 finish_test