Closed dynamobi-build closed 12 years ago
[author="jvs", created="Wed, 20 Sep 2006 09:57:44 -0500 (GMT-05:00)"]
Here's the calc program being generated:
FINER: calc program =
O s4, s8, s8;
I s4, s8, s8;
L bo, bo, bo, bo, bo;
S s8, bo;
C bo, bo, s8, vc,5;
V 1, 0, 0, 0x3232303034 /* 22004 /;
T;
ISNULL L0, I1 / 0: IS NULL($t1) /;
NE L1, S0, C2 / 1: /;
JMPT @4, L1 / 2: /;
CALL 'CurrentTimestamp1(S0) / 3: CURRENTTIMESTAMP /;
NE L2, I2, S0 / 4: <>($t2, $t4) /;
OR L3, L0, L2 / 5: OR($t3, $t5) /;
JMPT @9, L3 / 6: /;
MOVE S1, C0 / 7: /;
RETURN / 8: /;
MOVE S1, C1 / 9: /;
ISNULL L4, I0 / 10: /;
JMPF @14, L4 / 11: /;
RAISE C3 / 12: /;
RETURN / 13: /;
REF O0, I0 / 14: /;
REF O1, I1 / 15: /;
REF O2, I2 / 16: /;
RETURN /_ 17: */;
[author="jvs", created="Wed, 20 Sep 2006 10:02:08 -0500 (GMT-05:00)"] The first few instructions look bad. Note that we're finally about to throw the switch for LucidDB to use Java calc only, so this may be the last Fennel calc bug report from that source for a while :)
[author="angel", created="Sun, 8 Oct 2006 20:03:20 -0500 (GMT-05:00)"] Fixed with dt change 7869.
[reporter="zfong", created="Wed, 20 Sep 2006 09:39:15 -0500 (GMT-05:00)"] Here's the repro against a Farrago personality:
alter system set "calcVirtualMachine" = 'CALCVM_FENNEL';
create table t(k int primary key, a bigint, b timestamp);
insert into t values(1, null, current_timestamp);
select * from t where a is null or b <> current_timestamp;
The select should return one row. It returns none. If you switch to Java calc, the row is returned.