-- @@@ 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 @@@
-- tentative execution of before triggers

------------------------------------------------------------------
-- SET ENVIRONMENT
------------------------------------------------------------------

----------------------------------
-- DEFINE CONSTRAINT const1
---------------------------------

control query default query_cache '0';

obey TEST_4_1_2(clean_up);
obey TEST_4_1_2(set_up);
log   LOG_4_1_2 clear;
obey TEST_4_1_2(tests);
LOG;
obey TEST_4_1_2(clean_up);
exit;

?section clean_up
set schema CAT1.SCHM;
drop trigger btrig1;
drop table t421;
------------------------------------------------------------------

?section set_up
CREATE TABLE t421 (a INT NOT NULL, b INT, c INT, d INT NOT NULL NOT DROPPABLE, 
	PRIMARY KEY (a,d) NOT DROPPABLE, 
	CONSTRAINT c1 CHECK (100000 > a+b+c),
	CONSTRAINT c2  CHECK (b= a + 10))
	STORE BY (a,d);	


---------------------------------
-- DEFINE TRIGGER btrig1
---------------------------------

CREATE TRIGGER btrig1
BEFORE INSERT
ON t421
REFERENCING NEW AS newrow
FOR EACH ROW
WHEN (newrow.b <> newrow.a +10)
SET newrow.b = newrow.a+10;
?section tests

------------------------------------------------------------------
--          TEST CASE
------------------------------------------------------------------

INSERT INTO t421 VALUES (1,2,3,4);

SELECT * FROM t421; -- check result

DROP TRIGGER btrig1;

INSERT INTO t421 VALUES (2,3,4,5);

------------------------------------------------------------------
--           END
------------------------------------------------------------------
