Index: db.scm ================================================================== --- db.scm +++ db.scm @@ -414,11 +414,11 @@ (list ;; (list "strs" ;; '("id" #f) ;; '("str" #f)) (list "tests" - '("id" "INTEGER") + '("id" "INTEGER" 'key) '("run_id" "INTEGER") '("testname" "TEXT") '("host" "TEXT") '("cpuload" "REAL") '("diskfree" "INTEGER") @@ -436,20 +436,20 @@ '("event_time" "INTEGER") '("fail_count" "INTEGER") '("pass_count" "INTEGER") '("archived" "INTEGER")) (list "test_steps" - '("id" "INTEGER") + '("id" "INTEGER" 'key) '("test_id" "INTEGER") '("stepname" "TEXT") '("state" "TEXT") '("status" "TEXT") '("event_time" "INTEGER") '("comment" "TEXT") '("logfile" "TEXT")) (list "test_data" - '("id" "INTEGER") + '("id" "INTEGER" 'key) '("test_id" "INTEGER") '("category" "TEXT") '("variable" "TEXT") '("value" "REAL") '("expected" "REAL") @@ -463,16 +463,19 @@ ;; (define (db:sync-main-list dbstruct) (let ((keys (db:get-keys dbstruct))) (list (list "keys" - '("id" "INTEGER") + '("id" "INTEGER" 'key) '("fieldname" "TEXT") '("fieldtype" "TEXT")) - (list "metadat" '("var" "TEXT") '("val" "TEXT")) + (list "metadat" + '("id" "INTEGER" 'key) + '("var" "TEXT") + '("val" "TEXT")) (list "runs" - '("id" "INTEGER") + '("id" "INTEGER" 'key) '("release" "TEXT") '("iteration" "TEXT") '("testsuite_mode" "TEXT") '("runname" "TEXT") '("state" "TEXT") @@ -482,11 +485,11 @@ '("comment" "TEXT") '("fail_count" "INTEGER") '("pass_count" "INTEGER")) (list "test_meta" - '("id" "INTEGER") + '("id" "INTEGER" 'key) '("testname" "TEXT") '("owner" "TEXT") '("description" "TEXT") '("reviewed" "INTEGER") '("iterated" "TEXT") @@ -690,11 +693,11 @@ (set! prep (conc "PREPARE fullins (" prep ") AS INSERT INTO " tablename " ( " (string-intersperse (map car fields) ",") " ) VALUES ( ")) ;;maybe add lookup in the future depending on where types are needed (let loop ((i 1)) (set! prep (conc prep "$" i ",")) (if (< i (- num-fields 1)) (loop (+ i 1)) - (set! prep (conc prep "$" (+ i 1) " ) ON CONFLICT DO NOTHING;")))) + (set! prep (conc prep "$" (+ i 1) " );")))) (set! full-ins prep))) (let* ((db (dbi:convert (db:dbdat-get-db targdb))) (stmth (dbi:prepare db full-ins))) ;; (db:delay-if-busy targdb) ;; NO WAITING (for-each