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

Reply via email to