mirror of
https://github.com/apache/impala.git
synced 2026-01-07 09:02:19 -05:00
This patch adds a 'location' column to the output of SHOW TABLE STATS / SHOW PARTITIONS. This helps users understand the effects of ALTER TABLE SET LOCATION commands, particularly for partitions, and is easier to identify than the output of DESCRIBE FORMATTED. Some existing tests in alter-table.test have been updated to include checking the location output before and after a SET LOCATION command. The tests in show.test have also been updated to check for the location; all other tests that use SHOW [TABLE STATS|PARTITIONS] use a generic regex to avoid overly verbose tests. Change-Id: I9d276f7b133c38c9319e0906397ca1c31cec95bb Reviewed-on: http://gerrit.cloudera.org:8080/316 Reviewed-by: Henry Robinson <henry@cloudera.com> Tested-by: Internal Jenkins
305 lines
9.7 KiB
Plaintext
305 lines
9.7 KiB
Plaintext
====
|
|
---- QUERY
|
|
use cachedb
|
|
====
|
|
---- QUERY
|
|
create table cached_tbl_nopart (i int) cached in 'testPool'
|
|
====
|
|
---- QUERY
|
|
insert into cached_tbl_nopart select 1
|
|
---- RESULTS
|
|
: 1
|
|
====
|
|
---- QUERY
|
|
select * from cached_tbl_nopart
|
|
---- RESULTS
|
|
1
|
|
---- TYPES
|
|
INT
|
|
====
|
|
---- QUERY
|
|
# Unpartitioned table shows correct caching
|
|
show table stats cached_tbl_nopart
|
|
---- RESULTS
|
|
-1,1,'2B',regex:.+B,'1','TEXT','false',regex:.*
|
|
---- TYPES
|
|
BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
|
|
====
|
|
---- QUERY
|
|
# Unpartitioned table is no longer cached
|
|
alter table cached_tbl_nopart set uncached
|
|
====
|
|
---- QUERY
|
|
show table stats cached_tbl_nopart
|
|
---- RESULTS
|
|
-1,1,'2B','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
|
|
---- TYPES
|
|
BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
|
|
====
|
|
---- QUERY
|
|
drop table if exists cached_tbl_part
|
|
====
|
|
---- QUERY
|
|
create table cached_tbl_part (i int) partitioned by (j int) cached in 'testPool' with replication = 9
|
|
====
|
|
---- QUERY
|
|
# new partition should inherit the cached property
|
|
alter table cached_tbl_part add partition (j=0)
|
|
====
|
|
---- QUERY
|
|
# should be able to override the inherited cached property
|
|
alter table cached_tbl_part add partition (j=1) uncached
|
|
====
|
|
---- QUERY
|
|
alter table cached_tbl_part add partition (j=2) cached in 'testPool'
|
|
====
|
|
---- QUERY
|
|
show partitions cached_tbl_part
|
|
---- RESULTS
|
|
'0',-1,0,'0B',regex:.+B,'9','TEXT','false',regex:.*
|
|
'1',-1,0,'0B','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
|
|
'2',-1,0,'0B',regex:.+B,'9','TEXT','false',regex:.*
|
|
'Total',-1,0,'0B',regex:.+B,'','','',''
|
|
---- TYPES
|
|
STRING, BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
|
|
====
|
|
---- QUERY
|
|
drop table if exists cached_tbl_part
|
|
====
|
|
---- QUERY
|
|
create table cached_tbl_part (i int) partitioned by (j int) cached in 'testPool'
|
|
====
|
|
---- QUERY
|
|
# new partition should inherit the cached property
|
|
alter table cached_tbl_part add partition (j=0)
|
|
====
|
|
---- QUERY
|
|
# should be able to override the inherited cached property
|
|
alter table cached_tbl_part add partition (j=1) uncached
|
|
====
|
|
---- QUERY
|
|
alter table cached_tbl_part add partition (j=2) cached in 'testPool'
|
|
====
|
|
---- QUERY
|
|
show partitions cached_tbl_part
|
|
---- RESULTS
|
|
'0',-1,0,'0B',regex:.+B,'1','TEXT','false',regex:.*
|
|
'1',-1,0,'0B','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
|
|
'2',-1,0,'0B',regex:.+B,'1','TEXT','false',regex:.*
|
|
'Total',-1,0,'0B',regex:.+B,'','','',''
|
|
---- TYPES
|
|
STRING, BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
|
|
====
|
|
---- QUERY
|
|
# uncache one of the partitions
|
|
alter table cached_tbl_part partition (j=2) set uncached
|
|
====
|
|
---- QUERY
|
|
show partitions cached_tbl_part
|
|
---- RESULTS
|
|
'0',-1,0,'0B',regex:.+B,'1','TEXT','false',regex:.*
|
|
'1',-1,0,'0B','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
|
|
'2',-1,0,'0B','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
|
|
'Total',-1,0,'0B',regex:.+B,'','','',''
|
|
---- TYPES
|
|
STRING, BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
|
|
====
|
|
---- QUERY
|
|
# Can uncache the same partition twice without an error.
|
|
alter table cached_tbl_part partition (j=2) set uncached
|
|
====
|
|
---- QUERY
|
|
show partitions cached_tbl_part
|
|
---- RESULTS
|
|
'0',-1,0,'0B',regex:.+B,'1','TEXT','false',regex:.*
|
|
'1',-1,0,'0B','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
|
|
'2',-1,0,'0B','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
|
|
'Total',-1,0,'0B',regex:.+B,'','','',''
|
|
---- TYPES
|
|
STRING, BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
|
|
====
|
|
---- QUERY
|
|
# mark an uncached partition as cached
|
|
alter table cached_tbl_part partition (j=1) set cached in 'testPool'
|
|
====
|
|
---- QUERY
|
|
show partitions cached_tbl_part
|
|
---- RESULTS
|
|
'0',-1,0,'0B',regex:.+B,'1','TEXT','false',regex:.*
|
|
'1',-1,0,'0B',regex:.+B,'1','TEXT','false',regex:.*
|
|
'2',-1,0,'0B','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
|
|
'Total',-1,0,'0B',regex:.+B,'','','',''
|
|
---- TYPES
|
|
STRING, BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
|
|
====
|
|
---- QUERY
|
|
# dynamic partition insert inherits table properties
|
|
insert into cached_tbl_part partition(j) values(3, 3), (4, 4);
|
|
---- RESULTS
|
|
j=3/: 1
|
|
j=4/: 1
|
|
====
|
|
---- QUERY
|
|
# Modify partition cache replication
|
|
alter table cached_tbl_part partition (j=3) set cached in 'testPool' with replication = 4
|
|
====
|
|
---- QUERY
|
|
show partitions cached_tbl_part
|
|
---- RESULTS
|
|
'0',-1,0,'0B',regex:.+B,'1','TEXT','false',regex:.*
|
|
'1',-1,0,'0B',regex:.+B,'1','TEXT','false',regex:.*
|
|
'2',-1,0,'0B','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
|
|
'3',-1,1,'2B',regex:.+B,'4','TEXT','false',regex:.*
|
|
'4',-1,1,'2B',regex:.+B,'1','TEXT','false',regex:.*
|
|
'Total',-1,2,'4B',regex:.+B,'','','',''
|
|
---- TYPES
|
|
STRING, BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
|
|
====
|
|
---- QUERY
|
|
# Set uncached clears all cache requests
|
|
alter table cached_tbl_part set uncached
|
|
---- RESULTS
|
|
====
|
|
---- QUERY
|
|
show partitions cached_tbl_part
|
|
---- RESULTS
|
|
'0',-1,0,'0B','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
|
|
'1',-1,0,'0B','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
|
|
'2',-1,0,'0B','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
|
|
'3',-1,1,'2B','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
|
|
'4',-1,1,'2B','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
|
|
'Total',-1,2,'4B',regex:.+B,'','','',''
|
|
---- TYPES
|
|
STRING, BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
|
|
====
|
|
---- QUERY
|
|
# Can call set uncached multiple times on the same partitioned table
|
|
alter table cached_tbl_part set uncached
|
|
---- RESULTS
|
|
====
|
|
---- QUERY
|
|
# Set cached caches all partitions
|
|
alter table cached_tbl_part set cached in 'testPool'
|
|
---- RESULTS
|
|
====
|
|
---- QUERY
|
|
show partitions cached_tbl_part
|
|
---- RESULTS
|
|
'0',-1,0,'0B',regex:.+B,'1','TEXT','false',regex:.*
|
|
'1',-1,0,'0B',regex:.+B,'1','TEXT','false',regex:.*
|
|
'2',-1,0,'0B',regex:.+B,'1','TEXT','false',regex:.*
|
|
'3',-1,1,'2B',regex:.+B,'1','TEXT','false',regex:.*
|
|
'4',-1,1,'2B',regex:.+B,'1','TEXT','false',regex:.*
|
|
'Total',-1,2,'4B',regex:.+B,'','','',''
|
|
---- TYPES
|
|
STRING, BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
|
|
====
|
|
---- QUERY
|
|
# Can call set cached multiple times on the same partitioned table.
|
|
alter table cached_tbl_part set cached in 'testPool'
|
|
---- RESULTS
|
|
====
|
|
---- QUERY
|
|
show partitions cached_tbl_part
|
|
---- RESULTS
|
|
'0',-1,0,'0B',regex:.+B,'1','TEXT','false',regex:.*
|
|
'1',-1,0,'0B',regex:.+B,'1','TEXT','false',regex:.*
|
|
'2',-1,0,'0B',regex:.+B,'1','TEXT','false',regex:.*
|
|
'3',-1,1,'2B',regex:.+B,'1','TEXT','false',regex:.*
|
|
'4',-1,1,'2B',regex:.+B,'1','TEXT','false',regex:.*
|
|
'Total',-1,2,'4B',regex:.+B,'','','',''
|
|
---- TYPES
|
|
STRING, BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
|
|
====
|
|
---- QUERY
|
|
# Modify partition cache replication in preparation for table level alteration
|
|
alter table cached_tbl_part partition (j=3) set cached in 'testPool' with replication = 4
|
|
====
|
|
---- QUERY
|
|
# Uncache a partition in preparation for table level alteration
|
|
alter table cached_tbl_part partition (j=1) set uncached
|
|
====
|
|
---- QUERY
|
|
show partitions cached_tbl_part
|
|
---- RESULTS
|
|
'0',-1,0,'0B',regex:.+B,'1','TEXT','false',regex:.*
|
|
'1',-1,0,'0B','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
|
|
'2',-1,0,'0B',regex:.+B,'1','TEXT','false',regex:.*
|
|
'3',-1,1,'2B',regex:.+B,'4','TEXT','false',regex:.*
|
|
'4',-1,1,'2B',regex:.+B,'1','TEXT','false',regex:.*
|
|
'Total',-1,2,'4B',regex:.+B,'','','',''
|
|
---- TYPES
|
|
STRING, BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
|
|
====
|
|
---- QUERY
|
|
# Set replication factor for all partitions regardless of their current state
|
|
alter table cached_tbl_part set cached in 'testPool' with replication = 8
|
|
---- RESULTS
|
|
====
|
|
---- QUERY
|
|
show partitions cached_tbl_part
|
|
---- RESULTS
|
|
'0',-1,0,'0B',regex:.+B,'8','TEXT','false',regex:.*
|
|
'1',-1,0,'0B',regex:.+B,'8','TEXT','false',regex:.*
|
|
'2',-1,0,'0B',regex:.+B,'8','TEXT','false',regex:.*
|
|
'3',-1,1,'2B',regex:.+B,'8','TEXT','false',regex:.*
|
|
'4',-1,1,'2B',regex:.+B,'8','TEXT','false',regex:.*
|
|
'Total',-1,2,'4B',regex:.+B,'','','',''
|
|
---- TYPES
|
|
STRING, BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
|
|
====
|
|
---- QUERY
|
|
# Add partition with different replication
|
|
alter table cached_tbl_part add partition(j=5) cached in 'testPool' with replication = 3
|
|
---- RESULTS
|
|
====
|
|
---- QUERY
|
|
show partitions cached_tbl_part
|
|
---- RESULTS
|
|
'0',-1,0,'0B',regex:.+B,'8','TEXT','false',regex:.*
|
|
'1',-1,0,'0B',regex:.+B,'8','TEXT','false',regex:.*
|
|
'2',-1,0,'0B',regex:.+B,'8','TEXT','false',regex:.*
|
|
'3',-1,1,'2B',regex:.+B,'8','TEXT','false',regex:.*
|
|
'4',-1,1,'2B',regex:.+B,'8','TEXT','false',regex:.*
|
|
'5',-1,0,'0B',regex:.+B,'3','TEXT','false',regex:.*
|
|
'Total',-1,2,'4B',regex:.+B,'','','',''
|
|
---- TYPES
|
|
STRING, BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
|
|
====
|
|
---- QUERY
|
|
# Change replication for a partition
|
|
alter table cached_tbl_part partition(j=2) set cached in 'testPool' with replication = 3
|
|
---- RESULTS
|
|
====
|
|
---- QUERY
|
|
show partitions cached_tbl_part
|
|
---- RESULTS
|
|
'0',-1,0,'0B',regex:.+B,'8','TEXT','false',regex:.*
|
|
'1',-1,0,'0B',regex:.+B,'8','TEXT','false',regex:.*
|
|
'2',-1,0,'0B',regex:.+B,'3','TEXT','false',regex:.*
|
|
'3',-1,1,'2B',regex:.+B,'8','TEXT','false',regex:.*
|
|
'4',-1,1,'2B',regex:.+B,'8','TEXT','false',regex:.*
|
|
'5',-1,0,'0B',regex:.+B,'3','TEXT','false',regex:.*
|
|
'Total',-1,2,'4B',regex:.+B,'','','',''
|
|
---- TYPES
|
|
STRING, BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
|
|
====
|
|
---- QUERY
|
|
# Add partition with inherited replication from table
|
|
alter table cached_tbl_part add partition(j=6) cached in 'testPool'
|
|
---- RESULTS
|
|
====
|
|
---- QUERY
|
|
show partitions cached_tbl_part
|
|
---- RESULTS
|
|
'0',-1,0,'0B',regex:.+B,'8','TEXT','false',regex:.*
|
|
'1',-1,0,'0B',regex:.+B,'8','TEXT','false',regex:.*
|
|
'2',-1,0,'0B',regex:.+B,'3','TEXT','false',regex:.*
|
|
'3',-1,1,'2B',regex:.+B,'8','TEXT','false',regex:.*
|
|
'4',-1,1,'2B',regex:.+B,'8','TEXT','false',regex:.*
|
|
'5',-1,0,'0B',regex:.+B,'3','TEXT','false',regex:.*
|
|
'6',-1,0,'0B',regex:.+B,'8','TEXT','false',regex:.*
|
|
'Total',-1,2,'4B',regex:.+B,'','','',''
|
|
---- TYPES
|
|
STRING, BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
|
|
==== |