Subject: Re: Video Tutorial - How to Build and Install PL/Java References: <56DBC5E4.6050301@lucee.org> <56DBDAFA.2070106@anastigmatix.net> From: "Igal @ Lucee.org" Message-ID: <56DC8056.5090905@lucee.org> Date: Sun, 6 Mar 2016 11:09:10 -0800 MIME-Version: 1.0 In-Reply-To: <56DBDAFA.2070106@anastigmatix.net> Content-Type: text/plain; charset=utf-8; format=flowed On 3/5/2016 11:23 PM, Chapman Flack wrote: > it would be much safer if you showed cloning the repository > and then checking out the *actual release tag*: > > git checkout V1_5_0b2 > > or without using git, by downloading the .zip or .tar.gz from > > https://github.com/tada/pljava/releases OK, I can do that > The next thing, later on, you gave the CREATE EXTENSION pljava; > command, and it worked ... *then* you showed setting libjvm_location. did you see my pull request at https://github.com/tada/pljava/pull/97/files ? > It must have been set correctly already, or the CREATE EXTENSION > would have failed. Probably in your earlier experimenting you saved > the correct value with ALTER DATABASE, or by editing the conf file? > (I think the saved value is the same as the one you gave in the SET > command, otherwise that command would have failed ... it doesn't > let you change libjvm_location in a session where the jvm has already > loaded, because it would be too late to make any difference to that > session.) while playing with this before I tried both ALTER DATABASE and ALTER SYSTEM to set that value. unfortunately I was unable to UN-SET that value? I tried ALTER - RESET but that didn't seem to work > So if you wanted to make that part of the video even more helpful, > you could also show what CREATE EXTENSION does if you do *not* have > the value correctly set first, and how you can tell what happened and > recover by setting the variable. That will be very helpful to people > who do try CREATE EXTENSION without the right variable setting, and > wonder what the error messages mean. :) > > Then you could also show how to save the correct setting for later > sessions, using a command like ALTER DATABASE postgres SET > pljava.libjvm_location FROM CURRENT. so you want me to show the "pitfalls" and troubleshooting? I want to keep the video rather short. replacing git with download can save some time so it might be offset, but I really prefer to keep the whole thing under 15 minutes > It is nice to show the examples.ddr file, but it might also be good > to mention those are not *all* the function definitions, in fact that > file is only still there because not all examples are converted to > use Java annotations yet, and it contains only the ones that haven't. > It will be getting smaller and smaller.... > > ... so you might want to also show how to list the functions with > > \df javatest.* > or for more detail (including the description, where present) > \df+ javatest.* > > You could also show how to see the full SQL syntax for one function's > declaration, like > > \sf javatest.java_addone > > Wildcards don't work with \sf, just one function at a time. OK, much of this is very new to me. I have very little experience with PostgreSQL, psql, PL/java, etc. > Browsing on github for the examples.ddr file, you could also show > browsing the directory of example sources, or the subdirectory > annotation, containing the examples that already have been converted > so you do not see them in examples.ddr. > > Also, when browsing files on github, you could show how to start on > the releases page and click the tag for the release you have installed, > and then browse files, so that you know you are seeing the same versions > you are actually running. :) sure, I can show the local files instead of the github repo in the browser > I know those are a lot of comments, so if it didn't quite come through, > I really like the video, thanks for making it! The suggestions are for > making it even better. thank you. I'll try to re-do it with these points in mind. can you please explain: 1) how do I unset the value 2) where are the docs for the `sqlj` namespace (or is it a schema?), for example, what do the additional args do exactly? SELECT sqlj.install_jar('file:/C:/Apps/pgsql951/share/pljava/pljava-examples-1.5.0-BETA2.jar', 'examples', true); and this one? creates a schema named javatest and maps it to the 'examples' namespace from the previous command? SELECT sqlj.set_classpath('javatest', 'examples'); thanks, Igal