mirror of
https://github.com/postgres/postgres.git
synced 2025-07-26 00:02:13 -04:00
Compare commits
2 Commits
3e2e0d5ad7
...
64e77b496a
Author | SHA1 | Date | |
---|---|---|---|
|
64e77b496a | ||
|
da44ff312e |
@ -4908,7 +4908,7 @@ initPopulateTable(PGconn *con, const char *table, int64 base,
|
||||
initRowMethod init_row)
|
||||
{
|
||||
int n;
|
||||
int k;
|
||||
int64 k;
|
||||
int chars = 0;
|
||||
PGresult *res;
|
||||
PQExpBufferData sql;
|
||||
|
@ -46,25 +46,6 @@ $node->safe_psql('postgres',
|
||||
. "CREATE TYPE enum1 AS ENUM ('foo', 'bar', 'baz', 'BLACK');\n"
|
||||
. "CREATE PUBLICATION some_publication;\n");
|
||||
|
||||
# Developers would not appreciate this test adding a bunch of junk to
|
||||
# their ~/.psql_history, so be sure to redirect history into a temp file.
|
||||
# We might as well put it in the test log directory, so that buildfarm runs
|
||||
# capture the result for possible debugging purposes.
|
||||
my $historyfile = "${PostgreSQL::Test::Utils::log_path}/010_psql_history.txt";
|
||||
$ENV{PSQL_HISTORY} = $historyfile;
|
||||
|
||||
# Another pitfall for developers is that they might have a ~/.inputrc
|
||||
# file that changes readline's behavior enough to affect this test.
|
||||
# So ignore any such file.
|
||||
$ENV{INPUTRC} = '/dev/null';
|
||||
|
||||
# Unset $TERM so that readline/libedit won't use any terminal-dependent
|
||||
# escape sequences; that leads to way too many cross-version variations
|
||||
# in the output.
|
||||
delete $ENV{TERM};
|
||||
# Some versions of readline inspect LS_COLORS, so for luck unset that too.
|
||||
delete $ENV{LS_COLORS};
|
||||
|
||||
# In a VPATH build, we'll be started in the source directory, but we want
|
||||
# to run in the build directory so that we can use relative paths to
|
||||
# access the tab_comp_dir subdirectory; otherwise the output from filename
|
||||
@ -91,8 +72,13 @@ open $FH, ">", "tab_comp_dir/afile456"
|
||||
print $FH "other stuff\n";
|
||||
close $FH;
|
||||
|
||||
# Arrange to capture, not discard, the interactive session's history output.
|
||||
# Put it in the test log directory, so that buildfarm runs capture the result
|
||||
# for possible debugging purposes.
|
||||
my $historyfile = "${PostgreSQL::Test::Utils::log_path}/010_psql_history.txt";
|
||||
|
||||
# fire up an interactive psql session
|
||||
my $h = $node->interactive_psql('postgres');
|
||||
my $h = $node->interactive_psql('postgres', history_file => $historyfile);
|
||||
|
||||
# Simple test case: type something and see if psql responds as expected
|
||||
sub check_completion
|
||||
|
@ -2128,14 +2128,17 @@ Errors occurring later are the caller's problem.
|
||||
|
||||
Be sure to "quit" the returned object when done with it.
|
||||
|
||||
The only extra parameter currently accepted is
|
||||
|
||||
=over
|
||||
|
||||
=item extra_params => ['--single-transaction']
|
||||
|
||||
If given, it must be an array reference containing additional parameters to B<psql>.
|
||||
|
||||
=item history_file => B<path>
|
||||
|
||||
Cause the interactive B<psql> session to write its command history to B<path>.
|
||||
If not given, the history is sent to B</dev/null>.
|
||||
|
||||
=back
|
||||
|
||||
This requires IO::Pty in addition to IPC::Run.
|
||||
@ -2148,6 +2151,27 @@ sub interactive_psql
|
||||
|
||||
local %ENV = $self->_get_env();
|
||||
|
||||
# Since the invoked psql will believe it's interactive, it will use
|
||||
# readline/libedit if available. We need to adjust some environment
|
||||
# settings to prevent unwanted side-effects.
|
||||
|
||||
# Developers would not appreciate tests adding a bunch of junk to
|
||||
# their ~/.psql_history, so redirect readline history somewhere else.
|
||||
# If the calling script doesn't specify anything, just bit-bucket it.
|
||||
$ENV{PSQL_HISTORY} = $params{history_file} || '/dev/null';
|
||||
|
||||
# Another pitfall for developers is that they might have a ~/.inputrc
|
||||
# file that changes readline's behavior enough to affect the test.
|
||||
# So ignore any such file.
|
||||
$ENV{INPUTRC} = '/dev/null';
|
||||
|
||||
# Unset TERM so that readline/libedit won't use any terminal-dependent
|
||||
# escape sequences; that leads to way too many cross-version variations
|
||||
# in the output.
|
||||
delete $ENV{TERM};
|
||||
# Some versions of readline inspect LS_COLORS, so for luck unset that too.
|
||||
delete $ENV{LS_COLORS};
|
||||
|
||||
my @psql_params = (
|
||||
$self->installed_command('psql'),
|
||||
'-XAt', '-d', $self->connstr($dbname));
|
||||
|
Loading…
x
Reference in New Issue
Block a user