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

Reply via email to