zOs/SQL/PARTKEY
with nn as
( select partition prt, char(left(limitkey, 10), 10) key
from sysibm.systablepart n
where n.dbname = 'NZ06A1P' and n.tsName = 'A265A'
), oo as
( select partition prt, char(left(limitkey, 10), 10) key
from sysibm.systablepart n
where n.dbname = 'NZ06A1P' and n.tsName = 'A260A'
)
select n.prt "new", min(o.prt) "oldMin", max(o.prt) "oldMax",
m.key "newKeyBef", n.key "newKey",
min(p.key) "oldBefMin", max(o.key) "oldKeyMax"
from nn n
left join nn m on n.prt - 1 = m.prt
left join
( oo o left join oo p on o.prt-1 = p.prt)
on m.key <= o.key and n.key > p.key
group by n.prt, n.key, m.key
-- group by "newKey", n.key, m.key
order by n.prt -- , o.prt
;
x
select 'new' , count(*), char(min(tsname), 8), char(max(tsName), 8),
partition, limitkey
from sysibm.systablepart
where dbname = 'NZ06A1P'
-- and tsName >= 'A260A' and tsName <= 'A264A'
and tsName in ('A241A', 'A241A', 'A243A', 'A244A',
'A259A', 'A265A', 'A266A')
group by partition, limitKey
union
select 'old' , count(*), char(min(tsname), 8), char(max(tsName), 8),
partition, limitkey
from sysibm.systablepart
where dbname = 'NZ06A1P'
and tsName >= 'A260A' and tsName <= 'A264A'
-- and tsName in ('A241A', 'A241A', 'A243A', 'A244A',
-- 'A259A', 'A265A', 'A266A')
group by partition, limitKey
order by 6 asc, 5 asc
;