Megatest

Check-in [fcf5650f1f]
Login
Overview
Comment:Proper handling of errors when db disappears and trigger dropping is happening.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | v1.65-wip
Files: files | file ages | folders
SHA1: fcf5650f1fe9f9a54858beab9087c62539873b93
User & Date: mrwellan on 2019-09-27 13:45:46
Other Links: branch diff | manifest | tags
Context
2019-09-27
13:46
Add ulex loading check-in: 5b4dacbff2 user: mrwellan tags: v1.65-wip
13:45
Proper handling of errors when db disappears and trigger dropping is happening. check-in: fcf5650f1f user: mrwellan tags: v1.65-wip
11:19
Sync with v1.65 check-in: b767764b1a user: mrwellan tags: v1.65-wip
Changes

Modified db.scm from [982bb537f8] to [0b0178c202].

304
305
306
307
308
309
310
311

312
313
314
315
316
317
318
					;if wal mode is on -WAL and -shm file get created when db:open-megatest-db is called. modtimedelta will always be < 10 so db in tmp not get synced
          ;(tmpdbmodtime (if dbfexists (db:get-last-update-time (car tmpdb)) #f))    
          ;(fmt (file-modification-time tmpdbfname))
	       (modtimedelta (and mtdbmodtime tmpdbmodtime (- mtdbmodtime tmpdbmodtime))))

	  (handle-exceptions
	   exn
	   (begin

	     (debug:print 0 *default-log-port* "ERROR: attempted to drop triggers on MTRA/megatest.db but failed.")
	     TODO: print real stack and error info
	     (set! write-access #f)) ;; if we failed to drop the triggers then we probably don't have write access
	   (when write-access
		 (sqlite3:execute (car mtdb) "drop trigger if exists update_tests_trigger")
		 (sqlite3:execute (car mtdb) "drop trigger if exists update_runs_trigger")))
          







|
>







304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
					;if wal mode is on -WAL and -shm file get created when db:open-megatest-db is called. modtimedelta will always be < 10 so db in tmp not get synced
          ;(tmpdbmodtime (if dbfexists (db:get-last-update-time (car tmpdb)) #f))    
          ;(fmt (file-modification-time tmpdbfname))
	       (modtimedelta (and mtdbmodtime tmpdbmodtime (- mtdbmodtime tmpdbmodtime))))

	  (handle-exceptions
	   exn
	   (let ((call-chain (get-call-chain))
		 (msg        ((condition-property-accessor 'exn 'message) exn)))
	     (debug:print 0 *default-log-port* "ERROR: attempted to drop triggers on MTRA/megatest.db but failed.")
	     TODO: print real stack and error info
	     (set! write-access #f)) ;; if we failed to drop the triggers then we probably don't have write access
	   (when write-access
		 (sqlite3:execute (car mtdb) "drop trigger if exists update_tests_trigger")
		 (sqlite3:execute (car mtdb) "drop trigger if exists update_runs_trigger")))