Thread: Re: [INTERFACES] ODBC Driver v06-40-0005

Re: [INTERFACES] ODBC Driver v06-40-0005

From
Byron Nikolaidis
Date:

Sam O'Connor wrote:

> Hi,
> I think I found another problem.
> When selecting type text from tclodbc using pgodbc and postgres I was
> loosing
> one character off the start of the string for every newline in
> contained.
> When copy_and_conver_field processes selected text fields it converts cr
> to cr/lf. (why?)
>

Actually, its LF to CR/LF when going from the database to odbc.  When going the
other way (odbc->database), it converts CR/LF to LF.   The reason is for
Microsoft from what I remember.  It might have even been in the odbc spec (I
can't quite remember).   It probably shouldn't do it if its being run on Unix
though?

> When data_left is set how ever it uses the original length.
>
> I changed this:
>         stmt->bindings[stmt->current_col].data_left = strlen(value);
> To this:
>         stmt->bindings[stmt->current_col].data_left = strlen(ptr);
>
> Now it works!
>

Good Job, you found a bug alright!   It should be strlen(ptr).  When I tested
it, I didn't have newlines so it worked ok.

I'll put it in for the next release.

Byron