Skip to content

Commit 5a82c5f

Browse files
author
Mike Doerfler
committedApr 12, 2004
Added overrides for SqlTypeToString and removed Register code.
SVN: trunk@401
1 parent 34afadc commit 5a82c5f

File tree

1 file changed

+113
-10
lines changed

1 file changed

+113
-10
lines changed
 
+113-10
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
using System;
22
using System.Data;
33

4+
using NHibernate.SqlTypes;
5+
46
namespace NHibernate.Dialect {
57

68
/// <summary>
@@ -9,20 +11,121 @@ namespace NHibernate.Dialect {
911
public class GenericDialect : Dialect {
1012

1113
public GenericDialect() : base() {
12-
Register( DbType.Boolean, "BIT" );
13-
Register( DbType.Int16, "SMALLINT" );
14-
Register( DbType.Int32, "INTEGER" );
15-
Register( DbType.Int64, "BIGINT" );
16-
Register( DbType.String, "VARCHAR($1)" );
17-
Register( DbType.Single, "FLOAT" );
18-
Register( DbType.DateTime, "DATETIME" );
19-
Register( DbType.Time, "TIMESTAMP" );
20-
Register( DbType.Binary, "VARBINARY($1)" );
21-
Register( DbType.Decimal, "DECIMAL" );
14+
// Register( DbType.Boolean, "BIT" );
15+
// Register( DbType.Int16, "SMALLINT" );
16+
// Register( DbType.Int32, "INTEGER" );
17+
// Register( DbType.Int64, "BIGINT" );
18+
// Register( DbType.String, "VARCHAR($1)" );
19+
// Register( DbType.Single, "FLOAT" );
20+
// Register( DbType.DateTime, "DATETIME" );
21+
// Register( DbType.Time, "TIMESTAMP" );
22+
// Register( DbType.Binary, "VARBINARY($1)" );
23+
// Register( DbType.Decimal, "DECIMAL" );
2224
}
2325

2426
public override string AddColumnString {
2527
get { return "add column"; }
2628
}
29+
30+
private string SqlTypeToString(string name, int length)
31+
{
32+
return name + "(" + length + ")";
33+
}
34+
35+
private string SqlTypeToString(string name, int precision, int scale)
36+
{
37+
return name + "(" + precision + ", " + scale + ")";
38+
}
39+
40+
protected override string SqlTypeToString(AnsiStringSqlType sqlType)
41+
{
42+
return SqlTypeToString("VARCHAR", sqlType.Length);
43+
}
44+
45+
protected override string SqlTypeToString(AnsiStringFixedLengthSqlType sqlType)
46+
{
47+
return SqlTypeToString("CHAR", sqlType.Length);
48+
}
49+
50+
protected override string SqlTypeToString(BinarySqlType sqlType)
51+
{
52+
return SqlTypeToString("VARBINARY", sqlType.Length);
53+
}
54+
55+
protected override string SqlTypeToString(BooleanSqlType sqlType)
56+
{
57+
return "BIT";
58+
}
59+
60+
61+
protected override string SqlTypeToString(ByteSqlType sqlType)
62+
{
63+
return "TINYINT";
64+
}
65+
66+
protected override string SqlTypeToString(CurrencySqlType sqlType)
67+
{
68+
return "MONEY";
69+
}
70+
71+
protected override string SqlTypeToString(DateSqlType sqlType)
72+
{
73+
return "DATETIME";
74+
}
75+
76+
protected override string SqlTypeToString(DateTimeSqlType sqlType)
77+
{
78+
return "DATETIME";
79+
}
80+
81+
protected override string SqlTypeToString(TimeSqlType sqlType)
82+
{
83+
return "DATETIME";
84+
}
85+
86+
protected override string SqlTypeToString(DecimalSqlType sqlType)
87+
{
88+
return SqlTypeToString("DECIMAL", sqlType.Precision, sqlType.Scale);
89+
}
90+
91+
protected override string SqlTypeToString(DoubleSqlType sqlType)
92+
{
93+
return SqlTypeToString("FLOAT", sqlType.Length);
94+
}
95+
96+
protected override string SqlTypeToString(GuidSqlType sqlType)
97+
{
98+
return "UNIQUEIDENTIFIER";
99+
}
100+
101+
protected override string SqlTypeToString(Int16SqlType sqlType)
102+
{
103+
return "SMALLINT";
104+
}
105+
106+
protected override string SqlTypeToString(Int32SqlType sqlType)
107+
{
108+
return "INTEGER";
109+
}
110+
111+
protected override string SqlTypeToString(Int64SqlType sqlType)
112+
{
113+
return "BIGINT";
114+
}
115+
116+
protected override string SqlTypeToString(SingleSqlType sqlType)
117+
{
118+
return SqlTypeToString("FLOAT", sqlType.Length);
119+
}
120+
121+
protected override string SqlTypeToString(StringFixedLengthSqlType sqlType)
122+
{
123+
return SqlTypeToString("NCHAR", sqlType.Length);
124+
}
125+
126+
protected override string SqlTypeToString(StringSqlType sqlType)
127+
{
128+
return SqlTypeToString("NVARCHAR", sqlType.Length);
129+
}
27130
}
28131
}

0 commit comments

Comments
 (0)