On Sat, Jul 12, 2014 at 2:19 AM, Alvaro Herrera <alvhe...@2ndquadrant.com> wrote: > Sawada Masahiko wrote: > >> As you said, if line number reached UINT_MAX then I think that this >> case is too strange. >> I think INT_MAX is enough for line number. > > My point is not whether 2 billion is a better number than 4 billion as a > maximum value. My point is that wraparound of signed int is, I think, > not even defined in C, whereas wraparound of unsigned int is well > defined. cur_line should be declared as unsigned int. I don't trust > that INT_MAX+2 arithmetic. > > Please don't use cur_line as a name for a global variable. Something > like PSQLLineNumber seems more appropriate if it's going to be exposed > through prompt.h. However, note that MainLoop() keeps state in local > variables and notes that it is reentrant; what happens to your cur_line > when a file is read by \i and similar? I wonder if it should be part of > PsqlScanStateData instead ... >
Thank you for comment. I restarted to make this patch again. Attached patch is new version patch, and rebased. pset structure has cur_lineno variable which shows current line number as unsigned int64. Regards, ------- Sawada Masahiko
psql-line-number_v6.patch
Description: Binary data
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers