Overview
Comment: | fixed db.scm to properly pass symbols (not strings) for keys of alist so alist->db:test calls work |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | refactor-dbr:dbstruct |
Files: | files | file ages | folders |
SHA1: |
90bb91e3b28bfd721ade007c8de9cb1e |
User & Date: | bjbarcla on 2016-01-26 18:39:44 |
Other Links: | branch diff | manifest | tags |
Context
2016-01-28
| ||
11:00 | some progress on unit tests check-in: 473832ad6f user: bjbarcla tags: refactor-dbr:dbstruct | |
2016-01-26
| ||
18:39 | fixed db.scm to properly pass symbols (not strings) for keys of alist so alist->db:test calls work check-in: 90bb91e3b2 user: bjbarcla tags: refactor-dbr:dbstruct | |
18:38 | fixed basicserver unit test to test for defstruct-hood of db:test returning proc rather than vec-ness check-in: 76b08501ce user: bjbarcla tags: refactor-dbr:dbstruct | |
Changes
Modified db.scm from [71faed40dc] to [804cf33a6b].
︙ | ︙ | |||
2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 | #f test-id)))) (define db:test-record-fields '("id" "run_id" "testname" "state" "status" "event_time" "host" "cpuload" "diskfree" "uname" "rundir" "item_path" "run_duration" "final_logf" "comment" "shortdir" "attemptnum" "archived")) ;; fields *must* be a non-empty list ;; (define (db:field->number fieldname fields) (if (null? fields) #f (let loop ((hed (car fields)) (tal (cdr fields)) | > > | 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 | #f test-id)))) (define db:test-record-fields '("id" "run_id" "testname" "state" "status" "event_time" "host" "cpuload" "diskfree" "uname" "rundir" "item_path" "run_duration" "final_logf" "comment" "shortdir" "attemptnum" "archived")) (define db:test-record-fields-symbols (map string->symbol db:test-record-fields)) ;; fields *must* be a non-empty list ;; (define (db:field->number fieldname fields) (if (null? fields) #f (let loop ((hed (car fields)) (tal (cdr fields)) |
︙ | ︙ | |||
2580 2581 2582 2583 2584 2585 2586 | (sqlite3:for-each-row ;; attemptnum added to hold pid of top process (not Megatest) controlling a test ;; BB: replaced following vec construction with db:test defstruct ;; (lambda (id run-id testname state status event-time host cpuload diskfree uname rundir-id item-path run_duration final-logf-id comment short-dir-id attemptnum archived) ;; 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ;; (set! res (vector id run-id testname state status event-time host cpuload diskfree uname rundir-id item-path run_duration final-logf-id comment short-dir-id attemptnum archived))) (lambda (a . b) | | | | | 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 | (sqlite3:for-each-row ;; attemptnum added to hold pid of top process (not Megatest) controlling a test ;; BB: replaced following vec construction with db:test defstruct ;; (lambda (id run-id testname state status event-time host cpuload diskfree uname rundir-id item-path run_duration final-logf-id comment short-dir-id attemptnum archived) ;; 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ;; (set! res (vector id run-id testname state status event-time host cpuload diskfree uname rundir-id item-path run_duration final-logf-id comment short-dir-id attemptnum archived))) (lambda (a . b) (set! res (alist->db:test (map cons db:test-record-fields-symbols (cons a b))))) db (conc "SELECT " db:test-record-qry-selector " FROM tests WHERE id=?;") test-id) res)))) ;; Use db:test-get* to access ;; Get test data using test_ids. NB// Only works within a single run!! ;; (define (db:get-test-info-by-ids dbstruct run-id test-ids) (db:with-db dbstruct run-id #f (lambda (db) (let ((res '())) (sqlite3:for-each-row (lambda (a . b) ;; 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 (set! res (cons (alist->db:test (map cons db:test-record-fields-symbols (cons a b))) res ))) ;;BB: replaced vec with defstruct above -- (set! res (cons (apply vector a b) res))) db (conc "SELECT " db:test-record-qry-selector " FROM tests WHERE id in (" (string-intersperse (map conc test-ids) ",") ");")) res)))) (define (db:get-test-info dbstruct run-id testname item-path) (db:with-db dbstruct run-id #f (lambda (db) (let ((res #f)) (sqlite3:for-each-row (lambda (a . b) (set! res (alist->db:test (map cons db:test-record-fields-symbols (cons a b))))) ;; BB: replaced following vec construction with db:test defstruct ;;(set! res (apply vector a b))) db (conc "SELECT " db:test-record-qry-selector " FROM tests WHERE testname=? AND item_path=?;") test-name item-path) res)))) |
︙ | ︙ |