Thread

  1. Re: [HACKERS] New psql input mode problems

    Keith Parks <emkxp01@mtcc.demon.co.uk> — 1999-11-07T18:09:42Z

    >From: Bruce Momjian <maillist@candle.pha.pa.us>
    >
    >> Hi all,
    >> 
    >> I was wondering why all the regression tests failed for me so i ran one
    >> in the interactive mode.
    >> 
    >> 
    >> mtcc:[/usr/local/pgsql/src/test/regress](73)% /usr/local/pgsql/bin/psql 
    >> regression
    >> Welcome to psql, the PostgreSQL interactive terminal.
    >> 
    >> Type:  \copyright for distribution terms
    >>        \h for help with SQL commands
    >>        \? for help on internal slash commands
    >>        \g or terminate with semicolon to execute query
    >>        \q to quit
    >> 
    >> regression=> \i sql/boolean.sql 
    >> 
    >> regression=>
    >> 
    >> I got nothing onscreen and no work was done.
    >> 
    >> After some digging I found that in non interactive mode psql
    >> stops processing a file as soon as it gets to a blank line.
    >> 
    >> This seems to be where it goes wrong. (mainloop.c)
    >> 
    >> /* No more input.  Time to quit, or \i done */
    >> if (line == NULL || (!pset->cur_cmd_interactive && *line == '\0'))
    >> 
    >> When a blank line is encountered in the input 
    >> 
    >> 	line = gets_fromFile(source);
    >> 	
    >> returns an empty string ('\0') and terminates the processing.
    >> 
    >> with the if clause reduced to checking for line == NULL psql
    >> does the work but fails badly due to the differences between
    >> results and expected. (comments, QUERY:, echo processing)
    >
    >> 
    >> Is the intention to modify expected to agree with the new
    >> results output, or fix psql to output in the expected format?
    >
    >Good question.  We need to know if people like the current output
    >format, or the old one better?
    >
    >Looks like your change in testing just for NULL is correct, and I will
    >apply a patch.
    
    Bruce,
    
    I hope Peter can confirm that?
    
    One concern is that, currently, we cannot run the regression tests
    and are therefore blind to any breakage from patches.
    
    I don't do much for postgresql but I do like to keep an eye out
    for breakage on my 2 platforms (SPARC Solaris 7 and S/Linux)
    
    Keith.