1 package org.apache.torque.templates.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.templates.typemapping.SchemaType;
23 import org.apache.torque.templates.typemapping.SqlType;
24
25
26
27
28
29
30
31 public class PlatformPostgresqlImpl extends PlatformDefaultImpl
32 {
33
34
35
36 public PlatformPostgresqlImpl()
37 {
38 super();
39 initialize();
40 }
41
42
43
44
45 private void initialize()
46 {
47 setSchemaTypeToSqlTypeMapping(
48 SchemaType.BIT,
49 new SqlType("BOOLEAN"));
50 setSchemaTypeToSqlTypeMapping(
51 SchemaType.TINYINT,
52 new SqlType("INT2"));
53 setSchemaTypeToSqlTypeMapping(
54 SchemaType.SMALLINT,
55 new SqlType("INT2"));
56 setSchemaTypeToSqlTypeMapping(
57 SchemaType.BIGINT,
58 new SqlType("INT8"));
59 setSchemaTypeToSqlTypeMapping(
60 SchemaType.REAL,
61 new SqlType("FLOAT"));
62 setSchemaTypeToSqlTypeMapping(
63 SchemaType.BOOLEANCHAR,
64 new SqlType("CHAR"));
65 setSchemaTypeToSqlTypeMapping(
66 SchemaType.BOOLEANINT,
67 new SqlType("INT2"));
68 setSchemaTypeToSqlTypeMapping(
69 SchemaType.DOUBLE,
70 new SqlType("DOUBLE PRECISION"));
71 setSchemaTypeToSqlTypeMapping(
72 SchemaType.LONGVARCHAR,
73 new SqlType("TEXT"));
74 setSchemaTypeToSqlTypeMapping(
75 SchemaType.BINARY,
76 new SqlType("BYTEA"));
77 setSchemaTypeToSqlTypeMapping(
78 SchemaType.VARBINARY,
79 new SqlType("BYTEA"));
80 setSchemaTypeToSqlTypeMapping(
81 SchemaType.LONGVARBINARY,
82 new SqlType("BYTEA"));
83 setSchemaTypeToSqlTypeMapping(
84 SchemaType.BLOB,
85 new SqlType("BYTEA"));
86 setSchemaTypeToSqlTypeMapping(
87 SchemaType.CLOB,
88 new SqlType("TEXT"));
89 }
90
91
92
93
94 public String getAutoIncrement()
95 {
96 return "";
97 }
98
99
100
101
102
103 public boolean hasScale(String sqlType)
104 {
105 if ("INT2".equalsIgnoreCase(sqlType)
106 || "TEXT".equalsIgnoreCase(sqlType))
107 {
108 return false;
109 }
110 return true;
111 }
112
113
114
115
116
117 public boolean hasSize(String sqlType)
118 {
119 if ("INT2".equalsIgnoreCase(sqlType)
120 || "TEXT".equalsIgnoreCase(sqlType))
121 {
122 return false;
123 }
124 return true;
125 }
126
127 protected boolean escapeBackslashes()
128 {
129 return true;
130 }
131 }