-C Fix\ssome\scode\sformatting\sin\ssqlite3Ext.h\sto\savoid\slines\slonger\sthan\s80\ncharacters.
-D 2011-10-29T12:42:31.756
+C Add\sa\stest\sfor\s[48f29963]\sthat\sdoes\snot\sdepend\son\sFTS.
+D 2011-10-29T15:29:43.114
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
F Makefile.in a162fe39e249b8ed4a65ee947c30152786cfe897
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
F src/test5.c e1a19845625144caf038031234a12185e40d315c
F src/test6.c 3191b4ab964a144230ff9ef96c093520375c7b2a
F src/test7.c 2e0781754905c8adc3268d8f0967e7633af58843
-F src/test8.c 6b1d12912a04fe6fca8c45bb9c3ea022f4352228
+F src/test8.c 99f70341d6ec480313775127f4cd14b4a47db557
F src/test9.c bea1e8cf52aa93695487badedd6e1886c321ea60
F src/test_async.c 0612a752896fad42d55c3999a5122af10dcf22ad
F src/test_autoext.c 30e7bd98ab6d70a62bb9ba572e4c7df347fe645e
F test/varint.test ab7b110089a08b9926ed7390e7e97bdefeb74102
F test/veryquick.test 7701bb609fe8bf6535514e8b849a309e8f00573b
F test/view.test b182a67ec43f490b156b5a710827a341be83dd17
-F test/vtab1.test b40b7e531dea8f0f7e78c76ff96eed103f58d015
+F test/vtab1.test 12fbb309ce830c4064e44f275eb02a65c2780076
F test/vtab2.test 7bcffc050da5c68f4f312e49e443063e2d391c0d
F test/vtab3.test baad99fd27217f5d6db10660522e0b7192446de1
F test/vtab4.test 942f8b8280b3ea8a41dae20e7822d065ca1cb275
F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
F tool/warnings-clang.sh 9f406d66e750e8ac031c63a9ef3248aaa347ef2a
F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381
-P 3565fcf898960d7a23d23a2f363b039b2e29447b
-R 9032c16732b3e2ea6c9c68769bc3a6a1
-U drh
-Z 26f41ca303a5b1072250f37f0d687db4
+P 3ec20c3020e1bb5ec2815848af75cf4847a218e5
+R bee3a4997207c9d3364557054b655c5c
+U dan
+Z 3b6231d5ae6559c0d9e1b3fbe5372e52
return rc;
}
+static int echoSavepoint(sqlite3_vtab *pVTab, int iSavepoint){
+ assert( pVTab );
+ return SQLITE_OK;
+}
+
+static int echoRelease(sqlite3_vtab *pVTab, int iSavepoint){
+ assert( pVTab );
+ return SQLITE_OK;
+}
+
+static int echoRollbackTo(sqlite3_vtab *pVTab, int iSavepoint){
+ assert( pVTab );
+ return SQLITE_OK;
+}
+
/*
** A virtual table module that merely "echos" the contents of another
** table (like an SQL VIEW).
*/
static sqlite3_module echoModule = {
- 0, /* iVersion */
+ 1, /* iVersion */
+ echoCreate,
+ echoConnect,
+ echoBestIndex,
+ echoDisconnect,
+ echoDestroy,
+ echoOpen, /* xOpen - open a cursor */
+ echoClose, /* xClose - close a cursor */
+ echoFilter, /* xFilter - configure scan constraints */
+ echoNext, /* xNext - advance a cursor */
+ echoEof, /* xEof */
+ echoColumn, /* xColumn - read data */
+ echoRowid, /* xRowid - read data */
+ echoUpdate, /* xUpdate - write data */
+ echoBegin, /* xBegin - begin transaction */
+ echoSync, /* xSync - sync transaction */
+ echoCommit, /* xCommit - commit transaction */
+ echoRollback, /* xRollback - rollback transaction */
+ echoFindFunction, /* xFindFunction - function overloading */
+ echoRename /* xRename - rename the table */
+};
+
+static sqlite3_module echoModuleV2 = {
+ 2, /* iVersion */
echoCreate,
echoConnect,
echoBestIndex,
echoRollback, /* xRollback - rollback transaction */
echoFindFunction, /* xFindFunction - function overloading */
echoRename, /* xRename - rename the table */
+ echoSavepoint,
+ echoRelease,
+ echoRollbackTo
};
/*
return TCL_ERROR;
}
if( getDbPointer(interp, Tcl_GetString(objv[1]), &db) ) return TCL_ERROR;
+
+ /* Virtual table module "echo" */
pMod = sqlite3_malloc(sizeof(EchoModule));
pMod->interp = interp;
sqlite3_create_module_v2(db, "echo", &echoModule, (void*)pMod, moduleDestroy);
+
+ /* Virtual table module "echo_v2" */
+ pMod = sqlite3_malloc(sizeof(EchoModule));
+ pMod->interp = interp;
+ sqlite3_create_module_v2(db, "echo_v2",
+ &echoModuleV2, (void*)pMod, moduleDestroy
+ );
return TCL_OK;
}