You can subscribe to this list here.
2004 |
Jan
|
Feb
|
Mar
|
Apr
(248) |
May
(82) |
Jun
(90) |
Jul
(177) |
Aug
(253) |
Sep
(157) |
Oct
(151) |
Nov
(143) |
Dec
(278) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
(152) |
Feb
(107) |
Mar
(177) |
Apr
(133) |
May
(259) |
Jun
(81) |
Jul
(119) |
Aug
(306) |
Sep
(416) |
Oct
(240) |
Nov
(329) |
Dec
(206) |
2006 |
Jan
(466) |
Feb
(382) |
Mar
(153) |
Apr
(162) |
May
(133) |
Jun
(21) |
Jul
(18) |
Aug
(37) |
Sep
(97) |
Oct
(114) |
Nov
(110) |
Dec
(28) |
2007 |
Jan
(74) |
Feb
(65) |
Mar
(49) |
Apr
(76) |
May
(43) |
Jun
(15) |
Jul
(68) |
Aug
(55) |
Sep
(63) |
Oct
(59) |
Nov
(70) |
Dec
(66) |
2008 |
Jan
(71) |
Feb
(60) |
Mar
(120) |
Apr
(31) |
May
(48) |
Jun
(81) |
Jul
(107) |
Aug
(51) |
Sep
(80) |
Oct
(83) |
Nov
(83) |
Dec
(79) |
2009 |
Jan
(83) |
Feb
(110) |
Mar
(97) |
Apr
(91) |
May
(291) |
Jun
(250) |
Jul
(197) |
Aug
(58) |
Sep
(54) |
Oct
(122) |
Nov
(68) |
Dec
(34) |
2010 |
Jan
(50) |
Feb
(17) |
Mar
(63) |
Apr
(61) |
May
(84) |
Jun
(81) |
Jul
(138) |
Aug
(144) |
Sep
(78) |
Oct
(26) |
Nov
(30) |
Dec
(61) |
2011 |
Jan
(33) |
Feb
(35) |
Mar
(166) |
Apr
(221) |
May
(109) |
Jun
(76) |
Jul
(27) |
Aug
(37) |
Sep
(1) |
Oct
(4) |
Nov
(2) |
Dec
(1) |
2012 |
Jan
|
Feb
|
Mar
(2) |
Apr
(2) |
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
(1) |
Oct
|
Nov
(1) |
Dec
|
2013 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(1) |
Sep
(3) |
Oct
(2) |
Nov
|
Dec
(1) |
2014 |
Jan
(1) |
Feb
(1) |
Mar
(3) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Michael D. <mik...@us...> - 2004-05-24 05:51:15
|
Update of /cvsroot/nhibernate/nhibernate/src/NHibernate/Engine In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25527/NHibernate/Engine Modified Files: Key.cs Log Message: Added a check to see if the object was null. Don't know why this is being called with a null object. The Debugger has the Count=0 Index: Key.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Engine/Key.cs,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** Key.cs 28 Mar 2004 06:04:36 -0000 1.4 --- Key.cs 24 May 2004 05:51:03 -0000 1.5 *************** *** 50,53 **** --- 50,57 ---- { Key otherKey = other as Key; + if(otherKey==null) + { + return false; + } return otherKey.identifierSpace.Equals(this.identifierSpace) && otherKey.id.Equals(this.id); } |
From: Michael D. <mik...@us...> - 2004-05-24 05:49:29
|
Update of /cvsroot/nhibernate/nhibernate/src/NHibernate/Type In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25192/NHibernate/Type Modified Files: PersistentCollectionType.cs SetType.cs Log Message: Changed method to virtual because of the SetType's special handling... Index: SetType.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Type/SetType.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** SetType.cs 10 Feb 2004 18:41:42 -0000 1.2 --- SetType.cs 24 May 2004 05:49:19 -0000 1.3 *************** *** 43,46 **** --- 43,52 ---- } + public override ICollection GetElementsCollection(object collection) + { + return (ICollection)((IDictionary)collection).Keys; + } + + } Index: PersistentCollectionType.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Type/PersistentCollectionType.cs,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** PersistentCollectionType.cs 6 May 2004 13:14:03 -0000 1.10 --- PersistentCollectionType.cs 24 May 2004 05:49:19 -0000 1.11 *************** *** 93,98 **** // return ( (java.util.Collection) collection ).iterator(); //} ! public ICollection GetElementsCollection(object collection) { ! return ( (ICollection )collection ); } --- 93,103 ---- // return ( (java.util.Collection) collection ).iterator(); //} ! /// <summary> ! /// Returns a reference to the underlying ICollection ! /// </summary> ! /// <param name="collection">The object that holds the ICollection.</param> ! /// <returns>An ICollection.</returns> ! public virtual ICollection GetElementsCollection(object collection) { ! return ( (ICollection)collection ); } |
From: Michael D. <mik...@us...> - 2004-05-24 05:47:11
|
Update of /cvsroot/nhibernate/nhibernate/src/NHibernate.DomainModel In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24821/NHibernate.DomainModel Modified Files: Simple.cs Simple.hbm.xml Log Message: Removed DecimalProp from NHibernate.DomainModel.Simple class. Index: Simple.hbm.xml =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate.DomainModel/Simple.hbm.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Simple.hbm.xml 9 Mar 2004 16:37:01 -0000 1.2 --- Simple.hbm.xml 24 May 2004 05:47:00 -0000 1.3 *************** *** 10,14 **** <property name="Count" column="count_" not-null="true" unique="true"/> <property name="Date" column="date_"/> - <property name="DecimalProp" column="decimal_prop" /> <many-to-one name="Other"/> </class> --- 10,13 ---- Index: Simple.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate.DomainModel/Simple.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Simple.cs 10 Feb 2004 19:12:58 -0000 1.1 --- Simple.cs 24 May 2004 05:47:00 -0000 1.2 *************** *** 1,7 **** using System; ! namespace NHibernate.DomainModel { ! ! public class Simple { private long key; private string name; --- 1,8 ---- using System; ! namespace NHibernate.DomainModel ! { ! public class Simple ! { private long key; private string name; *************** *** 10,21 **** private DateTime date; private Simple other; - private decimal decimalProp; ! public Simple(int c) { count=c; } public Simple() {} ! public void Init() { name="Someone with along name"; address="1234 some street, some city, victoria, 3000, austaya"; --- 11,23 ---- private DateTime date; private Simple other; ! public Simple(int c) ! { count=c; } public Simple() {} ! public void Init() ! { name="Someone with along name"; address="1234 some street, some city, victoria, 3000, austaya"; *************** *** 30,63 **** } ! public string Name { get { return name; } set { name = value; } } ! public string Address { get { return address; } set { address = value; } } ! public int Count { get { return count; } set { count = value; } } ! public DateTime Date { get { return date; } set { date = value; } } ! public Simple Other { get { return other; } set { other = value; } } - public decimal DecimalProp { - get { return decimalProp;} - set { decimalProp = value;} - } - } } --- 32,65 ---- } ! public string Name ! { get { return name; } set { name = value; } } ! public string Address ! { get { return address; } set { address = value; } } ! public int Count ! { get { return count; } set { count = value; } } ! public DateTime Date ! { get { return date; } set { date = value; } } ! public Simple Other ! { get { return other; } set { other = value; } } } } |
From: Michael D. <mik...@us...> - 2004-05-24 05:47:09
|
Update of /cvsroot/nhibernate/nhibernate/src/NHibernate.Test In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24821/NHibernate.Test Modified Files: CriteriaTest.cs Log Message: Removed DecimalProp from NHibernate.DomainModel.Simple class. Index: CriteriaTest.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate.Test/CriteriaTest.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** CriteriaTest.cs 10 Feb 2004 19:16:54 -0000 1.1 --- CriteriaTest.cs 24 May 2004 05:46:59 -0000 1.2 *************** *** 27,31 **** simple1.Address = "Street 12"; simple1.Date = DateTime.Now; - simple1.DecimalProp = 5.55M; simple1.Key = 15; simple1.Name = "For Criteria Test"; --- 27,30 ---- *************** *** 35,39 **** notSimple1.Address = "Street 123"; notSimple1.Date = DateTime.Now; - notSimple1.DecimalProp = 6.55M; notSimple1.Key = 17; notSimple1.Name = "Don't be found"; --- 34,37 ---- |
From: Michael D. <mik...@us...> - 2004-05-20 21:13:11
|
Update of /cvsroot/nhibernate/nhibernate/src/NHibernate.Test In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8541/NHibernate.Test Modified Files: FooBarTest.cs Log Message: Test with "?" as a parameter is now working. Index: FooBarTest.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate.Test/FooBarTest.cs,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** FooBarTest.cs 11 May 2004 19:47:17 -0000 1.20 --- FooBarTest.cs 20 May 2004 21:13:02 -0000 1.21 *************** *** 230,234 **** [Test] - [Ignore("This is not working until I get parameters and HQL working better.")] public void Cache() { --- 230,233 ---- |
From: Michael D. <mik...@us...> - 2004-05-20 21:08:08
|
Update of /cvsroot/nhibernate/nhibernate/src/NHibernate/Hql In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7555/NHibernate/Hql Modified Files: WhereParser.cs Log Message: NamedParameters are converted to a "?" instead of being wrapped with "[<" and ">]" Index: WhereParser.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Hql/WhereParser.cs,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** WhereParser.cs 30 Apr 2004 09:35:40 -0000 1.12 --- WhereParser.cs 20 May 2004 21:07:58 -0000 1.13 *************** *** 435,440 **** { q.AddNamedParameter(token.Substring(1)); ! //TODO: H2.0.3 why token is not '?' ?? ! AppendToken(q, "[<" + token.Substring(1) + ">]"); // THEO } else --- 435,439 ---- { q.AddNamedParameter(token.Substring(1)); ! AppendToken(q, StringHelper.SqlParameter); } else |
From: Michael D. <mik...@us...> - 2004-05-20 21:06:14
|
Update of /cvsroot/nhibernate/nhibernate/src/NHibernate/Hql In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7116/NHibernate/Hql Modified Files: QueryTranslator.cs Log Message: Methods to convert Hql's sql string into an IDbCommand moved into QueryTranslator. It now works with both "?" and named parameters. Index: QueryTranslator.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Hql/QueryTranslator.cs,v retrieving revision 1.27 retrieving revision 1.28 diff -C2 -d -r1.27 -r1.28 *** QueryTranslator.cs 30 Apr 2004 14:06:46 -0000 1.27 --- QueryTranslator.cs 20 May 2004 21:05:29 -0000 1.28 *************** *** 460,464 **** if (superQuery != null) superQuery.AddNamedParameter(name); ! int loc = ++parameterCount; object o = namedParameters[name]; if (o == null) --- 460,466 ---- if (superQuery != null) superQuery.AddNamedParameter(name); ! // want the param index to start at 0 instead of 1 ! //int loc = ++parameterCount; ! int loc = parameterCount++; object o = namedParameters[name]; if (o == null) *************** *** 902,906 **** { // Hack: parametercollection starts at 0 ! typedval.Type.NullSafeSet(ps, typedval.Value, Impl.AdoHack.ParameterPos(locs[i] + start), session); // end-of Hack } --- 904,909 ---- { // Hack: parametercollection starts at 0 ! //typedval.Type.NullSafeSet(ps, typedval.Value, Impl.AdoHack.ParameterPos(locs[i] + start), session); ! typedval.Type.NullSafeSet(ps, typedval.Value, (locs[i] + start), session); // end-of Hack } *************** *** 1228,1231 **** --- 1231,1343 ---- } } + + /// <summary> + /// Obtain an <see cref="IDbCommand"/> and bind the parameters. + /// </summary> + /// <param name="sql">A string containing the Sql statement</param> + /// <param name="values">The values to put in the Parameters.</param> + /// <param name="types">The IType to use to put the values in the Parameters.</param> + /// <param name="selection"></param> + /// <param name="scroll"></param> + /// <param name="session">The ISession currently in.</param> + /// <returns>An IDbCommand that is ready for execution.</returns> + /// <remarks> + /// <para> + /// This is used to convert an Hql sql string into a SqlString and then finally into an IDbCommand + /// that has been prepared. + /// </para> + /// <para> + /// This should not be considered a permanent solution because it is not very smart - it splits on + /// a <c>?</c> as long as the previous token ends with <c>"="</c> or <c>"= "</c>. + /// </para> + /// <para> + /// This used to be in the Loader, but since the only use of this right now is in the QueryTranslator + /// I moved it into here. + /// </para> + /// </remarks> + protected override IDbCommand PrepareQueryStatement(string sql, object[] values, IType[] types, IDictionary namedParams, RowSelection selection, bool scroll, ISessionImplementor session) + { + IType[] paramTypes = null; + object[] paramValues = null; + + if(namedParams==null) + { + paramTypes = types; + paramValues = values; + } + else + { + // convert the named parameters to an array of values and types + ArrayList paramTypeList = new ArrayList(namedParams.Keys.Count); + ArrayList paramValueList = new ArrayList(namedParams.Keys.Count); + + // assumes that types are all of span 1 + foreach (DictionaryEntry e in namedParams) + { + int lastInsertedIndex = paramTypeList.Count; + + string name = (string) e.Key; + TypedValue typedval = (TypedValue) e.Value; + int[] locs = GetNamedParameterLocs(name); + + for (int i = 0; i < locs.Length; i++) + { + int insertAt = locs[i]; + + // need to make sure that the ArrayList is populated with null objects + // up to the index we are about to add the values into. An Index Out + // of Range exception will be thrown if we add an element at an index + // that is greater than the Count. + if(insertAt >= lastInsertedIndex) + { + for(int j = lastInsertedIndex; j <= insertAt; j++) + { + paramTypeList.Add(null); + paramValueList.Add(null); + } + } + + paramTypeList[insertAt] = typedval.Type; + paramValueList[insertAt] = typedval.Value; + } + + } + paramTypes = (IType[]) paramTypeList.ToArray( typeof(IType) ); + paramValues = (object[]) paramValueList.ToArray( typeof(object) ); + } + + + StringTokenizer tokenizer = new StringTokenizer(sql, StringHelper.SqlParameter, true); + string[] tokens = sql.Split(StringHelper.SqlParameter[0]); + + SqlStringBuilder hqlToSqlBuilder = new SqlStringBuilder(types.Length * 2); + + IEnumerator tokenEnum = tokenizer.GetEnumerator(); + string previousToken = String.Empty; + string token = String.Empty; + int paramIndex = 0; + + while(tokenEnum.MoveNext()) + { + token = (string)tokenEnum.Current; + + if(token.Equals(StringHelper.SqlParameter) + && ( previousToken.EndsWith("=") || previousToken.EndsWith("= ") ) ) + { + Parameter param = Parameter.GenerateParameters(session.Factory, new string[]{paramIndex.ToString()}, paramTypes[paramIndex])[0]; + hqlToSqlBuilder.Add(param); + paramIndex++; + } + else + { + hqlToSqlBuilder.Add(token); + } + + previousToken = token; + } + + return PrepareCommand(hqlToSqlBuilder.ToSqlString(), paramValues, paramTypes, null, selection, scroll, session); + + } } } \ No newline at end of file |
From: Michael D. <mik...@us...> - 2004-05-20 21:05:56
|
Update of /cvsroot/nhibernate/nhibernate/src/NHibernate/Loader In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7116/NHibernate/Loader Modified Files: Loader.cs Log Message: Methods to convert Hql's sql string into an IDbCommand moved into QueryTranslator. It now works with both "?" and named parameters. Index: Loader.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Loader/Loader.cs,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** Loader.cs 19 May 2004 04:01:06 -0000 1.21 --- Loader.cs 20 May 2004 21:05:30 -0000 1.22 *************** *** 575,655 **** } ! /// <summary> ! /// Obtain a <c>PreparedStatemnt</c> and bind parameters ! /// </summary> ! /// <param name="sql"></param> ! /// <param name="values"></param> ! /// <param name="types"></param> ! /// <param name="selection"></param> ! /// <param name="scroll"></param> ! /// <param name="session"></param> ! /// <returns></returns> ! /// <remarks>I want to get rid of this because of the string based SQL!!</remarks> ! protected IDbCommand PrepareQueryStatement(string sql, object[] values, IType[] types, IDictionary namedParams, RowSelection selection, bool scroll, ISessionImplementor session) { ! Dialect.Dialect dialect = session.Factory.Dialect; ! ! bool useLimit = UseLimit(selection, dialect); ! bool scrollable = session.Factory.UseScrollableResultSets && ( ! scroll || ! (!useLimit && GetFirstRow(selection)!=0) ! ); ! if(useLimit) sql = dialect.GetLimitString(sql); ! ! IDbCommand st = session.Batcher.PrepareQueryStatement(sql); ! ! // HACK: force parameters to be created ! Impl.AdoHack.ReplaceHqlParameters(session.Factory.Dialect, st); ! // end-of Hack ! ! try ! { ! if (selection!=null && selection.Timeout!=0) st.CommandTimeout = selection.Timeout; ! ! // I really think the variable ! // "col" should be replaced with the for scoped variable "i" - maybe not, maybe the variable ! // "col" should just be initialized to 0 instead of 1 because the next line checks to see how ! // many columns the type spans ! // this might have been what one of the AdoHacks was trying to solve... ! int col=0; ! ! if( useLimit && dialect.BindLimitParametersFirst ) ! { ! BindLimitParameters(st, col, selection, session); ! col+=2; ! } ! ! for (int i=0; i<values.Length; i++) ! { ! types[i].NullSafeSet( st, values[i], col, session); ! col += types[i].GetColumnSpan( session.Factory ); ! } ! ! //if (namedParams!=null) ! col += BindNamedParameters(st, namedParams, col, session); ! ! if( useLimit && !dialect.BindLimitParametersFirst ) ! { ! BindLimitParameters(st, col, selection, session); ! } ! ! if(!useLimit) SetMaxRows(st, selection); ! if(selection!=null && selection.Timeout!=0) ! { ! st.CommandTimeout = selection.Timeout; ! } ! ! } ! catch (Exception e) ! { ! ClosePreparedStatement(st, selection, session); ! throw e; ! } ! ! return st; } - - /// <summary> /// Creates an IDbCommand object and populates it with the values necessary to execute it against the --- 575,585 ---- } ! protected virtual IDbCommand PrepareQueryStatement(string sql, object[] values, IType[] types, IDictionary namedParams, RowSelection selection, bool scroll, ISessionImplementor session) { ! // TODO: this is just a hack because I moved it to Hql.QueryTranslator. It will be removed ! // once everything is converted to SqlString instead of strings holding sql... ! return null; } /// <summary> /// Creates an IDbCommand object and populates it with the values necessary to execute it against the |
From: Michael D. <mik...@us...> - 2004-05-20 20:59:29
|
Update of /cvsroot/nhibernate/nhibernate/src/NHibernate/Impl In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5908/NHibernate/Impl Modified Files: SessionImpl.cs Log Message: Added some comments and made a minor mod to AdoHack. Index: SessionImpl.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Impl/SessionImpl.cs,v retrieving revision 1.25 retrieving revision 1.26 diff -C2 -d -r1.25 -r1.26 *** SessionImpl.cs 6 May 2004 13:14:02 -0000 1.25 --- SessionImpl.cs 20 May 2004 20:59:19 -0000 1.26 *************** *** 39,42 **** --- 39,72 ---- if (dialect.UseNamedParameters) { + /* + * (?<param>\?) + * Capture to <param> + * ? + * + * "select a,b,c from a=? and b=? and c=?" + * Splitting: select a,b,c from a=? and b=? and c=? + * [0] => select a,b,c from a= + * [1] => ? + * [2] => and b= + * [3] => ? + * [4] => and c= + * [5] => ? + * [6] => + * (?<param>@\w*\b) -> actual string for Ms Sql 2000 Dialect (@=named param prefix + * Capture to <param> + * : + * Any word character + * * (zero or more times) + * Word boundy between //w and //W + * + * takes a string like "select a,b,c from a=@p1 and b=@p2 c='@'" + * and splits it into + * Splitting: select a,b,c from a=@p1 and b=@p2 and c='@' + * [0] => select a,b,c from a= + * [1] => @p1 + * [2] => and b= + * [3] => @p2 + * [4] => and c='@' + */ Regex parser = new Regex("(?<param>" + dialect.NamedParametersPrefix + "\\w*\\b)", RegexOptions.None); //.Compiled); string[] tokens = parser.Split(sql); *************** *** 68,72 **** param = cmd.CreateParameter(); ! param.ParameterName = paramIdx.ToString(); cmd.Parameters.Add(param); paramIdx++; --- 98,102 ---- param = cmd.CreateParameter(); ! param.ParameterName = dialect.UseNamedParameters ? dialect.NamedParametersPrefix + "p" + paramIdx.ToString() : paramIdx.ToString(); cmd.Parameters.Add(param); paramIdx++; *************** *** 78,81 **** --- 108,133 ---- public static void ReplaceHqlParameters(Dialect.Dialect dialect, IDbCommand cmd) { + /* + * (?<param>\[<\w*>\]) + * Capture to <param> + * [< + * Any word character + * *(zero or more times) + * >] + * + * select a,b,c from a=[<parama>] and b=[<paramb>] + * for the life of me I could not figure out why the params would be wrapped + * with a "[<" and ">]" - turns out in Hql.WhereParser.DoTokens one of the original + * developers changed it to that from "?" -> that is what I would prefer to use + * instead of this silly parameter and regexp use... + * + * Splitting: select a,b,c from a=[<parama>] and b=[<paramb>] + * [0] => select a,b,c from a= + * [1] => [<parama>] + * [2] => and b= + * [3] => [<paramb>] + * [4] => + * + */ Regex parser = new Regex("(?<param>\\[<\\w*>\\])", RegexOptions.Compiled); string[] tokens; |
From: Michael D. <mik...@us...> - 2004-05-20 20:56:05
|
Update of /cvsroot/nhibernate/nhibernate/src/NHibernate/Util In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5221/NHibernate/Util Modified Files: StringHelper.cs Log Message: Removed commented out code. Index: StringHelper.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Util/StringHelper.cs,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** StringHelper.cs 15 Apr 2004 21:07:19 -0000 1.11 --- StringHelper.cs 20 May 2004 20:55:54 -0000 1.12 *************** *** 15,20 **** public const string SqlParameter = "?"; - // public static Dialect.Dialect Dialect; - [Obsolete("Use String.Join() instead of this method. It does the same thing")] public static string Join(string separator, string[] strings) { --- 15,18 ---- *************** *** 189,213 **** return results; } - // - // [Obsolete("Should directly call Dialect instead")] - // public static string UnQuote(string name) { - // return Dialect.UnQuote(name); - // } - // - // [Obsolete("Should directly call Dialect instead")] - // public static void UnQuoteInPlace(string[] names) - // { - // for (int i=0; i<names.Length; i++) - // names[i] = UnQuote(names[i]); - // } - // - // [Obsolete("Should directly call Dialect instead")] - // public static string[] UnQuote(string[] names) - // { - // string[] unquoted = new string[ names.Length ]; - // for (int i=0; i<names.Length; i++) - // unquoted[i] = UnQuote(names[i]); - // return unquoted; - // } } } --- 187,190 ---- |
From: Michael D. <mik...@us...> - 2004-05-19 12:50:05
|
Update of /cvsroot/nhibernate/nhibernate/src/NHibernate.Test In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27912 Modified Files: NHibernate.Test-1.1.csproj Log Message: Added quotes around the file name to catch case whre there are spaces in the directory name. Index: NHibernate.Test-1.1.csproj =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate.Test/NHibernate.Test-1.1.csproj,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** NHibernate.Test-1.1.csproj 19 May 2004 04:20:58 -0000 1.21 --- NHibernate.Test-1.1.csproj 19 May 2004 12:49:53 -0000 1.22 *************** *** 17,21 **** DelaySign = "false" OutputType = "Library" ! PreBuildEvent = "copy /y $(ProjectDir)App.config $(TargetFileName).config" PostBuildEvent = "" RootNamespace = "NHibernate.Test" --- 17,21 ---- DelaySign = "false" OutputType = "Library" ! PreBuildEvent = 'copy /y "$(ProjectDir)App.config" "$(TargetPath).config"' PostBuildEvent = "" RootNamespace = "NHibernate.Test" |
From: Michael D. <mik...@us...> - 2004-05-19 04:21:10
|
Update of /cvsroot/nhibernate/nhibernate/src/NHibernate.Test In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29671 Modified Files: NHibernate.Test-1.1.csproj Log Message: Added post build event in VS.NET to copy app.config to the bin folder. Thanks to feilng for the tip. Index: NHibernate.Test-1.1.csproj =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate.Test/NHibernate.Test-1.1.csproj,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** NHibernate.Test-1.1.csproj 18 May 2004 05:06:08 -0000 1.20 --- NHibernate.Test-1.1.csproj 19 May 2004 04:20:58 -0000 1.21 *************** *** 17,21 **** DelaySign = "false" OutputType = "Library" ! PreBuildEvent = "" PostBuildEvent = "" RootNamespace = "NHibernate.Test" --- 17,21 ---- DelaySign = "false" OutputType = "Library" ! PreBuildEvent = "copy /y $(ProjectDir)App.config $(TargetFileName).config" PostBuildEvent = "" RootNamespace = "NHibernate.Test" |
From: Michael D. <mik...@us...> - 2004-05-19 04:14:58
|
Update of /cvsroot/nhibernate/nhibernate/src/NHibernate In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28479 Modified Files: NHibernate-1.1.csproj Log Message: removed code dealing with type-names. Index: NHibernate-1.1.csproj =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/NHibernate-1.1.csproj,v retrieving revision 1.27 retrieving revision 1.28 diff -C2 -d -r1.27 -r1.28 *** NHibernate-1.1.csproj 18 May 2004 05:05:09 -0000 1.27 --- NHibernate-1.1.csproj 19 May 2004 04:14:48 -0000 1.28 *************** *** 506,514 **** /> <File - RelPath = "Dialect\TypeNames.cs" - SubType = "Code" - BuildAction = "Compile" - /> - <File RelPath = "Driver\ByteFXDataDriver.cs" SubType = "Code" --- 506,509 ---- |
From: Michael D. <mik...@us...> - 2004-05-19 04:14:30
|
Update of /cvsroot/nhibernate/nhibernate/src/NHibernate/Dialect In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28396 Modified Files: Dialect.cs GenericDialect.cs HSQLDialect.cs InterbaseDialect.cs PostgreSQLDialect.cs SAPDBDialect.cs SybaseDialect.cs Removed Files: TypeNames.cs Log Message: removed code dealing with type-names. Index: PostgreSQLDialect.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Dialect/PostgreSQLDialect.cs,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** PostgreSQLDialect.cs 18 Apr 2003 13:18:35 -0000 1.4 --- PostgreSQLDialect.cs 19 May 2004 04:14:18 -0000 1.5 *************** *** 30,48 **** */ - Register( DbType.Boolean, "BOOL" ); - Register( DbType.Int64, "INT8" ); - Register( DbType.Int16, "INT2" ); - Register( DbType.Int32, "INT4" ); - Register( DbType.AnsiStringFixedLength, "CHAR(1)" ); - Register( DbType.AnsiString, "VARCHAR($l)" ); - Register( DbType.Single, "FLOAT4" ); - Register( DbType.Double, "FLOAT8" ); - Register( DbType.DateTime, "DATE" ); - Register( DbType.Time, "TIMESTAMP" ); - Register( DbType.Binary, "BYTEA" ); - Register( DbType.AnsiString, "TEXT" ); - //Register( DbType.Image, "BYTEA" ); - Register( DbType.Decimal, "NUMERIC" ); - /* getDefaultProperties().setProperty(Environment.OUTER_JOIN, "true"); --- 30,33 ---- Index: InterbaseDialect.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Dialect/InterbaseDialect.cs,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** InterbaseDialect.cs 26 Feb 2003 20:41:58 -0000 1.3 --- InterbaseDialect.cs 19 May 2004 04:14:18 -0000 1.4 *************** *** 30,50 **** Types.CLOB, "BLOB SUB_TYPE 1" ); */ - - Register( DbType.Bit, "SMALLINT" ); - Register( DbType.BigInt, "NUMERIC(18,0)" ); - Register( DbType.SmallInt, "SMALLINT" ); - Register( DbType.TinyInt, "SMALLINT" ); - Register( DbType.Int, "INTEGER" ); - Register( DbType.Char, "CHAR(1)" ); - Register( DbType.VarChar, "VARCHAR($l)" ); - Register( DbType.Float, "FLOAT" ); - Register( DbType.Real, "DOUBLE PRECISION" ); - // Register( DbType.DATE, "DATE" ); ??? - // Register( DbType.TIME, "TIME" ); ??? - Register( DbType.Timestamp, "TIMESTAMP" ); - Register( DbType.VarBinary, "BLOB" ); - Register( DbType.Decimal, "NUMERIC(18, $l)" ); - Register( DbType.Image, "BLOB" ); - Register( DbType.Text, "BLOB SUB_TYPE 1" ); /* --- 30,33 ---- Index: SAPDBDialect.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Dialect/SAPDBDialect.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** SAPDBDialect.cs 19 Feb 2003 16:33:17 -0000 1.1 --- SAPDBDialect.cs 19 May 2004 04:14:18 -0000 1.2 *************** *** 34,54 **** Types.BLOB, "LONG BYTE" ); */ - - Register( SqlDbType.Bit, "BOOLEAN" ); - Register( SqlDbType.BigInt, "FIXED(19,0)" ); - Register( SqlDbType.SmallInt, "SMALLINT" ); - Register( SqlDbType.TinyInt, "FIXED(3,0)" ); - Register( SqlDbType.Int, "INT" ); - Register( SqlDbType.Char, "CHAR(1)" ); - Register( SqlDbType.VarChar, "VARCHAR($l)" ); - Register( SqlDbType.Float, "FLOAT" ); - Register( SqlDbType.Real, "DOUBLE PRECISION" ); - //Register( SqlDbType.DATE, "DATE" ); ??? - //Register( SqlDbType.TIME, "TIME" ); ??? - Register( SqlDbType.Timestamp, "TIMESTAMP" ); - Register( SqlDbType.VarBinary, "LONG BYTE" ); - Register( SqlDbType.Decimal, "FIXED(19,$l)" ); - Register( SqlDbType.Text, "LONG VARCHAR" ); - Register( SqlDbType.Image, "LONG BYTE" ); /* --- 34,37 ---- Index: HSQLDialect.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Dialect/HSQLDialect.cs,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** HSQLDialect.cs 26 Feb 2003 20:41:58 -0000 1.3 --- HSQLDialect.cs 19 May 2004 04:14:18 -0000 1.4 *************** *** 32,54 **** Types.NUMERIC, "NUMERIC" ); */ - - Register( DbType.BigInt, "BIGINT" ); - Register( DbType.Binary, "BINARY" ); - Register( DbType.Bit, "BIT" ); - Register( DbType.Char, "CHAR(1)" ); - Register( DbType.DateTime, "DATE" ); //??? - Register( DbType.Decimal, "DECIMAL" ); - Register( DbType.Real, "DOUBLE" ); - Register( DbType.Float, "FLOAT" ); - Register( DbType.Int, "INTEGER" ); - // Register( DbType.LONGVARBINARY, "LONGVARBINARY" ); ??? - Register( DbType.NVarChar, "LONGVARCHAR" ); - Register( DbType.SmallInt, "SMALLINT" ); - Register( DbType.TinyInt, "TINYINT" ); - // Register( DbType.TIME, "TIME" ); ??? - Register( DbType.Timestamp, "TIMESTAMP" ); - Register( DbType.VarChar, "VARCHAR($l)" ); - Register( DbType.VarBinary, "VARBINARY($l)" ); - Register( DbType.Decimal, "NUMERIC" ); /* --- 32,35 ---- Index: SybaseDialect.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Dialect/SybaseDialect.cs,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** SybaseDialect.cs 16 Mar 2004 14:17:30 -0000 1.7 --- SybaseDialect.cs 19 May 2004 04:14:18 -0000 1.8 *************** *** 30,50 **** Types.CLOB, "TEXT" ); */ - - Register( DbType.Boolean, "TINYINT" ); //Sybase BIT type does not support null values - Register( DbType.Int64, "NUMERIC(19,0)" ); - Register( DbType.Int16, "SMALLINT" ); - Register( DbType.Int32, "INT" ); - Register( DbType.Byte, "TINYINT" ); - //Register( DbType.Character, "CHAR(1)" ); - Register( DbType.String, "VARCHAR($1)" ); - Register( DbType.Single, "FLOAT" ); - Register( DbType.Double, "DOUBLE PRECISION" ); - Register( DbType.Date, "DATETIME"); - Register( DbType.DateTime, "DATETIME" ); - //Register( DbType.Timestamp, "DATETIME" ); - //Register( DbType.VarBinary, "VARBINARY($1)" ); - Register( DbType.Decimal, "NUMERIC(19,$1)" ); - Register( DbType.Binary, "IMAGE" ); - Register( DbType.AnsiString, "TEXT" ); /* --- 30,33 ---- Index: Dialect.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Dialect/Dialect.cs,v retrieving revision 1.30 retrieving revision 1.31 diff -C2 -d -r1.30 -r1.31 *** Dialect.cs 18 May 2004 05:01:02 -0000 1.30 --- Dialect.cs 19 May 2004 04:14:18 -0000 1.31 *************** *** 46,50 **** } - private TypeNames typeNames = new TypeNames("$1"); private IDictionary properties = new Hashtable(); --- 46,49 ---- *************** *** 56,106 **** /// <summary> - /// Get the name of the database type associated with the given typecode - /// </summary> - /// <param name="code">The typecode</param> - /// <returns>The database type name</returns> - public string GetTypeName(DbType code) { - string result = typeNames.Get(code); - if (result == null) - throw new HibernateException("No default type mapping for " + code); - return result; - } - - /// <summary> - /// Get the name of the database type associated with the given typecode - /// </summary> - /// <param name="code">The typecode</param> - /// <param name="length">the length of the column</param> - /// <returns>the database type name</returns> - public string GetTypeName(DbType code, int length) { - string result = typeNames.Get(code, length); - if (result == null) - throw new HibernateException("No type mapping for " + code + " of length " + length); - return result; - } - - /// <summary> - /// Subclasses register a typename for the given type code and maximum - /// column length. <c>$1</c> in the type name will be replaced by the column - /// length (if appropriate - /// </summary> - /// <param name="code">The typecode</param> - /// <param name="capacity">Maximum length of database type</param> - /// <param name="name">The database type name</param> - protected void Register(DbType code, int capacity, string name) { - typeNames.Put(code, capacity, name); - } - - /// <summary> - /// Suclasses register a typename for the given type code. <c>$1</c> in the - /// typename will be replaced by the column length (if appropriate). - /// </summary> - /// <param name="code">The typecode</param> - /// <param name="name">The database type name</param> - protected void Register(DbType code, string name) { - typeNames.Put(code, name); - } - - /// <summary> /// Does this dialect support the <c>ALTER TABLE</c> syntax? /// </summary> --- 55,58 ---- Index: GenericDialect.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Dialect/GenericDialect.cs,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** GenericDialect.cs 12 Apr 2004 05:37:32 -0000 1.7 --- GenericDialect.cs 19 May 2004 04:14:18 -0000 1.8 *************** *** 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" ); } --- 12,15 ---- --- TypeNames.cs DELETED --- |
From: Michael D. <mik...@us...> - 2004-05-19 04:01:17
|
Update of /cvsroot/nhibernate/nhibernate/src/NHibernate/Loader In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25998 Modified Files: AbstractEntityLoader.cs CriteriaLoader.cs Loader.cs Log Message: removed some TODO comments that have been fixed up. Index: AbstractEntityLoader.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Loader/AbstractEntityLoader.cs,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** AbstractEntityLoader.cs 2 Apr 2004 15:55:48 -0000 1.5 --- AbstractEntityLoader.cs 19 May 2004 04:01:06 -0000 1.6 *************** *** 118,122 **** /// </summary> /// <value>False, unless overridden</value> - //TODO: new in H2.0.3 - find where it is overridden protected virtual bool UseQueryWhereFragment { --- 118,121 ---- Index: Loader.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Loader/Loader.cs,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** Loader.cs 6 May 2004 13:14:03 -0000 1.20 --- Loader.cs 19 May 2004 04:01:06 -0000 1.21 *************** *** 68,72 **** /// <summary> - /// TODO: figure out what this is used for - I believe it is in the HQL package in H2.0.3. /// It should be overridden in Hql.QueryTranslator and an actual value placed in there. /// </summary> --- 68,71 ---- Index: CriteriaLoader.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Loader/CriteriaLoader.cs,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** CriteriaLoader.cs 15 Apr 2004 15:53:40 -0000 1.5 --- CriteriaLoader.cs 19 May 2004 04:01:06 -0000 1.6 *************** *** 14,19 **** namespace NHibernate.Loader { - //TODO: this class depends directly upon CriteriaImpl, in the impl package - // add a ICriteriaImplementor interface /// <summary> /// A <c>Loader</c> for <see cref="ICriteria"/> queries. --- 14,17 ---- |
From: Michael D. <mik...@us...> - 2004-05-19 03:39:32
|
Update of /cvsroot/nhibernate/nhibernate/src/NHibernate/Dialect In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21962 Modified Files: Oracle9Dialect.cs Log Message: Implemented the sysdate QueryFunctionInfo Index: Oracle9Dialect.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Dialect/Oracle9Dialect.cs,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** Oracle9Dialect.cs 18 May 2004 05:01:02 -0000 1.7 --- Oracle9Dialect.cs 19 May 2004 03:39:04 -0000 1.8 *************** *** 4,9 **** --- 4,12 ---- using System.Text; + using NHibernate.Engine; + using NHibernate.Hql; using NHibernate.SqlCommand; using NHibernate.SqlTypes; + using NHibernate.Type; using NHibernate.Util; *************** *** 49,53 **** aggregateFunctions["stddev"] = new QueryFunctionStandard(); aggregateFunctions["variance"] = new QueryFunctionStandard(); ! //TODO: aggregateFunctions["sysdate"] = new TODO; aggregateFunctions["lastday"] = new QueryFunctionStandard(NHibernate.Date); } --- 52,56 ---- aggregateFunctions["stddev"] = new QueryFunctionStandard(); aggregateFunctions["variance"] = new QueryFunctionStandard(); ! aggregateFunctions["sysdate"] = new SysdateQueryFunctionInfo(); aggregateFunctions["lastday"] = new QueryFunctionStandard(NHibernate.Date); } *************** *** 270,273 **** --- 273,298 ---- } } + + public class SysdateQueryFunctionInfo : IQueryFunctionInfo + { + #region IQueryFunctionInfo Members + + public IType QueryFunctionType(IType columnType, IMapping mapping) + { + return NHibernate.Date; + } + + public bool IsFunctionArgs + { + get { return false; } + } + + public bool IsFunctionNoArgsUseParanthesis + { + get { return false; } + } + + #endregion + } } } |
From: Michael D. <mik...@us...> - 2004-05-19 03:31:21
|
Update of /cvsroot/nhibernate/nhibernate/src/NHibernate.Test/TypesTest In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20747 Modified Files: GuidTypeFixture.cs Log Message: removed ignore attribute because DotNetMock was released. Index: GuidTypeFixture.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate.Test/TypesTest/GuidTypeFixture.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** GuidTypeFixture.cs 14 Apr 2004 18:08:28 -0000 1.1 --- GuidTypeFixture.cs 19 May 2004 03:31:11 -0000 1.2 *************** *** 22,26 **** /// </summary> [Test] - [Ignore("MockReader has not implemented GetGuid yet")] public void Get() { --- 22,25 ---- |
From: Michael D. <mik...@us...> - 2004-05-19 03:30:40
|
Update of /cvsroot/nhibernate/nhibernate/external-bin In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20639 Modified Files: DotNetMock.dll DotNetMock.Framework.dll Log Message: now using version 0.5 that was recently released. Index: DotNetMock.Framework.dll =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/external-bin/DotNetMock.Framework.dll,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsAqjj7f and /tmp/cvsB3ARxh differ Index: DotNetMock.dll =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/external-bin/DotNetMock.dll,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsX25dxk and /tmp/cvsUgiPJm differ |
From: Michael D. <mik...@us...> - 2004-05-18 05:06:17
|
Update of /cvsroot/nhibernate/nhibernate/src/NHibernate.Test In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27678/NHibernate.Test Modified Files: NHibernate.Test-1.1.csproj Log Message: Added test to ensure the correct Oracle System.Types were being loaded Index: NHibernate.Test-1.1.csproj =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate.Test/NHibernate.Test-1.1.csproj,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** NHibernate.Test-1.1.csproj 6 May 2004 20:57:00 -0000 1.19 --- NHibernate.Test-1.1.csproj 18 May 2004 05:06:08 -0000 1.20 *************** *** 238,241 **** --- 238,246 ---- /> <File + RelPath = "DriverTest\OracleClientDriverFixture.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File RelPath = "ExpressionTest\BaseExpressionFixture.cs" SubType = "Code" |
From: Michael D. <mik...@us...> - 2004-05-18 05:06:02
|
Update of /cvsroot/nhibernate/nhibernate/src/NHibernate.Test/DriverTest In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27564/NHibernate.Test/DriverTest Added Files: OracleClientDriverFixture.cs Log Message: Added test to ensure the correct Oracle System.Types were being loaded --- NEW FILE: OracleClientDriverFixture.cs --- using System; using System.Data; using NHibernate.Driver; using NUnit.Framework; namespace NHibernate.Test.DriverTest { /// <summary> /// Summary description for OracleClientDriverFixture. /// </summary> [TestFixture] public class OracleClientDriverFixture { /// <summary> /// Verify that the correct Connection Class is being loaded. /// </summary> [Test] public void ConnectionClassName() { Driver.IDriver driver = new Driver.OracleClientDriver(); IDbConnection conn = driver.CreateConnection(); Assert.AreEqual( "System.Data.OracleClient.OracleConnection", conn.GetType().FullName); } /// <summary> /// Verify that the correct Command class is being loaded. /// </summary> [Test] public void CommandClassName() { Driver.IDriver driver = new Driver.OracleClientDriver(); IDbCommand cmd = driver.CreateCommand(); Assert.AreEqual( "System.Data.OracleClient.OracleCommand", cmd.GetType().FullName ); } } } |
From: Michael D. <mik...@us...> - 2004-05-18 05:05:19
|
Update of /cvsroot/nhibernate/nhibernate/src/NHibernate In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27490/NHibernate Modified Files: NHibernate-1.1.csproj nhibernate.build Log Message: Project and build file was modified because of additions/removals of items. Index: NHibernate-1.1.csproj =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/NHibernate-1.1.csproj,v retrieving revision 1.26 retrieving revision 1.27 diff -C2 -d -r1.26 -r1.27 *** NHibernate-1.1.csproj 6 May 2004 20:55:53 -0000 1.26 --- NHibernate-1.1.csproj 18 May 2004 05:05:09 -0000 1.27 *************** *** 481,484 **** --- 481,494 ---- /> <File + RelPath = "Dialect\Oracle9Dialect.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "Dialect\OracleDialect.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File RelPath = "Dialect\PostgreSQLDialect.cs" SubType = "Code" *************** *** 536,539 **** --- 546,554 ---- /> <File + RelPath = "Driver\OracleClientDriver.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File RelPath = "Driver\SqlClientDriver.cs" SubType = "Code" *************** *** 1319,1322 **** --- 1334,1342 ---- /> <File + RelPath = "Sql\OuterJoinFragment.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File RelPath = "Sql\QueryJoinFragment.cs" SubType = "Code" Index: nhibernate.build =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/nhibernate.build,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** nhibernate.build 14 May 2004 12:08:56 -0000 1.10 --- nhibernate.build 18 May 2004 05:05:09 -0000 1.11 *************** *** 34,41 **** <excludes name="Dialect/HSQLDialect.cs" /> <excludes name="Dialect/InterbaseDialect.cs" /> - <excludes name="Dialect/Oracle9Dialect.cs" /> - <excludes name="Dialect/OracleDialect.cs" /> <excludes name="Dialect/SAPDBDialect.cs" /> - <excludes name="Sql/ANSIOuterJoinFragment.cs" /> <excludes name="Tool/hbm2net/*.cs" /> </sources> --- 34,38 ---- |
From: Michael D. <mik...@us...> - 2004-05-18 05:04:31
|
Update of /cvsroot/nhibernate/nhibernate/src/NHibernate/Type In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27265/NHibernate/Type Modified Files: AnsiStringType.cs BooleanType.cs ByteType.cs CharBooleanType.cs CharType.cs DateTimeType.cs DateType.cs DecimalType.cs DoubleType.cs GuidType.cs Int16Type.cs Int32Type.cs Int64Type.cs SingleType.cs StringType.cs TicksType.cs TimeSpanType.cs TimestampType.cs TimeType.cs Log Message: Modified how values are read from the db in order to support Oracle. Their driver does not support GetInt16 & GetInt32. Thanks to feilng for pointing that out and the contribution. Index: TimeType.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Type/TimeType.cs,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** TimeType.cs 13 Apr 2004 14:49:25 -0000 1.3 --- TimeType.cs 18 May 2004 05:04:12 -0000 1.4 *************** *** 24,28 **** public override object Get(IDataReader rs, int index) { ! DateTime dbValue = rs.GetDateTime(index); return new DateTime(1, 1, 1, dbValue.Hour, dbValue.Minute, dbValue.Second); } --- 24,28 ---- public override object Get(IDataReader rs, int index) { ! DateTime dbValue = Convert.ToDateTime(rs[index]); return new DateTime(1, 1, 1, dbValue.Hour, dbValue.Minute, dbValue.Second); } *************** *** 30,34 **** public override object Get(IDataReader rs, string name) { ! return Get(rs, rs.GetOrdinal(name));// rs.[name]; } --- 30,34 ---- public override object Get(IDataReader rs, string name) { ! return Get(rs, rs.GetOrdinal(name)); } Index: ByteType.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Type/ByteType.cs,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** ByteType.cs 10 Feb 2004 18:41:42 -0000 1.4 --- ByteType.cs 18 May 2004 05:04:12 -0000 1.5 *************** *** 16,24 **** public override object Get(IDataReader rs, int index) { ! return rs.GetByte(index); } public override object Get(IDataReader rs, string name) { ! return Get(rs, rs.GetOrdinal(name)); } --- 16,24 ---- public override object Get(IDataReader rs, int index) { ! return Convert.ToByte(rs[index]); } public override object Get(IDataReader rs, string name) { ! return Convert.ToByte(rs[name]); } Index: DateType.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Type/DateType.cs,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** DateType.cs 13 Apr 2004 14:49:25 -0000 1.7 --- DateType.cs 18 May 2004 05:04:12 -0000 1.8 *************** *** 14,18 **** public override object Get(IDataReader rs, int index) { ! DateTime dbValue = rs.GetDateTime(index); return new DateTime(dbValue.Year, dbValue.Month, dbValue.Day); } --- 14,18 ---- public override object Get(IDataReader rs, int index) { ! DateTime dbValue = Convert.ToDateTime(rs[index]); return new DateTime(dbValue.Year, dbValue.Month, dbValue.Day); } *************** *** 20,24 **** public override object Get(IDataReader rs, string name) { ! return Get(rs, rs.GetOrdinal(name));// rs.[name]; } --- 20,24 ---- public override object Get(IDataReader rs, string name) { ! return Get(rs, rs.GetOrdinal(name)); } Index: Int32Type.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Type/Int32Type.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Int32Type.cs 14 Apr 2004 14:40:51 -0000 1.2 --- Int32Type.cs 18 May 2004 05:04:12 -0000 1.3 *************** *** 12,20 **** public override object Get(IDataReader rs, int index) { ! return rs.GetInt32(index); } public override object Get(IDataReader rs, string name) { ! return Get(rs, rs.GetOrdinal(name)); } --- 12,20 ---- public override object Get(IDataReader rs, int index) { ! return Convert.ToInt32(rs[index]); } public override object Get(IDataReader rs, string name) { ! return Convert.ToInt32(rs[name]); } Index: Int16Type.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Type/Int16Type.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Int16Type.cs 10 Feb 2004 18:41:42 -0000 1.1 --- Int16Type.cs 18 May 2004 05:04:12 -0000 1.2 *************** *** 12,20 **** public override object Get(IDataReader rs, int index) { ! return rs.GetInt16(index); } public override object Get(IDataReader rs, string name) { ! return Get(rs, rs.GetOrdinal(name)); } public override System.Type PrimitiveClass { --- 12,20 ---- public override object Get(IDataReader rs, int index) { ! return Convert.ToInt16(rs[index]); } public override object Get(IDataReader rs, string name) { ! return Convert.ToInt16(rs[name]); } public override System.Type PrimitiveClass { Index: BooleanType.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Type/BooleanType.cs,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** BooleanType.cs 21 Mar 2004 00:50:31 -0000 1.5 --- BooleanType.cs 18 May 2004 05:04:12 -0000 1.6 *************** *** 43,51 **** public override object Get(IDataReader rs, int index) { ! return rs.GetBoolean(index); } public override object Get(IDataReader rs, string name) { ! return Get(rs, rs.GetOrdinal(name)); } --- 43,51 ---- public override object Get(IDataReader rs, int index) { ! return Convert.ToBoolean(rs[index]); } public override object Get(IDataReader rs, string name) { ! return Convert.ToBoolean(rs[name]); } Index: DecimalType.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Type/DecimalType.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** DecimalType.cs 10 Feb 2004 18:41:42 -0000 1.2 --- DecimalType.cs 18 May 2004 05:04:12 -0000 1.3 *************** *** 15,23 **** public override object Get(IDataReader rs, int index) { ! return rs.GetDecimal(index); } public override object Get(IDataReader rs, string name) { ! return Get(rs, rs.GetOrdinal(name)); } --- 15,23 ---- public override object Get(IDataReader rs, int index) { ! return Convert.ToDecimal(rs[index]); } public override object Get(IDataReader rs, string name) { ! return Convert.ToDecimal(rs[name]); } Index: GuidType.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Type/GuidType.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** GuidType.cs 14 Apr 2004 14:40:51 -0000 1.1 --- GuidType.cs 18 May 2004 05:04:12 -0000 1.2 *************** *** 16,25 **** public override object Get(IDataReader rs, int index) { ! return rs.GetGuid(index); } public override object Get(IDataReader rs, string name) { ! return Get(rs, rs.GetOrdinal(name)); } --- 16,25 ---- public override object Get(IDataReader rs, int index) { ! return new Guid( Convert.ToString(rs[index]) ); } public override object Get(IDataReader rs, string name) { ! return new Guid( Convert.ToString(rs[name]) ); } Index: AnsiStringType.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Type/AnsiStringType.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** AnsiStringType.cs 30 Apr 2004 18:39:46 -0000 1.1 --- AnsiStringType.cs 18 May 2004 05:04:12 -0000 1.2 *************** *** 16,25 **** public override object Get(IDataReader rs, int index) { ! return rs.GetString(index); } public override object Get(IDataReader rs, string name) { ! return Get(rs, rs.GetOrdinal(name)); } public override System.Type ReturnedClass --- 16,25 ---- public override object Get(IDataReader rs, int index) { ! return Convert.ToString(rs[index]); } public override object Get(IDataReader rs, string name) { ! return Convert.ToString(rs[name]); } public override System.Type ReturnedClass Index: TimestampType.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Type/TimestampType.cs,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** TimestampType.cs 13 Apr 2004 14:49:25 -0000 1.4 --- TimestampType.cs 18 May 2004 05:04:12 -0000 1.5 *************** *** 37,46 **** public override object Get(IDataReader rs, int index) { ! return rs.GetDateTime(index); } public override object Get(IDataReader rs, string name) { ! return Get(rs, rs.GetOrdinal(name));// rs.[name]; } --- 37,46 ---- public override object Get(IDataReader rs, int index) { ! return Convert.ToDateTime(rs[index]); } public override object Get(IDataReader rs, string name) { ! return Get(rs, rs.GetOrdinal(name)); } Index: DateTimeType.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Type/DateTimeType.cs,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** DateTimeType.cs 13 Apr 2004 14:49:24 -0000 1.5 --- DateTimeType.cs 18 May 2004 05:04:12 -0000 1.6 *************** *** 25,29 **** public override object Get(IDataReader rs, int index) { ! DateTime dbValue = rs.GetDateTime(index); return new DateTime(dbValue.Year, dbValue.Month, dbValue.Day, dbValue.Hour, dbValue.Minute, dbValue.Second); } --- 25,29 ---- public override object Get(IDataReader rs, int index) { ! DateTime dbValue = Convert.ToDateTime(rs[index]); return new DateTime(dbValue.Year, dbValue.Month, dbValue.Day, dbValue.Hour, dbValue.Minute, dbValue.Second); } Index: TicksType.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Type/TicksType.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** TicksType.cs 17 Feb 2004 03:30:39 -0000 1.2 --- TicksType.cs 18 May 2004 05:04:12 -0000 1.3 *************** *** 24,33 **** public override object Get(IDataReader rs, int index) { ! return new DateTime(rs.GetInt64(index)); } public override object Get(IDataReader rs, string name) { ! return Get(rs, rs.GetOrdinal(name));// rs.[name]; } --- 24,33 ---- public override object Get(IDataReader rs, int index) { ! return new DateTime( Convert.ToInt64(rs[index]) ); } public override object Get(IDataReader rs, string name) { ! return Get(rs, rs.GetOrdinal(name)); } Index: StringType.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Type/StringType.cs,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** StringType.cs 10 Feb 2004 18:41:42 -0000 1.3 --- StringType.cs 18 May 2004 05:04:12 -0000 1.4 *************** *** 17,25 **** public override object Get(IDataReader rs, int index) { ! return rs.GetString(index); } public override object Get(IDataReader rs, string name) { ! return Get(rs, rs.GetOrdinal(name)); } public override System.Type ReturnedClass { --- 17,25 ---- public override object Get(IDataReader rs, int index) { ! return Convert.ToString(rs[index]); } public override object Get(IDataReader rs, string name) { ! return Convert.ToString(rs[name]); } public override System.Type ReturnedClass { Index: DoubleType.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Type/DoubleType.cs,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** DoubleType.cs 10 Feb 2004 18:41:42 -0000 1.3 --- DoubleType.cs 18 May 2004 05:04:12 -0000 1.4 *************** *** 12,20 **** public override object Get(IDataReader rs, int index) { ! return rs.GetDouble(index); } public override object Get(IDataReader rs, string name) { ! return Get(rs, rs.GetOrdinal(name)); } --- 12,20 ---- public override object Get(IDataReader rs, int index) { ! return Convert.ToDouble(rs[index]); } public override object Get(IDataReader rs, string name) { ! return Convert.ToDouble(rs[name]); } Index: SingleType.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Type/SingleType.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** SingleType.cs 17 Feb 2004 03:31:40 -0000 1.2 --- SingleType.cs 18 May 2004 05:04:12 -0000 1.3 *************** *** 23,32 **** public override object Get(IDataReader rs, int index) { ! return rs.GetFloat(index); } public override object Get(IDataReader rs, string name) { ! return Get(rs, rs.GetOrdinal(name)); } --- 23,32 ---- public override object Get(IDataReader rs, int index) { ! return Convert.ToSingle(rs[index]); } public override object Get(IDataReader rs, string name) { ! return Convert.ToSingle(rs[name]); } Index: TimeSpanType.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Type/TimeSpanType.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** TimeSpanType.cs 30 Apr 2004 16:24:23 -0000 1.2 --- TimeSpanType.cs 18 May 2004 05:04:12 -0000 1.3 *************** *** 19,28 **** public override object Get(IDataReader rs, int index) { ! return new TimeSpan(rs.GetInt64(index)); } public override object Get(IDataReader rs, string name) { ! return Get(rs, rs.GetOrdinal(name));// rs.[name]; } --- 19,28 ---- public override object Get(IDataReader rs, int index) { ! return new TimeSpan( Convert.ToInt64(rs[index]) ); } public override object Get(IDataReader rs, string name) { ! return Get(rs, rs.GetOrdinal(name)); } Index: Int64Type.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Type/Int64Type.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Int64Type.cs 10 Feb 2004 18:41:42 -0000 1.1 --- Int64Type.cs 18 May 2004 05:04:12 -0000 1.2 *************** *** 12,20 **** public override object Get(IDataReader rs, int index) { ! return rs.GetInt64(index); } public override object Get(IDataReader rs, string name) { ! return Get(rs, rs.GetOrdinal(name));// rs.[name]; } --- 12,20 ---- public override object Get(IDataReader rs, int index) { ! return Convert.ToInt64(rs[index]); } public override object Get(IDataReader rs, string name) { ! return Convert.ToInt64(rs[name]); } Index: CharBooleanType.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Type/CharBooleanType.cs,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** CharBooleanType.cs 10 Feb 2004 18:41:42 -0000 1.4 --- CharBooleanType.cs 18 May 2004 05:04:12 -0000 1.5 *************** *** 19,23 **** public override object Get(IDataReader rs, int index) { ! string code = rs.GetString(index); if (code==null) { return null; --- 19,23 ---- public override object Get(IDataReader rs, int index) { ! string code = Convert.ToString(rs[index]); if (code==null) { return null; Index: CharType.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Type/CharType.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** CharType.cs 8 Apr 2004 15:55:46 -0000 1.1 --- CharType.cs 18 May 2004 05:04:12 -0000 1.2 *************** *** 16,25 **** public override object Get(IDataReader rs, int index) { ! string str = rs.GetString(index); ! if (str==null) { return null; } else { ! return str[0]; } } --- 16,25 ---- public override object Get(IDataReader rs, int index) { ! string dbValue = Convert.ToString(rs[index]); ! if (dbValue==null) { return null; } else { ! return dbValue[0]; } } |
From: Michael D. <mik...@us...> - 2004-05-18 05:03:17
|
Update of /cvsroot/nhibernate/nhibernate/src/NHibernate/Sql In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27149/NHibernate/Sql Removed Files: ANSIOuterJoinFragment.cs OracleOuterJoinFragment.cs Log Message: Removed OuterJoinFragments because they were not in h2.0.3 --- ANSIOuterJoinFragment.cs DELETED --- --- OracleOuterJoinFragment.cs DELETED --- |
From: Michael D. <mik...@us...> - 2004-05-18 05:02:41
|
Update of /cvsroot/nhibernate/nhibernate/src/NHibernate/Driver In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27058/NHibernate/Driver Modified Files: ByteFXDataDriver.cs DriverBase.cs FirebirdDriver.cs IDriver.cs OdbcDriver.cs OleDbDriver.cs SqlClientDriver.cs Added Files: OracleClientDriver.cs Log Message: Minor modification to how certain Connection & Command classes are instantiated. More code moved to DriverBase. Added Oracle DataProvider to project. Thanks to feilng for the contribution. --- NEW FILE: OracleClientDriver.cs --- using System; using System.Data; using System.Reflection; namespace NHibernate.Driver { /// <summary> /// A NHibernate Driver for using the Oracle DataProvider /// <see cref="System.Data.OracleClient.OracleConnection"/>. /// </summary> public class OracleClientDriver: DriverBase { private System.Type connectionType; private System.Type commandType; public OracleClientDriver() { connectionType = System.Type.GetType("System.Data.OracleClient.OracleConnection, System.Data.OracleClient, version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"); commandType = System.Type.GetType("System.Data.OracleClient.OracleCommand, System.Data.OracleClient, version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"); } public override System.Type CommandType { get { return commandType; } } public override System.Type ConnectionType { get { return connectionType; } } public override bool UseNamedPrefixInSql { get {return true;} } public override bool UseNamedPrefixInParameter { get {return true;} } public override string NamedPrefix { get {return ":";} } } } Index: SqlClientDriver.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Driver/SqlClientDriver.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** SqlClientDriver.cs 6 May 2004 13:32:51 -0000 1.2 --- SqlClientDriver.cs 18 May 2004 05:02:27 -0000 1.3 *************** *** 13,16 **** --- 13,26 ---- } + public override System.Type CommandType + { + get { return typeof(System.Data.SqlClient.SqlCommand); } + } + + public override System.Type ConnectionType + { + get { return typeof(System.Data.SqlClient.SqlConnection); } + } + public override IDbConnection CreateConnection() { Index: OleDbDriver.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Driver/OleDbDriver.cs,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** OleDbDriver.cs 30 Apr 2004 14:06:46 -0000 1.3 --- OleDbDriver.cs 18 May 2004 05:02:27 -0000 1.4 *************** *** 16,19 **** --- 16,29 ---- } + public override System.Type CommandType + { + get { return typeof(System.Data.OleDb.OleDbCommand); } + } + + public override System.Type ConnectionType + { + get { return typeof(System.Data.OleDb.OleDbConnection); } + } + public override IDbConnection CreateConnection() { Index: ByteFXDataDriver.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Driver/ByteFXDataDriver.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ByteFXDataDriver.cs 21 Mar 2004 00:47:07 -0000 1.1 --- ByteFXDataDriver.cs 18 May 2004 05:02:27 -0000 1.2 *************** *** 34,45 **** } ! public override IDbConnection CreateConnection() { ! return (IDbConnection) Activator.CreateInstance(connectionType); } ! public override IDbCommand CreateCommand() { ! return (IDbCommand) Activator.CreateInstance(commandType); } --- 34,45 ---- } ! public override System.Type CommandType { ! get { return commandType; } } ! public override System.Type ConnectionType { ! get { return connectionType; } } Index: IDriver.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Driver/IDriver.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** IDriver.cs 6 May 2004 13:13:12 -0000 1.2 --- IDriver.cs 18 May 2004 05:02:27 -0000 1.3 *************** *** 38,41 **** --- 38,51 ---- /// <summary> + /// The Type used to create an IDbConnection + /// </summary> + System.Type ConnectionType { get; } + + /// <summary> + /// The Type used to create an IDbCommand + /// </summary> + System.Type CommandType { get; } + + /// <summary> /// Creates an uninitialized IDbConnection object for the specific Driver /// </summary> Index: FirebirdDriver.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Driver/FirebirdDriver.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** FirebirdDriver.cs 16 Mar 2004 16:46:12 -0000 1.2 --- FirebirdDriver.cs 18 May 2004 05:02:27 -0000 1.3 *************** *** 19,30 **** } ! public override IDbConnection CreateConnection() { ! return (IDbConnection) Activator.CreateInstance(connectionType); } ! public override IDbCommand CreateCommand() { ! return (IDbCommand) Activator.CreateInstance(commandType); } --- 19,30 ---- } ! public override System.Type CommandType { ! get { return commandType; } } ! public override System.Type ConnectionType { ! get { return connectionType; } } Index: DriverBase.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Driver/DriverBase.cs,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** DriverBase.cs 6 May 2004 13:32:51 -0000 1.3 --- DriverBase.cs 18 May 2004 05:02:27 -0000 1.4 *************** *** 17,23 **** #region IDriver Members ! public abstract IDbConnection CreateConnection(); ! public abstract IDbCommand CreateCommand(); public abstract bool UseNamedPrefixInSql {get;} --- 17,32 ---- #region IDriver Members ! public abstract System.Type CommandType {get; } ! public abstract System.Type ConnectionType {get; } ! public virtual IDbConnection CreateConnection() ! { ! return (IDbConnection) Activator.CreateInstance(ConnectionType); ! } ! ! public virtual IDbCommand CreateCommand() ! { ! return (IDbCommand) Activator.CreateInstance(CommandType); ! } public abstract bool UseNamedPrefixInSql {get;} Index: OdbcDriver.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Driver/OdbcDriver.cs,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** OdbcDriver.cs 30 Apr 2004 14:06:46 -0000 1.3 --- OdbcDriver.cs 18 May 2004 05:02:27 -0000 1.4 *************** *** 16,19 **** --- 16,29 ---- } + public override System.Type CommandType + { + get { return typeof(System.Data.Odbc.OdbcCommand); } + } + + public override System.Type ConnectionType + { + get { return typeof(System.Data.Odbc.OdbcConnection); } + } + public override IDbConnection CreateConnection() { |
From: Michael D. <mik...@us...> - 2004-05-18 05:01:16
|
Update of /cvsroot/nhibernate/nhibernate/src/NHibernate/Dialect In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26795/NHibernate/Dialect Modified Files: Dialect.cs Oracle9Dialect.cs OracleDialect.cs Log Message: Added virtual modifier to some methods in Dialect Added OracleDialects to project. Thanks to feilng for the contribution. Index: Oracle9Dialect.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Dialect/Oracle9Dialect.cs,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** Oracle9Dialect.cs 28 Apr 2003 14:25:09 -0000 1.6 --- Oracle9Dialect.cs 18 May 2004 05:01:02 -0000 1.7 *************** *** 1,53 **** using System; ! using System.Text; using System.Data; using NHibernate.Util; ! namespace NHibernate.Dialect { ! /// <summary> ! /// An SQL dialect for Oracle 9 (uses ANSI-style syntax where possible). /// </summary> ! public class Oracle9Dialect : Dialect { ! public Oracle9Dialect() : base() { ! /* Type mapping in Java was: ! ! Types.BIT, "NUMBER(1,0)" ! Types.BIGINT, "NUMBER(19,0)" ! Types.SMALLINT, "NUMBER(5,0)" ! Types.TINYINT, "NUMBER(3,0)" ! Types.INTEGER, "NUMBER(10,0)" ! Types.CHAR, "CHAR(1)" ! Types.VARCHAR, "VARCHAR2($l)" ! Types.FLOAT, "FLOAT" ! Types.DOUBLE, "DOUBLE PRECISION" ! Types.DATE, "DATE" ! Types.TIME, "DATE" ! Types.TIMESTAMP, "DATE" ! Types.VARBINARY, "RAW($l)" ! Types.NUMERIC, "NUMBER(19, $l)" ! Types.BLOB, "BLOB" ! Types.CLOB, "CLOB" ! */ ! ! Register( DbType.Bit, "NUMBER(1,0)" ); ! Register( DbType.BigInt, "NUMBER(19,0)" ); ! Register( DbType.SmallInt, "NUMBER(5,0)" ); ! Register( DbType.TinyInt, "NUMBER(3,0)" ); ! Register( DbType.Int, "NUMBER(10,0)" ); ! Register( DbType.Char, "CHAR(1)" ); ! Register( DbType.VarChar, "VARCHAR2($l)" ); ! Register( DbType.Float, "FLOAT" ); ! Register( DbType.Real, "DOUBLE PRECISION" ); ! Register( DbType.DateTime, "DATE" ); ! Register( DbType.SmallDateTime, "DATE" ); ! Register( DbType.Timestamp, "DATE" ); ! Register( DbType.VarBinary, "RAW($l)" ); ! Register( DbType.Decimal, "NUMBER(19, $l)" ); ! Register( DbType.Image, "BLOB" ); ! Register( DbType.Text, "CLOB" ); /* TODO: getDefaultProperties().setProperty(Environment.USE_STREAMS_FOR_BINARY, "true"); --- 1,24 ---- using System; ! using System.Collections; using System.Data; + using System.Text; + using NHibernate.SqlCommand; + using NHibernate.SqlTypes; using NHibernate.Util; ! namespace NHibernate.Dialect ! { /// <summary> ! /// It's a immature version, it just work. ! /// An SQL dialect for Oracle 9 /// </summary> ! public class Oracle9Dialect : Dialect ! { ! private readonly IDictionary aggregateFunctions = new Hashtable(); + public Oracle9Dialect() : base() + { /* TODO: getDefaultProperties().setProperty(Environment.USE_STREAMS_FOR_BINARY, "true"); *************** *** 55,93 **** getDefaultProperties().setProperty(Environment.OUTER_JOIN, "true"); */ } ! public override string AddColumnString { get { return "add"; } } ! ! public override string GetSequenceNextValString(string sequenceName) { ! return string.Concat( "select ", sequenceName, ".nextval from dual" ); } ! public override string GetCreateSequenceString(string sequenceName) { ! return "create sequence " + sequenceName; } ! public override string GetDropSequenceString(string sequenceName) { return "drop sequence " + sequenceName; } ! public string CascadeConstraintsString { get { return " cascade constraints"; } } ! public bool SupportsForUpdateNowait { get { return true; } } ! ! public override bool SupportsSequences { get { return true; } } ! public override bool UseNamedParameters { get { return true; } } ! public override string NamedParametersPrefix { get { return ":"; } } } } --- 26,274 ---- getDefaultProperties().setProperty(Environment.OUTER_JOIN, "true"); */ + + // add all the functions from the base into this instance + foreach(DictionaryEntry de in base.AggregateFunctions) + { + aggregateFunctions[de.Key] = de.Value; + } + aggregateFunctions["trunc"] = new QueryFunctionStandard(); + aggregateFunctions["round"] = new QueryFunctionStandard(); + aggregateFunctions["abs"] = new QueryFunctionStandard(NHibernate.Int32); + aggregateFunctions["sign"] = new QueryFunctionStandard(NHibernate.Int32); + aggregateFunctions["ceil"] = new QueryFunctionStandard(NHibernate.Int32); + aggregateFunctions["floor"] = new QueryFunctionStandard(NHibernate.Int32); + aggregateFunctions["sqrt"] = new QueryFunctionStandard(); + aggregateFunctions["exp"] = new QueryFunctionStandard(); + aggregateFunctions["ln"] = new QueryFunctionStandard(); + aggregateFunctions["sin"] = new QueryFunctionStandard(); + aggregateFunctions["sinh"] = new QueryFunctionStandard(); + aggregateFunctions["cos"] = new QueryFunctionStandard(); + aggregateFunctions["cosh"] = new QueryFunctionStandard(); + aggregateFunctions["tan"] = new QueryFunctionStandard(); + aggregateFunctions["tanh"] = new QueryFunctionStandard(); + aggregateFunctions["stddev"] = new QueryFunctionStandard(); + aggregateFunctions["variance"] = new QueryFunctionStandard(); + //TODO: aggregateFunctions["sysdate"] = new TODO; + aggregateFunctions["lastday"] = new QueryFunctionStandard(NHibernate.Date); } ! public override string AddColumnString ! { get { return "add"; } } ! ! public override string GetSequenceNextValString(string sequenceName) ! { ! return "select " + sequenceName + ".nextval from dual"; } ! ! public override string GetCreateSequenceString(string sequenceName) ! { ! return "create sequence " + sequenceName + " INCREMENT BY 1 START WITH 1 MAXVALUE 1.0E28 MINVALUE 1 NOCYCLE CACHE 20 NOORDER"; } ! ! public override string GetDropSequenceString(string sequenceName) ! { return "drop sequence " + sequenceName; } ! public override string CascadeConstraintsString ! { get { return " cascade constraints"; } } ! public override bool SupportsForUpdateNoWait ! { get { return true; } } ! ! public override bool SupportsSequences ! { get { return true; } + } + + public override bool SupportsLimit + { + get { return true; } } ! public override string GetLimitString(String querySelect) ! { ! StringBuilder pagingSelect = new StringBuilder(100); ! pagingSelect.Append("select * from ( select row_.*, rownum rownum_ from ( "); ! pagingSelect.Append(querySelect); ! pagingSelect.Append(" ) row_ where rownum <= ?) where rownum_ > ?"); ! return pagingSelect.ToString(); ! } ! ! public override SqlString GetLimitString(SqlString querySqlString) ! { ! Parameter p1 = new Parameter(); ! Parameter p2 = new Parameter(); ! ! p1.Name = "p1"; ! p1.DbType = DbType.Int16; ! ! p2.Name = "p2"; ! p2.DbType = DbType.Int16; ! ! /* ! * "select * from ( select row_.*, rownum rownum_ from ( " ! * sql ! * " ) row_ where rownum <= ?) where rownum_ > ?" ! */ ! SqlStringBuilder pagingBuilder = new SqlStringBuilder(); ! pagingBuilder.Add("select * from ( select row_.*, rownum rownum_ from ( "); ! pagingBuilder.Add(querySqlString); ! pagingBuilder.Add(" ) row_ where rownum <= "); ! pagingBuilder.Add(p1); ! pagingBuilder.Add(") where rownum_ > "); ! pagingBuilder.Add(p2); ! ! return pagingBuilder.ToSqlString(); ! } ! ! public override bool BindLimitParametersInReverseOrder ! { ! get { return true; } ! } ! ! public override bool SupportsForUpdateOf ! { ! get { return true; } ! } ! ! public override IDictionary AggregateFunctions ! { ! get { return aggregateFunctions; } ! } ! ! public override bool UseMaxForLimit ! { ! get { return true; } ! } ! ! [Obsolete("See the Dialect class for reason")] ! public override bool UseNamedParameters ! { get { return true; } } ! [Obsolete("See the Dialect class for reason")] ! public override string NamedParametersPrefix ! { get { return ":"; } } + + + + private string SqlTypeToString(string name, int length) + { + return name + "(" + length + ")"; + } + + private string SqlTypeToString(string name, int precision, int scale) + { + if (precision > 19) precision = 19; + return name + "(" + precision + ", " + scale + ")"; + } + + protected override string SqlTypeToString(AnsiStringFixedLengthSqlType sqlType) + { + return SqlTypeToString("NVARCHAR2", 1000); + } + + protected override string SqlTypeToString(BinarySqlType sqlType) + { + if(sqlType.Length <= 8000) + { + return SqlTypeToString("RAW", sqlType.Length); + } + else + { + return "BLOB"; // should use the IType.BlobType + } + } + + protected override string SqlTypeToString(BooleanSqlType sqlType) + { + return "NUMBER(1,0)"; + } + + + protected override string SqlTypeToString(ByteSqlType sqlType) + { + return "NUMBER(3,0)"; + } + + protected override string SqlTypeToString(CurrencySqlType sqlType) + { + return "NUMBER(19, 1)"; + } + + protected override string SqlTypeToString(DateSqlType sqlType) + { + return "DATE"; + } + + protected override string SqlTypeToString(DateTimeSqlType sqlType) + { + return "DATE"; + } + + protected override string SqlTypeToString(DecimalSqlType sqlType) + { + return SqlTypeToString("NUMBER", sqlType.Precision, sqlType.Scale); + } + + protected override string SqlTypeToString(DoubleSqlType sqlType) + { + return "DOUBLE PRECISION"; + } + + protected override string SqlTypeToString(Int16SqlType sqlType) + { + return "NUMBER(5,0)"; + } + + protected override string SqlTypeToString(Int32SqlType sqlType) + { + return "NUMBER(10,0)"; + } + + protected override string SqlTypeToString(Int64SqlType sqlType) + { + return "NUMBER(20,0)"; + } + + protected override string SqlTypeToString(SingleSqlType sqlType) + { + return "FLOAT"; + } + + protected override string SqlTypeToString(StringFixedLengthSqlType sqlType) + { + if(sqlType.Length <= 2000) + { + return SqlTypeToString("NVARCHAR2", sqlType.Length); + } + else + { + return string.Empty; // should use the IType.ClobType + } + } + + protected override string SqlTypeToString(StringSqlType sqlType) + { + if(sqlType.Length <= 2000) + { + return SqlTypeToString("NVARCHAR2", sqlType.Length); + } + else + { + return string.Empty; // should use the IType.ClobType + } + } } } + Index: Dialect.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Dialect/Dialect.cs,v retrieving revision 1.29 retrieving revision 1.30 diff -C2 -d -r1.29 -r1.30 *** Dialect.cs 28 Apr 2004 03:46:11 -0000 1.29 --- Dialect.cs 18 May 2004 05:01:02 -0000 1.30 *************** *** 414,418 **** /// <value>False, unless overridden.</value> /// <remarks>Inheritors should return true if the correct order is limit, offset</remarks> ! public bool BindLimitParametersInReverseOrder { get { return false;} --- 414,418 ---- /// <value>False, unless overridden.</value> /// <remarks>Inheritors should return true if the correct order is limit, offset</remarks> ! public virtual bool BindLimitParametersInReverseOrder { get { return false;} *************** *** 424,428 **** /// </summary> /// <value>false, unless overridden</value> ! public bool BindLimitParametersFirst { get { return false;} --- 424,428 ---- /// </summary> /// <value>false, unless overridden</value> ! public virtual bool BindLimitParametersFirst { get { return false;} *************** *** 434,438 **** /// </summary> /// <returns>false, unless overridden</returns> ! public bool UseMaxForLimit { get { return false;} --- 434,438 ---- /// </summary> /// <returns>false, unless overridden</returns> ! public virtual bool UseMaxForLimit { get { return false;} *************** *** 443,447 **** /// specified? /// </summary> ! public bool PreferLimit { get { return false; } --- 443,447 ---- /// specified? /// </summary> ! public virtual bool PreferLimit { get { return false; } *************** *** 471,475 **** /// specialization's data. /// </remarks> ! public IDictionary AggregateFunctions { get { return aggregateFunctions;} --- 471,475 ---- /// specialization's data. /// </remarks> ! public virtual IDictionary AggregateFunctions { get { return aggregateFunctions;} Index: OracleDialect.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Dialect/OracleDialect.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** OracleDialect.cs 19 Feb 2003 16:33:16 -0000 1.2 --- OracleDialect.cs 18 May 2004 05:01:02 -0000 1.3 *************** *** 2,22 **** using NHibernate.Sql; ! namespace NHibernate.Dialect { ! /// <summary> /// An SQL dialect for Oracle, compatible with Oracle 8. /// </summary> ! public class OracleDialect : Oracle9Dialect { ! ! public OracleDialect() : base() { } ! public OuterJoinFragment CreateOuterJoinFragment() { ! return new OracleOuterJoinFragment(); } ! public CaseFragment CreateCaseFragment() { ! return new DecodeCaseFragment(); } } ! } \ No newline at end of file --- 2,27 ---- using NHibernate.Sql; + using NHibernate.SqlCommand; ! namespace NHibernate.Dialect ! { /// <summary> /// An SQL dialect for Oracle, compatible with Oracle 8. /// </summary> ! public class OracleDialect : Oracle9Dialect ! { ! public OracleDialect() : base() ! { } ! public override JoinFragment CreateOuterJoinFragment() ! { ! return new OracleJoinFragment(); } ! ! public override CaseFragment CreateCaseFragment() ! { ! return new DecodeCaseFragment(this); } } ! } |