b298f5768c9f1f9cad6ac460c4bc69d9d1f78f21
[cfb.git] / prod / net / jaekl / cfb / db / CfbSchema.java
1 package net.jaekl.cfb.db;
2
3 import static net.jaekl.cfb.db.Column.Null.*;
4 import static net.jaekl.cfb.db.Column.Type.*;
5 import net.jaekl.cfb.db.driver.DbDriver;
6
7
8 public class CfbSchema extends Schema {
9         // Define each table as follows:
10         // {
11         //   { table_name },
12         //   { column_name, type, width (-1 for default), null/not_null }
13         // }
14         private static final Object[][][] TABLES = {
15                 {
16                         { "BUGS" },
17                         { "BUGID", INTEGER, -1, NOT_NULL },
18                         { "TYPE", VARCHAR, 80, NOT_NULL },
19                         { "SHORTDESCR", VARCHAR, 128, NOT_NULL },
20                         { "LONGDESCR", VARCHAR, 128, NOT_NULL },
21                         { "DETAILS", VARCHAR, 4096, NOT_NULL }
22                 },
23                 {
24                         { "CATEGORIES" },
25                         { "CATEGORYID", INTEGER, -1, NOT_NULL },
26                         { "DESCRIPTION", VARCHAR, 128, NOT_NULL },
27                         { "ABBREVIATION", CHAR, 1, NOT_NULL },
28                         { "DETAILS", VARCHAR, 4096, NOT_NULL }
29                 },
30                 { 
31                         { "FOUND" },
32                         { "FOUNDID", INTEGER, -1, NOT_NULL },
33                         { "BUGID", INTEGER, -1, NOT_NULL },
34                         { "CATEGORYID", INTEGER, -1, NOT_NULL },
35                         { "FIRSTLOCID", INTEGER, -1, NOT_NULL },
36                         { "SECONDLOCID", INTEGER, -1, NULL },
37                         { "THIRDLOCID", INTEGER, -1, NULL }
38                 },
39                 {
40                         { "LOCATION" },
41                         { "LOCID", INTEGER, -1, NOT_NULL },
42                         { "CLASSNAME", VARCHAR, 256, NOT_NULL },
43                         { "STARTLINE", INTEGER, -1, NULL },
44                         { "ENDLINE", INTEGER, -1, NULL }
45                 },
46                 {
47                         // Runs of FindBugs, normally one per build version
48                         { "RUNS " },
49                         { "RUNID", INTEGER, -1, NOT_NULL },
50                         { "VERSION", VARCHAR, 32, NULL },
51                         { "START", TIMESTAMPTZ, -1, NOT_NULL },
52                         { "END", TIMESTAMPTZ, -1, NOT_NULL }
53                 }
54         };
55         
56         public CfbSchema(DbDriver driver) {
57                 super("CFB", driver);
58                 
59                 addTables(TABLES);
60         }       
61 }