On 04-Feb-2002 Jeff Urlwin wrote:
> Martin,
> 
> Ok -- let's get in sync here.
> 
> I was trying to fix the problem doing this:
>       insert into foo (datecol) ('01-JAN-1999 00:00:00')
> which DBD::ODBC would:
>       insert into foo (datecol) ('01-JAN-1999 00??')
> 
> That's bad.  I thought the code would already handle:
>> > insert into mytable values('''2001-02-15 01:02:03')

It does, I retracted that statement. I was mistakenly using DBD::ODBC 0.32
which only looked for " and not ' (as explained previously).

> Is there a problem or do I need to handle the ''?  I actually don't think I
> need to change it (by accident, not by design), since
>       ' afaf 0:00:00 '' dfdf 0:00:00 '''

Works so long as code is as in 0.33_1 and looks for '.

> Would, I think, be parsed OK...
> 
> Please let me know and go ahead and send patches

Will send patches for table_info and primary_key_info hopefully later today.

Martin

>> -----Original Message-----
>> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On
>> Behalf Of [EMAIL PROTECTED]
>> Sent: Monday, February 04, 2002 9:09 AM
>> To: [EMAIL PROTECTED]
>> Subject: RE: Quoted Identiers - problem in DBD::ODBC 0.32
>>
>>
>> OOPs I retract last statement about preparse not coping with
>> quoted quotes. I
>> was a little too hasty - I was using DBD::ODBC 0.32 which only
>> uses " as the
>> quoted identifier.
>>
>> Martin
>>
>> On 04-Feb-2002 [EMAIL PROTECTED] wrote:
>> >
>> > On 04-Feb-2002 [EMAIL PROTECTED] wrote:
>> >> I installed DBD::ODBC 0.32 on a machine a few weeks ago and
>> unnotticed by
>> >> myself (while a colleague was away on holiday) some of his
>> cron jobs using
>> >> Perl
>> >> and DBD::ODBC were failing. These used to work. It appears it
>> was the change
>> >> in
>> >> dbd_preparse() to use " as the quote chr instead of '. I notice that
>> >> DBD::ODBC
>> >> 0.33_01 test release has the ' back again but in addition to ".
>> >>
>> >> Can this not be a call to SQLGetInfo for SQL_IDENTIFIER_QUOTE which is
>> >> getinfo
>> >> number 29?
>> >>
>> >> Hopefully, this would then work for any identifier quote chr.
>> >
>> > In addition to the above, I have discovered some SQL containing
>> ' can confuse
>> > the preparse method.
>> >
>> > e.g.
>> >
>> > assuming
>> >
>> > create table mytable(a char(100))
>> >
>> > insert into mytable values('''2001-02-15 01:02:03')
>> >
>> > is changed to
>> >
>> > insert into mjep1 values('''2001-02-15 01??')
>> >
>> > incorrectly. With SQL Server you use '' to escape a '.
>> >
>> > Martin
>> >
>> > --
>> > Martin J. Evans
>> > Easysoft Ltd, UK
>> > Development
>>
>> --
>> Martin J. Evans
>> Easysoft Ltd, UK
>> Development
>>
>>

--
Martin J. Evans
Easysoft Ltd, UK
Development

Reply via email to