Operator P0 works as expected.
Code: Select all
VAR A BASE REL{X CHAR}KEY{X};
OPERATOR P0(B REL{X CHAR});
BEGIN;
INSERT B REL{TUP{X "E"}};
WRITELN B;
WRITELN COUNT(B);
DELETE B;
END;
END OPERATOR;
A:=REL{TUP{X "D"}};
CALL P0(A);
DROP OPERATOR P0(REL{X CHAR});
Code: Select all
OPERATOR P1(B REL{X CHAR});
BEGIN;
B:=UNION{B,REL{TUP{X "E"}}};
WRITELN B;
WRITELN COUNT(B);
DELETE B;
END;
END OPERATOR;
A:=REL{TUP{X "D"}};
CALL P1(A);
RELATION {X CHARACTER} {
TUPLE {X "D"},
TUPLE {X "E"}
}
2
ERROR: java.lang.ClassCastException: ca.mb.armchair.rel3.values.ValueRelation$4 cannot be cast to ca.mb.armchair.rel3.storage.relvars.Relvar
Line 1
In P1(RELATION {X CHARACTER}) line 1
ca.mb.armchair.rel3.exceptions.ExceptionFatal: java.lang.ClassCastException: ca.mb.armchair.rel3.values.ValueRelation$4 cannot be cast to ca.mb.armchair.rel3.storage.relvars.Relvar
Line 1
In P1(RELATION {X CHARACTER}) line 1
at ca.mb.armchair.rel3.interpreter.Interpreter.run(Interpreter.java:76)
at ca.mb.armchair.rel3.interpreter.Interpreter.interpret(Interpreter.java:211)
at ca.mb.armchair.rel3.interpreter.Interpreter.interpret(Interpreter.java:221)
at ca.mb.armchair.rel3.interpreter.Interpreter.interpret(Interpreter.java:225)
at ca.mb.armchair.rel3.client.stream.ClientLocalConnection$2.execute(ClientLocalConnection.java:86)
at ca.mb.armchair.rel3.client.stream.ClientLocalConnection.send(ClientLocalConnection.java:48)
at ca.mb.armchair.rel3.client.stream.ClientLocalConnection.sendExecute(ClientLocalConnection.java:84)
at ca.mb.armchair.rel3.client.string.ClientLocal.sendExecute(ClientLocal.java:57)
at ca.mb.armchair.rel3.dbrowser.ui.PanelCommandline$40.doInBackground(PanelCommandline.java:1166)
at javax.swing.SwingWorker$1.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at javax.swing.SwingWorker.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassCastException: ca.mb.armchair.rel3.values.ValueRelation$4 cannot be cast to ca.mb.armchair.rel3.storage.relvars.Relvar
at ca.mb.armchair.rel3.vm.instructions.relvar.OpRelvarPurge.execute(OpRelvarPurge.java:16)
at ca.mb.armchair.rel3.vm.Context.execute(Context.java:153)
at ca.mb.armchair.rel3.vm.Context.call(Context.java:159)
at ca.mb.armchair.rel3.vm.instructions.core.OpInvoke.execute(OpInvoke.java:16)
at ca.mb.armchair.rel3.vm.Context.execute(Context.java:153)
at ca.mb.armchair.rel3.vm.Context.call(Context.java:159)
at ca.mb.armchair.rel3.vm.VirtualMachine.execute(VirtualMachine.java:116)
at ca.mb.armchair.rel3.interpreter.Interpreter.execute(Interpreter.java:62)
at ca.mb.armchair.rel3.interpreter.Interpreter.run(Interpreter.java:69)
... 14 more
DROP OPERATOR P1(REL{X CHAR});
steve