15670430创建于 2020年12月28日历史提交
create schema vector_mergejoin_engine_1;
set search_path to vector_mergejoin_engine_1;
----
--- case 7: Complicate Case
----
CREATE TABLE vector_mergejoin_engine_1.TBL_COMBINE_NESTLOOP_SEQSCAN_00(
	C_CHAR_1 CHAR(1),
	C_CHAR_2 CHAR(10),
	C_CHAR_3 CHAR(100),
	C_VARCHAR_1 VARCHAR(1),
	C_VARCHAR_2 VARCHAR(10),
	C_VARCHAR_3 VARCHAR(1024),
	C_INT INTEGER,
	C_BIGINT BIGINT,
	C_INT_01 INTEGER,
	C_BIGINT_01 BIGINT,
	C_SMALLINT SMALLINT,
	C_FLOAT FLOAT,
	C_NUMERIC numeric(10,5),
	C_DP double precision,
	C_DATE DATE,
	C_TS_WITHOUT TIMESTAMP WITHOUT TIME ZONE,
	C_TS_WITH TIMESTAMP WITH TIME ZONE, PARTIAL CLUSTER KEY(C_CHAR_3))WITH (ORIENTATION=COLUMN);
CREATE INDEX idx_TBL_COMBINE_NESTLOOP_SEQSCAN_00_01 on TBL_COMBINE_NESTLOOP_SEQSCAN_00(C_INT_01);
CREATE INDEX idx_TBL_COMBINE_NESTLOOP_SEQSCAN_00_02 on TBL_COMBINE_NESTLOOP_SEQSCAN_00(C_BIGINT_01);
CREATE TABLE vector_mergejoin_engine_1.TBL_COMBINE_NESTLOOP_SEQSCAN_00_xx1(
	C_CHAR_1 CHAR(1),
	C_CHAR_2 CHAR(10),
	C_CHAR_3 CHAR(100),
	C_VARCHAR_1 VARCHAR(1),
	C_VARCHAR_2 VARCHAR(10),
	C_VARCHAR_3 VARCHAR(1024),
	C_INT INTEGER,
	C_BIGINT BIGINT,
	C_INT_01 INTEGER,
	C_BIGINT_01 BIGINT,
	C_SMALLINT SMALLINT,
	C_FLOAT FLOAT,
	C_NUMERIC numeric(10,5),
	C_DP double precision,
	C_DATE DATE,
	C_TS_WITHOUT TIMESTAMP WITHOUT TIME ZONE,
	C_TS_WITH TIMESTAMP WITH TIME ZONE);	
copy TBL_COMBINE_NESTLOOP_SEQSCAN_00_xx1 from '@abs_srcdir@/data/TBL_COMBINE_NESTLOOP_SEQSCAN_00_xx1.data' DELIMITER as ',' NULL as '';
ERROR:  value too long for type character(1)
CONTEXT:  COPY tbl_combine_nestloop_seqscan_00_xx1, line 1, column c_char_1: "A	SEQSCAN_01	SEQSCAN_01AAAA                                                                                      	a	aaadf	SEQSCAN_01AAAAAAAAAAAAAAAAAAAAAA1	1	1	1	1	2	1.0001	1.00001	1.000001	2000-01-01 00:00:00	2000-01-01 01:01:01	2000-01-01 08:01:01+08"
insert into TBL_COMBINE_NESTLOOP_SEQSCAN_00 select * from TBL_COMBINE_NESTLOOP_SEQSCAN_00_xx1;
CREATE TABLE vector_mergejoin_engine_1.TBL_COMBINE_NESTLOOP_SEQSCAN_01(
	C_CHAR_1 CHAR(1),
	C_CHAR_2 CHAR(10),
	C_CHAR_3 CHAR(100),
	C_VARCHAR_1 VARCHAR(1),
	C_VARCHAR_2 VARCHAR(10),
	C_VARCHAR_3 VARCHAR(1024),
	C_INT INTEGER,
	C_BIGINT BIGINT,
	C_INT_01 INTEGER,
	C_BIGINT_01 BIGINT,
	C_SMALLINT SMALLINT,
	C_FLOAT FLOAT,
	C_NUMERIC numeric(10,5),
	C_DP double precision,
	C_DATE DATE,
	C_TS_WITHOUT TIMESTAMP WITHOUT TIME ZONE,
	C_TS_WITH TIMESTAMP WITH TIME ZONE, PARTIAL CLUSTER KEY(C_INT))WITH (ORIENTATION=COLUMN);
CREATE TABLE vector_mergejoin_engine_1.TBL_COMBINE_NESTLOOP_SEQSCAN_01_xx2(
	C_CHAR_1 CHAR(1),
	C_CHAR_2 CHAR(10),
	C_CHAR_3 CHAR(100),
	C_VARCHAR_1 VARCHAR(1),
	C_VARCHAR_2 VARCHAR(10),
	C_VARCHAR_3 VARCHAR(1024),
	C_INT INTEGER,
	C_BIGINT BIGINT,
	C_INT_01 INTEGER,
	C_BIGINT_01 BIGINT,
	C_SMALLINT SMALLINT,
	C_FLOAT FLOAT,
	C_NUMERIC numeric(10,5),
	C_DP double precision,
	C_DATE DATE,
	C_TS_WITHOUT TIMESTAMP WITHOUT TIME ZONE,
	C_TS_WITH TIMESTAMP WITH TIME ZONE);
CREATE INDEX idx_TBL_COMBINE_NESTLOOP_SEQSCAN_01_01 on TBL_COMBINE_NESTLOOP_SEQSCAN_01(C_INT_01);
CREATE INDEX idx_TBL_COMBINE_NESTLOOP_SEQSCAN_01_02 on TBL_COMBINE_NESTLOOP_SEQSCAN_01(C_BIGINT_01);	
copy TBL_COMBINE_NESTLOOP_SEQSCAN_01_xx2 from '@abs_srcdir@/data/TBL_COMBINE_NESTLOOP_SEQSCAN_01_xx2.data';
insert into TBL_COMBINE_NESTLOOP_SEQSCAN_01 select * from TBL_COMBINE_NESTLOOP_SEQSCAN_01_xx2;
CREATE TABLE vector_mergejoin_engine_1.TBL_COMBINE_NESTLOOP_SEQSCAN_02(
	C_CHAR_1 CHAR(1),
	C_CHAR_2 CHAR(10),
	C_CHAR_3 CHAR(100),
	C_VARCHAR_1 VARCHAR(1),
	C_VARCHAR_2 VARCHAR(10),
	C_VARCHAR_3 VARCHAR(1024),
	C_INT INTEGER,
	C_BIGINT BIGINT,
	C_INT_01 INTEGER,
	C_BIGINT_01 BIGINT,
	C_SMALLINT SMALLINT,
	C_FLOAT FLOAT,
	C_NUMERIC numeric(10,5),
	C_DP double precision,
	C_DATE DATE,
	C_TS_WITHOUT TIMESTAMP WITHOUT TIME ZONE,
	C_TS_WITH TIMESTAMP WITH TIME ZONE, PARTIAL CLUSTER KEY(C_VARCHAR_3))WITH (ORIENTATION=COLUMN);
CREATE TABLE vector_mergejoin_engine_1.TBL_COMBINE_NESTLOOP_SEQSCAN_02_xx3(
	C_CHAR_1 CHAR(1),
	C_CHAR_2 CHAR(10),
	C_CHAR_3 CHAR(100),
	C_VARCHAR_1 VARCHAR(1),
	C_VARCHAR_2 VARCHAR(10),
	C_VARCHAR_3 VARCHAR(1024),
	C_INT INTEGER,
	C_BIGINT BIGINT,
	C_INT_01 INTEGER,
	C_BIGINT_01 BIGINT,
	C_SMALLINT SMALLINT,
	C_FLOAT FLOAT,
	C_NUMERIC numeric(10,5),
	C_DP double precision,
	C_DATE DATE,
	C_TS_WITHOUT TIMESTAMP WITHOUT TIME ZONE,
	C_TS_WITH TIMESTAMP WITH TIME ZONE);
CREATE INDEX idx_TBL_COMBINE_NESTLOOP_SEQSCAN_02_01 on TBL_COMBINE_NESTLOOP_SEQSCAN_02(C_INT_01);
CREATE INDEX idx_TBL_COMBINE_NESTLOOP_SEQSCAN_02_02 on TBL_COMBINE_NESTLOOP_SEQSCAN_02(C_BIGINT_01);	
copy TBL_COMBINE_NESTLOOP_SEQSCAN_02_xx3 from '@abs_srcdir@/data/TBL_COMBINE_NESTLOOP_SEQSCAN_02_xx3.data';
insert into TBL_COMBINE_NESTLOOP_SEQSCAN_02 select * from TBL_COMBINE_NESTLOOP_SEQSCAN_02_xx3;
CREATE TABLE vector_mergejoin_engine_1.TBL_COMBINE_NESTLOOP_SEQSCAN_03(
	C_CHAR_1 CHAR(1),
	C_CHAR_2 CHAR(10),
	C_CHAR_3 CHAR(100),
	C_VARCHAR_1 VARCHAR(1),
	C_VARCHAR_2 VARCHAR(10),
	C_VARCHAR_3 VARCHAR(1024),
	C_INT INTEGER,
	C_BIGINT BIGINT,
	C_INT_01 INTEGER,
	C_BIGINT_01 BIGINT,
	C_SMALLINT SMALLINT,
	C_FLOAT FLOAT,
	C_NUMERIC numeric(10,5),
	C_DP double precision,
	C_DATE DATE,
	C_TS_WITHOUT TIMESTAMP WITHOUT TIME ZONE,
	C_TS_WITH TIMESTAMP WITH TIME ZONE )WITH (ORIENTATION=COLUMN)
	partition by range (C_INT)--INTERVAL (20)
	( 
		partition TBL_COMBINE_NESTLOOP_SEQSCAN_03_1 values less than (20),
		partition TBL_COMBINE_NESTLOOP_SEQSCAN_03_2 values less than (40),
		partition TBL_COMBINE_NESTLOOP_SEQSCAN_03_3 values less than (60),
		partition TBL_COMBINE_NESTLOOP_SEQSCAN_03_4 values less than (90),
		partition TBL_COMBINE_NESTLOOP_SEQSCAN_03_5 values less than (201),
		partition TBL_COMBINE_NESTLOOP_SEQSCAN_03_6 values less than (maxvalue)
    );
CREATE TABLE vector_mergejoin_engine_1.TBL_COMBINE_NESTLOOP_SEQSCAN_03_xx4(
	C_CHAR_1 CHAR(1),
	C_CHAR_2 CHAR(10),
	C_CHAR_3 CHAR(100),
	C_VARCHAR_1 VARCHAR(1),
	C_VARCHAR_2 VARCHAR(10),
	C_VARCHAR_3 VARCHAR(1024),
	C_INT INTEGER,
	C_BIGINT BIGINT,
	C_INT_01 INTEGER,
	C_BIGINT_01 BIGINT,
	C_SMALLINT SMALLINT,
	C_FLOAT FLOAT,
	C_NUMERIC numeric(10,5),
	C_DP double precision,
	C_DATE DATE,
	C_TS_WITHOUT TIMESTAMP WITHOUT TIME ZONE,
	C_TS_WITH TIMESTAMP WITH TIME ZONE )
	partition by range (C_INT)--INTERVAL (20)
	( 
		partition TBL_COMBINE_NESTLOOP_SEQSCAN_03_1 values less than (20),
		partition TBL_COMBINE_NESTLOOP_SEQSCAN_03_2 values less than (40),
		partition TBL_COMBINE_NESTLOOP_SEQSCAN_03_3 values less than (60),
		partition TBL_COMBINE_NESTLOOP_SEQSCAN_03_4 values less than (90),
		partition TBL_COMBINE_NESTLOOP_SEQSCAN_03_5 values less than (201),
		partition TBL_COMBINE_NESTLOOP_SEQSCAN_03_6 values less than (maxvalue)
    );
CREATE INDEX idx_TBL_COMBINE_NESTLOOP_SEQSCAN_03_01 ON TBL_COMBINE_NESTLOOP_SEQSCAN_03 (C_INT_01) local;
CREATE INDEX idx_TBL_COMBINE_NESTLOOP_SEQSCAN_03_02 ON TBL_COMBINE_NESTLOOP_SEQSCAN_03 (C_BIGINT_01) local;
copy TBL_COMBINE_NESTLOOP_SEQSCAN_03_xx4 from '@abs_srcdir@/data/TBL_COMBINE_NESTLOOP_SEQSCAN_03_xx4.data';
insert into TBL_COMBINE_NESTLOOP_SEQSCAN_03 select * from TBL_COMBINE_NESTLOOP_SEQSCAN_03_xx4;
CREATE TABLE vector_mergejoin_engine_1.TBL_COMBINE_NESTLOOP_SEQSCAN_04(
	C_CHAR_1 CHAR(1),
	C_CHAR_2 CHAR(10),
	C_CHAR_3 CHAR(100),
	C_VARCHAR_1 VARCHAR(1),
	C_VARCHAR_2 VARCHAR(10),
	C_VARCHAR_3 VARCHAR(1024),
	C_INT INTEGER,
	C_BIGINT BIGINT,
	C_INT_01 INTEGER,
	C_BIGINT_01 BIGINT,
	C_SMALLINT SMALLINT,
	C_FLOAT FLOAT,
	C_NUMERIC numeric(10,5),
	C_DP double precision,
	C_DATE DATE,
	C_TS_WITHOUT TIMESTAMP WITHOUT TIME ZONE,
	C_TS_WITH TIMESTAMP WITH TIME ZONE , PARTIAL CLUSTER KEY(C_INT))WITH (ORIENTATION=COLUMN)
	partition by range (C_INT)
( 
     partition TBL_COMBINE_NESTLOOP_SEQSCAN_04_1 values less than (30),
     partition TBL_COMBINE_NESTLOOP_SEQSCAN_04_2 values less than (50),
     partition TBL_COMBINE_NESTLOOP_SEQSCAN_04_3 values less than (80),
	 partition TBL_COMBINE_NESTLOOP_SEQSCAN_04_4 values less than (150),
	 partition TBL_COMBINE_NESTLOOP_SEQSCAN_04_5 values less than (301)
);
CREATE TABLE vector_mergejoin_engine_1.TBL_COMBINE_NESTLOOP_SEQSCAN_04_xx5(
	C_CHAR_1 CHAR(1),
	C_CHAR_2 CHAR(10),
	C_CHAR_3 CHAR(100),
	C_VARCHAR_1 VARCHAR(1),
	C_VARCHAR_2 VARCHAR(10),
	C_VARCHAR_3 VARCHAR(1024),
	C_INT INTEGER,
	C_BIGINT BIGINT,
	C_INT_01 INTEGER,
	C_BIGINT_01 BIGINT,
	C_SMALLINT SMALLINT,
	C_FLOAT FLOAT,
	C_NUMERIC numeric(10,5),
	C_DP double precision,
	C_DATE DATE,
	C_TS_WITHOUT TIMESTAMP WITHOUT TIME ZONE,
	C_TS_WITH TIMESTAMP WITH TIME ZONE) 
	partition by range (C_INT)
( 
     partition TBL_COMBINE_NESTLOOP_SEQSCAN_04_1 values less than (30),
     partition TBL_COMBINE_NESTLOOP_SEQSCAN_04_2 values less than (50),
     partition TBL_COMBINE_NESTLOOP_SEQSCAN_04_3 values less than (80),
	 partition TBL_COMBINE_NESTLOOP_SEQSCAN_04_4 values less than (150),
	 partition TBL_COMBINE_NESTLOOP_SEQSCAN_04_5 values less than (301)
);
CREATE INDEX idx_TBL_COMBINE_NESTLOOP_SEQSCAN_04_01 ON TBL_COMBINE_NESTLOOP_SEQSCAN_04 (C_INT_01) LOCAL;
CREATE INDEX idx_TBL_COMBINE_NESTLOOP_SEQSCAN_04_02 ON TBL_COMBINE_NESTLOOP_SEQSCAN_04 (C_BIGINT_01) LOCAL;
copy TBL_COMBINE_NESTLOOP_SEQSCAN_04_xx5 from '@abs_srcdir@/data/TBL_COMBINE_NESTLOOP_SEQSCAN_04_xx5.data';
insert into TBL_COMBINE_NESTLOOP_SEQSCAN_04 select * from TBL_COMBINE_NESTLOOP_SEQSCAN_04_xx5;
SET TIME ZONE 'PRC';set datestyle to iso;
SET CURRENT_SCHEMA='vector_mergejoin_engine_1';
SET ENABLE_INDEXONLYSCAN=off;
SET ENABLE_HASHJOIN=OFF;
SET ENABLE_MERGEJOIN=ON;
SET ENABLE_INDEXSCAN=ON;
SET ENABLE_NESTLOOP=OFF;
SET ENABLE_SEQSCAN=OFF;
SET ENABLE_BITMAPSCAN=OFF;
SET LOG_MIN_MESSAGES = DEBUG1;
--explain analyze 
Select 
T0.C_INT_01 AS T0_C_INT_01,
T0.C_BIGINT_01 AS T0_C_BIGINT_01
 From
  TBL_COMBINE_NESTLOOP_SEQSCAN_00 T0,
  TBL_COMBINE_NESTLOOP_SEQSCAN_01 T1,
  TBL_COMBINE_NESTLOOP_SEQSCAN_02 T2,
  TBL_COMBINE_NESTLOOP_SEQSCAN_03 T3,
  TBL_COMBINE_NESTLOOP_SEQSCAN_04 T4
 Where
 T0.C_INT_01>=5
 and T0.C_INT_01<50
 and T1.C_INT_01>=7
 and T1.C_INT_01<50
 and T0.C_INT_01 =  T1.C_INT_01
 and T2.C_INT_01>=8
 and T2.C_INT_01<40
 and T0.C_INT_01 =  T2.C_INT_01
 and T0.C_BIGINT_01 = T2.C_BIGINT_01
 and 
 T3.C_INT_01>=10
 and T3.C_INT_01<100
 and T0.C_INT_01 =  T3.C_INT_01
 and T4.C_INT_01>=15
 and T4.C_INT_01<200
 and T0.C_INT_01 =  T4.C_INT_01
 ORDER BY 1,2 DESC LIMIT 500 OFFSET 40000; 
 t0_c_int_01 | t0_c_bigint_01 
-------------+----------------
(0 rows)

  
RESET LOG_MIN_MESSAGES;
 
--explain analyze 
Select 
T2.C_INT_01 AS T2_C_INT_01,
T2.C_BIGINT_01 AS T2_C_BIGINT_01
 From
  TBL_COMBINE_NESTLOOP_SEQSCAN_00 T0,
  TBL_COMBINE_NESTLOOP_SEQSCAN_01 T1,
  TBL_COMBINE_NESTLOOP_SEQSCAN_02 T2,
  TBL_COMBINE_NESTLOOP_SEQSCAN_03 T3,
  TBL_COMBINE_NESTLOOP_SEQSCAN_04 T4
 Where
T0.C_INT_01>=5
 and T0.C_INT_01<50
 and T1.C_INT_01>=7
 and T1.C_INT_01<50
 and T0.C_INT_01 =  T1.C_INT_01
 and T2.C_INT_01>=8
 and T2.C_INT_01<40
 and T0.C_INT_01 =  T2.C_INT_01
 and T0.C_BIGINT_01 = T2.C_BIGINT_01
 and 
 T3.C_INT_01>=2
 and T3.C_INT_01<100
 and T0.C_INT_01 =  T3.C_INT_01
 and T4.C_INT_01>=5
 and T4.C_INT_01<200
 and T0.C_INT_01 =  T4.C_INT_01
 ORDER BY 1,2 DESC LIMIT 1000 OFFSET 5000; 
 t2_c_int_01 | t2_c_bigint_01 
-------------+----------------
(0 rows)

-- test for Vector Merge Full Join
SET ENABLE_NESTLOOP TO FALSE;
SET ENABLE_HASHJOIN TO FALSE; 
CREATE TABLE TBL_MERGEJOIN_NATURAL_OUT_1200501(ID INTEGER,NAME VARCHAR(3000), PARTIAL CLUSTER KEY(ID)) WITH (ORIENTATION=COLUMN);
CREATE INDEX TBL_MERGEJOIN_NATURAL_OUT_1200501_IDX ON TBL_MERGEJOIN_NATURAL_OUT_1200501(ID);
CREATE TABLE TBL_MERGEJOIN_NATURAL_IN_1200501(ID INTEGER,ADDRESS VARCHAR(3000), PARTIAL CLUSTER KEY(ADDRESS)) WITH (ORIENTATION=COLUMN);
CREATE INDEX TBL_MERGEJOIN_NATURAL_IN_1200501_IDX ON TBL_MERGEJOIN_NATURAL_IN_1200501(ID);
copy TBL_MERGEJOIN_NATURAL_IN_1200501 from '@abs_srcdir@/data/TBL_MERGEJOIN_NATURAL_IN_1200501.data';
SELECT COUNT(*) FROM TBL_MERGEJOIN_NATURAL_IN_1200501;
 count 
-------
   200
(1 row)

copy TBL_MERGEJOIN_NATURAL_OUT_1200501 from '@abs_srcdir@/data/TBL_MERGEJOIN_NATURAL_OUT_1200501.data';
EXPLAIN (costs off)
SELECT *
FROM TBL_MERGEJOIN_NATURAL_IN_1200501 NATURAL
FULL JOIN TBL_MERGEJOIN_NATURAL_OUT_1200501
ORDER BY 1, 2, 3 ASC;
                                                                                        QUERY PLAN                                                                                         
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 Row Adapter
   ->  Vector Sort
         Sort Key: (COALESCE(tbl_mergejoin_natural_in_1200501.id, tbl_mergejoin_natural_out_1200501.id)), tbl_mergejoin_natural_in_1200501.address, tbl_mergejoin_natural_out_1200501.name
         ->  Vector Merge Full Join
               Merge Cond: (tbl_mergejoin_natural_in_1200501.id = tbl_mergejoin_natural_out_1200501.id)
               ->  Vector Sort
                     Sort Key: tbl_mergejoin_natural_in_1200501.id
                     ->  CStore Scan on tbl_mergejoin_natural_in_1200501
               ->  Vector Sort
                     Sort Key: tbl_mergejoin_natural_out_1200501.id
                     ->  CStore Scan on tbl_mergejoin_natural_out_1200501
(11 rows)

SELECT *
FROM TBL_MERGEJOIN_NATURAL_IN_1200501 NATURAL
FULL JOIN TBL_MERGEJOIN_NATURAL_OUT_1200501
ORDER BY 1, 2, 3 ASC;
 id |    address     |    name    
----+----------------+------------
  1 |                | OUT_JEFF_1
  2 |                | OUT_JEFF_2
  3 | IN_CHINA_3_1   | OUT_JEFF_3
  3 | IN_CHINA_3_10  | OUT_JEFF_3
  3 | IN_CHINA_3_100 | OUT_JEFF_3
  3 | IN_CHINA_3_101 | OUT_JEFF_3
  3 | IN_CHINA_3_102 | OUT_JEFF_3
  3 | IN_CHINA_3_103 | OUT_JEFF_3
  3 | IN_CHINA_3_104 | OUT_JEFF_3
  3 | IN_CHINA_3_105 | OUT_JEFF_3
  3 | IN_CHINA_3_106 | OUT_JEFF_3
  3 | IN_CHINA_3_107 | OUT_JEFF_3
  3 | IN_CHINA_3_108 | OUT_JEFF_3
  3 | IN_CHINA_3_109 | OUT_JEFF_3
  3 | IN_CHINA_3_11  | OUT_JEFF_3
  3 | IN_CHINA_3_110 | OUT_JEFF_3
  3 | IN_CHINA_3_111 | OUT_JEFF_3
  3 | IN_CHINA_3_112 | OUT_JEFF_3
  3 | IN_CHINA_3_113 | OUT_JEFF_3
  3 | IN_CHINA_3_114 | OUT_JEFF_3
  3 | IN_CHINA_3_115 | OUT_JEFF_3
  3 | IN_CHINA_3_116 | OUT_JEFF_3
  3 | IN_CHINA_3_117 | OUT_JEFF_3
  3 | IN_CHINA_3_118 | OUT_JEFF_3
  3 | IN_CHINA_3_119 | OUT_JEFF_3
  3 | IN_CHINA_3_12  | OUT_JEFF_3
  3 | IN_CHINA_3_120 | OUT_JEFF_3
  3 | IN_CHINA_3_121 | OUT_JEFF_3
  3 | IN_CHINA_3_122 | OUT_JEFF_3
  3 | IN_CHINA_3_123 | OUT_JEFF_3
  3 | IN_CHINA_3_124 | OUT_JEFF_3
  3 | IN_CHINA_3_125 | OUT_JEFF_3
  3 | IN_CHINA_3_126 | OUT_JEFF_3
  3 | IN_CHINA_3_127 | OUT_JEFF_3
  3 | IN_CHINA_3_128 | OUT_JEFF_3
  3 | IN_CHINA_3_129 | OUT_JEFF_3
  3 | IN_CHINA_3_13  | OUT_JEFF_3
  3 | IN_CHINA_3_130 | OUT_JEFF_3
  3 | IN_CHINA_3_131 | OUT_JEFF_3
  3 | IN_CHINA_3_132 | OUT_JEFF_3
  3 | IN_CHINA_3_133 | OUT_JEFF_3
  3 | IN_CHINA_3_134 | OUT_JEFF_3
  3 | IN_CHINA_3_135 | OUT_JEFF_3
  3 | IN_CHINA_3_136 | OUT_JEFF_3
  3 | IN_CHINA_3_137 | OUT_JEFF_3
  3 | IN_CHINA_3_138 | OUT_JEFF_3
  3 | IN_CHINA_3_139 | OUT_JEFF_3
  3 | IN_CHINA_3_14  | OUT_JEFF_3
  3 | IN_CHINA_3_140 | OUT_JEFF_3
  3 | IN_CHINA_3_141 | OUT_JEFF_3
  3 | IN_CHINA_3_142 | OUT_JEFF_3
  3 | IN_CHINA_3_143 | OUT_JEFF_3
  3 | IN_CHINA_3_144 | OUT_JEFF_3
  3 | IN_CHINA_3_145 | OUT_JEFF_3
  3 | IN_CHINA_3_146 | OUT_JEFF_3
  3 | IN_CHINA_3_147 | OUT_JEFF_3
  3 | IN_CHINA_3_148 | OUT_JEFF_3
  3 | IN_CHINA_3_149 | OUT_JEFF_3
  3 | IN_CHINA_3_15  | OUT_JEFF_3
  3 | IN_CHINA_3_150 | OUT_JEFF_3
  3 | IN_CHINA_3_151 | OUT_JEFF_3
  3 | IN_CHINA_3_152 | OUT_JEFF_3
  3 | IN_CHINA_3_153 | OUT_JEFF_3
  3 | IN_CHINA_3_154 | OUT_JEFF_3
  3 | IN_CHINA_3_155 | OUT_JEFF_3
  3 | IN_CHINA_3_156 | OUT_JEFF_3
  3 | IN_CHINA_3_157 | OUT_JEFF_3
  3 | IN_CHINA_3_158 | OUT_JEFF_3
  3 | IN_CHINA_3_159 | OUT_JEFF_3
  3 | IN_CHINA_3_16  | OUT_JEFF_3
  3 | IN_CHINA_3_160 | OUT_JEFF_3
  3 | IN_CHINA_3_161 | OUT_JEFF_3
  3 | IN_CHINA_3_162 | OUT_JEFF_3
  3 | IN_CHINA_3_163 | OUT_JEFF_3
  3 | IN_CHINA_3_164 | OUT_JEFF_3
  3 | IN_CHINA_3_165 | OUT_JEFF_3
  3 | IN_CHINA_3_166 | OUT_JEFF_3
  3 | IN_CHINA_3_167 | OUT_JEFF_3
  3 | IN_CHINA_3_168 | OUT_JEFF_3
  3 | IN_CHINA_3_169 | OUT_JEFF_3
  3 | IN_CHINA_3_17  | OUT_JEFF_3
  3 | IN_CHINA_3_170 | OUT_JEFF_3
  3 | IN_CHINA_3_171 | OUT_JEFF_3
  3 | IN_CHINA_3_172 | OUT_JEFF_3
  3 | IN_CHINA_3_173 | OUT_JEFF_3
  3 | IN_CHINA_3_174 | OUT_JEFF_3
  3 | IN_CHINA_3_175 | OUT_JEFF_3
  3 | IN_CHINA_3_176 | OUT_JEFF_3
  3 | IN_CHINA_3_177 | OUT_JEFF_3
  3 | IN_CHINA_3_178 | OUT_JEFF_3
  3 | IN_CHINA_3_179 | OUT_JEFF_3
  3 | IN_CHINA_3_18  | OUT_JEFF_3
  3 | IN_CHINA_3_180 | OUT_JEFF_3
  3 | IN_CHINA_3_181 | OUT_JEFF_3
  3 | IN_CHINA_3_182 | OUT_JEFF_3
  3 | IN_CHINA_3_183 | OUT_JEFF_3
  3 | IN_CHINA_3_184 | OUT_JEFF_3
  3 | IN_CHINA_3_185 | OUT_JEFF_3
  3 | IN_CHINA_3_186 | OUT_JEFF_3
  3 | IN_CHINA_3_187 | OUT_JEFF_3
  3 | IN_CHINA_3_188 | OUT_JEFF_3
  3 | IN_CHINA_3_189 | OUT_JEFF_3
  3 | IN_CHINA_3_19  | OUT_JEFF_3
  3 | IN_CHINA_3_190 | OUT_JEFF_3
  3 | IN_CHINA_3_191 | OUT_JEFF_3
  3 | IN_CHINA_3_192 | OUT_JEFF_3
  3 | IN_CHINA_3_193 | OUT_JEFF_3
  3 | IN_CHINA_3_194 | OUT_JEFF_3
  3 | IN_CHINA_3_195 | OUT_JEFF_3
  3 | IN_CHINA_3_196 | OUT_JEFF_3
  3 | IN_CHINA_3_197 | OUT_JEFF_3
  3 | IN_CHINA_3_198 | OUT_JEFF_3
  3 | IN_CHINA_3_199 | OUT_JEFF_3
  3 | IN_CHINA_3_2   | OUT_JEFF_3
  3 | IN_CHINA_3_20  | OUT_JEFF_3
  3 | IN_CHINA_3_200 | OUT_JEFF_3
  3 | IN_CHINA_3_21  | OUT_JEFF_3
  3 | IN_CHINA_3_22  | OUT_JEFF_3
  3 | IN_CHINA_3_23  | OUT_JEFF_3
  3 | IN_CHINA_3_24  | OUT_JEFF_3
  3 | IN_CHINA_3_25  | OUT_JEFF_3
  3 | IN_CHINA_3_26  | OUT_JEFF_3
  3 | IN_CHINA_3_27  | OUT_JEFF_3
  3 | IN_CHINA_3_28  | OUT_JEFF_3
  3 | IN_CHINA_3_29  | OUT_JEFF_3
  3 | IN_CHINA_3_3   | OUT_JEFF_3
  3 | IN_CHINA_3_30  | OUT_JEFF_3
  3 | IN_CHINA_3_31  | OUT_JEFF_3
  3 | IN_CHINA_3_32  | OUT_JEFF_3
  3 | IN_CHINA_3_33  | OUT_JEFF_3
  3 | IN_CHINA_3_34  | OUT_JEFF_3
  3 | IN_CHINA_3_35  | OUT_JEFF_3
  3 | IN_CHINA_3_36  | OUT_JEFF_3
  3 | IN_CHINA_3_37  | OUT_JEFF_3
  3 | IN_CHINA_3_38  | OUT_JEFF_3
  3 | IN_CHINA_3_39  | OUT_JEFF_3
  3 | IN_CHINA_3_4   | OUT_JEFF_3
  3 | IN_CHINA_3_40  | OUT_JEFF_3
  3 | IN_CHINA_3_41  | OUT_JEFF_3
  3 | IN_CHINA_3_42  | OUT_JEFF_3
  3 | IN_CHINA_3_43  | OUT_JEFF_3
  3 | IN_CHINA_3_44  | OUT_JEFF_3
  3 | IN_CHINA_3_45  | OUT_JEFF_3
  3 | IN_CHINA_3_46  | OUT_JEFF_3
  3 | IN_CHINA_3_47  | OUT_JEFF_3
  3 | IN_CHINA_3_48  | OUT_JEFF_3
  3 | IN_CHINA_3_49  | OUT_JEFF_3
  3 | IN_CHINA_3_5   | OUT_JEFF_3
  3 | IN_CHINA_3_50  | OUT_JEFF_3
  3 | IN_CHINA_3_51  | OUT_JEFF_3
  3 | IN_CHINA_3_52  | OUT_JEFF_3
  3 | IN_CHINA_3_53  | OUT_JEFF_3
  3 | IN_CHINA_3_54  | OUT_JEFF_3
  3 | IN_CHINA_3_55  | OUT_JEFF_3
  3 | IN_CHINA_3_56  | OUT_JEFF_3
  3 | IN_CHINA_3_57  | OUT_JEFF_3
  3 | IN_CHINA_3_58  | OUT_JEFF_3
  3 | IN_CHINA_3_59  | OUT_JEFF_3
  3 | IN_CHINA_3_6   | OUT_JEFF_3
  3 | IN_CHINA_3_60  | OUT_JEFF_3
  3 | IN_CHINA_3_61  | OUT_JEFF_3
  3 | IN_CHINA_3_62  | OUT_JEFF_3
  3 | IN_CHINA_3_63  | OUT_JEFF_3
  3 | IN_CHINA_3_64  | OUT_JEFF_3
  3 | IN_CHINA_3_65  | OUT_JEFF_3
  3 | IN_CHINA_3_66  | OUT_JEFF_3
  3 | IN_CHINA_3_67  | OUT_JEFF_3
  3 | IN_CHINA_3_68  | OUT_JEFF_3
  3 | IN_CHINA_3_69  | OUT_JEFF_3
  3 | IN_CHINA_3_7   | OUT_JEFF_3
  3 | IN_CHINA_3_70  | OUT_JEFF_3
  3 | IN_CHINA_3_71  | OUT_JEFF_3
  3 | IN_CHINA_3_72  | OUT_JEFF_3
  3 | IN_CHINA_3_73  | OUT_JEFF_3
  3 | IN_CHINA_3_74  | OUT_JEFF_3
  3 | IN_CHINA_3_75  | OUT_JEFF_3
  3 | IN_CHINA_3_76  | OUT_JEFF_3
  3 | IN_CHINA_3_77  | OUT_JEFF_3
  3 | IN_CHINA_3_78  | OUT_JEFF_3
  3 | IN_CHINA_3_79  | OUT_JEFF_3
  3 | IN_CHINA_3_8   | OUT_JEFF_3
  3 | IN_CHINA_3_80  | OUT_JEFF_3
  3 | IN_CHINA_3_81  | OUT_JEFF_3
  3 | IN_CHINA_3_82  | OUT_JEFF_3
  3 | IN_CHINA_3_83  | OUT_JEFF_3
  3 | IN_CHINA_3_84  | OUT_JEFF_3
  3 | IN_CHINA_3_85  | OUT_JEFF_3
  3 | IN_CHINA_3_86  | OUT_JEFF_3
  3 | IN_CHINA_3_87  | OUT_JEFF_3
  3 | IN_CHINA_3_88  | OUT_JEFF_3
  3 | IN_CHINA_3_89  | OUT_JEFF_3
  3 | IN_CHINA_3_9   | OUT_JEFF_3
  3 | IN_CHINA_3_90  | OUT_JEFF_3
  3 | IN_CHINA_3_91  | OUT_JEFF_3
  3 | IN_CHINA_3_92  | OUT_JEFF_3
  3 | IN_CHINA_3_93  | OUT_JEFF_3
  3 | IN_CHINA_3_94  | OUT_JEFF_3
  3 | IN_CHINA_3_95  | OUT_JEFF_3
  3 | IN_CHINA_3_96  | OUT_JEFF_3
  3 | IN_CHINA_3_97  | OUT_JEFF_3
  3 | IN_CHINA_3_98  | OUT_JEFF_3
  3 | IN_CHINA_3_99  | OUT_JEFF_3
  4 |                | OUT_JEFF_4
  5 |                | OUT_JEFF_5
(204 rows)

drop schema  vector_mergejoin_engine_1 cascade;
NOTICE:  drop cascades to 12 other objects
DETAIL:  drop cascades to table tbl_combine_nestloop_seqscan_00
drop cascades to table tbl_combine_nestloop_seqscan_00_xx1
drop cascades to table tbl_combine_nestloop_seqscan_01
drop cascades to table tbl_combine_nestloop_seqscan_01_xx2
drop cascades to table tbl_combine_nestloop_seqscan_02
drop cascades to table tbl_combine_nestloop_seqscan_02_xx3
drop cascades to table tbl_combine_nestloop_seqscan_03
drop cascades to table tbl_combine_nestloop_seqscan_03_xx4
drop cascades to table tbl_combine_nestloop_seqscan_04
drop cascades to table tbl_combine_nestloop_seqscan_04_xx5
drop cascades to table tbl_mergejoin_natural_out_1200501
drop cascades to table tbl_mergejoin_natural_in_1200501