diff --git a/js-assembler/db-cache.rkt b/js-assembler/db-cache.rkt index 756eae8..af132e2 100644 --- a/js-assembler/db-cache.rkt +++ b/js-assembler/db-cache.rkt @@ -1,18 +1,43 @@ #lang racket/base (require (planet ryanc/db) - "../version.rkt") + (prefix-in whalesong: "../version.rkt") + racket/file + racket/path) + +(define cache-directory-path + (build-path (find-system-path 'pref-dir) + "whalesong")) -(when (not (file-exists? "whalesong-cache.sqlite3")) - (define conn - (sqlite3-connect #:database "whalesong-cache.sqlite3" + +;; create-cache-directory!: -> void +(define (create-cache-directory!) + (unless (directory-exists? cache-directory-path) + (make-directory* cache-directory-path))) + +(create-cache-directory!) + +(define whalesong-cache.sqlite3 + (build-path cache-directory-path + (format "whalesong-cache-~a.sqlite" + whalesong:version))) + + +(when (not (file-exists? whalesong-cache.sqlite3)) + (define conn + (sqlite3-connect #:database whalesong-cache.sqlite3 #:mode 'create)) - (disconnect conn)) + (query-exec conn + (string-append + "create table cache(path string not null primary key, " + " md5sum string not null, " + "data blob not null);")) + (disconnect conn)) (define conn - (sqlite3-connect #:database "whalesong-cache.sqlite3")) + (sqlite3-connect #:database whalesong-cache.sqlite3)) (define (cached? path) diff --git a/parser/parse-bytecode.rkt b/parser/parse-bytecode.rkt index f491917..f911b93 100644 --- a/parser/parse-bytecode.rkt +++ b/parser/parse-bytecode.rkt @@ -32,10 +32,3 @@ (parse-bytecode x)] [else (parse-bytecode x)])) - - -(define cache-dir (build-path (find-system-path 'pref-dir) - "whalesong" - whalesong:version)) -(unless (directory-exists? cache-dir) - (make-directory* cache-dir)) \ No newline at end of file diff --git a/version.rkt b/version.rkt index 91f4966..5b66238 100644 --- a/version.rkt +++ b/version.rkt @@ -6,4 +6,4 @@ (provide version) (: version String) -(define version "1.8") +(define version "1.10")