Next: , Previous: Command Intrinsics, Up: Embedded Commands


6.1.4.3 Define-tables Example

The following example shows a new database with the name of foo.db being created with tables describing processor families and processor/os/compiler combinations. The database is then solidified; saved and changed to immutable.

     (require 'databases)
     (define my-rdb (create-database "foo.db" 'alist-table))
     (define-tables my-rdb
       '(processor-family
         ((family    atom))
         ((also-ran  processor-family))
         ((m68000           #f)
          (m68030           m68000)
          (i386             i8086)
          (i8086            #f)
          (powerpc          #f)))
     
       '(platform
         ((name      symbol))
         ((processor processor-family)
          (os        symbol)
          (compiler  symbol))
         ((aix              powerpc aix     -)
          (amiga-dice-c     m68000  amiga   dice-c)
          (amiga-aztec      m68000  amiga   aztec)
          (amiga-sas/c-5.10 m68000  amiga   sas/c)
          (atari-st-gcc     m68000  atari   gcc)
          (atari-st-turbo-c m68000  atari   turbo-c)
          (borland-c-3.1    i8086   ms-dos  borland-c)
          (djgpp            i386    ms-dos  gcc)
          (linux            i386    linux   gcc)
          (microsoft-c      i8086   ms-dos  microsoft-c)
          (os/2-emx         i386    os/2    gcc)
          (turbo-c-2        i8086   ms-dos  turbo-c)
          (watcom-9.0       i386    ms-dos  watcom))))
     
     (solidify-database my-rdb)