Fixed deficiency where an unterminated (no semicolon) command at end of

psql script would be dropped silently.
This commit is contained in:
Peter Eisentraut 2000-03-13 13:46:32 +00:00
parent e631df3c1b
commit a1642089bf
1 changed files with 17 additions and 3 deletions

View File

@ -3,7 +3,7 @@
*
* Copyright 2000 by PostgreSQL Global Development Group
*
* $Header: /cvsroot/pgsql/src/bin/psql/mainloop.c,v 1.24 2000/03/05 13:30:19 petere Exp $
* $Header: /cvsroot/pgsql/src/bin/psql/mainloop.c,v 1.25 2000/03/13 13:46:32 petere Exp $
*/
#include "postgres.h"
#include "mainloop.h"
@ -61,7 +61,7 @@ MainLoop(FILE *source)
bool prev_cmd_interactive;
unsigned int prev_lineno;
bool die_on_error;
volatile bool die_on_error = false;
/* Save old settings */
@ -395,6 +395,7 @@ MainLoop(FILE *source)
appendPQExpBufferChar(query_buf, '\n');
/* append the line to the query buffer */
appendPQExpBufferStr(query_buf, line + query_start);
appendPQExpBufferChar(query_buf, ';');
}
/* execute query */
@ -515,8 +516,21 @@ MainLoop(FILE *source)
successResult = EXIT_BADCONN;
break;
}
} /* while !endofprogram */
} /* while !endoffile/session */
/*
* Process query at the end of file without a semicolon
*/
if (query_buf->len > 0 && !pset.cur_cmd_interactive)
{
success = SendQuery(query_buf->data);
if (!success && die_on_error)
successResult = EXIT_USER;
else if (pset.db == NULL)
successResult = EXIT_BADCONN;
}
destroyPQExpBuffer(query_buf);
destroyPQExpBuffer(previous_buf);