From: Patrick J. P. G. <Pat...@wo...> - 2000-10-19 03:55:59
|
Hello! I've been contemplating a potential bug in jrd/cmp.c If you can, would you please enter the test shown below and see if you get the correct results. ...pat /* ** Name: genid_arguments_01 ** Series: cf_isql ** Meta-Series: ** Dependencies: None ** Description: This test is a test for the proper handling of gen_id arguments ** ** This test calls gen_id with a computed field as an argument. ** ** Expected result: see comments in isql coding below ** ** Author: Patrick J. P. Griffin based on cf_isql_10 by Ravil A. Desai ** Bugs: ** Change history: ** */ $ CREATE cf_test.sql create database "WHERE_GDB:cf.gdb"; create generator gen1; set generator gen1 to 999; show generator gen1; create generator gen2; set generator gen2 to 199; show generator gen2; create generator gen3; set generator gen3 to 29; show generator gen3; create table t0 ( a integer, genid_field1 computed by (gen_id(gen1, 1)), genid_field2 computed by (gen_id(gen2, genid_field1)), genid_field3 computed by (gen_id(gen3, genid_field2)) ); show table t0; insert into t0(a) values(4); insert into t0(a) values(1); /* first row: a: 4 genid_field3:=genid3+(genid2+(genid1+1)) :=29+(199+(999+1) :=29+(199+1000) :=29+1199 :=1228 second row: a: 1 genid_field3:=genid3+(genid2+(genid1+1)) :=1228+(1199+(1000+1) :=1228+(1199+1001) :=1228+(2200) :=3428 */ select a,genid_field3 from t0; /* first row: a: 4 genid_field3:=genid3+(genid2+(genid1+1)) :=3428+(2200+(1001+1) :=3428+(2200+1002) :=3429+3202 :=6630 genid_field2:=genid2+(genid1+1) :=3202+(1002+1) :=3202+1003 :=4205 genid_field1:=genid1+1 :=1003+1 :=1004 second row: a: 1 genid_field3:=genid3+(genid2+(genid1+1)) :=6630+(4205+(1004+1)) :=6630+(4205+1005) :=6630+5210 :=11840 genid_field2:=genid2+(genid1+1) :=5210+(1005+1) :=5210+1006 :=6216 genid_field1:=genid1+1 :=1006+1 :=1007 */ select * from t0; exit; $ ISQL -e -m -input cf_test.sql $ DELETE cf_test.sql $ RUN drop_gdb WHERE_GDB:cf.gdb |