Re: [PATCHES] psql 'none' as a HISTFILE special case - Mailing list pgsql-hackers

From Tom Lane
Subject Re: [PATCHES] psql 'none' as a HISTFILE special case
Date
Msg-id 2342.1156523296@sss.pgh.pa.us
Whole thread Raw
In response to Re: [PATCHES] psql 'none' as a HISTFILE special case  ("Martin Atukunda" <matlads@gmail.com>)
Responses Re: [PATCHES] psql 'none' as a HISTFILE special case
List pgsql-hackers
"Martin Atukunda" <matlads@gmail.com> writes:
> On 8/25/06, Peter Eisentraut <peter_e@gmx.net> wrote:
>> Please elaborate on "doesn't work".

> without any .psqlrc file I get the following error when quitting a psql session:
> could not save history to file "/Users/matlads/.psql_history": Invalid argument

That is fixed in CVS HEAD.  The current coding looks like:

        /*
         * return value of write_history is not standardized across GNU
         * readline and libedit.  Therefore, check for errno becoming set
         * to see if the write failed.
         */
        errno = 0;
        (void) write_history(fname);
        if (errno == 0)
            return true;

        psql_error("could not save history to file \"%s\": %s\n",
                   fname, strerror(errno));


> When I set HISTFILE to /dev/null I get the following:
> could not save history to file "/dev/null": Operation not permitted

Hm.  ktrace shows this happening:

 23279 psql     CALL  open(0x302d70,0x601,0x1b6)
 23279 psql     NAMI  "/dev/null"
 23279 psql     RET   open 3
 23279 psql     CALL  fchmod(0x3,0x180)
 23279 psql     RET   fchmod -1 errno 1 Operation not permitted
 23279 psql     CALL  close(0x3)
 23279 psql     RET   close 0
 23279 psql     CALL  write(0x2,0xbffff180,0x44)
 23279 psql     GIO   fd 2 wrote 68 bytes
       "could not save history to file "/dev/null": Operation not permitted
       "
 23279 psql     RET   write 68/0x44
 23279 psql     CALL  exit(0)

There's probably no way to get Apple's libedit to not try the fchmod,
so what do we want to do here?  Maybe special-case the string
"/dev/null"?

            regards, tom lane

pgsql-hackers by date:

Previous
From: Alvaro Herrera
Date:
Subject: [Open Item] Re: Autovacuum on by default?
Next
From: Jeff Davis
Date:
Subject: Re: Replication