Hi! I am running into this error: batcalc.ifThenElse:requires bats of identical size My server (running on Windows XP 64): # MonetDB server v5.6.0, based on kernel v1.24.0 # Serving database 'demo' # Compiled for i686-pc-win32/64bit with 32bit OIDs dynamically linked The following recreates the problem: CREATE TABLE test1 (col1 INTEGER); INSERT INTO test1 VALUES (null); INSERT INTO test1 VALUES (null); SELECT CASE WHEN col1=1 THEN 'ONE' END AS "pc1" FROM test1 GROUP BY "pc1"; Any ideas? Obviously the above isn't too interesting, but it a simplified test case from a more complex query on a much larger dataset. Seems to be related to GROUP BY on a CASE... Thanks! Rick +----------------------------------------------------------------------- ------+ | mal | +======================================================================= ======+ | function user.s0_3():void; | | _1:bat[:oid,:int]{rows=1:lng} := sql.bind("voc","test2","col1",0); | | _6:bat[:oid,:int]{rows=1:lng} := sql.bind("voc","test2","col1",1); | | _8{rows=2:lng} := algebra.kunion(_1,_6); | | _1:bat[:oid,:int]{rows=1:lng} := nil; | | _6:bat[:oid,:int]{rows=1:lng} := nil; | | _9:bat[:oid,:int]{rows=1:lng} := sql.bind("voc","test2","col1",2); | | _11{rows=2:lng} := algebra.kdifference(_8,_9); | | _8{rows=2:lng} := nil; | | _12{rows=3:lng} := algebra.kunion(_11,_9); | | _11{rows=2:lng} := nil; | | _9:bat[:oid,:int]{rows=1:lng} := nil; | | _13:bat[:oid,:oid]{rows=1:lng} := sql.bind_dbat("voc","test2",1); | | _14{rows=1:lng} := bat.reverse(_13); | | _13:bat[:oid,:oid]{rows=1:lng} := nil; | | _15{rows=3:lng} := algebra.kdifference(_12,_14); | | _14{rows=1:lng} := nil; | | _17{rows=3:lng,tlb>=0@0:oid,tub<1@0:oid} := algebra.markT(_15,0@0); | | _15{rows=3:lng} := nil; | | _18{rows=3:lng,hlb>=0@0:oid,hub<1@0:oid} := bat.reverse(_17); | | _17{rows=3:lng,tlb>=0@0:oid,tub<1@0:oid} := nil; | | _19{rows=3:lng,hlb>=0@0:oid,hub<1@0:oid} := algebra.join(_18,_12); | | _12{rows=3:lng} := nil; | | _20:bat[:oid,:bit]{rows=3:lng,hlb>=0@0:oid,hub<1@0:oid} := | : batcalc.==(_19,1); | | _23{rows=3:lng,hlb>=0@0:oid,hub<1@0:oid} := algebra.project(_18,nil:str); | | _24:bat[:oid,:str]{rows=3:lng,hlb>=0@0:oid,hub<1@0:oid} := | : batcalc.ifthenelse(_20,"ONE",_23); | | _20:bat[:oid,:bit]{rows=3:lng,hlb>=0@0:oid,hub<1@0:oid} := nil; | | _23{rows=3:lng,hlb>=0@0:oid,hub<1@0:oid} := nil; | | (ext36,grp34):= group.new(_24); | | _24:bat[:oid,:str]{rows=3:lng,hlb>=0@0:oid,hub<1@0:oid} := nil; | | _27 := bat.mirror(ext36); | | ext36 := nil; | | _28 := algebra.join(_27,_19); | | _27 := nil; | | _19{rows=3:lng,hlb>=0@0:oid,hub<1@0:oid} := nil; | | _29:bat[:oid,:bit] := batcalc.==(_28,1); | | _28 := nil; | | _30{rows=3:lng,hlb>=0@0:oid,hub<1@0:oid} := algebra.project(_18,nil:str); | | _18{rows=3:lng,hlb>=0@0:oid,hub<1@0:oid} := nil; | | _31:bat[:oid,:str] := batcalc.ifthenelse(_29,"ONE",_30); | | _29:bat[:oid,:bit] := nil; | | _30{rows=3:lng,hlb>=0@0:oid,hub<1@0:oid} := nil; | | _32 := sql.resultSet(1,1,_31); | | sql.rsColumn(_32,"voc.","pc1","char",0,0,_31); | | _31:bat[:oid,:str] := nil; | | _37 := io.stdout(); | | sql.exportResult(_37,_32,""); | | end s0_3; | +----------------------------------------------------------------------- ------+ Rick Spickelmier | CTO | Success Metrics, Inc. | w (415) 738-2078 | ricks@successmetricsinc.com