diff --git a/manifest b/manifest
index 8fa2479fb8..a9769b9eef 100644
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Performance\simprovement\sin\ssqlite3VdbeAddOp().\s(CVS\s3138)
-D 2006-03-15T22:44:37
+C Make\sprovisions\sin\sthe\scode\sto\ssupport\sProvisions\sto\ssupport\scaching\sof\nserialized\sstatements\sin\sthe\sSSE\sextension.\s(CVS\s3139)
+D 2006-03-16T14:05:15
 F Makefile.in 5d8dff443383918b700e495de42ec65bc1c8865b
 F Makefile.linux-gcc 74ba0eadf88748a9ce3fd03d2a3ede2e6715baec
 F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028
@@ -48,7 +48,7 @@ F src/hash.c 449f3d6620193aa557f5d86cbc5cc6b87702b185
 F src/hash.h 1b3f7e2609141fd571f62199fc38687d262e9564
 F src/insert.c 1ae4b8ff5549497808e1b57b9243abcb599fd02f
 F src/legacy.c fa15d505dd4e45044177ee4d1c6aeaf8c836d390
-F src/main.c 631ad93d030f0cef159eb98be173cdd472c5d3b0
+F src/main.c a025a1990c02c53433a8fda9c481990e513a1e21
 F src/md5.c c5fdfa5c2593eaee2e32a5ce6c6927c986eaf217
 F src/os.c 59f05de8c5777c34876607114a2fbe55ae578235
 F src/os.h 93035a0e3b9dd05cdd0aaef32ea28ca28e02fe78
@@ -91,7 +91,7 @@ F src/util.c 59389ed717f0fa9d8023b3f482ba09dcf41343a8
 F src/vacuum.c 5b37d0f436f8e1ffacd17934e44720b38d2247f9
 F src/vdbe.c 2c687d8cf6b75380ef26a8c9db047ce0e3fa7424
 F src/vdbe.h 80ba1c391ec28180dd07a630577f50b22c2062da
-F src/vdbeInt.h 2109be6b58e3bfcd8e5b56d3b212b1a105a61051
+F src/vdbeInt.h 85cd5f81d38edb1b8f4786f407c77a7a3ba636fb
 F src/vdbeapi.c 7dc662e7c905ce666bb506dced932e0307115cbf
 F src/vdbeaux.c 2ee7d951161769bf3429df2a9cd2c4f2e358807e
 F src/vdbefifo.c 9efb94c8c3f4c979ebd0028219483f88e57584f5
@@ -355,7 +355,7 @@ F www/tclsqlite.tcl bb0d1357328a42b1993d78573e587c6dcbc964b9
 F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0
 F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b
 F www/whentouse.tcl 97e2b5cd296f7d8057e11f44427dea8a4c2db513
-P c0d20fa97f94313e6b7ee5b4baa236ef5b664d76
-R 1505d252f72cd28f9c1a95e3f8396e08
+P 6bcbe8fcad35de6e9b90e7776bd262fdf7cbc28e
+R 10827db1d469ad8fd02846eb72ab30c5
 U drh
-Z c725af24c2ee63910b68e5a54ff93f6c
+Z 11bdf70875327af2f51fc9ce471660b6
diff --git a/manifest.uuid b/manifest.uuid
index 6d237cd772..3b99393dc9 100644
--- a/manifest.uuid
+++ b/manifest.uuid
@@ -1 +1 @@
-6bcbe8fcad35de6e9b90e7776bd262fdf7cbc28e
\ No newline at end of file
+5048fae04227857c064c0ba48eb11bedeb467df0
\ No newline at end of file
diff --git a/src/main.c b/src/main.c
index 1561b1c43e..44060403a9 100644
--- a/src/main.c
+++ b/src/main.c
@@ -14,7 +14,7 @@
 ** other files are for internal use by SQLite and should not be
 ** accessed by users of the library.
 **
-** $Id: main.c,v 1.337 2006/03/13 15:06:07 drh Exp $
+** $Id: main.c,v 1.338 2006/03/16 14:05:15 drh Exp $
 */
 #include "sqliteInt.h"
 #include "os.h"
@@ -109,7 +109,7 @@ int sqlite3_close(sqlite3 *db){
   }
 
 #ifdef SQLITE_SSE
-  sqlite3_finalize(db->pFetch);
+  sqlite3SseCleanup(db);
 #endif 
 
   /* If there are any outstanding VMs, return SQLITE_BUSY. */
diff --git a/src/vdbeInt.h b/src/vdbeInt.h
index 2f29b17b60..01d6a61f19 100644
--- a/src/vdbeInt.h
+++ b/src/vdbeInt.h
@@ -317,6 +317,10 @@ struct Vdbe {
   u8 minWriteFileFormat;  /* Minimum file format for writable database files */
   int nChange;            /* Number of db changes made since last reset */
   i64 startTime;          /* Time when query started - used for profiling */
+#ifdef SQLITE_SSE
+  int fetchId;          /* Statement number used by sqlite3_fetch_statement */
+  int lru;              /* Counter used for LRU cache replacement */
+#endif
 };
 
 /*