Subject | Re: Java Stored Procedures |
---|---|
Author | paulruizendaal |
Post date | 2005-10-20T12:06:46Z |
> btw, Oracle does have a "CREATE JAVA" statement :-)Yes, Oracle can store the .class files in the database. I still have
to investigate that further. From a cursory glance, I'd say that all
that it does is storing each .class file in a blob and on the fly
retrieving/storing that into a configured directory which is in the
configured classpath.
For me it is *not* a priority, but adding a RDB$JAVA table, with
name, source and bytecode would be an option. If the plugin cannot
find the class, it looks it up in this table. If found, it moves the
code into a classpath directory and tries again. If the name is not
in the table either, or the code blob is null it reports 'not found'.
The create statement would take source and compile it using an
external java compiler. If the compile fails, it stores a NULL in the
code blob. It would need to clear the relevant class from the cache
directory of course.
The jvm.conf would need to include settings for the cache directory
and for the java compiler path. The classpath setting should
(automatically?) include the cache directory.
The RDB$JAVA table could be created on the fly when first referenced
by the SQL compiler and/or the meta data system.
The big advantage of such a setup would be that databases remain self-
contained ("xcopy installable").