I tried the statement below in MS SQL Server and Postgres, both of which 
support this syntax:


select * from 
(select * from my_table_function('a param') as foo 
where 1 = 1

A casual Google search indicates that Oracle would support that as well. 
See here 
<http://stackoverflow.com/questions/2059299/table-valued-functions-in-oracle-11g-parameterized-views>
 ("SELECT 
* FROM table(get_Some_Data(3));"). 

In my case, I'd like the "where 1 = 1" clause to be a more complex 
restriction generated from an IQueryOver expression.

In terms of nHibernate source code, where would one start to introduce this 
feature?


On Monday, January 30, 2017 at 5:41:46 PM UTC-5, Gunnar Liljas wrote:
>
> That would result in a syntax very few DBMS:es would support, at least för 
> stored procedures, which usually can't be used as query sources. 
>
> As to using a query as a query source, you can use a <subselect> mapping, 
> which maps a (static) query instead of a table.
>
> I many ways, LINQ is the most convenient approach, since an IQueryable 
> used as is in one place can easily be extended to act as a query source in 
> another place.
>
> /g
>
>
>
>
>
> On Mon, Jan 30, 2017 at 12:40 PM +0100, "Jeff Buda" <[email protected] 
> <javascript:>> wrote:
>
> If nHibernate's IQueryOver can create a WHERE clause for a DB table or DB 
>> view, why wouldn't it be about to make a WHERE clause for a table returned 
>> by a DB stored procedure or named query? I all three cases the data being 
>> restricted is a two dimensional collection w/ named columns.
>>
>> The SQL would look something like:
>>
>> SELECT * FROM (table/view/stored procedure/named query projection) WHERE 
>> <IQueryOver generated where clause>
>>
>>
>> On Friday, January 27, 2017 at 3:24:58 PM UTC-5, Gunnar Liljas wrote:
>>>
>>> Hi!
>>>
>>> No, that's not possible, and I think the question should be "how would 
>>> it do that?". What would the resulting SQL look like?
>>>
>>> /G
>>>
>>>
>>>
>>> 2017-01-27 16:36 GMT+01:00 Jeff Buda <[email protected]>:
>>>
>>>> My product had a filter/search/sort feature that is written in terms of 
>>>> IQueryOver. It works well when we limit the contents of a mapped DB table 
>>>> or view.
>>>>
>>>> Now I need execute a stored procedure or named query and have the 
>>>> existing filter/search/sort code base limit the results of the stored 
>>>> procedure. The limiting has to be done in the SQL statement executed on 
>>>> the 
>>>> DB server.
>>>>
>>>> Does nhibernate support this feature? As far as I can tell it doesn't 
>>>> allow one to append a dynamic IQueryOver to a stored procedure. If that's 
>>>> true does anyone know why?
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google 
>>>> Groups "nhusers" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>> an email to [email protected].
>>>> To post to this group, send email to [email protected].
>>>> Visit this group at https://groups.google.com/group/nhusers.
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "nhusers" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] <javascript:>.
>> To post to this group, send email to [email protected] 
>> <javascript:>.
>> Visit this group at https://groups.google.com/group/nhusers.
>> For more options, visit https://groups.google.com/d/optout.
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"nhusers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/nhusers.
For more options, visit https://groups.google.com/d/optout.

Reply via email to