1 package org.apache.torque.engine.platform;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.torque.engine.database.model.Domain;
23 import org.apache.torque.engine.database.model.SchemaType;
24
25 /***
26 * HSQLDB (formerly known as Hypersonic) Platform implementation.
27 *
28 * @author <a href="mailto:mpoeschl@marmot.at">Martin Poeschl</a>
29 * @version $Id: PlatformHypersonicImpl.java 473814 2006-11-11 22:30:30Z tv $
30 */
31 public class PlatformHypersonicImpl extends PlatformDefaultImpl
32 {
33 /***
34 * Default constructor.
35 */
36 public PlatformHypersonicImpl()
37 {
38 super();
39 initialize();
40 }
41
42 /***
43 * Initializes db specific domain mapping.
44 */
45 private void initialize()
46 {
47 setSchemaDomainMapping(new Domain(SchemaType.CHAR, "VARCHAR"));
48 setSchemaDomainMapping(new Domain(SchemaType.BOOLEANCHAR, "VARCHAR"));
49 setSchemaDomainMapping(new Domain(SchemaType.LONGVARCHAR, "VARCHAR"));
50 setSchemaDomainMapping(new Domain(SchemaType.VARBINARY, "BINARY"));
51 setSchemaDomainMapping(new Domain(SchemaType.BLOB, "BINARY"));
52 setSchemaDomainMapping(new Domain(SchemaType.CLOB, "LONGVARCHAR"));
53 }
54
55 /***
56 * @return The RDBMS-specific SQL fragment for autoincrement.
57 * @see Platform#getAutoIncrement()
58 */
59 public String getAutoIncrement()
60 {
61 return "GENERATED BY DEFAULT AS IDENTITY (START WITH 1)";
62 }
63
64 /***
65 * Returns whether the "not null part" of the definition of a column
66 * should be generated before the "autoincrement part" in a "create table"
67 * statement.
68 * @return false.
69 * @see Platform#createNotNullBeforeAutoincrement()
70 */
71 public boolean createNotNullBeforeAutoincrement()
72 {
73 return false;
74 }
75 }