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 ":"; }        }
>> > >> >    }
>
>

Reply via email to