Hi guys!

That's my blame. I made such implementation during the summer when I was
implementing string operations (substring, indexof, remove, replace,
trim..), all of them using the same convention (if you find a error in one
operation it probably will exist for the rest of operations).

When I implemented such string operations they worked fine for postgre and
mssql, but now a lot of tests fail. :-S . Nonetheless I agree with you that
the SqlProvider implementation isn't the most beautiful one.

I made such implementation in August, from 6th(r842) to 10th(r849). If you
want you cant take a quick look to those commit,  if SqlProvider
implementation is wrong maybe (though I don't think so) other parts of such
implementation are also bad. It is all ways interesting another point of
view.

On Tue, Sep 16, 2008 at 12:24 AM, Pascal Craponne <[EMAIL PROTECTED]> wrote:
> 2. If the above value it true, then we set the involved argument
> Expression.Add(originalExpression,Expression.Constant(1)) when creating
the
> SpecialExpression.

If we are going to do this, probably we'll have to do some modifications in
Specialexpression.Execute method and ExpressionDispatcher.AnalyzeCall method
too (in addition to SqlProvider modifications).

Regards.


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


-- 
Saludos. Pablo Iñigo Blasco .

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