Trying to make a good first few implementation iterations is hard and is sometimes made harder by specifications which are not minutely detailed. When the specification is vague, organic development sometimes seems to excel, partly because there is little or no worries about refactoring or redesigning as necessary. Trying to make something absolutely perfect on the first iteration is difficult, especially when attempting to ensure that the code is maintainable and extensible.
Still, not bad progress given that this is only the 2nd day of solid work since Thanksgiving.
Enough of that, time to go to bed.
27 November 2007
10 November 2007
10 Minute HOW-TO
This question seems to crop up again and again... In the words of one comment to my blog: "I've downloaded your External Language Stored Procedures package and am interested in trying out the JAVA part. Would appreciate if you could explain how use the downloaded stuff."
Ok, on my download page, I have provided 2 different downloads which are automatically created from our source repository. A source patch which may be applied to a current mysql-6.0 tree and a tarball snapshot of the work repository. The source snapshot is not as friendly to build as the official MySQL source downloads as it is somewhat raw and unfinished - you will need certain GNU tools installed on your computer to make use of it. As a minimum, you will need the following:
The simplest first and only step you may use is the BUILD scripts ... locate a build script for you and simply execute it such as:
Now on to the minimum requirements of the External Language Stored Procedures work which Eric and myself are hacking with... There is a small wiki page available at MySQL Forge but it needs further embellishment:
Eric and I have submitted a talk on our External Language Stored Procedures work for the MySQL Users Conference 2008 so if we are all lucky, there may be a presentation about this project. They have received more than 300 presentation proposals and I am sure that almost all of them are excellent presentations from seasoned presenters, so... Fingers crossed!
For all those curious and adventurous, please do download the code and have fun!
Ok, on my download page, I have provided 2 different downloads which are automatically created from our source repository. A source patch which may be applied to a current mysql-6.0 tree and a tarball snapshot of the work repository. The source snapshot is not as friendly to build as the official MySQL source downloads as it is somewhat raw and unfinished - you will need certain GNU tools installed on your computer to make use of it. As a minimum, you will need the following:
- GNU autoconf version 2.52 - I have version 2.61
- GNU automake 1.08 - I have version 1.10
- GNU libtool 1.4 - I have version 1.5.24
- GNU bison 1.8 - I have version 2.3
- GNU make - I have version 3.81
The simplest first and only step you may use is the BUILD scripts ... locate a build script for you and simply execute it such as:
$ ./BUILD/compile-ppc-debug-max-no-ndb
$ ./BUILD/autorun.sh
$ ./configure <your configure options here>
--just-print" would display the commands which the script would execute or "--just-configure" would stop the build immediately after completing the configure script. Almost always, I would use one of the standard scripts.Now on to the minimum requirements of the External Language Stored Procedures work which Eric and myself are hacking with... There is a small wiki page available at MySQL Forge but it needs further embellishment:
- The Java plug-in probably requires JDK 1.4 however JDK 1.3 may work. Supported JDKs include JDKs from Apple, Sun, IBM and Blackdown. Please send an email to Eric or myself if you experience any problems on your setup.
- The XML-RPC plug-in requires the xmlrpc-c library available from their Sourceforge site. As a minimum, you should use no less than version 1.03 ... version 1.06 is better but I have not tried their newer alphas.
- The Perl plug-in will require a properly configured Perl runtime with multithreading configured.... If you want to check, run "
perl -V" and check what it says aboutusethreads,useithreadsandusemultiplicity. For example, if a line like the following appears, you are ok:usethreads=define use5005threads=undef useithreads=define usemultiplicity=define
However, if you see a line like the next line, the Perl plugin should not even attempt to compile:usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef
Unfortunately, most Linux distros will compile your Perl without support for threads.
I should mention that the code for the Perl plug-in is incomplete so any attempt to actually use it will crash for now.
Eric and I have submitted a talk on our External Language Stored Procedures work for the MySQL Users Conference 2008 so if we are all lucky, there may be a presentation about this project. They have received more than 300 presentation proposals and I am sure that almost all of them are excellent presentations from seasoned presenters, so... Fingers crossed!
For all those curious and adventurous, please do download the code and have fun!
Subscribe to:
Posts (Atom)