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. -- -- Track 4257 -- Track 4258 -- Track 4259 -- -- test case to make sure that conglomerate metadata is stored/retrieved -- correctly across database boots. track 4257-9 all were caused by not -- storing the metadata correctly after an addColumn call. -- baseline case for add column test create table foo (a int); 0 rows inserted/updated/deleted ij> insert into foo values (1); 1 row inserted/updated/deleted ij> insert into foo values (1, 2); ERROR 42802: The number of values assigned is not the same as the number of specified or implied columns. ij> select * from foo; A ----------- 1 ij> -- baseline case of simple create/index test create table foo2 (a int, b int, c int); 0 rows inserted/updated/deleted ij> create index foo2_idx on foo2 (c); 0 rows inserted/updated/deleted ij> insert into foo2 values (3, 30, 300); 1 row inserted/updated/deleted ij> insert into foo2 values (2, 20, 200); 1 row inserted/updated/deleted ij> insert into foo2 values (1, 10, 100); 1 row inserted/updated/deleted ij> disconnect; ij> connect 'wombat;shutdown=true'; ERROR 08006: Database 'wombat' shutdown. ij> connect 'wombat' as conn1; ij> alter table foo add column b int; 0 rows inserted/updated/deleted ij> select * from foo; A |B ----------------------- 1 |NULL ij> insert into foo values (2, 1); 1 row inserted/updated/deleted ij> select * from foo; A |B ----------------------- 1 |NULL 2 |1 ij> -- just make sure normal case works too. select * from foo2; A |B |C ----------------------------------- 3 |30 |300 2 |20 |200 1 |10 |100 ij> select c from foo2; C ----------- 100 200 300 ij> select c from foo2; C ----------- 100 200 300 ij> disconnect; ij> connect 'wombat;shutdown=true'; ERROR 08006: Database 'wombat' shutdown. ij> connect 'wombat' as conn2; ij> -- does insert correctly pick up previous alter? insert into foo values (2, 2); 1 row inserted/updated/deleted ij> -- does alter correctly pick up previous alter? alter table foo add column c int; 0 rows inserted/updated/deleted ij> -- does select correctly pick up previous alter? select * from foo; A |B |C ----------------------------------- 1 |NULL |NULL 2 |1 |NULL 2 |2 |NULL ij> insert into foo values (3, 1, 1); 1 row inserted/updated/deleted ij> select * from foo; A |B |C ----------------------------------- 1 |NULL |NULL 2 |1 |NULL 2 |2 |NULL 3 |1 |1 ij> disconnect; ij> connect 'wombat;shutdown=true'; ERROR 08006: Database 'wombat' shutdown. ij>