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] --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
