No, the place to look here is the NH MySql Dialect, actually. Look at GetLimitString, in particular.
On Mon, May 17, 2010 at 5:29 AM, Nathan Stott <[email protected]> wrote: > I traced it to being caused by the SetMaxResults(1) call > in GetPermissionQueryInternal in AuthorizationService. > > When I remove SetMaxResults(1) things work more as I'd expect them to, but > looking at the code it looks like this is needed logic. > > I suppose that means that problem is again in the NH MySQL Provider? Would > that be the place to look next? > > > On Mon, May 17, 2010 at 12:05 AM, Nathan Stott <[email protected]> wrote: > >> Any ideas on this problem would be greatly appreciated. >> >> I'm doing a very simple query. >> >> var dc = DetachedCriteria.For<Appointment>(); >> >> AuthorizationService.AddPermissionsToQuery(user, "/Appointment/View", dc); >> >> return dc.GetExecutableCriteria(Session).List<Appointment>(); >> >> >> Removing the AddPermissionsToQuery results in a query that works. The SQL >> generated produces invalid SQL with a variable ?p6 that is simply undefined. >> The ?p6 variable appears to be completely extraneous. Running the SQL >> statement manually with this parameter removed results in the exact results >> I want. >> >> This is the exact error: >> *Exception Details: *MySql.Data.MySqlClient.MySqlException: Parameter >> '?p6' must be defined. >> >> Any suggestions would be most welcome. >> >> This is the resulting SQL: >> >> SELECT >> this_.id as id4_0_, >> this_.appointment_status as appointm2_4_0_, >> this_.requestor_first_name as requestor3_4_0_, >> this_.requestor_last_name as requestor4_4_0_, >> this_.requestor_phone as requestor5_4_0_, >> this_.requestor_email as requestor6_4_0_, >> this_.inn_code as inn7_4_0_, >> this_.start_time as start8_4_0_, >> this_.end_time as end9_4_0_, >> this_.consult_reason_description as consult10_4_0_, >> this_.created_at as created11_4_0_, >> this_.last_modified_at as last12_4_0_, >> this_.security_key as security13_4_0_, >> this_._user as column14_4_0_, >> this_._time_slot as column15_4_0_ >> FROM appointment this_ >> WHERE 1 /* ?p0 */ = ( >> SELECT >> this_0_.Allow as y0_ >> FROM security_Permissions this_0_ inner join security_Operations op1_ on >> this_0_.Operation=op1_.Id left outer join security_EntitiesGroups >> entitygrou2_ on this_0_.EntitiesGroup=entitygrou2_.Id left outer join >> security_EntityReferencesToEntitiesGroups entities7_ on >> entitygrou2_.Id=entities7_.GroupId left outer join security_EntityReferences >> entitykey3_ on entities7_.EntityReferenceId=entitykey3_.Id >> WHERE op1_.Name in ( >> '/Appointment/View' /* ?p1 */, >> '/Appointment' /* ?p2 */) >> and >> ( >> this_0_.`User` = 1515 /* ?p3 */ or >> this_0_.UsersGroup in ( >> SELECT >> this_0_0_.Id as y0_ >> FROM security_UsersGroups this_0_0_ >> WHERE this_0_0_.Id in ( >> SELECT >> this_0_0_0_.Id as y0_ >> FROM security_UsersGroups this_0_0_0_ left outer join >> security_UsersToUsersGroups users4_ on this_0_0_0_.Id=users4_.GroupId left >> outer join users user1_ on users4_.UserId=user1_.id left outer join >> security_UsersGroupsHierarchy allchildre6_ on >> this_0_0_0_.Id=allchildre6_.ParentGroup left outer join security_UsersGroups >> child2_ on allchildre6_.ChildGroup=child2_.Id >> WHERE ( >> child2_.Id in ( >> SELECT >> this_0_0_0x0_.Id as y0_ >> FROM security_UsersGroups this_0_0_0x0_ inner join >> security_UsersToUsersGroups users3_ on this_0_0_0x0_.Id=users3_.GroupId >> inner join users user1_ on users3_.UserId=user1_.id >> WHERE user1_.id = 1515 /* ?p4 */) >> or >> user1_.id = 1515 /* ?p5 */) >> ) >> ) >> ) >> and >> ( >> ( >> this_.security_key = this_0_.EntitySecurityKey or >> this_.security_key = entitykey3_.EntitySecurityKey) >> or >> ( >> this_0_.EntitySecurityKey is null and >> this_0_.EntitiesGroup is null) >> ) >> ORDER BY this_0_.Level desc, >> this_0_.Allow asc limit ?p6) >> > > -- > You received this message because you are subscribed to the Google Groups > "Rhino Tools Dev" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]<rhino-tools-dev%[email protected]> > . > For more options, visit this group at > http://groups.google.com/group/rhino-tools-dev?hl=en. > -- You received this message because you are subscribed to the Google Groups "Rhino Tools Dev" 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/rhino-tools-dev?hl=en.
