Patricia, Can you produce a repeatable test case? 2010/3/11 Patricia Vandermeer <[email protected]>
> Hello Again, > > I think i have found a bug in the > authorizationService.AddPermissionsToQuery! It seems to be mixing up the > sql parameters! Here is the bit of code that is generating the error: > > Dim criteria As ICriteria = > UnitOfWork.CurrentSession.CreateCriteria(GetType(CustomField)) > authorizationService.AddPermissionsToQuery(OrgTwoAdmin, "/Entity/Edit", > criteria) > > Dim cfs As IList(Of CustomField) = criteria.List(Of CustomField)() > > > and here is the sql it is generating (From Nhibernate Profiler) > I've bolded the trouble spots. > It seems like p0 is being re-used when it shouldn't be. If I just shift > every parameter up one space the query executes fine and returns the > expected results! > there is a p5 that isn't used at all in the query. so that reinforces my > theory. > > It SHOULD be like this: > *WHERE op1_.Name in (**'/Entity'** /* @p2 */,'/Entity/Edit' /* @p1 */) > and (this_0_.[User] =8 /* @p3 */* > > > > > SELECT this_.Id as Id10_0_, > this_.Name as Name10_0_, > this_.Type as Type10_0_, > this_.SecurityKey as Security4_10_0_, > this_.AgencyId as AgencyId10_0_ > FROM CustomField this_ > WHERE 1 /* @p0 */ = (SELECT TOP 1 y0_ > FROM (SELECT ROW_NUMBER() > OVER(ORDER BY __hibernate_sort_expr_0__ > DESC, __hibernate_sort_expr_1__) as row, > query.y0_, > query.__hibernate_sort_expr_0__, > query.__hibernate_sort_expr_1__ > FROM (SELECT this_0_.Allow as y0_, > this_0_.Level as > __hibernate_sort_expr_0__, > this_0_.Allow as > __hibernate_sort_expr_1__ > 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 (1 /* @p0 > */,'/Entity/Edit' /* @p1 */) > and (this_0_.[User] = '/Entity' /* > @p2 */* > or this_0_.UsersGroup in > (SELECT this_0_0_.Id as y0_ > > FROM security_UsersGroups this_0_0_ > > left outer join security_UsersToUsersGroups users4_ > > on this_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_.Id = allchildre6_.ParentGroup > > left outer join security_UsersGroups child2_ > > on allchildre6_.ChildGroup = child2_.Id > > WHERE (child2_.Id in (SELECT this_0_0_0_.Id as y0_ > > FROM security_UsersGroups this_0_0_0_ > > inner join security_UsersToUsersGroups users3_ > > on this_0_0_0_.Id = users3_.GroupId > > inner join Users user1_ > > on users3_.UserId = user1_.Id > > WHERE user1_.Id = 8 /* @p3 */) > > or user1_.Id = 8 /* @p4 */))) > and ((this_.SecurityKey = > this_0_.EntitySecurityKey > or this_.SecurityKey = > entitykey3_.EntitySecurityKey) > or (this_0_.EntitySecurityKey > is null > and this_0_.EntitiesGroup > is null))) query) page > WHERE page.row > 0 > ORDER BY __hibernate_sort_expr_0__ DESC, > __hibernate_sort_expr_1__) > > > I'm not sure what other information you need to track this down, or what > i'm doing wrong if this is something on my end! Any input would be > appreciated! > > -- > 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.
