[Pgpool-committers] pgpool - pgpool-II: Fix bugtrack [#1010740] BigInt distortion in

User T-ishii t-ishii at pgfoundry.org
Fri Dec 18 07:09:42 UTC 2009


Log Message:
-----------
Fix bugtrack [#1010740] BigInt distortion in pgpool-II 2.3 version,
when NOW() use. This bug only exists on 64bit platforms.

This was caused by that following code in parser/scan.l does not work
properly on 64bit platforms because HAVE_LONG_INT_64 is not defined.
To fix this we steal part of PostgreSQL's configure and some m4
macros.

					long val;
					char* endptr;

					SET_YYLLOC();
					errno = 0;
					val = strtol(yytext, &endptr, 10);
					if (*endptr != '\0' || errno == ERANGE
#ifdef HAVE_LONG_INT_64
						/* if long > 32 bits, check for overflow of int4 */
						|| val != (long) ((int32) val)
#endif
						)
					{
						/* integer too large, treat it as a float */
						yylval.str = pstrdup(yytext);
						return FCONST;
					}
					yylval.ival = val;
					return ICONST;

Modified Files:
--------------
    pgpool-II:
        Makefile.am (r1.27 -> r1.28)
        (http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/pgpool/pgpool-II/Makefile.am?r1=1.27&r2=1.28)
        Makefile.in (r1.31 -> r1.32)
        (http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/pgpool/pgpool-II/Makefile.in?r1=1.31&r2=1.32)
        config.h.in (r1.8 -> r1.9)
        (http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/pgpool/pgpool-II/config.h.in?r1=1.8&r2=1.9)
        configure (r1.32 -> r1.33)
        (http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/pgpool/pgpool-II/configure?r1=1.32&r2=1.33)
        configure.in (r1.29 -> r1.30)
        (http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/pgpool/pgpool-II/configure.in?r1=1.29&r2=1.30)
    pgpool-II/parser:
        Makefile.in (r1.17 -> r1.18)
        (http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/pgpool/pgpool-II/parser/Makefile.in?r1=1.17&r2=1.18)
    pgpool-II/pcp:
        Makefile.in (r1.15 -> r1.16)
        (http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/pgpool/pgpool-II/pcp/Makefile.in?r1=1.15&r2=1.16)

Added Files:
-----------
    pgpool-II:
        c-compiler.m4 (r1.1)
        (http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/pgpool/pgpool-II/c-compiler.m4?rev=1.1&content-type=text/x-cvsweb-markup)
        c-library.m4 (r1.1)
        (http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/pgpool/pgpool-II/c-library.m4?rev=1.1&content-type=text/x-cvsweb-markup)
        general.m4 (r1.1)
        (http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/pgpool/pgpool-II/general.m4?rev=1.1&content-type=text/x-cvsweb-markup)


More information about the Pgpool-committers mailing list