blob: c5bc408b6d5b582381ac8124e873f076ffef4ed8 [file] [log] [blame]
ij> --
-- 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.
--
-- This script tests online backup functionality and restore.
connect 'wombat' as c1 ;
ij(C1)> connect 'wombat' as c2;
ij(C2)> set connection c1;
ij(C1)> autocommit off;
ij(C1)> -- check backup/restore work with in place compress operation.
create table ctest(id int primary key, name char(200)) ;
0 rows inserted/updated/deleted
ij(C1)> insert into ctest values(1, 'derby backup/compress test') ;
1 row inserted/updated/deleted
ij(C1)> insert into ctest values(2, 'derby backup/compress test') ;
1 row inserted/updated/deleted
ij(C1)> insert into ctest select id+2, name from ctest;
2 rows inserted/updated/deleted
ij(C1)> insert into ctest select id+4, name from ctest;
4 rows inserted/updated/deleted
ij(C1)> insert into ctest select id+8, name from ctest;
8 rows inserted/updated/deleted
ij(C1)> insert into ctest select id+16, name from ctest;
16 rows inserted/updated/deleted
ij(C1)> insert into ctest select id+32, name from ctest;
32 rows inserted/updated/deleted
ij(C1)> insert into ctest select id+64, name from ctest;
64 rows inserted/updated/deleted
ij(C1)> insert into ctest select id+128, name from ctest;
128 rows inserted/updated/deleted
ij(C1)> insert into ctest select id+256, name from ctest;
256 rows inserted/updated/deleted
ij(C1)> commit ;
ij(C1)> delete from ctest where id > 2 and id < 509 and id != 300;
505 rows inserted/updated/deleted
ij(C1)> select * from ctest;
ID |NAME
--------------------------------------------------------------------------------------------------------------------------------------------
1 |derby backup/compress test &
2 |derby backup/compress test &
300 |derby backup/compress test &
509 |derby backup/compress test &
510 |derby backup/compress test &
511 |derby backup/compress test &
512 |derby backup/compress test &
ij(C1)> commit;
ij(C1)> --start backup in a seperare thread.
set connection c2;
ij(C2)> async bthread
'call SYSCS_UTIL.SYSCS_BACKUP_DATABASE(''extinout/mybackup'')';
ij(C2)> -- start compress in seperate thread.
set connection c1;
ij(C1)> async cthread
'call SYSCS_UTIL.SYSCS_INPLACE_COMPRESS_TABLE(''APP'' ,
''CTEST'' , 1, 1, 1)';
ij(C1)> set connection c2;
ij(C2)> -- wait for backup thread to finish the work.
wait for bthread;
0 rows inserted/updated/deleted
ij(C2)> commit;
ij(C2)> disconnect;
ij> set connection c1;
ij(C1)> -- wait for compress thread to finish the work.
wait for cthread;
0 rows inserted/updated/deleted
ij(C1)> commit;
ij(C1)> disconnect;
ij> --shutdown the database
connect 'wombat;shutdown=true';
ERROR 08006: Database 'wombat' shutdown.
ij> connect 'wombat;restoreFrom=extinout/mybackup/wombat';
ij(CONNECTION1)> select * from ctest;
ID |NAME
--------------------------------------------------------------------------------------------------------------------------------------------
1 |derby backup/compress test &
2 |derby backup/compress test &
300 |derby backup/compress test &
509 |derby backup/compress test &
510 |derby backup/compress test &
511 |derby backup/compress test &
512 |derby backup/compress test &
ij(CONNECTION1)> insert into ctest values(2000, 'restore was successfil') ;
1 row inserted/updated/deleted
ij(CONNECTION1)>