On Sun, Jul 30, 2006 at 05:40:16PM -0400, Tom Lane wrote: > Alvaro Herrera <[EMAIL PROTECTED]> writes: > > David Fetter wrote: > >> This patch changes the data type from unsigned int to unsigned > >> long long, which is probably not the correct thing in order to > >> get 64-bit arithmetic, but I figure it's good enough to get a > >> discussion started. > > > The only thing I can tell you is that you should use INT64_FORMAT > > instead of %lld. > > And the datatype should be declared int64, not "long long" which > doesn't exist everywhere. > > Actually you probably want uint64 and UINT64_FORMAT... > > regards, tom lane
I think this fixes it, but I'm unsure how to test it. Two of the methods mentioned in IRC, attaching with gdb and setting to a value > 2^32, and setting it directly in some code, seem like OK approaches. Cheers, D -- David Fetter <[EMAIL PROTECTED]> http://fetter.org/ phone: +1 415 235 3778 AIM: dfetter666 Skype: davidfetter Remember to vote!
Index: src/bin/psql/common.c =================================================================== RCS file: /projects/cvsroot/pgsql/src/bin/psql/common.c,v retrieving revision 1.122 diff -c -r1.122 common.c *** src/bin/psql/common.c 14 Jul 2006 14:52:26 -0000 1.122 --- src/bin/psql/common.c 31 Jul 2006 01:57:42 -0000 *************** *** 188,194 **** fflush(pset.queryFout); if (pset.inputfile) ! fprintf(stderr, "%s:%s:%u: ", pset.progname, pset.inputfile, pset.lineno); va_start(ap, fmt); vfprintf(stderr, _(fmt), ap); va_end(ap); --- 188,194 ---- fflush(pset.queryFout); if (pset.inputfile) ! fprintf(stderr, "%s:%s:" UINT64_FORMAT ": ", pset.progname, pset.inputfile, pset.lineno); va_start(ap, fmt); vfprintf(stderr, _(fmt), ap); va_end(ap); Index: src/bin/psql/mainloop.c =================================================================== RCS file: /projects/cvsroot/pgsql/src/bin/psql/mainloop.c,v retrieving revision 1.81 diff -c -r1.81 mainloop.c *** src/bin/psql/mainloop.c 14 Jul 2006 14:52:26 -0000 1.81 --- src/bin/psql/mainloop.c 31 Jul 2006 01:57:42 -0000 *************** *** 44,50 **** /* Save the prior command source */ FILE *prev_cmd_source; bool prev_cmd_interactive; ! unsigned int prev_lineno; /* Save old settings */ prev_cmd_source = pset.cur_cmd_source; --- 44,50 ---- /* Save the prior command source */ FILE *prev_cmd_source; bool prev_cmd_interactive; ! uint64 prev_lineno; /* Save old settings */ prev_cmd_source = pset.cur_cmd_source; Index: src/bin/psql/settings.h =================================================================== RCS file: /projects/cvsroot/pgsql/src/bin/psql/settings.h,v retrieving revision 1.27 diff -c -r1.27 settings.h *** src/bin/psql/settings.h 5 Mar 2006 15:58:52 -0000 1.27 --- src/bin/psql/settings.h 31 Jul 2006 01:57:42 -0000 *************** *** 12,17 **** --- 12,18 ---- #include "variables.h" #include "print.h" + #include "pg_config.h" #define DEFAULT_FIELD_SEP "|" #define DEFAULT_RECORD_SEP "\n" *************** *** 50,56 **** char *inputfile; /* for error reporting */ char *dirname; /* current directory for \s display */ ! unsigned lineno; /* also for error reporting */ bool timing; /* enable timing of all queries */ --- 51,57 ---- char *inputfile; /* for error reporting */ char *dirname; /* current directory for \s display */ ! uint64 lineno; /* also for error reporting */ bool timing; /* enable timing of all queries */
---------------------------(end of broadcast)--------------------------- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match