Paging + prefetch path

Posts   
1  /  2  /  3  /  4
 
    
Marcus avatar
Marcus
User
Posts: 747
Joined: 23-Apr-2004
# Posted on: 03-Dec-2005 15:54:24   

Otis wrote:

Marcus wrote:

Otis wrote:

Marcus wrote:

Speaking of subclassing DataAccessAdapter did you have any thoughts on changing the protection level of:

private FetchPrefetchPath -> protected virtual private MergeNormal -> protected private MergeManyToMany -> protected

... in DataAccessAdapterBase to accomodate my custom paging + prefetch (from our other discussion on http://llblgen.com/tinyforum/Messages.aspx?ThreadID=1517&StartAtMessage=34)

MergeNormal and MergeManyToMany not virtual? I don't mind making them protected virtual simple_smile

Sure why not... simple_smile I was going with a minimalistic approach. wink The only reason they are needed is because they are called from FetchPrefetchPath and I need to be able to call back into them...

They'll be virtual in the next upgrade simple_smile (1.0.2005.1)

While we are on the subject of extensibility... smile My TempDB is getting hit hard due to paging creating temp tables... I havn't had a chance to experiement yet, but that article on CodeProject (the one that examined the paging options http://www.codeproject.com/aspnet/PagingLarge.asp) suggested that a Cursor might be less harsh on the systems and in his tests seemed to be faster... Given this, would there be a future way that I could override DynamicQueryEngine.ManglePageSelectDQ() (currently static) so that different paging implementations could be chosen at runtime... wink

Cursors on Sqlserver create also a temptable. So that's not going to do you any good. What could help is using a table variable instead, though that's slower in larger resultsets situations.

Frans,

I'm going to implement a new paging method using the new SQL Server 2005 Row_Number() feature which eliminates the Temp Table... Can you possible make the ManglePageSelectDQ "protected virtual" so that I can override it? smile

Thanks!

Otis avatar
Otis
LLBLGen Pro Team
Posts: 39617
Joined: 17-Aug-2003
# Posted on: 03-Dec-2005 16:16:09   

You should override: CreatePagingSelectDQ in the DQE derived class simple_smile Though I see a point of having hte other routine become virtual. I'll see what I can do.

Frans Bouma | Lead developer LLBLGen Pro
Marcus avatar
Marcus
User
Posts: 747
Joined: 23-Apr-2004
# Posted on: 03-Dec-2005 16:25:43   

Otis wrote:

You should override: CreatePagingSelectDQ in the DQE derived class simple_smile

I'm happy with everything except the the actual SQL that is generated for the temp table stuff, so overriding ManglePageSelectDQ is more appropriate I think.

Otis wrote:

Though I see a point of having hte other routine become virtual. I'll see what I can do.

Cheers

Otis avatar
Otis
LLBLGen Pro Team
Posts: 39617
Joined: 17-Aug-2003
# Posted on: 04-Dec-2005 12:23:03   

I'll make it protected virtual in the next build. simple_smile

Frans Bouma | Lead developer LLBLGen Pro
Marcus avatar
Marcus
User
Posts: 747
Joined: 23-Apr-2004
# Posted on: 06-Dec-2005 10:11:52   

Otis wrote:

I'll make it protected virtual in the next build. simple_smile

Thanks smile

Marcus avatar
Marcus
User
Posts: 747
Joined: 23-Apr-2004
# Posted on: 09-Dec-2005 16:13:51   

Otis wrote:

I'll make it protected virtual in the next build. simple_smile

Frans - we are going to need "CreateColumn" to be protected virtual also as it is called from within ManglePageSelectDQ.

Sorry - just spotted this now that I have started to implement...

Marcus

Otis avatar
Otis
LLBLGen Pro Team
Posts: 39617
Joined: 17-Aug-2003
# Posted on: 09-Dec-2005 16:28:30   

As protected I pressume? All types in sqlserver 2005 are there already, so I think it just needs to be protected so you can call it from your own mangling routine, correct? simple_smile

(edit), hmm the time on the new server isn't correct apparently :o corrected (the time on the server. You apparently posted via sd.nl I think)

Frans Bouma | Lead developer LLBLGen Pro
Marcus avatar
Marcus
User
Posts: 747
Joined: 23-Apr-2004
# Posted on: 09-Dec-2005 17:21:06   

Otis wrote:

As protected I pressume? All types in sqlserver 2005 are there already, so I think it just needs to be protected so you can call it from your own mangling routine, correct? simple_smile

Well actually - Create Column is not required in my implementation as I don't use the temp table... simple_smile I was just thinking that for the purpose of the API it might be required.

(edit), hmm the time on the new server isn't correct apparently :o corrected (the time on the server. You apparently posted via sd.nl I think)

Yes I've been using sd.nl since we had that trouble with the forum before...

Otis avatar
Otis
LLBLGen Pro Team
Posts: 39617
Joined: 17-Aug-2003
# Posted on: 09-Dec-2005 17:27:57   

Marcus wrote:

Otis wrote:

As protected I pressume? All types in sqlserver 2005 are there already, so I think it just needs to be protected so you can call it from your own mangling routine, correct? simple_smile

Well actually - Create Column is not required in my implementation as I don't use the temp table... simple_smile I was just thinking that for the purpose of the API it might be required.

Great point! simple_smile Well CreateColumn is indeed necessary if you use a temptable. As that implementation is already there, I don't think CreateColumn is required as protected.

(edit), hmm the time on the new server isn't correct apparently :o corrected (the time on the server. You apparently posted via sd.nl I think)

Yes I've been using sd.nl since we had that trouble with the forum before...

No problem. This weekend I'll update the forum on this new server with full textsearch search and searchterm highlighting simple_smile So finally a proper search engine! simple_smile I'll then also shut down the other forum instances running (on sd.nl and the old llblgen.com hosted site) and redirect the urls to the new server www.llblgen.com/tinyforum (which you can use again without probs, the server is now only for us so no more 'if those 4 applications eat 100mb of memory we shut it down till tomorrow'-misery simple_smile

Frans Bouma | Lead developer LLBLGen Pro
1  /  2  /  3  /  4