-C :-)\s(CVS\s34)
-D 2000-06-02T01:17:37
+C :-)\s(CVS\s35)
+D 2000-06-02T01:36:16
F COPYRIGHT 74a8a6531a42e124df07ab5599aad63870fa0bd4
F Makefile.in 7ac2fef265940d93a544cb454efa836451559a71
F README 6b5960603c7f8bf42fc022b4b6436f242f238dbb
F configure.in 6ccfd5fc80517f7cfe605a7fc7e0f62d962a233c
F doc/lemon.html e233a3e97a779c7a87e1bc4528c664a58e49dd47
F src/build.c f56c47f08c2f01fd640abb920c5da6b6614fbf3f
-F src/dbbe.c 5ab70123cae6b2791843817448cbc4964328f542
+F src/dbbe.c a6ae5ac878b9b18ff82345b56917085cc0ab4cbd
F src/dbbe.h a8a46f71238e0f09f3ec08fd9d1c8c7f4cdc49bf
F src/delete.c e11433c14ed5cc8553cba14296b3baa3c23054bc
F src/expr.c 91970700e3e39b2b725b028c166f588a5bb0c038
F src/insert.c 5d713f4a05cef76a188207aa986776e02349ba70
-F src/main.c ff4e6abaeac2033cf2ec206f932f7b4c768c469c
+F src/main.c 9567f6f44102e5c8a8c5ca834727f29690ac2f79
F src/parse.y 16322c46ec117082ef745715f7a4761f2491a0b2
F src/select.c 25cada7cb2b0b4973b3e17c81ba1b1c887829f71
F src/shell.c 9a42923e9c8ec1654dd1ef1aa113eca26dcf30db
F src/tokenize.c 15c229fee77325334c6814652e429b0930eba6c1
F src/update.c 1f7284e00921352c3ae699fb60f2c2fbf8098212
F src/util.c da47fe65efa6ff4c5e663cc7c832964bd599c0d2
-F src/vdbe.c 8631fdffc2583c13594b34ffa9139928b7f3cb8f
+F src/vdbe.c 01e8a9e274d959ce72cc8c5a43ed144e781a6352
F src/vdbe.h ab574c91c6328c5795f68b84074fbcf860eae70e
F src/where.c bed9a8360cbfbf712bdc397c8e22216a5e5f9800
F test/all.test 66a8a5b8291a472157944edcdce51a320ebd1f35
F www/changes.tcl 37f4906f0b03f2160d2b2e4ed3cedb0b91d253cb
F www/index.tcl 001f8c8c4edbe20e25c508005a12f2f265f84c9c
F www/sqlite.tcl 2a0056dd6d78839636176b770d9f37d12e66660e
-P 6b9056364e62cff017447ea979bb29dc78fb9f73
-R 16424dcd9ee13071fcab886f6e440991
+P 52338f4ab5990fefc61f615cd65c3a724b365199
+R 19c8832b6eed992164ced278747bfec1
U drh
-Z 98d8da8fcec9ae290876645d0b50c778
+Z b10b3802981476d18ecff528a847002c
-52338f4ab5990fefc61f615cd65c3a724b365199
\ No newline at end of file
+a57ecd606c8caa67db240d1a4bc46c0a590fde0c
\ No newline at end of file
** relatively simple to convert to a different database such
** as NDBM, SDBM, or BerkeleyDB.
**
-** $Id: dbbe.c,v 1.7 2000/06/02 01:17:37 drh Exp $
+** $Id: dbbe.c,v 1.8 2000/06/02 01:36:16 drh Exp $
*/
#include "sqliteInt.h"
#include <gdbm.h>
sqliteFree(zFile);
return SQLITE_NOMEM;
}
- if( pFile->zName ){
- pFile->dbf = gdbm_open(pFile->zName, 0, rw_mask, mode, 0);
+ if( zFile ){
+ pFile->dbf = gdbm_open(zFile, 0, rw_mask, mode, 0);
}else{
int limit;
struct rc4 *pRc4;
** other files are for internal use by SQLite and should not be
** accessed by users of the library.
**
-** $Id: main.c,v 1.3 2000/06/02 01:17:37 drh Exp $
+** $Id: main.c,v 1.4 2000/06/02 01:36:16 drh Exp $
*/
#include "sqliteInt.h"
** database scheme.
*/
static VdbeOp initProg[] = {
- { OP_Open, 0, 0, MASTER_NAME},
+ { OP_Open, 0, 1, MASTER_NAME},
{ OP_Next, 0, 8, 0}, /* 1 */
{ OP_Field, 0, 0, 0},
{ OP_String, 0, 0, "table"},
** But other routines are also provided to help in building up
** a program instruction by instruction.
**
-** $Id: vdbe.c,v 1.7 2000/06/02 01:17:38 drh Exp $
+** $Id: vdbe.c,v 1.8 2000/06/02 01:36:16 drh Exp $
*/
#include "sqliteInt.h"
sqliteDbbeCloseTable(p->aTab[i].pTable);
}
rc = sqliteDbbeOpenTable(p->pBe, pOp->p3, pOp->p2, &p->aTab[i].pTable);
+ switch( rc ){
+ case SQLITE_BUSY: {
+ sqliteSetString(pzErrMsg,"table ", pOp->p3, " is locked", 0);
+ break;
+ }
+ case SQLITE_READONLY: {
+ sqliteSetString(pzErrMsg,"table ", pOp->p3,
+ " is already opened for reading", 0);
+ break;
+ }
+ case SQLITE_NOMEM: {
+ goto no_mem;
+ }
+ }
p->aTab[i].index = 0;
break;
}
sqliteDbbeCloseTempFile(p->pBe, p->apList[i]);
}
rc = sqliteDbbeOpenTempFile(p->pBe, &p->apList[i]);
+ if( rc!=SQLITE_OK ){
+ sqliteSetString(pzErrMsg, "unable to open a temporary file", 0);
+ }
break;
}
sqliteSetString(pzErrMsg, "illegal operation at ", zBuf, 0);
rc = SQLITE_INTERNAL;
goto cleanup;
-
}