Bug in NH:
http://216.121.112.228/browse/NH-2149

Likely not patched in 3.0?

ANyway, it's of course the fault of MySQL to require 'UNSIGNED INTEGER'
instead of 'INTEGER', but alas, MySql has many lame things so this isn't a
surprise.

        FB

 
> Exception Details: MySql.Data.MySqlClient.MySqlException: You have an
error
> in your SQL syntax; check the manual that corresponds to your MySQL server
> version for the right syntax to use near 'INTEGER) as col_0_0_ from
> Categories category0_ where (select cast(count(*) as I'
> at line 1
> 
> [GenericADOException: could not execute query [ select cast(count(*) as
> INTEGER) as col_0_0_ from Categories category0_ where (select
cast(count(*)
> as INTEGER) from CategoryOrnaments ornaments1_, Ornaments ornament2_ where
> category0_.CategoryId=ornaments1_.CategoryId and
> ornaments1_.OrnamentId=ornament2_.OrnamentId)>?p0 ]
>   Name:p1 - Value:0
> [SQL: select cast(count(*) as INTEGER) as col_0_0_ from Categories
> category0_ where (select cast(count(*) as INTEGER) from CategoryOrnaments
> ornaments1_, Ornaments ornament2_ where
> category0_.CategoryId=ornaments1_.CategoryId and
> ornaments1_.OrnamentId=ornament2_.OrnamentId)>?p0]]
>    NHibernate.Loader.Loader.DoList(ISessionImplementor session,
> QueryParameters queryParameters) +410
> 
> Server Info:
> Server version: 5.1.40-community MySQL Community Server (GPL)
> 
> mysql> status
> --------------
> mysql  Ver 14.14 Distrib 5.1.40, for Win64 (unknown)
> 
> Connection id:          16
> SSL:                    Not in use
> Using delimiter:        ;
> Server version:         5.1.40-community MySQL Community Server (GPL)
> Protocol version:       10
> Connection:             localhost via TCP/IP
> Client characterset:    latin1
> Server characterset:    latin1
> TCP port:               3306
> Uptime:                 2 hours 47 min 20 sec
> 
> Threads: 6  Questions: 379  Slow queries: 0  Opens: 121  Flush tables:
> 1  Open t
> ables: 4  Queries per second avg: 0.37
> --------------
> 
> 
> On Aug 3, 11:16 am, "Frans Bouma" <[email protected]> wrote:
> > MySQL's cast works that way, so it looks OK, what's the error?
> >
> >         FB
> >
> >
> >
> >
> >
> > > Using NHibernate 3, I have a Linq query
> >
> > > Line 12:         public long CountActive() Line 13:         { Line
> > > 14:             return EntityCollection   // Entity Collection is a
> > > wrapper for ISession.Query<Category>() Line 15:
> > > .Count(c => c.Ornaments.Count > 0); Line 16:         }
> >
> > > It is generating the following MySQL query:
> >
> > > select cast(count(* ) as INTEGER) as col_0_0_ from   Categories
> > > category0_ where  (select cast(count(* ) as INTEGER)
> > >         from   CategoryOrnaments ornaments1_,
> > >                Ornaments ornament2_
> > >         where  category0_.CategoryId = ornaments1_.CategoryId
> > >                and ornaments1_.OrnamentId = ornament2_.OrnamentId)
> > > >0
> >
> > > If I remove the cast statements, this query will run fine in mysql.
> > > I
> > have
> > > tried the same functionality on SqlServer and it works fine.
> >
> > > My NH config is as follows...
> >
> > >     <hibernate-configuration
> > > xmlns="urn:nhibernate-configuration-2.2">
> > >         <session-factory>
> > >             <property
> >
> > name='proxyfactory.factory_class'>NHibernate.ByteCode.Castle.ProxyFact
> > oryFa c> tory,
> > > NHibernate.ByteCode.Castle</property>
> > >             <property
> >
> > name="connection.provider">NHibernate.Connection.DriverConnectionProvi
> > der</
> >
> >
> >
> > > property>
> >
> > >             <!--<property
> > > name="dialect">NHibernate.Dialect.MsSql2005Dialect</property>
> > >             <property
> > > name="connection.driver_class">NHibernate.Driver.SqlClientDriver</
> > > property>
> > >             <property name="connection.connection_string">..Removed
> > > for user group post..</property>-->
> >
> > >             <property
> > > name="dialect">NHibernate.Dialect.MySQLDialect</
> > > property>
> > >             <property
> > > name="connection.driver_class">NHibernate.Driver.MySqlDataDriver</
> > > property>
> > >             <property name="connection.connection_string">...Removed
> > > for user group post...</property>
> >
> > >             <property name="current_session_context_class">web</
> > > property>
> > >             <property name="show_sql">false</property>
> > >         </session-factory>
> > >     </hibernate-configuration>
> >
> > > Am I configuring the Mysql Dialect wrong?  Or is this a known issue?
> >
> > > --
> > > You received this message because you are subscribed to the Google
> > > Groups "nhusers" group.
> > > To post to this group, send email to [email protected].
> > > To unsubscribe from this group, send email to
> > > [email protected].
> > > For more options, visit this group at
> > >http://groups.google.com/group/nhusers?hl=en.
> 
> --
> You received this message because you are subscribed to the Google Groups
> "nhusers" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/nhusers?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"nhusers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/nhusers?hl=en.

Reply via email to