67b1cb7a创建于 2024年2月1日历史提交
create database copy_error_log;
\c copy_error_log;
--case 1: test basic copy error log
drop table if exists copy_create_err_tab_001_01;
create table copy_create_err_tab_001_01
(
   c_int1  integer not null ,
   c_int2  integer not null ,
   c_char1 char(16)  not null,
   c_char2 char(50),
   c_varchar1 varchar(200) ,
   c_varchar2 varchar(400),
   c_text  text,
   c_numeric numeric(7,2) ,
   c_timestamp timestamp without time zone 
)  ;
copy copy_create_err_tab_001_01 from '@abs_srcdir@/data/data_err_par' 
log errors reject limit 'unlimited'
with(delimiter '|',format 'text',
encoding 'utf8');
drop table if exists pgxc_copy_error_log;
select * from copy_error_log_create();
copy copy_create_err_tab_001_01 from '@abs_srcdir@/data/data_err_par' 
log errors reject limit 'unlimited'
with(delimiter '|',format 'text',
encoding 'utf8');
select count(*) from  copy_create_err_tab_001_01;
select count(*) from pgxc_copy_error_log;
select count(*) from pgxc_copy_error_log where relname='public.copy_create_err_tab_001_01';
drop table pgxc_copy_error_log;

--case 2: test copy_error_log_create function
select * from copy_error_log_create('error');
select * from copy_error_log_create(),copy_error_log_create();
select * from copy_error_log_create();
select * from copy_error_log_create();
select * from copy_error_log_create(copy_error_log_create());
select * from reverse(copy_error_log_create());
drop table if exists pgxc_copy_error_log;
select * from copy_error_log_create();
alter table pgxc_copy_error_log alter column lineno type char(50);
drop table if exists err_copy_create_err_tab_001_01;
create table err_copy_create_err_tab_001_01
(
   c_int1  integer not null ,
   c_int2  integer  ,
   c_char1 char(16)  ,
   c_char2 char(50),
   c_varchar1 varchar(200) ,
   c_varchar2 varchar(400),
   c_text  text,
   c_numeric numeric(7,2) ,
   c_timestamp timestamp without time zone 
)  ;
copy err_copy_create_err_tab_001_01 from '@abs_srcdir@/data/data_err_par' 
log errors reject limit 'unlimited'
with(delimiter ',',format 'text',
encoding 'utf8');
alter table pgxc_copy_error_log add  column   ext3 text;
copy err_copy_create_err_tab_001_01 from '@abs_srcdir@/data/data_err_par' 
log errors reject limit 'unlimited'
with(delimiter ',',format 'text',
encoding 'utf8');
alter table pgxc_copy_error_log drop  column lineno ;
copy err_copy_create_err_tab_001_01 from '@abs_srcdir@/data/data_err_par' 
log errors reject limit 'unlimited'
with(delimiter ',',format 'text',
encoding 'utf8');
drop table pgxc_copy_error_log;
drop table copy_create_err_tab_001_01;
drop table err_copy_create_err_tab_001_01;

--case 3: test basic copy error log
drop table if exists copy_create_err_tab_001_01;
create table copy_create_err_tab_001_01
(
   c_int1  integer not null ,
   c_int2  integer not null ,
   c_char1 char(16)  not null,
   c_char2 char(50),
   c_varchar1 varchar(200) ,
   c_varchar2 varchar(400),
   c_text  text,
   c_numeric numeric(7,2) ,
   c_timestamp timestamp without time zone
)  ;
copy copy_create_err_tab_001_01 from '@abs_srcdir@/data/data_err_par'
log errors data reject limit 'unlimited'
with(delimiter '|',format 'text',
encoding 'utf8');
drop table if exists pgxc_copy_error_log;
select * from copy_error_log_create();
copy copy_create_err_tab_001_01 from '@abs_srcdir@/data/data_err_par'
log errors data reject limit 'unlimited'
with(delimiter '|',format 'text',
encoding 'utf8');
select count(*) from  copy_create_err_tab_001_01;
select count(*) from pgxc_copy_error_log where rawrecord is not null;
select count(*) from pgxc_copy_error_log where relname='public.copy_create_err_tab_001_01' and rawrecord is not null;
drop table pgxc_copy_error_log;

--case 4: test copy_error_log_create function
select * from copy_error_log_create('error');
select * from copy_error_log_create(),copy_error_log_create();
select * from copy_error_log_create();
select * from copy_error_log_create();
select * from copy_error_log_create(copy_error_log_create());
select * from reverse(copy_error_log_create());
drop table if exists pgxc_copy_error_log;
select * from copy_error_log_create();
alter table pgxc_copy_error_log alter column lineno type char(50);
drop table if exists err_copy_create_err_tab_001_01;
create table err_copy_create_err_tab_001_01
(
   c_int1  integer not null ,
   c_int2  integer  ,
   c_char1 char(16)  ,
   c_char2 char(50),
   c_varchar1 varchar(200) ,
   c_varchar2 varchar(400),
   c_text  text,
   c_numeric numeric(7,2) ,
   c_timestamp timestamp without time zone
)  ;
copy err_copy_create_err_tab_001_01 from '@abs_srcdir@/data/data_err_par'
log errors data reject limit 'unlimited'
with(delimiter ',',format 'text',
encoding 'utf8');
alter table pgxc_copy_error_log add  column   ext3 text;
copy err_copy_create_err_tab_001_01 from '@abs_srcdir@/data/data_err_par'
log errors data reject limit 'unlimited'
with(delimiter ',',format 'text',
encoding 'utf8');
alter table pgxc_copy_error_log drop  column lineno ;
copy err_copy_create_err_tab_001_01 from '@abs_srcdir@/data/data_err_par'
log errors data reject limit 'unlimited'
with(delimiter ',',format 'text',
encoding 'utf8');
drop table pgxc_copy_error_log;
drop table copy_create_err_tab_001_01;
drop table err_copy_create_err_tab_001_01;
\c regression;
drop database copy_error_log;