The old Rel web site had substantial information on Rel's capability to accept user-defined type definitions written in Java, but I can no longer find this information any more.
We have a student that wants to use the Date type defined in the provided TypeDate.d script, but an error message appears.
VAR TEST BASE RELATION{X Date} KEY{X};
ERROR: RelDatabase: openRelvar failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: Failed loading heading {X Date(0)}: ca.mb.armchair.rel3.languages.tutoriald.parser.ParseException: Encountered " "(" "( "" at line 1, column 8.
Was expecting one of: "}" ... "," ... Line 1 ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: openRelvar failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: Failed loading heading {X Date(0)}: ca.mb.armchair.rel3.languages.tutoriald.parser.ParseException: Encountered " "(" "( "" at line 1, column 8. Was expecting one of: "}" ... "," ... Line 1 at ca.mb.armchair.rel3.interpreter.Interpreter.run(Interpreter.java:71) at ca.mb.armchair.rel3.interpreter.Interpreter.interpret(Interpreter.java:203) at ca.mb.armchair.rel3.interpreter.Interpreter.interpret(Interpreter.java:213) at ca.mb.armchair.rel3.interpreter.Interpreter.interpret(Interpreter.java:217) at ca.mb.armchair.rel3.client.stream.ClientLocalConnection$2.execute(ClientLocalConnection.java:78) at ca.mb.armchair.rel3.client.stream.ClientLocalConnection.send(ClientLocalConnection.java:42) at ca.mb.armchair.rel3.client.stream.ClientLocalConnection.sendExecute(ClientLocalConnection.java:76) at ca.mb.armchair.rel3.client.string.ClientLocal.sendExecute(ClientLocal.java:56) at ca.mb.armchair.rel3.dbrowser.ui.PanelCommandline$36.doInBackground(PanelCommandline.java:1132) at javax.swing.SwingWorker$1.call(Unknown Source) at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at javax.swing.SwingWorker.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source)
Wondered if we're doing anything wrong?
Thanks.
Adrian
User-Defined Types in Java
Re: User-Defined Types in Java
This is a bug. One of my students just ran across it too. It seems the most recent update to Rel which made some changes to Tutorial D user-defined types broke the Java user-defined types. This will be fixed in the next update. In the mean time, a Date defined as (for example) TYPE Date POSSREP {year INTEGER, month INTEGER, day INTEGER}; should do the job.
-
- Posts: 9
- Joined: Fri Aug 29, 2008 11:03 pm
Re: User-Defined Types in Java
Cool. We much prefer the new Tutorial D native user-defined types anyway but I just thought I'd mention it since it's shipped as a demo example.
Re: User-Defined Types in Java
Impossible to define Date type in release 1.0.12. Here is the error message :
ERROR: RS0012: Creation of type Date failed: ca.mb.armchair.rel3.exceptions.ExceptionSemantic:
RS0008: Unable to add operators for Database.RelUserCode.Date:
ca.mb.armchair.rel3.exceptions.ExceptionSemantic: RS0004: Java error: cannot find symbol
symbol: class Date location: class Database.RelUserCode.op_Date_: in line 8 of: RegularFileObject[/home/gibus/BDD/Rel/Database/RelUserCode/op_Date_.java] Java error: cannot find symbol symbol: class Date location: class Database.RelUserCode.op_Date_: in line 10 of: RegularFileObject[/home/gibus/BDD/Rel/Database/RelUserCode/op_Date_.java]
It was OK in 1.0.11 release.
ERROR: RS0012: Creation of type Date failed: ca.mb.armchair.rel3.exceptions.ExceptionSemantic:
RS0008: Unable to add operators for Database.RelUserCode.Date:
ca.mb.armchair.rel3.exceptions.ExceptionSemantic: RS0004: Java error: cannot find symbol
symbol: class Date location: class Database.RelUserCode.op_Date_: in line 8 of: RegularFileObject[/home/gibus/BDD/Rel/Database/RelUserCode/op_Date_.java] Java error: cannot find symbol symbol: class Date location: class Database.RelUserCode.op_Date_: in line 10 of: RegularFileObject[/home/gibus/BDD/Rel/Database/RelUserCode/op_Date_.java]
It was OK in 1.0.11 release.
Re: User-Defined Types in Java
It's fixed in 1.0.13, which is getting closer to release.