Megatest

Diff
Login

Differences From Artifact [cec969050f]:

To Artifact [b552412187]:


80
81
82
83
84
85
86





87

88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104







105

106
107
108
109
110
111
112
80
81
82
83
84
85
86
87
88
89
90
91

92
93
94
95
96
97
98
99
100
101
102
103






104
105
106
107
108
109
110

111
112
113
114
115
116
117
118







+
+
+
+
+
-
+











-
-
-
-
-
-
+
+
+
+
+
+
+
-
+







	  (sqlite3:execute db "CREATE TABLE extradat (id INTEGER PRIMARY KEY, run_id INTEGER, key TEXT, val TEXT);")
	  (sqlite3:execute db "CREATE TABLE metadat (id INTEGER PRIMARY KEY, var TEXT, val TEXT,
                                  CONSTRAINT metadat_constraint UNIQUE (id,var));")
	  (db:set-var db "MEGATEST_VERSION" megatest-version)
	  (sqlite3:execute db "CREATE TABLE access_log (id INTEGER PRIMARY KEY, user TEXT, accessed TIMESTAMP, args TEXT);")))
    db))

;;======================================================================
;; TODO:
;;   put deltas into an assoc list with version numbers
;;   apply all from last to current
;;======================================================================
(define (patch-db db)heh 
(define (patch-db db)
  (handle-exceptions
   exn
   (begin
     (print "Exception: " exn)
     (print "ERROR: Possible out of date schema, attempting to add table metadata...")
     (sqlite3:execute db "CREATE TABLE metadat (id INTEGER PRIMARY KEY, var TEXT, val TEXT,
                                  CONSTRAINT metadat_constraint UNIQUE (id,var));")
     (sqlite3:execute db "ALTER TABLE tests ADD COLUMN tags TEXT DEFAULT '';")
     (db:set-var db "MEGATEST_VERSION" 1.17)
     )
   (let ((mver (db:get-var db "MEGATEST_VERSION")))
     (cond
      ((not mver)
       (print "Adding megatest-version to metadata")
       (sqlite3:execute db (db:set-var db "MEGATEST_VERSION" megatest-version)))
      ((< mver 1.18)
       (print "Adding tags column to tests table")
     (if(not mver)
	(begin
	  (print "Adding megatest-version to metadata")
	  (sqlite3:execute db (db:set-var db "MEGATEST_VERSION" megatest-version))))
     (if (< mver 1.18)
	 (begin
	   (print "Adding tags column to tests table")
       ))
	   (sqlite3:execute db "ALTER TABLE tests ADD COLUMN tags TEXT DEFAULT '';")))
     (db:set-var db "MEGATEST_VERSION" megatest-version)
     )))

;;======================================================================
;; meta get and set vars
;;======================================================================