testcases.txt

text/plain

Filename: testcases.txt
Type: text/plain
Part: 0
Message: Review : Add hooks for pre- and post-processor executables for COPY and \copy
--1. check success case admin can use this "COPY statement" feature.
select count(*) from pgbench_accounts;
copy pgbench_accounts TO PROGRAM '/home/kiran/installation/bin/compress.sh /home/kiran/installation/bin/pgbench_accounts1.txt';
delete from pgbench_accounts;
copy pgbench_accounts FROM PROGRAM '/home/kiran/installation/bin/decompress.sh /home/kiran/installation/bin/pgbench_accounts1.txt.bz2';
select count(*) from pgbench_accounts;

--2. check commands are running with relative path to database directory.
copy pgbench_accounts TO PROGRAM '../compress.sh ../pgbench_accounts4.txt';
delete from pgbench_accounts;
copy pgbench_accounts FROM PROGRAM '../decompress.sh ../pgbench_accounts4.txt.bz2';
select count(*) from pgbench_accounts;

--3. invalid case; where command not found
select count(*) from pgbench_accounts;
copy pgbench_accounts TO PROGRAM 'compress.sh pgbench_accounts1.txt';
copy pgbench_accounts FROM PROGRAM 'decompress.sh pgbench_accounts1.txt.bz2';

--4. invalid case; where file / script having problem.
select count(*) from pgbench_accounts;
copy pgbench_accounts TO PROGRAM '../compress.sh abc/pgbench_accounts1.txt';
copy pgbench_accounts FROM PROGRAM '../decompress.sh abc/pgbench_accounts1.txt.bz2';

--repeat all above cases from psql command.
--5. check success case admin can use this "\COPY" psql feature.
select count(*) from pgbench_accounts;
\copy pgbench_accounts TO PROGRAM '/home/kiran/installation/bin/compress.sh /home/kiran/installation/bin/pgbench_accounts1.txt';
delete from pgbench_accounts;
\copy pgbench_accounts FROM PROGRAM '/home/kiran/installation/bin/decompress.sh /home/kiran/installation/bin/pgbench_accounts1.txt.bz2';
select count(*) from pgbench_accounts;

--6. check commands are running with relative path to psql current working directory.
\copy pgbench_accounts TO PROGRAM '../compress.sh ../pgbench_accounts4.txt';
delete from pgbench_accounts;
\copy pgbench_accounts FROM PROGRAM '../decompress.sh ../pgbench_accounts4.txt.bz2';
select count(*) from pgbench_accounts;

--7. invalid case; where command not found
select count(*) from pgbench_accounts;
\copy pgbench_accounts TO PROGRAM 'compress.sh pgbench_accounts1.txt';
\copy pgbench_accounts FROM PROGRAM 'decompress.sh pgbench_accounts1.txt.bz2';

--8. invalid case; where file / script having problem.
select count(*) from pgbench_accounts;
\copy pgbench_accounts TO PROGRAM '../compress.sh abc/pgbench_accounts1.txt';
\copy pgbench_accounts FROM PROGRAM '../decompress.sh abc/pgbench_accounts1.txt.bz2';

--9. Normal user can't execute "COPY statement"
create user abc;
\c abc
select count(*) from pgbench_accounts;
copy pgbench_accounts TO PROGRAM '/home/kiran/installation/bin/compress.sh /home/kiran/installation/bin/pgbench_accounts1.txt';
delete from pgbench_accounts;
copy pgbench_accounts FROM PROGRAM '/home/kiran/installation/bin/decompress.sh /home/kiran/installation/bin/pgbench_accounts1.txt.bz2';
select count(*) from pgbench_accounts;

--10. Normal user can execute "\COPY" psql command
select count(*) from pgbench_accounts;
\copy pgbench_accounts TO PROGRAM '/home/kiran/installation/bin/compress.sh /home/kiran/installation/bin/pgbench_accounts1.txt';
delete from pgbench_accounts;
\copy pgbench_accounts FROM PROGRAM '/home/kiran/installation/bin/decompress.sh /home/kiran/installation/bin/pgbench_accounts1.txt.bz2';
select count(*) from pgbench_accounts;