01: /* ***** BEGIN LICENSE BLOCK *****
02: * Version: MPL 1.1
03: * The contents of this file are subject to the Mozilla Public License Version
04: * 1.1 (the "License"); you may not use this file except in compliance with
05: * the License. You may obtain a copy of the License at
06: * http://www.mozilla.org/MPL/
07: *
08: * Software distributed under the License is distributed on an "AS IS" basis,
09: * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
10: * for the specific language governing rights and limitations under the
11: * License.
12: *
13: * The Original Code is Riot.
14: *
15: * The Initial Developer of the Original Code is
16: * Neteye GmbH.
17: * Portions created by the Initial Developer are Copyright (C) 2006
18: * the Initial Developer. All Rights Reserved.
19: *
20: * Contributor(s):
21: * Felix Gnass [fgnass at neteye dot de]
22: *
23: * ***** END LICENSE BLOCK ***** */
24: package org.riotfamily.revolt;
25:
26: import java.util.Collection;
27:
28: import org.riotfamily.revolt.definition.Column;
29: import org.riotfamily.revolt.definition.ForeignKey;
30: import org.riotfamily.revolt.definition.Index;
31: import org.riotfamily.revolt.definition.Table;
32: import org.riotfamily.revolt.definition.UniqueConstraint;
33:
34: /**
35: * @author Felix Gnass [fgnass at neteye dot de]
36: *
37: */
38: public interface Dialect {
39:
40: public String getName();
41:
42: public boolean supports(String databaseProductName,
43: int majorVersion, int minorVersion);
44:
45: public Script createTable(Table table);
46:
47: public Script renameTable(String name, String renameTo);
48:
49: public Script dropTable(String name);
50:
51: public Script addColumn(String table, Column column);
52:
53: public Script renameColumn(String table, String name,
54: String renameTo);
55:
56: public Script modifyColumn(String table, Column column);
57:
58: public Script dropColumn(String table, String name);
59:
60: public Script createIndex(String table, Index index);
61:
62: public Script dropIndex(String table, String name);
63:
64: public Script addUniqueConstraint(String table,
65: UniqueConstraint constraint);
66:
67: public Script dropUniqueConstraint(String table, String name);
68:
69: public Script addForeignKey(String table, ForeignKey fk);
70:
71: public Script dropForeignKey(String table, String name);
72:
73: public Script insert(String table, Collection data);
74:
75: public Script createAutoIncrementSequence(String name);
76:
77: }
|