Index: cache.rkt ================================================================== --- cache.rkt +++ cache.rkt @@ -34,26 +34,26 @@ (define cache-conn (make-parameter (sqlite3-connect #:database DBFILE #:mode 'create))) (define-schema cache:article #:table "articles" ([id id/f #:primary-key #:auto-increment] [page symbol/f] - [title-plain string/f] - [title-html-flow string/f] - [title-specified? boolean/f] - [published string/f] - [updated string/f] - [author string/f] + [title-plain string/f #:nullable] + [title-html-flow string/f #:nullable] + [title-specified? boolean/f #:nullable] + [published string/f #:nullable] + [updated string/f #:nullable] + [author string/f #:nullable] [conceal string/f] - [series-page symbol/f] - [noun-singular string/f] - [note-count integer/f] - [content-html string/f] - [disposition string/f] - [disp-html-anchor string/f] - [listing-full-html string/f] ; full content but without notes - [listing-excerpt-html string/f] ; Not used for now - [listing-short-html string/f])) ; Date and title only + [series-page symbol/f #:nullable] + [noun-singular string/f #:nullable] + [note-count integer/f #:nullable] + [content-html string/f #:nullable] + [disposition string/f #:nullable] + [disp-html-anchor string/f #:nullable] + [listing-full-html string/f #:nullable] ; full content but without notes + [listing-excerpt-html string/f #:nullable] ; Not used for now + [listing-short-html string/f #:nullable])) ; Date and title only (define-schema cache:note #:table "notes" ([id id/f #:primary-key #:auto-increment] [page symbol/f] [html-anchor string/f] Index: code-docs/cache.scrbl ================================================================== --- code-docs/cache.scrbl +++ code-docs/cache.scrbl @@ -189,11 +189,14 @@ [listing-full-html string/f] [listing-excerpt-html string/f] [listing-short-html string/f]) #:constructor-name make-cache:article]{ -Table holding cached article information. +Table holding cached @tech{article} information. + +When creating a @racket[cache:article] (should you ever need to do so directly, which is unlikely), +the only required fields are @racket[_page], @racket[_title], and @racket[_conceal]. } @defstruct*[cache:note ([id id/f] [page symbol/f] @@ -210,11 +213,11 @@ [listing-full-html string/f] [listing-excerpt-html string/f] [listing-short-html string/f]) #:constructor-name make-cache:note]{ -Table holding cached information on notes. +Table holding cached information on @tech{notes}. } @defstruct*[cache:index-entry ([id id/f] [entry string/f] @@ -221,11 +224,11 @@ [subentry string/f] [page symbol/f] [html-anchor string/f]) #:constructor-name make-cache:index-entry]{ -Table holding cached information about index entries found in articles. +Table holding cached information about index entries found in @tech{articles}. } @defstruct*[listing ([path string/f] [title string/f]