blob: 25cca492bf2384a42b9189e9e5a516b543f30a1d [file] [log] [blame]
-- TEST018 (CORE), index maintenance
-- @@@ START COPYRIGHT @@@
--
-- Licensed to the Apache Software Foundation (ASF) under one
-- or more contributor license agreements. See the NOTICE file
-- distributed with this work for additional information
-- regarding copyright ownership. The ASF licenses this file
-- to you under the Apache License, Version 2.0 (the
-- "License"); you may not use this file except in compliance
-- with the License. You may obtain a copy of the License at
--
-- http://www.apache.org/licenses/LICENSE-2.0
--
-- Unless required by applicable law or agreed to in writing,
-- software distributed under the License is distributed on an
-- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-- KIND, either express or implied. See the License for the
-- specific language governing permissions and limitations
-- under the License.
--
-- @@@ END COPYRIGHT @@@
--
-- Functionality:
-- Testing for new Binder IM scheme,
-- Limitation:
-- Requires DP volumes named $SYSTEM, $DATA, $DATA2.
-- Skipped for Release code on NSK
-- Skipped for MP tables.
-- History:
-- Testing for new Binder IM scheme,
-- 02/11/03: Originally TEST018 of fullstack. TEST018orig section
-- of the test, covering simple cases, is moved to CORE.
-- Remaining portion covering more extensive cases is moved to
-- optimizer.
--------------------------------------------------------------------
control query default TIMEOUT '120';
-- Original test, simple cases, now subsumed in the new cases above
-- but retained here "just in case".
drop index T018;
drop table T018orig;
log LOG018 clear;
create table T018orig (a int NOT NULL, b int, c int, primary key (a))
#ifMX
no partition
#ifMX
;
create index T018 on T018orig(b);
-- insertion
--
insert into T018orig values (1,2,3),(2,3,4),(3,4,5);
select * from T018orig;
-- updating
--
update T018orig set b = b + 10 where a = 1;
update T018orig set b = b + 100 where b = 3;
update T018orig set b = b + 1000 where c = 5;
update T018orig set b = b + 10000;
select * from T018orig;
update T018orig set c = c + 10 where a = 1;
update T018orig set c = c + 100 where b = 10103;
update T018orig set c = c + 1000 where c = 5;
update T018orig set c = c + 10000;
select * from T018orig;
-- deletion
--
delete from T018orig where a = 1;
delete from T018orig where b = 10103;
delete from T018orig where c = 11005;
select * from T018orig;
-- verify fix to solution 10-110216-6174: "a null operand is not allowed in
-- function NVL"
select isnull(null, 123) from (values(1)) as t;
select ISNULL(B, null) FROM (values(1),(null)) as t(b);
drop table T018orig;
log;
exit;