aboutsummaryrefslogtreecommitdiff
path: root/dump/table.scm
blob: 834c4fd361dfd9ab36279b8b19a3afa6bd1d9596 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
(define-module (dump table)
  #:use-module (srfi srfi-9 gnu)
  #:export (make-table
            table-name
            table-size
            table-columns
            set-table-columns
            make-column
            column-name
            column-type
            column-dumped?))

(define-immutable-record-type <table>
  (make-table name size columns)
  table?
  (name table-name)
  (size table-size)
  (columns table-columns set-table-columns))

(define-immutable-record-type <column>
  (column-constructor name type dumped?)
  column?
  (name column-name)
  (type column-type)
  (dumped? column-dumped?))

(define* (make-column name type #:optional dumped?)
  (column-constructor name type dumped?))