Bernard Johnson wrote:

> Incompatible change: TIMESTAMP is now returned as a string in
> 'YYYY-MM-DD HH:MM:SS' format (from 4.0.12 the --new option can be used to
> make a 4.0 server behave as 4.1 in this respect). See section 12.3.1.2
> TIMESTAMP Properties as of MySQL 4.1. If you want to have the value
> returned as a number (as MySQL 4.0 does) you should add +0 to TIMESTAMP
> columns when you retrieve them:

I've taken a look at the code; apparently this won't affect it.

> This one looks like a definite show stopper since the code checks
> for < 0 return values:
> Some C API calls such as mysql_real_query()
> now return 1 on error, not -1. You may have to change some old
> applications if they use constructs like this:
> 
> if (mysql_real_query(mysql_object, query, query_length) == -1)
> {
>   printf("Got error");
> }
> 
> Change the call to test for a non-zero value instead:

This needs a change in dbmysql.c , in exactly one place. Do you want a
patch against the original dbmysql.c, or against the dbmysql.c with my
speedup patch (which was posted here some time before)?

Alternatively just search that file for "db_real_query", because that's
the call where it does the <0 check, and change the check there to !=0 .

Yours, Mikhail Ramendik


Reply via email to