Skip to main content
summaryrefslogtreecommitdiffstats
blob: b4a9fb317d740f06b01c374b29afd5d755a792a5 (plain) (blame)
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
/***************************************************************************
 * Copyright (c) 2004 - 2008 Eike Stepper, Germany.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 * 
 * Contributors:
 *    Eike Stepper - initial API and implementation
 **************************************************************************/
package org.eclipse.emf.cdo.server.internal.db;

import org.eclipse.net4j.db.DBType;
import org.eclipse.net4j.db.ddl.IDBField;
import org.eclipse.net4j.db.ddl.IDBIndex;
import org.eclipse.net4j.db.ddl.IDBTable;
import org.eclipse.net4j.spi.db.DBSchema;

/**
 * @author Eike Stepper
 */
public class CDODBSchema extends DBSchema
{
  public static final CDODBSchema INSTANCE = new CDODBSchema();

  /**
   * DBTable cdo_repository
   */
  public static final IDBTable REPOSITORY = INSTANCE.addTable("cdo_repository");

  public static final IDBField REPOSITORY_CREATED = //
  REPOSITORY.addField("created", DBType.BIGINT);

  public static final IDBField REPOSITORY_STARTS = //
  REPOSITORY.addField("starts", DBType.BIGINT);

  public static final IDBField REPOSITORY_STARTED = //
  REPOSITORY.addField("started", DBType.BIGINT);

  public static final IDBField REPOSITORY_STOPPED = //
  REPOSITORY.addField("stopped", DBType.BIGINT);

  public static final IDBField REPOSITORY_NEXT_CDOID = //
  REPOSITORY.addField("next_cdoid", DBType.BIGINT);

  public static final IDBField REPOSITORY_NEXT_METAID = //
  REPOSITORY.addField("next_metaid", DBType.BIGINT);

  /**
   * DBTable cdo_packages
   */
  public static final IDBTable PACKAGES = INSTANCE.addTable("cdo_packages");

  public static final IDBField PACKAGES_ID = //
  PACKAGES.addField("id", DBType.INTEGER);

  public static final IDBField PACKAGES_URI = //
  PACKAGES.addField("uri", DBType.VARCHAR, 255);

  public static final IDBField PACKAGES_NAME = //
  PACKAGES.addField("name", DBType.VARCHAR, 255);

  public static final IDBField PACKAGES_ECORE = //
  PACKAGES.addField("ecore", DBType.CLOB);

  public static final IDBField PACKAGES_DYNAMIC = //
  PACKAGES.addField("dynamic", DBType.BOOLEAN);

  public static final IDBField PACKAGES_RANGE_LB = //
  PACKAGES.addField("range_lb", DBType.BIGINT);

  public static final IDBField PACKAGES_RANGE_UB = //
  PACKAGES.addField("range_ub", DBType.BIGINT);

  public static final IDBField PACKAGES_PARENT = //
  PACKAGES.addField("parent", DBType.VARCHAR, 255);

  public static final IDBIndex INDEX_PACKAGES_PK = //
  PACKAGES.addIndex(IDBIndex.Type.PRIMARY_KEY, PACKAGES_ID);

  public static final IDBIndex INDEX_PACKAGES_URI = //
  PACKAGES.addIndex(IDBIndex.Type.UNIQUE, PACKAGES_URI);

  public static final IDBIndex INDEX_PACKAGES_PARENT = //
  PACKAGES.addIndex(IDBIndex.Type.NON_UNIQUE, PACKAGES_PARENT);

  /**
   * DBTable cdo_classes
   */
  public static final IDBTable CLASSES = INSTANCE.addTable("cdo_classes");

  public static final IDBField CLASSES_ID = //
  CLASSES.addField("id", DBType.INTEGER);

  public static final IDBField CLASSES_PACKAGE = //
  CLASSES.addField("package", DBType.INTEGER);

  public static final IDBField CLASSES_CLASSIFIER = //
  CLASSES.addField("classifier", DBType.INTEGER);

  public static final IDBField CLASSES_NAME = //
  CLASSES.addField("name", DBType.VARCHAR, 255);

  public static final IDBField CLASSES_ABSTRACT = //
  CLASSES.addField("abstract", DBType.BOOLEAN);

  public static final IDBIndex INDEX_CLASSES_PK = //
  CLASSES.addIndex(IDBIndex.Type.PRIMARY_KEY, CLASSES_ID);

  public static final IDBIndex INDEX_CLASSES_PACKAGE = //
  CLASSES.addIndex(IDBIndex.Type.NON_UNIQUE, CLASSES_PACKAGE);

  /**
   * DBTable cdo_supertypes
   */
  public static final IDBTable SUPERTYPES = INSTANCE.addTable("cdo_supertypes");

  public static final IDBField SUPERTYPES_TYPE = //
  SUPERTYPES.addField("type_id", DBType.INTEGER);

  public static final IDBField SUPERTYPES_SUPERTYPE_PACKAGE = //
  SUPERTYPES.addField("supertype_package", DBType.VARCHAR, 255);

  public static final IDBField SUPERTYPES_SUPERTYPE_CLASSIFIER = //
  SUPERTYPES.addField("supertype_classifier", DBType.INTEGER);

  public static final IDBIndex INDEX_SUPERTYPES_PK = //
  SUPERTYPES.addIndex(IDBIndex.Type.PRIMARY_KEY, SUPERTYPES_TYPE);

  /**
   * DBTable cdo_features
   */
  public static final IDBTable FEATURES = INSTANCE.addTable("cdo_features");

  public static final IDBField FEATURES_ID = //
  FEATURES.addField("id", DBType.INTEGER);

  public static final IDBField FEATURES_CLASS = //
  FEATURES.addField("class", DBType.INTEGER);

  public static final IDBField FEATURES_FEATURE = //
  FEATURES.addField("feature", DBType.INTEGER);

  public static final IDBField FEATURES_NAME = //
  FEATURES.addField("name", DBType.VARCHAR, 255);

  public static final IDBField FEATURES_TYPE = //
  FEATURES.addField("type", DBType.INTEGER);

  public static final IDBField FEATURES_REFERENCE_PACKAGE = //
  FEATURES.addField("reference_package", DBType.VARCHAR, 255);

  public static final IDBField FEATURES_REFERENCE_CLASSIFIER = //
  FEATURES.addField("reference_classifier", DBType.INTEGER);

  public static final IDBField FEATURES_MANY = //
  FEATURES.addField("many", DBType.BOOLEAN);

  public static final IDBField FEATURES_CONTAINMENT = //
  FEATURES.addField("containment", DBType.BOOLEAN);

  public static final IDBField FEATURES_INDEX = //
  FEATURES.addField("idx", DBType.INTEGER);

  public static final IDBIndex INDEX_FEATURES_PK = //
  FEATURES.addIndex(IDBIndex.Type.PRIMARY_KEY, FEATURES_ID);

  public static final IDBIndex INDEX_FEATURES_CLASS = //
  FEATURES.addIndex(IDBIndex.Type.NON_UNIQUE, FEATURES_CLASS);

  /**
   * Name of object table
   */
  public static final String CDO_OBJECTS = "cdo_objects";

  /**
   * Field names of attribute tables
   */
  public static final String ATTRIBUTES_ID = "cdo_id";

  public static final String ATTRIBUTES_VERSION = "cdo_version";

  public static final String ATTRIBUTES_CLASS = "cdo_class";

  public static final String ATTRIBUTES_CREATED = "cdo_created";

  public static final String ATTRIBUTES_REVISED = "cdo_revised";

  public static final String ATTRIBUTES_RESOURCE = "cdo_resource";

  public static final String ATTRIBUTES_CONTAINER = "cdo_container";

  public static final String ATTRIBUTES_FEATURE = "cdo_feature";

  /**
   * Field names of reference tables
   */
  public static final String REFERENCES_FEATURE = "cdo_feature";

  public static final String REFERENCES_SOURCE = "cdo_source";

  public static final String REFERENCES_VERSION = "cdo_version";

  public static final String REFERENCES_IDX = "cdo_idx";

  public static final String REFERENCES_TARGET = "cdo_target";

  private CDODBSchema()
  {
    super("CDO");
  }

  static
  {
    INSTANCE.lock();
  }
}

Back to the top