-C Add\sthe\stable\sname\sto\sthe\sarguments\spassed\sto\sthe\svirtual\stable\smethods\sxCreate/xConnect.\s(CVS\s3281)
-D 2006-06-21T13:21:51
+C Add\sthe\sdatabase\sname\sto\sthe\sparameters\spassed\sto\svirtual\stable\smodule\sxCreate\sand\sxConnect\smethods.\s(CVS\s3282)
+D 2006-06-21T16:02:43
F Makefile.in f839b470345d3cb4b0644068474623fe2464b5d3
F Makefile.linux-gcc 2d8574d1ba75f129aba2019f0b959db380a90935
F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028
F src/test5.c 7162f8526affb771c4ed256826eee7bb9eca265f
F src/test6.c 60a02961ceb7b3edc25f5dc5c1ac2556622a76de
F src/test7.c 03fa8d787f6aebc6d1f72504d52f33013ad2c8e3
-F src/test8.c 58134b50229c6703cef5b2a48470502dc3de5c60
+F src/test8.c d584dc94c0a62afb21bca311d2958defc6684236
F src/test_async.c e3deaedd4d86a56391b81808fde9e44fbd92f1d3
F src/test_loadext.c 22065d601a18878e5542191001f0eaa5d77c0ed8
F src/test_md5.c 6c42bc0a3c0b54be34623ff77a0eec32b2fa96e3
F src/vdbeaux.c 2e4cb97e6d1612c0e108d68e038a7cd612bceb72
F src/vdbefifo.c 9efb94c8c3f4c979ebd0028219483f88e57584f5
F src/vdbemem.c 5f0afe3b92bb2c037f8d5d697f7c151fa50783a3
-F src/vtab.c e65a7fd62d8dd71350c6289afc8e3e9bc8fe3138
+F src/vtab.c 99ca599e9e4af1a63a3caf4389410a16adacf9f6
F src/where.c 0a13357175678d51a218326bca389f20bb41e38b
F tclinstaller.tcl 046e3624671962dc50f0481d7c25b38ef803eb42
F test/aggerror.test a867e273ef9e3d7919f03ef4f0e8c0d2767944f2
F test/vacuum2.test 5aea8c88a65cb29f7d175296e7c819c6158d838c
F test/varint.test ab7b110089a08b9926ed7390e7e97bdefeb74102
F test/view.test 16e2774fe35e47a07ac4471b7f0bcc948b1aa6d5
-F test/vtab1.test 482d1a593cf63a730ab4144d53f44b0b9a26d7e4
+F test/vtab1.test 5bb366f18287c9b4c8af110a810c10eb713fb58b
F test/vtab2.test e57f9865368df26ef5eb8bc630962d82086f174b
F test/vtab3.test f38d6d7d19f08bffdadce4d5b8cba078f8118587
F test/vtab4.test 4b4293341443839ef6dc02f8d9e614702a6c67ff
F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0
F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b
F www/whentouse.tcl 97e2b5cd296f7d8057e11f44427dea8a4c2db513
-P 6c3e8852ffbaf5ab52ffdf7ed3767fa1d4fd5882
-R b9b6a3a1cf617e6ce2ebea89762bbd86
+P 7dc36d1c798aa8b30b88a528fc9e69b342f278c7
+R 766df509631bed98b63389617990a41e
U danielk1977
-Z db7ca11b12957a39dfe19b08d7995731
+Z e5ccb6373eaa19bb4db62e1fb209d911
-7dc36d1c798aa8b30b88a528fc9e69b342f278c7
\ No newline at end of file
+2d2805785f473afc202df532df84c45e6f0dc0f1
\ No newline at end of file
** is not included in the SQLite library. It is used for automated
** testing of the SQLite library.
**
-** $Id: test8.c,v 1.29 2006/06/21 13:21:51 danielk1977 Exp $
+** $Id: test8.c,v 1.30 2006/06/21 16:02:43 danielk1977 Exp $
*/
#include "sqliteInt.h"
#include "tcl.h"
){
int rc = SQLITE_OK;
- if( argc==3 ){
+ if( argc==4 ){
sqlite3_stmt *pStmt = 0;
sqlite3_prepare(db,
"SELECT sql FROM sqlite_master WHERE type = 'table' AND name = ?",
-1, &pStmt, 0);
- sqlite3_bind_text(pStmt, 1, argv[2], -1, 0);
+ sqlite3_bind_text(pStmt, 1, argv[3], -1, 0);
if( sqlite3_step(pStmt)==SQLITE_ROW ){
const char *zCreateTable = sqlite3_column_text(pStmt, 0);
#ifndef SQLITE_OMIT_VIRTUALTABLE
}
sqlite3_finalize(pStmt);
if( rc==SQLITE_OK ){
- rc = getIndexArray(db, argv[2], &pVtab->aIndex);
+ rc = getIndexArray(db, argv[3], &pVtab->aIndex);
}
if( rc==SQLITE_OK ){
- rc = getColumnNames(db, argv[2], &pVtab->aCol, &pVtab->nCol);
+ rc = getColumnNames(db, argv[3], &pVtab->aCol, &pVtab->nCol);
}
}
pVtab = sqliteMalloc( sizeof(*pVtab) );
pVtab->interp = (Tcl_Interp *)pAux;
pVtab->db = db;
- pVtab->zTableName = sqlite3MPrintf("%s", argv[2]);
+ pVtab->zTableName = sqlite3MPrintf("%s", argv[3]);
for(i=0; i<argc; i++){
appendToEchoModule(pVtab->interp, argv[i]);
}
*************************************************************************
** This file contains code used to help implement virtual tables.
**
-** $Id: vtab.c,v 1.19 2006/06/21 13:21:51 danielk1977 Exp $
+** $Id: vtab.c,v 1.20 2006/06/21 16:02:43 danielk1977 Exp $
*/
#ifndef SQLITE_OMIT_VIRTUALTABLE
#include "sqliteInt.h"
int iDb; /* The database the table is being created in */
Table *pTable; /* The new virtual table */
Token *pDummy; /* Dummy arg for sqlite3TwoPartName() */
- char *zTab;
sqlite3StartTable(pParse, pName1, pName2, 0, 0, 1, 0);
pTable = pParse->pNewTable;
if( pTable==0 || pParse->nErr ) return;
assert( 0==pTable->pIndex );
+ iDb = sqlite3SchemaToIndex(pParse->db, pTable->pSchema);
+ assert( iDb>=0 );
+
pTable->isVirtual = 1;
pTable->nModuleArg = 0;
addModuleArgument(pTable, sqlite3NameFromToken(pModuleName));
- zTab = sqlite3NameFromToken((pName2&&pName2->z)?pName2:pName1);
- addModuleArgument(pTable, zTab);
+ addModuleArgument(pTable, sqlite3StrDup(pParse->db->aDb[iDb].zName));
+ addModuleArgument(pTable, sqlite3StrDup(pTable->zName));
pParse->sNameToken.n = pModuleName->z + pModuleName->n - pName1->z;
#ifndef SQLITE_OMIT_AUTHORIZATION
** sqlite_master table, has already been made by sqlite3StartTable().
** The second call, to obtain permission to create the table, is made now.
*/
- iDb = sqlite3TwoPartName(pParse, pName1, pName2, &pDummy);
- assert( iDb>=0 );
if( sqlite3AuthCheck(pParse, SQLITE_CREATE_VTABLE, pTable->zName,
pTable->azModuleArg[0], pParse->db->aDb[iDb].zName)
){
# This file implements regression tests for SQLite library. The
# focus of this file is creating and dropping virtual tables.
#
-# $Id: vtab1.test,v 1.27 2006/06/21 13:21:51 danielk1977 Exp $
+# $Id: vtab1.test,v 1.28 2006/06/21 16:02:44 danielk1977 Exp $
set testdir [file dirname $argv0]
source $testdir/tester.tcl
]
do_test vtab1.2.8 {
set echo_module
-} {xConnect echo t1 template}
+} {xConnect echo main t1 template}
# Drop table t1. This should cause the xDestroy (but not xDisconnect) method
# to be invoked.
CREATE VIRTUAL TABLE t1 USING echo(treal);
}
set echo_module
-} [list xCreate echo t1 treal \
+} [list xCreate echo main t1 treal \
xSync echo(treal) \
xCommit echo(treal) \
]
}
} {}
+do_test vtab1.8-1 {
+ set echo_module ""
+ execsql {
+ ATTACH 'test2.db' AS aux;
+ CREATE VIRTUAL TABLE aux.e2 USING echo(real_abc);
+ }
+ set echo_module
+} [list xCreate echo aux e2 real_abc \
+ xSync echo(real_abc) \
+ xCommit echo(real_abc) \
+]
finish_test
+