From: <cin...@us...> - 2008-08-30 11:56:24
|
Revision: 642 http://firebird.svn.sourceforge.net/firebird/?rev=642&view=rev Author: cincura_net Date: 2008-08-30 11:56:34 +0000 (Sat, 30 Aug 2008) Log Message: ----------- Added new date/time canonical functions. Modified Paths: -------------- NETProvider/trunk/NETProvider/source/FirebirdSql/Data/Entity/SqlGenerator.cs Modified: NETProvider/trunk/NETProvider/source/FirebirdSql/Data/Entity/SqlGenerator.cs =================================================================== --- NETProvider/trunk/NETProvider/source/FirebirdSql/Data/Entity/SqlGenerator.cs 2008-08-29 15:59:10 UTC (rev 641) +++ NETProvider/trunk/NETProvider/source/FirebirdSql/Data/Entity/SqlGenerator.cs 2008-08-30 11:56:34 UTC (rev 642) @@ -309,10 +309,10 @@ functionHandlers.Add("NewGuid", HandleCanonicalFunctionNewGuid); //Math Canonical Functions - functionHandlers.Add("Round", HandleCanonicalFunctionRound); functionHandlers.Add("Abs", HandleCanonicalFunctionAbs); functionHandlers.Add("Ceiling", HandleCanonicalFunctionCeiling); functionHandlers.Add("Floor", HandleCanonicalFunctionFloor); + functionHandlers.Add("Round", HandleCanonicalFunctionRound); //String Canonical Functions functionHandlers.Add("Concat", HandleConcatFunction); @@ -330,16 +330,19 @@ functionHandlers.Add("Substring", HandleCanonicalFunctionSubstring); //Date and Time Canonical Functions - functionHandlers.Add("Year", HandleCanonicalFunctionDatepart); - functionHandlers.Add("Month", HandleCanonicalFunctionDatepart); - functionHandlers.Add("Day", HandleCanonicalFunctionDatepart); - functionHandlers.Add("Hour", HandleCanonicalFunctionDatepart); - functionHandlers.Add("Minute", HandleCanonicalFunctionDatepart); - functionHandlers.Add("Second", HandleCanonicalFunctionDatepart); + functionHandlers.Add("Year", HandleCanonicalFunctionExtract); + functionHandlers.Add("Month", HandleCanonicalFunctionExtract); + functionHandlers.Add("Day", HandleCanonicalFunctionExtract); + functionHandlers.Add("Hour", HandleCanonicalFunctionExtract); + functionHandlers.Add("Minute", HandleCanonicalFunctionExtract); + functionHandlers.Add("Second", HandleCanonicalFunctionExtract); + functionHandlers.Add("Millisecond", HandleCanonicalFunctionExtract); functionHandlers.Add("DateAdd", HandleCanonicalFunctionDateAdd); functionHandlers.Add("DateDiff", HandleCanonicalFunctionDateDiff); - functionHandlers.Add("GetDate", HandleCanonicalFunctionGetDate); - functionHandlers.Add("GetUtcDate", HandleCanonicalFunctionGetUtcDate); // not supported + functionHandlers.Add("CurrentDateTime", HandleCanonicalFunctionCurrentDateTime); + functionHandlers.Add("CurrentUtcDateTime", HandleCanonicalFunctionCurrentUtcDateTime); // not supported + functionHandlers.Add("CurrentDateTimeOffset", HandleCanonicalFunctionCurrentDateTimeOffset); // not supported + functionHandlers.Add("GetTotalOffsetMinutes", HandleCanonicalFunctionGetTotalOffsetMinutes); // not supported //Bitwise Canonical Functions functionHandlers.Add("BitwiseAnd", HandleCanonicalFunctionBitwiseAnd); @@ -2645,13 +2648,23 @@ #endregion #region Date and Time Canonical Functions - private static ISqlFragment HandleCanonicalFunctionGetUtcDate(SqlGenerator sqlgen, DbFunctionExpression e) + private static ISqlFragment HandleCanonicalFunctionCurrentUtcDateTime(SqlGenerator sqlgen, DbFunctionExpression e) { throw new NotSupportedException(); } - private static ISqlFragment HandleCanonicalFunctionGetDate(SqlGenerator sqlgen, DbFunctionExpression e) + private static ISqlFragment HandleCanonicalFunctionCurrentDateTimeOffset(SqlGenerator sqlgen, DbFunctionExpression e) { + throw new NotSupportedException(); + } + + private static ISqlFragment HandleCanonicalFunctionGetTotalOffsetMinutes(SqlGenerator sqlgen, DbFunctionExpression e) + { + throw new NotSupportedException(); + } + + private static ISqlFragment HandleCanonicalFunctionCurrentDateTime(SqlGenerator sqlgen, DbFunctionExpression e) + { SqlBuilder result = new SqlBuilder(); result.Append("CURRENT_TIMESTAMP"); return result; @@ -2662,7 +2675,7 @@ /// For example: /// Year(date) -> EXTRACT(YEAR from date) /// </summary> - private static ISqlFragment HandleCanonicalFunctionDatepart(SqlGenerator sqlgen, DbFunctionExpression e) + private static ISqlFragment HandleCanonicalFunctionExtract(SqlGenerator sqlgen, DbFunctionExpression e) { SqlBuilder result = new SqlBuilder(); result.Append("EXTRACT("); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |