1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
|
--- Makefile.in
+++ Makefile.in
@@ -163,8 +163,8 @@
#
LIBOBJS0 = alter.lo analyze.lo attach.lo auth.lo \
backup.lo bitvec.lo btmutex.lo btree.lo build.lo \
- callback.lo complete.lo ctime.lo date.lo db_pragma.lo db_shell.lo \
- delete.lo expr.lo fault.lo fkey.lo \
+ callback.lo complete.lo ctime.lo date.lo db_encrypt.lo db_pragma.lo \
+ db_shell.lo delete.lo expr.lo fault.lo fkey.lo \
fts3.lo fts3_aux.lo fts3_expr.lo fts3_hash.lo fts3_icu.lo fts3_porter.lo \
fts3_snippet.lo fts3_tokenizer.lo fts3_tokenizer1.lo fts3_write.lo \
func.lo global.lo hash.lo \
@@ -207,6 +208,7 @@
$(TOP)/src/complete.c \
$(TOP)/src/ctime.c \
$(TOP)/src/date.c \
+ $(TOP)/../adapter/db_encrypt.c \
$(TOP)/../adapter/db_pragma.c \
$(TOP)/../adapter/db_shell.c \
$(TOP)/src/delete.c \
@@ -580,6 +581,10 @@
date.lo: $(TOP)/src/date.c $(HDR)
$(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/date.c
+db_encrypt.lo: $(TOP)/../adapter/db_encrypt.c $(HDR) \
+ $(TOP)/../adapter/btreeInt.h
+ $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/../adapter/db_encrypt.c
+
db_pragma.lo: $(TOP)/../adapter/db_pragma.c $(HDR) \
$(TOP)/../adapter/btreeInt.h
$(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/../adapter/db_pragma.c
--- src/tclsqlite.c
+++ src/tclsqlite.c
@@ -2864,6 +2864,9 @@
const char *zFile;
const char *zVfs = 0;
int flags;
+#ifdef SQLITE_HAS_CODEC
+ int rc;
+#endif
Tcl_DString translatedFilename;
/* In normal use, each TCL interpreter runs in a single thread. So
@@ -2968,7 +2971,13 @@
}
#ifdef SQLITE_HAS_CODEC
if( p->db ){
- sqlite3_key(p->db, pKey, nKey);
+ rc = sqlite3_key(p->db, pKey, nKey);
+ if( rc ){
+ zErrMsg = sqlite3_mprintf("%s", sqlite3ErrStr(rc));
+ sqlite3_close(p->db);
+ p->db = 0;
+ }
+
}
#endif
if( p->db==0 ){
--- test/vtab1.test
+++ test/vtab1.test
@@ -849,8 +849,12 @@
ifcapable attach {
do_test vtab1.8-1 {
set echo_module ""
+ set key ""
+ if {[sqlite -has-codec]} {
+ set key "xyzzy"
+ }
execsql {
- ATTACH 'test2.db' AS aux;
+ ATTACH 'test2.db' AS aux KEY $key;
CREATE VIRTUAL TABLE aux.e2 USING echo(real_abc);
}
set echo_module
--- tool/mksqlite3c.tcl
+++ tool/mksqlite3c.tcl
@@ -250,6 +250,7 @@
btmutex.c
btree.c
backup.c
+ db_encrypt.c
db_pragma.c
db_shell.c
|