Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
Postgres FD Implementation
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Abuhujair Javed
Postgres FD Implementation
Commits
3be0a62f
Commit
3be0a62f
authored
Jun 12, 2016
by
Noah Misch
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Finish pgindent run for 9.6: Perl files.
parent
b098abf9
Changes
31
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
31 changed files
with
1897 additions
and
2305 deletions
+1897
-2305
contrib/bloom/t/001_wal.pl
contrib/bloom/t/001_wal.pl
+10
-5
src/backend/storage/lmgr/generate-lwlocknames.pl
src/backend/storage/lmgr/generate-lwlocknames.pl
+4
-4
src/backend/utils/Gen_dummy_probes.pl
src/backend/utils/Gen_dummy_probes.pl
+1
-0
src/backend/utils/mb/Unicode/UCS_to_SJIS.pl
src/backend/utils/mb/Unicode/UCS_to_SJIS.pl
+2
-2
src/bin/pg_basebackup/t/010_pg_basebackup.pl
src/bin/pg_basebackup/t/010_pg_basebackup.pl
+2
-1
src/bin/pg_dump/t/001_basic.pl
src/bin/pg_dump/t/001_basic.pl
+16
-8
src/bin/pg_dump/t/002_pg_dump.pl
src/bin/pg_dump/t/002_pg_dump.pl
+1495
-1897
src/bin/pg_rewind/RewindTest.pm
src/bin/pg_rewind/RewindTest.pm
+1
-0
src/interfaces/ecpg/preproc/parse.pl
src/interfaces/ecpg/preproc/parse.pl
+2
-2
src/test/modules/commit_ts/t/001_base.pl
src/test/modules/commit_ts/t/001_base.pl
+8
-4
src/test/modules/commit_ts/t/002_standby.pl
src/test/modules/commit_ts/t/002_standby.pl
+21
-13
src/test/modules/commit_ts/t/003_standby_2.pl
src/test/modules/commit_ts/t/003_standby_2.pl
+18
-10
src/test/modules/test_pg_dump/t/001_base.pl
src/test/modules/test_pg_dump/t/001_base.pl
+193
-265
src/test/perl/PostgresNode.pm
src/test/perl/PostgresNode.pm
+8
-3
src/test/perl/RecursiveCopy.pm
src/test/perl/RecursiveCopy.pm
+3
-2
src/test/perl/TestLib.pm
src/test/perl/TestLib.pm
+1
-0
src/test/recovery/t/001_stream_rep.pl
src/test/recovery/t/001_stream_rep.pl
+6
-3
src/test/recovery/t/002_archiving.pl
src/test/recovery/t/002_archiving.pl
+2
-1
src/test/recovery/t/003_recovery_targets.pl
src/test/recovery/t/003_recovery_targets.pl
+2
-1
src/test/recovery/t/004_timeline_switch.pl
src/test/recovery/t/004_timeline_switch.pl
+2
-2
src/test/recovery/t/005_replay_delay.pl
src/test/recovery/t/005_replay_delay.pl
+8
-6
src/test/recovery/t/007_sync_rep.pl
src/test/recovery/t/007_sync_rep.pl
+21
-12
src/tools/copyright.pl
src/tools/copyright.pl
+2
-2
src/tools/git_changelog
src/tools/git_changelog
+21
-21
src/tools/msvc/Install.pm
src/tools/msvc/Install.pm
+2
-1
src/tools/msvc/Mkvcbuild.pm
src/tools/msvc/Mkvcbuild.pm
+13
-9
src/tools/msvc/Solution.pm
src/tools/msvc/Solution.pm
+8
-8
src/tools/msvc/build.pl
src/tools/msvc/build.pl
+2
-1
src/tools/msvc/config_default.pl
src/tools/msvc/config_default.pl
+1
-1
src/tools/msvc/pgflex.pl
src/tools/msvc/pgflex.pl
+2
-2
src/tools/msvc/vcregress.pl
src/tools/msvc/vcregress.pl
+20
-19
No files found.
contrib/bloom/t/001_wal.pl
View file @
3be0a62f
...
...
@@ -16,7 +16,7 @@ sub test_index_replay
# Wait for standby to catch up
my
$applname
=
$node_standby
->
name
;
my
$caughtup_query
=
"
SELECT pg_current_xlog_location() <= write_location FROM pg_stat_replication WHERE application_name = '
$applname
';
";
"
SELECT pg_current_xlog_location() <= write_location FROM pg_stat_replication WHERE application_name = '
$applname
';
";
$node_master
->
poll_query_until
('
postgres
',
$caughtup_query
)
or
die
"
Timed out while waiting for standby 1 to catch up
";
...
...
@@ -56,20 +56,25 @@ $node_standby->start;
# Create some bloom index on master
$node_master
->
psql
("
postgres
",
"
CREATE EXTENSION bloom;
");
$node_master
->
psql
("
postgres
",
"
CREATE TABLE tst (i int4, t text);
");
$node_master
->
psql
("
postgres
",
"
INSERT INTO tst SELECT i%10, substr(md5(i::text), 1, 1) FROM generate_series(1,100000) i;
");
$node_master
->
psql
("
postgres
",
"
CREATE INDEX bloomidx ON tst USING bloom (i, t) WITH (col1 = 3);
");
$node_master
->
psql
("
postgres
",
"
INSERT INTO tst SELECT i%10, substr(md5(i::text), 1, 1) FROM generate_series(1,100000) i;
"
);
$node_master
->
psql
("
postgres
",
"
CREATE INDEX bloomidx ON tst USING bloom (i, t) WITH (col1 = 3);
");
# Test that queries give same result
test_index_replay
('
initial
');
# Run 10 cycles of table modification. Run test queries after each modification.
for
my
$i
(
1
..
10
)
for
my
$i
(
1
..
10
)
{
$node_master
->
psql
("
postgres
",
"
DELETE FROM tst WHERE i =
$i
;
");
test_index_replay
("
delete
$i
");
$node_master
->
psql
("
postgres
",
"
VACUUM tst;
");
test_index_replay
("
vacuum
$i
");
my
(
$start
,
$end
)
=
(
100001
+
(
$i
-
1
)
*
10000
,
100000
+
$i
*
10000
);
$node_master
->
psql
("
postgres
",
"
INSERT INTO tst SELECT i%10, substr(md5(i::text), 1, 1) FROM generate_series(
$start
,
$end
) i;
");
$node_master
->
psql
("
postgres
",
"
INSERT INTO tst SELECT i%10, substr(md5(i::text), 1, 1) FROM generate_series(
$start
,
$end
) i;
"
);
test_index_replay
("
insert
$i
");
}
src/backend/storage/lmgr/generate-lwlocknames.pl
View file @
3be0a62f
...
...
@@ -7,7 +7,7 @@ use warnings;
use
strict
;
my
$lastlockidx
=
-
1
;
my
$continue
=
"
\n
";
my
$continue
=
"
\n
";
open
my
$lwlocknames
,
$ARGV
[
0
]
or
die
;
...
...
@@ -18,7 +18,7 @@ open H, '>', $htmp or die "Could not open $htmp: $!";
open
C
,
'
>
',
$ctmp
or
die
"
Could not open
$ctmp
: $!
";
my
$autogen
=
"
/* autogenerated from src/backend/storage/lmgr/lwlocknames.txt, do not edit */
\n
";
"
/* autogenerated from src/backend/storage/lmgr/lwlocknames.txt, do not edit */
\n
";
print
H
$autogen
;
print
H
"
/* there is deliberately not an #ifndef LWLOCKNAMES_H here */
\n\n
";
print
C
$autogen
,
"
\n
";
...
...
@@ -38,7 +38,7 @@ while (<$lwlocknames>)
(
my
$lockname
,
my
$lockidx
)
=
(
$1
,
$2
);
die
"
lwlocknames.txt not in order
"
if
$lockidx
<
$lastlockidx
;
die
"
lwlocknames.txt not in order
"
if
$lockidx
<
$lastlockidx
;
die
"
lwlocknames.txt has duplicates
"
if
$lockidx
==
$lastlockidx
;
while
(
$lastlockidx
<
$lockidx
-
1
)
...
...
@@ -49,7 +49,7 @@ while (<$lwlocknames>)
}
printf
C
"
%s
\"
%s
\"
",
$continue
,
$lockname
;
$lastlockidx
=
$lockidx
;
$continue
=
"
,
\n
";
$continue
=
"
,
\n
";
print
H
"
#define
$lockname
(&MainLWLockArray[
$lockidx
].lock)
\n
";
}
...
...
src/backend/utils/Gen_dummy_probes.pl
View file @
3be0a62f
...
...
@@ -224,6 +224,7 @@ sub printQ()
{
if
(
ref
(
$q
))
{
# flush open w files so that reading this file gets it all
if
(
exists
(
$wFiles
{
$$q
})
&&
$wFiles
{
$$q
}
ne
'')
{
...
...
src/backend/utils/mb/Unicode/UCS_to_SJIS.pl
View file @
3be0a62f
...
...
@@ -54,8 +54,8 @@ while (<FILE>)
||
(
(
$code
>=
0x879a
)
&&
(
$code
<=
0x879c
)))
{
printf
STDERR
"
Warning: duplicate UTF8: UCS=0x%04x SJIS=0x%04x
\n
",
$ucs
,
printf
STDERR
"
Warning: duplicate UTF8: UCS=0x%04x SJIS=0x%04x
\n
",
$ucs
,
$code
;
next
;
}
...
...
src/bin/pg_basebackup/t/010_pg_basebackup.pl
View file @
3be0a62f
...
...
@@ -114,7 +114,8 @@ SKIP:
mkdir
"
$tempdir
/tblspc1
";
$node
->
safe_psql
('
postgres
',
"
CREATE TABLESPACE tblspc1 LOCATION '
$shorter_tempdir
/tblspc1';
");
$node
->
safe_psql
('
postgres
',
"
CREATE TABLE test1 (a int) TABLESPACE tblspc1;
");
$node
->
safe_psql
('
postgres
',
"
CREATE TABLE test1 (a int) TABLESPACE tblspc1;
");
$node
->
command_ok
([
'
pg_basebackup
',
'
-D
',
"
$tempdir
/tarbackup2
",
'
-Ft
'
],
'
tar format with tablespaces
');
ok
(
-
f
"
$tempdir
/tarbackup2/base.tar
",
'
backup tar was created
');
...
...
src/bin/pg_dump/t/001_basic.pl
View file @
3be0a62f
...
...
@@ -23,14 +23,22 @@ program_options_handling_ok('pg_dump');
command_exit_is
([
'
pg_dump
',
'
qqq
',
'
abc
'
],
1
,
'
pg_dump: too many command-line arguments (first is "asd")
');
command_exit_is
([
'
pg_dump
',
'
-s
',
'
-a
'
],
1
,
'
pg_dump: options -s/--schema-only and -a/--data-only cannot be used together
');
command_exit_is
([
'
pg_dump
',
'
-c
',
'
-a
'
],
1
,
'
pg_dump: options -c/--clean and -a/--data-only cannot be used together
');
command_exit_is
([
'
pg_dump
',
'
--inserts
',
'
-o
'
],
1
,
'
pg_dump: options --inserts/--column-inserts and -o/--oids cannot be used together
');
command_exit_is
(
[
'
pg_dump
',
'
-s
',
'
-a
'
],
1
,
'
pg_dump: options -s/--schema-only and -a/--data-only cannot be used together
'
);
command_exit_is
(
[
'
pg_dump
',
'
-c
',
'
-a
'
],
1
,
'
pg_dump: options -c/--clean and -a/--data-only cannot be used together
');
command_exit_is
(
[
'
pg_dump
',
'
--inserts
',
'
-o
'
],
1
,
'
pg_dump: options --inserts/--column-inserts and -o/--oids cannot be used together
'
);
command_exit_is
([
'
pg_dump
',
'
--if-exists
'
],
1
,
'
pg_dump: option --if-exists requires option -c/--clean
');
...
...
src/bin/pg_dump/t/002_pg_dump.pl
View file @
3be0a62f
This source diff could not be displayed because it is too large. You can
view the blob
instead.
src/bin/pg_rewind/RewindTest.pm
View file @
3be0a62f
...
...
@@ -114,6 +114,7 @@ sub check_query
sub
setup_cluster
{
# Initialize master, data checksums are mandatory
$node_master
=
get_new_node
('
master
');
$node_master
->
init
(
allows_streaming
=>
1
);
...
...
src/interfaces/ecpg/preproc/parse.pl
View file @
3be0a62f
...
...
@@ -632,8 +632,8 @@ sub preload_addons
my
$filename
=
$path
.
"
/ecpg.addons
";
open
(
my
$fh
,
'
<
',
$filename
)
or
die
;
# there may be multiple lines starting ECPG: and then multiple lines of code.
# the code need to be add to all prior ECPG records.
# there may be multiple lines starting ECPG: and then multiple lines of code.
# the code need to be add to all prior ECPG records.
my
(
@needsRules
,
@code
,
$record
);
# there may be comments before the first ECPG line, skip them
...
...
src/test/modules/commit_ts/t/001_base.pl
View file @
3be0a62f
...
...
@@ -13,17 +13,21 @@ $node->append_conf('postgresql.conf', 'track_commit_timestamp = on');
$node
->
start
;
# Create a table, compare "now()" to the commit TS of its xmin
$node
->
safe_psql
('
postgres
',
'
create table t as select now from (select now(), pg_sleep(1)) f
');
$node
->
safe_psql
('
postgres
',
'
create table t as select now from (select now(), pg_sleep(1)) f
');
my
$true
=
$node
->
safe_psql
('
postgres
',
'
select t.now - ts.* <
\'
1s
\'
from t, pg_class c, pg_xact_commit_timestamp(c.xmin) ts where relname =
\'
t
\'
');
'
select t.now - ts.* <
\'
1s
\'
from t, pg_class c, pg_xact_commit_timestamp(c.xmin) ts where relname =
\'
t
\'
'
);
is
(
$true
,
'
t
',
'
commit TS is set
');
my
$ts
=
$node
->
safe_psql
('
postgres
',
'
select ts.* from pg_class, pg_xact_commit_timestamp(xmin) ts where relname =
\'
t
\'
');
'
select ts.* from pg_class, pg_xact_commit_timestamp(xmin) ts where relname =
\'
t
\'
'
);
# Verify that we read the same TS after crash recovery
$node
->
stop
('
immediate
');
$node
->
start
;
my
$recovered_ts
=
$node
->
safe_psql
('
postgres
',
'
select ts.* from pg_class, pg_xact_commit_timestamp(xmin) ts where relname =
\'
t
\'
');
'
select ts.* from pg_class, pg_xact_commit_timestamp(xmin) ts where relname =
\'
t
\'
'
);
is
(
$recovered_ts
,
$ts
,
'
commit TS remains after crash recovery
');
src/test/modules/commit_ts/t/002_standby.pl
View file @
3be0a62f
...
...
@@ -8,10 +8,11 @@ use Test::More tests => 4;
use
PostgresNode
;
my
$bkplabel
=
'
backup
';
my
$master
=
get_new_node
('
master
');
my
$master
=
get_new_node
('
master
');
$master
->
init
(
allows_streaming
=>
1
);
$master
->
append_conf
('
postgresql.conf
',
qq{
$master
->
append_conf
(
'
postgresql.conf
',
qq{
track_commit_timestamp = on
max_wal_senders = 5
wal_level = hot_standby
...
...
@@ -28,30 +29,37 @@ for my $i (1 .. 10)
$master
->
safe_psql
('
postgres
',
"
create table t
$i
()
");
}
my
$master_ts
=
$master
->
safe_psql
('
postgres
',
qq{SELECT ts.* FROM pg_class, pg_xact_commit_timestamp(xmin) AS ts WHERE relname = 't10'}
);
my
$master_lsn
=
$master
->
safe_psql
('
postgres
',
'
select pg_current_xlog_location()
');
qq{SELECT ts.* FROM pg_class, pg_xact_commit_timestamp(xmin) AS ts WHERE relname = 't10'}
);
my
$master_lsn
=
$master
->
safe_psql
('
postgres
',
'
select pg_current_xlog_location()
');
$standby
->
poll_query_until
('
postgres
',
qq{SELECT '$master_lsn'::pg_lsn <= pg_last_xlog_replay_location()}
)
or
die
"
slave never caught up
";
or
die
"
slave never caught up
";
my
$standby_ts
=
$standby
->
safe_psql
('
postgres
',
qq{select ts.* from pg_class, pg_xact_commit_timestamp(xmin) ts where relname = 't10'}
);
qq{select ts.* from pg_class, pg_xact_commit_timestamp(xmin) ts where relname = 't10'}
);
is
(
$master_ts
,
$standby_ts
,
"
standby gives same value as master
");
$master
->
append_conf
('
postgresql.conf
',
'
track_commit_timestamp = off
');
$master
->
restart
;
$master
->
safe_psql
('
postgres
',
'
checkpoint
');
$master_lsn
=
$master
->
safe_psql
('
postgres
',
'
select pg_current_xlog_location()
');
$master_lsn
=
$master
->
safe_psql
('
postgres
',
'
select pg_current_xlog_location()
');
$standby
->
poll_query_until
('
postgres
',
qq{SELECT '$master_lsn'::pg_lsn <= pg_last_xlog_replay_location()}
)
or
die
"
slave never caught up
";
or
die
"
slave never caught up
";
$standby
->
safe_psql
('
postgres
',
'
checkpoint
');
# This one should raise an error now
my
(
$ret
,
$standby_ts_stdout
,
$standby_ts_stderr
)
=
$standby
->
psql
('
postgres
',
'
select ts.* from pg_class, pg_xact_commit_timestamp(xmin) ts where relname =
\'
t10
\'
');
'
select ts.* from pg_class, pg_xact_commit_timestamp(xmin) ts where relname =
\'
t10
\'
'
);
is
(
$ret
,
3
,
'
standby errors when master turned feature off
');
is
(
$standby_ts_stdout
,
'',
"
standby gives no value when master turned feature off
");
like
(
$standby_ts_stderr
,
qr/could not get commit timestamp data/
,
'
expected error when master turned feature off
');
is
(
$standby_ts_stdout
,
'',
"
standby gives no value when master turned feature off
");
like
(
$standby_ts_stderr
,
qr/could not get commit timestamp data/
,
'
expected error when master turned feature off
');
src/test/modules/commit_ts/t/003_standby_2.pl
View file @
3be0a62f
...
...
@@ -8,9 +8,10 @@ use Test::More tests => 4;
use
PostgresNode
;
my
$bkplabel
=
'
backup
';
my
$master
=
get_new_node
('
master
');
my
$master
=
get_new_node
('
master
');
$master
->
init
(
allows_streaming
=>
1
);
$master
->
append_conf
('
postgresql.conf
',
qq{
$master
->
append_conf
(
'
postgresql.conf
',
qq{
track_commit_timestamp = on
max_wal_senders = 5
wal_level = hot_standby
...
...
@@ -29,20 +30,25 @@ for my $i (1 .. 10)
$master
->
append_conf
('
postgresql.conf
',
'
track_commit_timestamp = off
');
$master
->
restart
;
$master
->
safe_psql
('
postgres
',
'
checkpoint
');
my
$master_lsn
=
$master
->
safe_psql
('
postgres
',
'
select pg_current_xlog_location()
');
my
$master_lsn
=
$master
->
safe_psql
('
postgres
',
'
select pg_current_xlog_location()
');
$standby
->
poll_query_until
('
postgres
',
qq{SELECT '$master_lsn'::pg_lsn <= pg_last_xlog_replay_location()}
)
or
die
"
slave never caught up
";
or
die
"
slave never caught up
";
$standby
->
safe_psql
('
postgres
',
'
checkpoint
');
$standby
->
restart
;
my
(
$psql_ret
,
$standby_ts_stdout
,
$standby_ts_stderr
)
=
$standby
->
psql
('
postgres
',
qq{SELECT ts.* FROM pg_class, pg_xact_commit_timestamp(xmin) AS ts WHERE relname = 't10'}
);
my
(
$psql_ret
,
$standby_ts_stdout
,
$standby_ts_stderr
)
=
$standby
->
psql
(
'
postgres
',
qq{SELECT ts.* FROM pg_class, pg_xact_commit_timestamp(xmin) AS ts WHERE relname = 't10'}
);
is
(
$psql_ret
,
3
,
'
expect error when getting commit timestamp after restart
');
is
(
$standby_ts_stdout
,
'',
"
standby does not return a value after restart
");
like
(
$standby_ts_stderr
,
qr/could not get commit timestamp data/
,
'
expected err msg after restart
');
like
(
$standby_ts_stderr
,
qr/could not get commit timestamp data/
,
'
expected err msg after restart
');
$master
->
append_conf
('
postgresql.conf
',
'
track_commit_timestamp = on
');
$master
->
restart
;
...
...
@@ -54,5 +60,7 @@ $standby->poll_query_until('postgres', "SELECT pg_is_in_recovery() <> true");
$standby
->
safe_psql
('
postgres
',
"
create table t11()
");
my
$standby_ts
=
$standby
->
safe_psql
('
postgres
',
qq{SELECT ts.* FROM pg_class, pg_xact_commit_timestamp(xmin) AS ts WHERE relname = 't11'}
);
isnt
(
$standby_ts
,
'',
"
standby gives valid value (
$standby_ts
) after promotion
");
qq{SELECT ts.* FROM pg_class, pg_xact_commit_timestamp(xmin) AS ts WHERE relname = 't11'}
);
isnt
(
$standby_ts
,
'',
"
standby gives valid value (
$standby_ts
) after promotion
");
src/test/modules/test_pg_dump/t/001_base.pl
View file @
3be0a62f
This diff is collapsed.
Click to expand it.
src/test/perl/PostgresNode.pm
View file @
3be0a62f
...
...
@@ -103,6 +103,7 @@ our ($test_localhost, $test_pghost, $last_port_assigned, @all_nodes);
INIT
{
# PGHOST is set once and for all through a single series of tests when
# this module is loaded.
$test_localhost
=
"
127.0.0.1
";
...
...
@@ -540,11 +541,12 @@ sub _backup_fs
if
(
$hot
)
{
# We ignore pg_stop_backup's return value. We also assume archiving
# is enabled; otherwise the caller will have to copy the remaining
# segments.
my
$stdout
=
$self
->
safe_psql
('
postgres
',
'
SELECT * FROM pg_stop_backup();
');
my
$stdout
=
$self
->
safe_psql
('
postgres
',
'
SELECT * FROM pg_stop_backup();
');
print
"
# pg_stop_backup:
$stdout
\n
";
}
...
...
@@ -842,6 +844,7 @@ sub get_new_node
while
(
$found
==
0
)
{
# advance $port, wrapping correctly around range end
$port
=
49152
if
++
$port
>=
65536
;
print
"
# Checking port
$port
\n
";
...
...
@@ -896,6 +899,7 @@ sub get_new_node
# order, later when the File::Temp objects are destroyed.
END
{
# take care not to change the script's exit value
my
$exit_code
=
$?
;
...
...
@@ -1078,7 +1082,7 @@ sub psql
IPC::Run::
timeout
(
$params
{
timeout
},
exception
=>
$timeout_exception
)
if
(
defined
(
$params
{
timeout
}));
$
{
$params
{
timed_out
}
}
=
0
if
defined
$params
{
timed_out
};
$
{
$params
{
timed_out
}
}
=
0
if
defined
$params
{
timed_out
};
# IPC::Run would otherwise append to existing contents:
$$stdout
=
""
if
ref
(
$stdout
);
...
...
@@ -1107,6 +1111,7 @@ sub psql
my
$exc_save
=
$@
;
if
(
$exc_save
)
{
# IPC::Run::run threw an exception. re-throw unless it's a
# timeout, which we'll handle by testing is_expired
die
$exc_save
...
...
src/test/perl/RecursiveCopy.pm
View file @
3be0a62f
...
...
@@ -65,7 +65,7 @@ sub copypath
{
die
"
if specified, filterfn must be a subroutine reference
"
unless
defined
(
ref
$params
{
filterfn
})
and
(
ref
$params
{
filterfn
}
eq
'
CODE
');
and
(
ref
$params
{
filterfn
}
eq
'
CODE
');
$filterfn
=
$params
{
filterfn
};
}
...
...
@@ -93,7 +93,8 @@ sub _copypath_recurse
# Can't handle symlinks or other weird things
die
"
Source path
\"
$srcpath
\"
is not a regular file or directory
"
unless
-
f
$srcpath
or
-
d
$srcpath
;
unless
-
f
$srcpath
or
-
d
$srcpath
;
# Abort if destination path already exists. Should we allow directories
# to exist already?
...
...
src/test/perl/TestLib.pm
View file @
3be0a62f
...
...
@@ -109,6 +109,7 @@ INIT
END
{
# Preserve temporary directory for this test on failure
$
File::Temp::
KEEP_ALL
=
1
unless
all_tests_passing
();
}
...
...
src/test/recovery/t/001_stream_rep.pl
View file @
3be0a62f
...
...
@@ -51,10 +51,13 @@ my $result =
print
"
standby 1:
$result
\n
";
is
(
$result
,
qq(1002)
,
'
check streamed content on standby 1
');
$result
=
$node_standby_2
->
safe_psql
('
postgres
',
"
SELECT count(*) FROM tab_int
");
$result
=
$node_standby_2
->
safe_psql
('
postgres
',
"
SELECT count(*) FROM tab_int
");
print
"
standby 2:
$result
\n
";
is
(
$result
,
qq(1002)
,
'
check streamed content on standby 2
');
# Check that only READ-only queries can run on standbys
is
(
$node_standby_1
->
psql
('
postgres
',
'
INSERT INTO tab_int VALUES (1)
'),
3
,
'
Read-only queries on standby 1
');
is
(
$node_standby_2
->
psql
('
postgres
',
'
INSERT INTO tab_int VALUES (1)
'),
3
,
'
Read-only queries on standby 2
');
is
(
$node_standby_1
->
psql
('
postgres
',
'
INSERT INTO tab_int VALUES (1)
'),
3
,
'
Read-only queries on standby 1
');
is
(
$node_standby_2
->
psql
('
postgres
',
'
INSERT INTO tab_int VALUES (1)
'),
3
,
'
Read-only queries on standby 2
');
src/test/recovery/t/002_archiving.pl
View file @
3be0a62f
...
...
@@ -48,5 +48,6 @@ my $caughtup_query =
$node_standby
->
poll_query_until
('
postgres
',
$caughtup_query
)
or
die
"
Timed out while waiting for standby to catch up
";
my
$result
=
$node_standby
->
safe_psql
('
postgres
',
"
SELECT count(*) FROM tab_int
");
my
$result
=
$node_standby
->
safe_psql
('
postgres
',
"
SELECT count(*) FROM tab_int
");
is
(
$result
,
qq(1000)
,
'
check content from archives
');
src/test/recovery/t/003_recovery_targets.pl
View file @
3be0a62f
...
...
@@ -66,7 +66,8 @@ $node_master->backup('my_backup');
# target TXID.
$node_master
->
safe_psql
('
postgres
',
"
INSERT INTO tab_int VALUES (generate_series(1001,2000))
");
my
$recovery_txid
=
$node_master
->
safe_psql
('
postgres
',
"
SELECT txid_current()
");
my
$recovery_txid
=
$node_master
->
safe_psql
('
postgres
',
"
SELECT txid_current()
");
my
$lsn2
=
$node_master
->
safe_psql
('
postgres
',
"
SELECT pg_current_xlog_location();
");
...
...
src/test/recovery/t/004_timeline_switch.pl
View file @
3be0a62f
...
...
@@ -63,8 +63,8 @@ $node_standby_1->poll_query_until('postgres',
"
SELECT pg_is_in_recovery() <> true
");
$node_standby_1
->
safe_psql
('
postgres
',
"
INSERT INTO tab_int VALUES (generate_series(1001,2000))
");
$until_lsn
=
$node_standby_1
->
safe_psql
('
postgres
',
"
SELECT pg_current_xlog_location();
");
$until_lsn
=
$node_standby_1
->
safe_psql
('
postgres
',
"
SELECT pg_current_xlog_location();
");
$caughtup_query
=
"
SELECT '
$until_lsn
'::pg_lsn <= pg_last_xlog_replay_location()
";
$node_standby_2
->
poll_query_until
('
postgres
',
$caughtup_query
)
...
...
src/test/recovery/t/005_replay_delay.pl
View file @
3be0a62f
...
...
@@ -21,7 +21,7 @@ $node_master->backup($backup_name);
# Create streaming standby from backup
my
$node_standby
=
get_new_node
('
standby
');
my
$delay
=
3
;
my
$delay
=
3
;
$node_standby
->
init_from_backup
(
$node_master
,
$backup_name
,
has_streaming
=>
1
);
$node_standby
->
append_conf
(
...
...
@@ -47,10 +47,11 @@ my $until_lsn =
my
$remaining
=
90
;
while
(
$remaining
--
>
0
)
{
# Done waiting?
my
$replay_status
=
$node_standby
->
safe_psql
('
postgres
',
"
SELECT (pg_last_xlog_replay_location() - '
$until_lsn
'::pg_lsn) >= 0
"
);
my
$replay_status
=
$node_standby
->
safe_psql
('
postgres
',
"
SELECT (pg_last_xlog_replay_location() - '
$until_lsn
'::pg_lsn) >= 0
"
);
last
if
$replay_status
eq
'
t
';
# No, sleep some more.
...
...
@@ -59,9 +60,10 @@ while ($remaining-- > 0)
sleep
$sleep
;
}
die
"
Maximum number of attempts reached (
$remaining
remain)
"
if
$remaining
<
0
;
die
"
Maximum number of attempts reached (
$remaining
remain)
"
if
$remaining
<
0
;
# This test is successful if and only if the LSN has been applied with at least
# the configured apply delay.
ok
(
time
()
-
$master_insert_time
>=
$delay
,
"
Check that standby applies WAL only after replication delay
");
"
Check that standby applies WAL only after replication delay
");
src/test/recovery/t/007_sync_rep.pl
View file @
3be0a62f
...
...
@@ -6,7 +6,8 @@ use TestLib;
use
Test::
More
tests
=>
8
;
# Query checking sync_priority and sync_state of each standby
my
$check_sql
=
"
SELECT application_name, sync_priority, sync_state FROM pg_stat_replication ORDER BY application_name;
";
my
$check_sql
=
"
SELECT application_name, sync_priority, sync_state FROM pg_stat_replication ORDER BY application_name;
";
# Check that sync_state of each standby is expected.
# If $setting is given, synchronous_standby_names is set to it and
...
...
@@ -18,12 +19,12 @@ sub test_sync_state
if
(
defined
(
$setting
))
{
$self
->
psql
('
postgres
',
"
ALTER SYSTEM SET synchronous_standby_names = '
$setting
';
");
"
ALTER SYSTEM SET synchronous_standby_names = '
$setting
';
");
$self
->
reload
;
}
my
$timeout_max
=
30
;
my
$timeout
=
0
;
my
$timeout
=
0
;
my
$result
;
# A reload may take some time to take effect on busy machines,
...
...
@@ -71,7 +72,8 @@ $node_standby_3->start;
# Check that sync_state is determined correctly when
# synchronous_standby_names is specified in old syntax.
test_sync_state
(
$node_master
,
qq(standby1|1|sync
test_sync_state
(
$node_master
,
qq(standby1|1|sync
standby2|2|potential
standby3|0|async)
,
'
old syntax of synchronous_standby_names
',
...
...
@@ -82,7 +84,8 @@ standby3|0|async),
# Note that standby1 is chosen as sync standby because
# it's stored in the head of WalSnd array which manages
# all the standbys though they have the same priority.
test_sync_state
(
$node_master
,
qq(standby1|1|sync
test_sync_state
(
$node_master
,
qq(standby1|1|sync
standby2|1|potential
standby3|1|potential)
,
'
asterisk in synchronous_standby_names
',
...
...
@@ -100,7 +103,8 @@ $node_standby_3->start;
# Specify 2 as the number of sync standbys.
# Check that two standbys are in 'sync' state.
test_sync_state
(
$node_master
,
qq(standby2|2|sync
test_sync_state
(
$node_master
,
qq(standby2|2|sync
standby3|3|sync)
,
'
2 synchronous standbys
',
'
2(standby1,standby2,standby3)
');
...
...
@@ -111,14 +115,15 @@ $node_standby_1->start;
# Create standby4 linking to master
my
$node_standby_4
=
get_new_node
('
standby4
');
$node_standby_4
->
init_from_backup
(
$node_master
,
$backup_name
,
has_streaming
=>
1
);
has_streaming
=>
1
);
$node_standby_4
->
start
;
# Check that standby1 and standby2 whose names appear earlier in
# synchronous_standby_names are considered as sync. Also check that
# standby3 appearing later represents potential, and standby4 is
# in 'async' state because it's not in the list.
test_sync_state
(
$node_master
,
qq(standby1|1|sync
test_sync_state
(
$node_master
,
qq(standby1|1|sync
standby2|2|sync
standby3|3|potential
standby4|0|async)
,
...
...
@@ -127,7 +132,8 @@ standby4|0|async),
# Check that sync_state of each standby is determined correctly
# when num_sync exceeds the number of names of potential sync standbys
# specified in synchronous_standby_names.
test_sync_state
(
$node_master
,
qq(standby1|0|async
test_sync_state
(
$node_master
,
qq(standby1|0|async
standby2|4|sync
standby3|3|sync
standby4|1|sync)
,
...
...
@@ -138,7 +144,8 @@ standby4|1|sync),
# but does not make sense in most cases. Check that sync_state is
# chosen properly even in case of that setting.
# The priority of standby2 should be 2 because it matches * first.
test_sync_state
(
$node_master
,
qq(standby1|1|sync
test_sync_state
(
$node_master
,
qq(standby1|1|sync
standby2|2|sync
standby3|2|potential
standby4|2|potential)
,
...
...
@@ -147,7 +154,8 @@ standby4|2|potential),
# Check that the setting of '2(*)' chooses standby2 and standby3 that are stored
# earlier in WalSnd array as sync standbys.
test_sync_state
(
$node_master
,
qq(standby1|1|potential
test_sync_state
(
$node_master
,
qq(standby1|1|potential
standby2|1|sync
standby3|1|sync
standby4|1|potential)
,
...
...
@@ -159,7 +167,8 @@ $node_standby_3->stop;
# Check that the state of standby1 stored earlier in WalSnd array than
# standby4 is transited from potential to sync.
test_sync_state
(
$node_master
,
qq(standby1|1|sync
test_sync_state
(
$node_master
,
qq(standby1|1|sync
standby2|1|sync
standby4|1|potential)
,
'
potential standby found earlier in array is promoted to sync
');
src/tools/copyright.pl
View file @
3be0a62f
...
...
@@ -16,8 +16,8 @@ use File::Find;
use
File::
Basename
;
use
Tie::
File
;
my
$pgdg
=
'
PostgreSQL Global Development Group
';
my
$cc
=
'
Copyright
\
(c
\
)
';
my
$pgdg
=
'
PostgreSQL Global Development Group
';
my
$cc
=
'
Copyright
\
(c
\
)
';
my
$ccliteral
=
'
Copyright (c)
';
# year-1900 is what localtime(time) puts in element 5
...
...
src/tools/git_changelog
View file @
3be0a62f
...
...
@@ -66,24 +66,24 @@ my @BRANCHES = qw(master
# Might want to make this parameter user-settable.
my
$timestamp_slop
=
24
*
60
*
60
;
my
$brief
=
0
;
my
$details_after
=
0
;
my
$post_date
=
0
;
my
$master_only
=
0
;
my
$brief
=
0
;
my
$details_after
=
0
;
my
$post_date
=
0
;
my
$master_only
=
0
;
my
$non_master_only
=
0
;
my
$oldest_first
=
0
;
my
$oldest_first
=
0
;
my
$since
;
my
@output_buffer
;
my
$output_line
=
'';
Getopt::Long::
GetOptions
(
'
brief
'
=>
\
$brief
,
'
details-after
'
=>
\
$details_after
,
'
master-only
'
=>
\
$master_only
,
'
brief
'
=>
\
$brief
,
'
details-after
'
=>
\
$details_after
,
'
master-only
'
=>
\
$master_only
,
'
non-master-only
'
=>
\
$non_master_only
,
'
post-date
'
=>
\
$post_date
,
'
oldest-first
'
=>
\
$oldest_first
,
'
since=s
'
=>
\
$since
)
||
usage
();
'
post-date
'
=>
\
$post_date
,
'
oldest-first
'
=>
\
$oldest_first
,
'
since=s
'
=>
\
$since
)
||
usage
();
usage
()
if
@ARGV
;
my
@git
=
qw(git log --format=fuller --date=iso)
;
...
...
@@ -250,7 +250,7 @@ while (1)
if
(
$master_only
)
{
$print_it
=
(
@
{
$winner
->
{'
commits
'}
}
==
1
)
&&
(
$winner
->
{'
commits
'}[
0
]
->
{'
branch
'}
eq
'
master
');
&&
(
$winner
->
{'
commits
'}[
0
]
->
{'
branch
'}
eq
'
master
');
}
elsif
(
$non_master_only
)
{
...
...
@@ -374,20 +374,20 @@ sub output_details
{
$item
->
{'
message
'}
=~
m/^\s*(.*)/
;
output_str
("
%s [%s] %s
\n
",
substr
(
$c
->
{'
date
'},
0
,
10
),
substr
(
$c
->
{'
commit
'},
0
,
9
),
substr
(
$1
,
0
,
56
));
output_str
(
"
%s [%s] %s
\n
",
substr
(
$c
->
{'
date
'},
0
,
10
),
substr
(
$c
->
{'
commit
'},
0
,
9
),
substr
(
$1
,
0
,
56
));
}
else
{
output_str
("
Branch: %s
",
$c
->
{'
branch
'})
if
(
!
$master_only
);
if
(
!
$master_only
);
output_str
("
Release: %s
",
$c
->
{'
last_tag
'})
if
(
defined
$c
->
{'
last_tag
'});
output_str
("
[%s] %s
\n
",
substr
(
$c
->
{'
commit
'},
0
,
9
),
$c
->
{'
date
'});
if
(
defined
$c
->
{'
last_tag
'});
output_str
("
[%s] %s
\n
",
substr
(
$c
->
{'
commit
'},
0
,
9
),
$c
->
{'
date
'});
}
}
output_str
("
\n
");
...
...
src/tools/msvc/Install.pm
View file @
3be0a62f
...
...
@@ -582,7 +582,8 @@ sub CopyIncludeFiles
'Public headers',
$target
. '/include/',
'src/include/', 'postgres_ext.h',
'pg_config.h', 'pg_config_ext.h',
'pg_config_os.h', 'dynloader.h', 'pg_config_manual.h');
'pg_config_os.h', 'dynloader.h',
'pg_config_manual.h');
lcopy('src/include/libpq/libpq-fs.h',
$target
. '/include/libpq/')
|| croak 'Could not copy libpq-fs.h';
...
...
src/tools/msvc/Mkvcbuild.pm
View file @
3be0a62f
...
...
@@ -41,9 +41,12 @@ my $contrib_extrasource = {
'
cube
'
=>
[
'
contrib/cube/cubescan.l
',
'
contrib/cube/cubeparse.y
'
],
'
seg
'
=>
[
'
contrib/seg/segscan.l
',
'
contrib/seg/segparse.y
'
],
};
my
@contrib_excludes
=
(
'
commit_ts
',
'
hstore_plperl
',
'
hstore_plpython
',
'
intagg
',
'
ltree_plpython
',
'
pgcrypto
',
'
sepgsql
',
'
brin
',
'
test_extensions
',
'
test_pg_dump
',
'
snapshot_too_old
');
'
commit_ts
',
'
hstore_plperl
',
'
hstore_plpython
',
'
intagg
',
'
ltree_plpython
',
'
pgcrypto
',
'
sepgsql
',
'
brin
',
'
test_extensions
',
'
test_pg_dump
',
'
snapshot_too_old
');
# Set of variables for frontend modules
my
$frontend_defines
=
{
'
initdb
'
=>
'
FRONTEND
'
};
...
...
@@ -63,9 +66,9 @@ my $frontend_extralibs = {
'
psql
'
=>
['
ws2_32.lib
']
};
my
$frontend_extraincludes
=
{
'
initdb
'
=>
['
src/timezone
'],
'
psql
'
=>
[
'
src/backend
'
]
};
'
psql
'
=>
[
'
src/backend
'
]
};
my
$frontend_extrasource
=
{
'
psql
'
=>
[
'
src/bin/psql/psqlscanslash.l
'
],
'
psql
'
=>
[
'
src/bin/psql/psqlscanslash.l
'
],
'
pgbench
'
=>
[
'
src/bin/pgbench/exprscan.l
',
'
src/bin/pgbench/exprparse.y
'
]
};
my
@frontend_excludes
=
(
...
...
@@ -155,8 +158,10 @@ sub mkvcbuild
$postgres
->
AddFiles
('
src/backend/bootstrap
',
'
bootscanner.l
',
'
bootparse.y
');
$postgres
->
AddFiles
('
src/backend/utils/misc
',
'
guc-file.l
');
$postgres
->
AddFiles
('
src/backend/replication
',
'
repl_scanner.l
',
'
repl_gram.y
',
'
syncrep_scanner.l
',
'
syncrep_gram.y
');
$postgres
->
AddFiles
(
'
src/backend/replication
',
'
repl_scanner.l
',
'
repl_gram.y
',
'
syncrep_scanner.l
',
'
syncrep_gram.y
');
$postgres
->
AddDefine
('
BUILDING_DLL
');
$postgres
->
AddLibrary
('
secur32.lib
');
$postgres
->
AddLibrary
('
ws2_32.lib
');
...
...
@@ -625,8 +630,7 @@ sub mkvcbuild
}
}
$proj
->
AddIncludeDir
('
src/interfaces/libpq
');
$proj
->
AddReference
(
$libpq
,
$libpgfeutils
,
$libpgcommon
,
$libpgport
);
$proj
->
AddReference
(
$libpq
,
$libpgfeutils
,
$libpgcommon
,
$libpgport
);
$proj
->
AddDirResourceFile
('
src/bin/scripts
');
$proj
->
AddLibrary
('
ws2_32.lib
');
}
...
...
src/tools/msvc/Solution.pm
View file @
3be0a62f
...
...
@@ -286,7 +286,8 @@ s{PG_VERSION_STR "[^"]+"}{__STRINGIFY(x) #x\n#define __STRINGIFY2(z) __STRINGIFY
}
if
(
IsNewer
(
'
src/include/storage/lwlocknames.h
',
'
src/backend/storage/lmgr/lwlocknames.txt
'))
'
src/include/storage/lwlocknames.h
',
'
src/backend/storage/lmgr/lwlocknames.txt
'))
{
print
"
Generating lwlocknames.c and lwlocknames.h...
\n
";
chdir
('
src/backend/storage/lmgr
');
...
...
@@ -297,13 +298,13 @@ s{PG_VERSION_STR "[^"]+"}{__STRINGIFY(x) #x\n#define __STRINGIFY2(z) __STRINGIFY
'
src/include/storage/lwlocknames.h
',
'
src/backend/storage/lmgr/lwlocknames.h
'))
{
copyFile
('
src/backend/storage/lmgr/lwlocknames.h
',
copyFile
(
'
src/backend/storage/lmgr/lwlocknames.h
',
'
src/include/storage/lwlocknames.h
');
}
if
(
IsNewer
(
'
src/include/dynloader.h
',
'
src/backend/port/dynloader/win32.h
'))
'
src/include/dynloader.h
',
'
src/backend/port/dynloader/win32.h
'))
{
copyFile
('
src/backend/port/dynloader/win32.h
',
'
src/include/dynloader.h
');
...
...
@@ -352,8 +353,7 @@ s{PG_VERSION_STR "[^"]+"}{__STRINGIFY(x) #x\n#define __STRINGIFY2(z) __STRINGIFY
if
(
$self
->
{
options
}
->
{
tcl
}
&&
IsNewer
(
'
src/pl/tcl/pltclerrcodes.h
',
'
src/backend/utils/errcodes.txt
'))
'
src/pl/tcl/pltclerrcodes.h
',
'
src/backend/utils/errcodes.txt
'))
{
print
"
Generating pltclerrcodes.h...
\n
";
system
(
...
...
@@ -653,9 +653,9 @@ sub GetFakeConfigure
$cfg
.=
'
--enable-cassert
'
if
(
$self
->
{
options
}
->
{
asserts
});
$cfg
.=
'
--enable-integer-datetimes
'
if
(
$self
->
{
options
}
->
{
integer_datetimes
});
$cfg
.=
'
--enable-nls
'
if
(
$self
->
{
options
}
->
{
nls
});
$cfg
.=
'
--enable-nls
'
if
(
$self
->
{
options
}
->
{
nls
});
$cfg
.=
'
--enable-tap-tests
'
if
(
$self
->
{
options
}
->
{
tap_tests
});
$cfg
.=
'
--with-ldap
'
if
(
$self
->
{
options
}
->
{
ldap
});
$cfg
.=
'
--with-ldap
'
if
(
$self
->
{
options
}
->
{
ldap
});
$cfg
.=
'
--without-zlib
'
unless
(
$self
->
{
options
}
->
{
zlib
});
$cfg
.=
'
--with-extra-version
'
if
(
$self
->
{
options
}
->
{
extraver
});
$cfg
.=
'
--with-openssl
'
if
(
$self
->
{
options
}
->
{
openssl
});
...
...
src/tools/msvc/build.pl
View file @
3be0a62f
...
...
@@ -53,7 +53,8 @@ elsif (uc($ARGV[0]) ne "RELEASE")
if
(
$buildwhat
and
$vcver
>=
10.00
)
{
system
(
"
msbuild
$buildwhat
.vcxproj /verbosity:normal /p:Configuration=
$bconf
");
"
msbuild
$buildwhat
.vcxproj /verbosity:normal /p:Configuration=
$bconf
"
);
}
elsif
(
$buildwhat
)
{
...
...
src/tools/msvc/config_default.pl
View file @
3be0a62f
...
...
@@ -3,7 +3,7 @@ use strict;
use
warnings
;
our
$config
=
{
asserts
=>
0
,
# --enable-cassert
asserts
=>
0
,
# --enable-cassert
# integer_datetimes=>1, # --enable-integer-datetimes - on is now default
# float4byval=>1, # --disable-float4-byval, on by default
...
...
src/tools/msvc/pgflex.pl
View file @
3be0a62f
...
...
@@ -16,8 +16,8 @@ my ($flexver) = `flex -V`; # grab first line
$flexver
=
(
split
(
/\s+/
,
$flexver
))[
1
];
$flexver
=~
s/[^0-9.]//g
;
my
@verparts
=
split
(
/\./
,
$flexver
);
unless
(
$verparts
[
0
]
==
2
&&
(
$verparts
[
1
]
>
5
||
(
$verparts
[
1
]
==
5
&&
$verparts
[
2
]
>=
31
)))
unless
(
$verparts
[
0
]
==
2
&&
(
$verparts
[
1
]
>
5
||
(
$verparts
[
1
]
==
5
&&
$verparts
[
2
]
>=
31
)))
{
print
"
WARNING! Flex install not found, or unsupported Flex version.
\n
";
print
"
echo Attempting to build without.
\n
";
...
...
src/tools/msvc/vcregress.pl
View file @
3be0a62f
...
...
@@ -184,11 +184,11 @@ sub tap_check
my
$dir
=
shift
;
chdir
$dir
;
my
@args
=
(
"
prove
",
"
--verbose
",
"
t/*.pl
");
my
@args
=
("
prove
",
"
--verbose
",
"
t/*.pl
");
# adjust the environment for just this test
local
%
ENV
=
%
ENV
;
$ENV
{
PERL5LIB
}
=
"
$topdir
/src/test/perl;
$ENV
{PERL5LIB}
";
$ENV
{
PERL5LIB
}
=
"
$topdir
/src/test/perl;
$ENV
{PERL5LIB}
";
$ENV
{
PG_REGRESS
}
=
"
$topdir
/
$Config
/pg_regress/pg_regress
";
$ENV
{
TESTDIR
}
=
"
$dir
";
...
...
@@ -332,6 +332,7 @@ sub contribcheck
my
$mstat
=
0
;
foreach
my
$module
(
glob
("
*
"))
{
# these configuration-based exclusions must match Install.pm
next
if
(
$module
eq
"
uuid-ossp
"
&&
!
defined
(
$config
->
{
uuid
}));
next
if
(
$module
eq
"
sslinfo
"
&&
!
defined
(
$config
->
{
openssl
}));
...
...
@@ -365,8 +366,8 @@ sub recoverycheck
{
InstallTemp
();
my
$mstat
=
0
;
my
$dir
=
"
$topdir
/src/test/recovery
";
my
$mstat
=
0
;
my
$dir
=
"
$topdir
/src/test/recovery
";
my
$status
=
tap_check
(
$dir
);
exit
$status
if
$status
;
}
...
...
@@ -547,20 +548,20 @@ sub InstallTemp
sub
usage
{
print
STDERR
"
Usage: vcregress.pl <mode> [ <schedule> ]
\n\n
",
"
Options for <mode>:
\n
",
"
bincheck run tests of utilities in src/bin/
\n
",
"
check deploy instance and run regression tests on it
\n
",
"
contribcheck run tests of modules in contrib/
\n
",
"
ecpgcheck run regression tests of ECPG
\n
",
"
installcheck run regression tests on existing instance
\n
",
"
isolationcheck run isolation tests
\n
",
"
modulescheck run tests of modules in src/test/modules/
\n
",
"
plcheck run tests of PL languages
\n
",
"
recoverycheck run recovery test suite
\n
",
"
upgradecheck run tests of pg_upgrade
\n
",
"
\n
Options for <schedule>:
\n
",
"
serial serial mode
\n
",
"
parallel parallel mode
\n
";
"
Usage: vcregress.pl <mode> [ <schedule> ]
\n\n
",
"
Options for <mode>:
\n
",
"
bincheck run tests of utilities in src/bin/
\n
",
"
check deploy instance and run regression tests on it
\n
",
"
contribcheck run tests of modules in contrib/
\n
",
"
ecpgcheck run regression tests of ECPG
\n
",
"
installcheck run regression tests on existing instance
\n
",
"
isolationcheck run isolation tests
\n
",
"
modulescheck run tests of modules in src/test/modules/
\n
",
"
plcheck run tests of PL languages
\n
",
"
recoverycheck run recovery test suite
\n
",
"
upgradecheck run tests of pg_upgrade
\n
",
"
\n
Options for <schedule>:
\n
",
"
serial serial mode
\n
",
"
parallel parallel mode
\n
";
exit
(
1
);
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment