|
From: Michael D. <mik...@us...> - 2004-04-12 05:51:18
|
Update of /cvsroot/nhibernate/nhibernate/src/NHibernate/Dialect In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10163/NHibernate/Dialect Modified Files: GenericDialect.cs Log Message: Added overrides for SqlTypeToString and removed Register code. Index: GenericDialect.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Dialect/GenericDialect.cs,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** GenericDialect.cs 28 Apr 2003 14:25:09 -0000 1.6 --- GenericDialect.cs 12 Apr 2004 05:37:32 -0000 1.7 *************** *** 2,5 **** --- 2,7 ---- using System.Data; + using NHibernate.SqlTypes; + namespace NHibernate.Dialect { *************** *** 10,23 **** public GenericDialect() : base() { ! Register( DbType.Boolean, "BIT" ); ! Register( DbType.Int16, "SMALLINT" ); ! Register( DbType.Int32, "INTEGER" ); ! Register( DbType.Int64, "BIGINT" ); ! Register( DbType.String, "VARCHAR($1)" ); ! Register( DbType.Single, "FLOAT" ); ! Register( DbType.DateTime, "DATETIME" ); ! Register( DbType.Time, "TIMESTAMP" ); ! Register( DbType.Binary, "VARBINARY($1)" ); ! Register( DbType.Decimal, "DECIMAL" ); } --- 12,25 ---- public GenericDialect() : base() { ! // Register( DbType.Boolean, "BIT" ); ! // Register( DbType.Int16, "SMALLINT" ); ! // Register( DbType.Int32, "INTEGER" ); ! // Register( DbType.Int64, "BIGINT" ); ! // Register( DbType.String, "VARCHAR($1)" ); ! // Register( DbType.Single, "FLOAT" ); ! // Register( DbType.DateTime, "DATETIME" ); ! // Register( DbType.Time, "TIMESTAMP" ); ! // Register( DbType.Binary, "VARBINARY($1)" ); ! // Register( DbType.Decimal, "DECIMAL" ); } *************** *** 25,28 **** --- 27,131 ---- get { return "add column"; } } + + private string SqlTypeToString(string name, int length) + { + return name + "(" + length + ")"; + } + + private string SqlTypeToString(string name, int precision, int scale) + { + return name + "(" + precision + ", " + scale + ")"; + } + + protected override string SqlTypeToString(AnsiStringSqlType sqlType) + { + return SqlTypeToString("VARCHAR", sqlType.Length); + } + + protected override string SqlTypeToString(AnsiStringFixedLengthSqlType sqlType) + { + return SqlTypeToString("CHAR", sqlType.Length); + } + + protected override string SqlTypeToString(BinarySqlType sqlType) + { + return SqlTypeToString("VARBINARY", sqlType.Length); + } + + protected override string SqlTypeToString(BooleanSqlType sqlType) + { + return "BIT"; + } + + + protected override string SqlTypeToString(ByteSqlType sqlType) + { + return "TINYINT"; + } + + protected override string SqlTypeToString(CurrencySqlType sqlType) + { + return "MONEY"; + } + + protected override string SqlTypeToString(DateSqlType sqlType) + { + return "DATETIME"; + } + + protected override string SqlTypeToString(DateTimeSqlType sqlType) + { + return "DATETIME"; + } + + protected override string SqlTypeToString(TimeSqlType sqlType) + { + return "DATETIME"; + } + + protected override string SqlTypeToString(DecimalSqlType sqlType) + { + return SqlTypeToString("DECIMAL", sqlType.Precision, sqlType.Scale); + } + + protected override string SqlTypeToString(DoubleSqlType sqlType) + { + return SqlTypeToString("FLOAT", sqlType.Length); + } + + protected override string SqlTypeToString(GuidSqlType sqlType) + { + return "UNIQUEIDENTIFIER"; + } + + protected override string SqlTypeToString(Int16SqlType sqlType) + { + return "SMALLINT"; + } + + protected override string SqlTypeToString(Int32SqlType sqlType) + { + return "INTEGER"; + } + + protected override string SqlTypeToString(Int64SqlType sqlType) + { + return "BIGINT"; + } + + protected override string SqlTypeToString(SingleSqlType sqlType) + { + return SqlTypeToString("FLOAT", sqlType.Length); + } + + protected override string SqlTypeToString(StringFixedLengthSqlType sqlType) + { + return SqlTypeToString("NCHAR", sqlType.Length); + } + + protected override string SqlTypeToString(StringSqlType sqlType) + { + return SqlTypeToString("NVARCHAR", sqlType.Length); + } } } |