yes, you just need to apply the same pattern to all string manipulation methods :)
On Tue, Sep 16, 2008 at 00:03, Matthew Snyder <[EMAIL PROTECTED]>wrote: > > Pascal - > > You're absolutely right. I'll put that together the next time I'm > home. > > Does that mean the "1" constant in src/DbLinq/Vendor/Implementation/ > SqlProvider.cs (like line 466) will be refactored too? > > - > > On Sep 15, 5:46 pm, "Pascal Craponne" <[EMAIL PROTECTED]> wrote: > > Hi Matthew, > > the option you chosed to implement string index (in substrings, for > example) > > causes two problems: > > 1. it can not be optimized, since it comes at SQL generation level, thus > > we'll get some "-1" (and I don't understand why it is not a "+1", but > that > > is not the point) > > 2. it works only for Oracle, and that's too selfish :) Some SQL providers > > may have the same problem too. > > > > So here's my suggestion: > > 1. ISqlProvider gets a StringIndexStartsAtOne property > > 2. If the above value it true, then we set the involved argument > > Expression.Add(originalExpression,Expression.Constant(1)) when creating > the > > SpecialExpression. > > 3. When the special expression is translated again in CLR, the involved > > argument coming for SpecialExpression is reverted. > > Don't mind if it seems heavy, place such manipulations in a single > method. > > Such expressions will be optimized when possible (when a constant is > used), > > so we're all good. > > > > -- > > 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 -~----------~----~----~----~------~----~------~--~---
