diff options
Diffstat (limited to 'src/interfaces/jdbc/utils')
| -rw-r--r-- | src/interfaces/jdbc/utils/CheckVersion.java | 68 | ||||
| -rwxr-xr-x | src/interfaces/jdbc/utils/buildDriver | 47 | ||||
| -rw-r--r-- | src/interfaces/jdbc/utils/changelog.pl | 23 |
3 files changed, 138 insertions, 0 deletions
diff --git a/src/interfaces/jdbc/utils/CheckVersion.java b/src/interfaces/jdbc/utils/CheckVersion.java new file mode 100644 index 0000000000..b82ba335fd --- /dev/null +++ b/src/interfaces/jdbc/utils/CheckVersion.java @@ -0,0 +1,68 @@ +package utils; + +/** + * This little app checks to see what version of JVM is being used. + * It does this by checking first the java.vm.version property, and + * if that fails, it looks for certain classes that should be present. + */ +public class CheckVersion +{ + /** + * Check for the existence of a class by attempting to load it + */ + public static boolean checkClass(String c) { + try { + Class.forName(c); + } catch(Exception e) { + return false; + } + return true; + } + + /** + * This first checks java.vm.version for 1.1, 1.2 or 1.3. + * + * It writes jdbc1 to stdout for the 1.1.x VM. + * + * For 1.2 or 1.3, it checks for the existence of the javax.sql.DataSource + * interface, and if found writes enterprise to stdout. If the interface + * is not found, it writes jdbc2 to stdout. + * + * PS: It also looks for the existence of java.lang.Byte which appeared in + * JDK1.1.0 incase java.vm.version is not heeded by some JVM's. + * + * If it can't work it out, it writes huho to stdout. + * + * The make file uses the written results to determine which rule to run. + * + * Bugs: This needs thorough testing. + */ + public static void main(String args[]) + { + String vmversion = System.getProperty("java.vm.version"); + + // We are running a 1.1 JVM + if(vmversion.startsWith("1.1")) { + System.out.println("jdbc1"); + System.exit(0); + } + + // We are running a 1.2 or 1.3 JVM + if(vmversion.startsWith("1.2") || + vmversion.startsWith("1.3") || + checkClass("java.lang.Byte") + ) { + + // Check to see if we have the standard extensions. If so, then + // we want the enterprise edition, otherwise the jdbc2 driver. + if(checkClass("javax.sql.DataSource")) + System.out.println("enterprise"); + else + System.out.println("jdbc2"); + System.exit(0); + } + + System.out.println("huho"); + System.exit(0); + } +} diff --git a/src/interfaces/jdbc/utils/buildDriver b/src/interfaces/jdbc/utils/buildDriver new file mode 100755 index 0000000000..097ce6e04a --- /dev/null +++ b/src/interfaces/jdbc/utils/buildDriver @@ -0,0 +1,47 @@ +#!/bin/sh +# +# $Id: buildDriver,v 1.1 2000/10/12 08:55:28 peter Exp $ +# +# This script generates the org/postgresql/Driver.java file from the template +# org/postgresql/Driver.java.in +# +# We do this because we need to include the version number from Makefile.global +# and some other goodies. +# +# This used to be in Makefile, but as it's now done three times, it's better +# to have it as a separate script. +# +# If you have any problems, please let us know ;-) +# +# Syntax: buildDriver version class +# +# Where: +# version The version string from Makefile.global +# class The class implementing java.sql.Connection +# edition The driver edition being built +# source The file to build. We assume that ${source}.in exists +# + +VERSION=$1 +CLASS=$2 +EDITION=$3 +SOURCE=$4 + +#--------------------------------------------------------------------------- +# Extract the version. This will work until version x.9 (and assuming we don't +# have 7.10 etc). We only handle 1 digit for MINORVERSION to handle things like +# 7.1devel etc +# +MAJORVERSION=`echo $VERSION | cut -f1 -d'.'` +MINORVERSION=`echo $VERSION | cut -f2 -d'.' | cut -c1` + +#--------------------------------------------------------------------------- +# Now finally build the driver +sed \ + -e "s/%JDBCCONNECTCLASS%/$CLASS/g" \ + -e "s/%VERSION%/$VERSION $EDITION/g" \ + -e "s/%MAJORVERSION%/$MAJORVERSION/g" \ + -e "s/%MINORVERSION%/$MINORVERSION/g" \ + <${SOURCE}.in \ + >$SOURCE +#--------------------------------------------------------------------------- diff --git a/src/interfaces/jdbc/utils/changelog.pl b/src/interfaces/jdbc/utils/changelog.pl new file mode 100644 index 0000000000..3cba15aa91 --- /dev/null +++ b/src/interfaces/jdbc/utils/changelog.pl @@ -0,0 +1,23 @@ +#!/bin/perl + +while(<>) { + chomp(); + s/\t+/ /g; + if(substr($_,0,3) eq ' - ') { + print "<ul>" if !$inlist; + $inlist=1; + print "<li>".substr($_,3)."\n"; + } else { + if($_ eq "" || $_ eq " ") { + print "</ul>" if $inlist; + $inlist=0; + print "<br>\n"; + } elsif(substr($_,0,1) eq " ") { + print $_; + } else { + print "</ul>" if $inlist; + $inlist=0; + print "<h4>".$_."</h4>\n"; + } + } +} |
