blob: 599efe542d081ef9bdeb710b4539c74586c3d70c [file]
--
-- external tables - short and simple functional tests.
--
-- start_matchsubs
--
-- # replace return code in error message (platform specific)
--
-- m/ERROR\:\s+external table .* command ended with .* not found/
-- s/nosuchcommand\:\s*(command)? not found/nosuchcommand\: NOT FOUND/
--
-- m/ERROR\:\s+external table .* command ended with .*No such file.*/
-- s/nosuchfile\.txt\:\s*No such file (or directory)?/nosuchfile\.txt\: NO SUCH FILE/
-- m/ERROR\:\s+external table .* command ended with .*No such file.*/i
-- s/cat\: (cannot open)? nosuchfile\.txt/cat\: nosuchfile\.txt/
--
-- # remove line number - redhat
-- m/ERROR\:\s+external table .* command ended with .*NOT FOUND.*/i
-- s/\s+line \d+\://
-- # remove line number - Debian
-- m/ERROR\:\s+external table .* command ended with .*sh: 1: .*NOT FOUND.*/i
-- s/ sh: 1: / sh: /
--
-- m/DETAIL: Found \d+ URLs and \d+ primary segments./
-- s/Found.+//
--
-- end_matchsubs
-- start_ignore
DROP EXTERNAL TABLE IF EXISTS ext_error_persistent;
DROP EXTERNAL TABLE IF EXISTS ext_bytea;
-- end_ignore
SET optimizer_trace_fallback=on;
\getenv abs_srcdir PG_ABS_SRCDIR
\getenv hostname PG_HOSTNAME
\set tableerr_file :abs_srcdir '/data/tableerr.csv'
COPY (VALUES('1,2'),('1,2,3'),('1,'),('1')) TO :'tableerr_file';
\set tableerr_file2 'file://' :hostname :abs_srcdir '/data/tableerr.csv'
create external table ext_error_persistent(a int, b int)
location (:'tableerr_file2')
format 'csv'
log errors persistently segment reject limit 10;
select * from ext_error_persistent;
SELECT (gp_read_persistent_error_log('ext_error_persistent')).errmsg;
select errmsg from gp_read_error_log('ext_error_persistent');
select * from gp_truncate_error_log('ext_error_persistent');
select * from gp_truncate_error_log('*');
select * from gp_truncate_error_log('*.*');
SELECT (gp_read_persistent_error_log('ext_error_persistent')).errmsg;
SELECT gp_truncate_persistent_error_log('ext_error_persistent');
SELECT relname, linenum, errmsg FROM gp_read_persistent_error_log('ext_error_persistent');
select * from ext_error_persistent;
SELECT relname, linenum, errmsg FROM gp_read_persistent_error_log('ext_error_persistent');
SELECT gp_truncate_persistent_error_log('*');
SELECT relname, linenum, errmsg FROM gp_read_persistent_error_log('ext_error_persistent');
select * from ext_error_persistent;
SELECT relname, linenum, errmsg FROM gp_read_persistent_error_log('ext_error_persistent');
SELECT gp_truncate_persistent_error_log('*.*');
SELECT relname, linenum, errmsg FROM gp_read_persistent_error_log('ext_error_persistent');
select * from ext_error_persistent;
SELECT relname, linenum, errmsg FROM gp_read_persistent_error_log('ext_error_persistent');
DROP EXTERNAL TABLE ext_error_persistent;
-- error log still exists
SELECT relname, linenum, errmsg FROM gp_read_persistent_error_log('ext_error_persistent');
-- with out the error_log_persistent option, which will use normal error log.
create external table ext_error_persistent(a int, b int)
location (:'tableerr_file2')
format 'csv'
log errors segment reject limit 10;
select * from ext_error_persistent;
SELECT relname, linenum, errmsg FROM gp_read_error_log('ext_error_persistent');
-- persistent error log has no change
SELECT relname, linenum, errmsg FROM gp_read_persistent_error_log('ext_error_persistent');
DROP EXTERNAL TABLE ext_error_persistent;
SELECT relname, linenum, errmsg FROM gp_read_error_log('ext_error_persistent');
SELECT relname, linenum, errmsg FROM gp_read_persistent_error_log('ext_error_persistent');
SELECT gp_truncate_persistent_error_log('ext_error_persistent');
SELECT relname, linenum, errmsg FROM gp_read_persistent_error_log('ext_error_persistent');
\set bytea_file 'file://' :hostname :abs_srcdir '/data/bytea.data'
CREATE EXTERNAL TABLE ext_bytea (id int, content bytea)
LOCATION (
:'bytea_file'
) FORMAT 'CSV'
OPTIONS (error_log_persistent 'true')
LOG ERRORS SEGMENT REJECT LIMIT 5;
SELECT * FROM ext_bytea;
SELECT relname, linenum, errmsg FROM gp_read_persistent_error_log('ext_bytea');
SELECT gp_truncate_persistent_error_log('ext_bytea');
SELECT relname, linenum, errmsg FROM gp_read_persistent_error_log('ext_bytea');
\! rm $PG_ABS_SRCDIR/data/tableerr.csv