For git, set autocrlf=true before cloning to your local machine. /Oskar
2012/1/9 Stephen Bohlen <[email protected]>: > Fork the repo and then issue a pull request from github that references the > JIRA issue. > > Steve Bohlen > [email protected] > http://blog.unhandled-exceptions.com > http://twitter.com/sbohlen > > > > On Mon, Jan 9, 2012 at 12:13 PM, Mike Charalambous > <[email protected]> wrote: >> >> I have created a bug report for this issue, ticket NH-3004, and a unit >> test which does not require ADS to run. The unit test is in the same >> form as those found in the NHSpecificTest folder in the >> NHibernate.Test project. >> >> Please can you let me know how I should submit this test? >> >> I have also created a fix for the bug, please can you let me know the >> best way to submit this fix? >> >> Thanks >> Michael >> >> >> On Jan 5, 11:32 am, "Richard Brown \(gmail\)" >> <[email protected]> wrote: >> > A failing test might be tricky without writing it specifically for ADS - >> > and >> > since we don't have ADS on our TeamCity server, it might never get run >> > anyway. >> > >> > Another option would be to override that method in the ADS driver: >> > >> > public MyAdsDriver : IDriver >> > { >> > ... >> > void IDriver.RemoveUnusedCommandParameters(IDbCommand cmd, SqlString >> > sqlString) >> > { >> > // do nothing >> > } >> > ... >> > >> > >> > >> > >> > >> > >> > >> > } >> > -----Original Message----- >> > From: Oskar Berggren >> > Sent: Tuesday, January 03, 2012 4:52 PM >> > To: [email protected] >> > Subject: Re: [nhibernate-development] Re: Bug found in >> > >> > DriverBase.RemoveUnusedCommandParameters >> > >> > Yes, please create a bug report and a simple test case that can >> > inserted in NHibernate's tests. >> > >> > /Oskar >> > >> > 2011/12/28 Mike Charalambous <[email protected]>: >> > > Hi Julian >> > >> > > I have downloaded and built the latest trunk and have found the issue >> > > is still there. >> > >> > > The issue is slightly different than bug 2893, which is talking about >> > > when the assigned parameter names are ?. In this case the Advantage >> > > DBMS the parameter name is :p0 in SQL and p0 in the parameter >> > > collection. RemoveUnusedCommandParameters does not take into account >> > > that the SQL and parameter collection names can differ. So any query >> > > with a parameter, such as >> > >> > > Session.CreateQuery("from WebUser u where u.Inactive >> > > = :inactive").SetParameter("inactive", false).List<WebUser>(); >> > >> > > fails with the exception >> > >> > > Advantage.Data.Provider.AdsException : Error 7200: AQE Error: State >> > > = 07002; NativeError = 2141; [iAnywhere Solutions][Advantage SQL >> > > Engine]Parameter missing AdsCommand query execution failed. >> > >> > > Would it be best if I created a bug report for this issue? >> > >> > > Regards >> > > Michael >> > >> > > On Dec 28, 2:15 am, Julian Maughan <[email protected]> wrote: >> > >> Thanks for raising this. I believe it is fixed in the upcoming >> > >> NHibernate >> > >> release. Have a look at this bug report: >> > >> > >>https://nhibernate.jira.com/browse/NH-2893 >> > >> > >> If you can't wait for an official release, you can download >> > >> (https://github.com/nhibernate/nhibernate-core) and compile the >> > >> source >> > >> code. >> > >> > >> Regards >> > >> Julian >> > >> > >> On 27 December 2011 03:34, Mike Charalambous >> > >> <[email protected] >> > >> > >> > wrote: >> > >> > Hi >> > >> > >> > I have recently written a NHibernate driver for the Sybase >> > >> > Advantage >> > >> > Database Server (ADS), and have across a bug in the function >> > >> > RemoveUnusedCommandParameters when running queries with parameters >> > >> > in >> > >> > them. This bug means that all parameters are removed by >> > >> > RemoveUnusedCommandParameters instead of just the ones which are >> > >> > unused. Please see the bottom of my post for the driver code. >> > >> > >> > The heart of the issue is that ADS requires a prefix to be used >> > >> > when >> > >> > referring to parameters in SQL, but not when the parameter is in >> > >> > the >> > >> > parameter collection. The RemoveUnusedCommandParameters function >> > >> > does >> > >> > not take into account that the parameter name can have a prefix in >> > >> > the >> > >> > SQL and not in the parameter collection and so removes all >> > >> > parameters >> > >> > from the command object. >> > >> > >> > I think the fix for this issue is straightforward and as far as I >> > >> > can >> > >> > tell will not cause any issues with existing drivers. The code: >> > >> > >> > .Select(p => p.ParameterName) >> > >> > >> > should be changed to: >> > >> > >> > .Select(p => FormatNameForSql(p.ParameterName)) >> > >> > >> > I have created a unit test for this issue but it requires binaries >> > >> > for >> > >> > the Advantage Database Server. Is this okay? >> > >> > >> > Thanks >> > >> > >> > Mike Charalambous >> > >> > >> > public class SybaseAdsClientDriver : >> > >> > NHibernate.Driver.ReflectionBasedDriver >> > >> > { >> > >> > public SybaseAdsClientDriver() >> > >> > : base("Advantage.Data.Provider", >> > >> > "Advantage.Data.Provider.AdsConnection", >> > >> > "Advantage.Data.Provider.AdsCommand") >> > >> > { >> > >> > } >> > >> > >> > public override bool UseNamedPrefixInSql >> > >> > { get { return true; } } >> > >> > >> > public override bool UseNamedPrefixInParameter >> > >> > { get { return false; } } >> > >> > >> > public override string NamedPrefix >> > >> > { get { return ":"; } } >> > >> > } > >
