A vendor specific setting seems reasonable. If this does not affect PostgreSQL performance, maybe it's an option we should explore.Andrus, can you provide a patch for this?
On Wed, Oct 22, 2008 at 21:39, Andrus <[EMAIL PROTECTED]> wrote: > npgsql 2 uses async fetching in DataReader: > > Rows are read from server only when DataReader Read() requests them. > Connection is in this case in fetching state. > ADO .NET Sqlclient does never return Fetching connection state in standard > ConnectionState property and npgsql follows this for compatibility. > > In cases when user aborts Linq enumerator e.q by exiting foreach before end > and issues new query, DbLinq tries to use this connection again > since it finds that it is in Open state. > > This causes npgsql exception since really connection is in fetching state > and Multiple Active Result Sets over same connections are not available > (only MS Sqlclient with newer sql servers allows them but even this requires > setting MARS explicity in connection string). > > I think this must be same for any ADO .NET provider which will not read > entire result set to memory. > > Possible fixes may be: > > 1. Close connection if Datareader is closed and re-open it if needed. Jiri > wrote in earlier discussion that this is slow in Oracle. > 2. Catch this exception and re-open connection. This may require catching > every provider exception and try re-open for every exception since there is > no > ADO standard for this. > 3. Create some special vendor setting to use vendor-specific fixes. > > Andrus. > > > > > ----- Original Message ----- > *From:* Pascal Craponne <[EMAIL PROTECTED]> > *To:* [email protected] > *Sent:* Wednesday, October 22, 2008 10:19 PM > *Subject:* Re: Nested LINQ with postgres > > Hi Andrus, > is there any way to get this code more generic (ie without cast to > NpgsqlConnection)? > It seems strange that PostgreSQL manages connections so differently. > > Pascal. > > On Wed, Oct 22, 2008 at 17:36, Alan187 <[EMAIL PROTECTED]> wrote: > >> >> Andrus, >> >> Thank you for taking time to reply to my post. >> >> Again, keep up the great work everone. >> >> -Alan >> >> > > > -- > Pascal. > > jabber/gtalk: [EMAIL PROTECTED] > msn: [EMAIL PROTECTED] > > > > -- Pascal. jabber/gtalk: [EMAIL PROTECTED] msn: [EMAIL PROTECTED] --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "DbLinq" 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/dblinq?hl=en -~----------~----~----~----~------~----~------~--~---
