#! /bin/ksh
#############################################################################
# (c) Copyright IBM Corp. 2007 All rights reserved.
# 
# The following sample of source code ("Sample") is owned by International 
# Business Machines Corporation or one of its subsidiaries ("IBM") and is 
# copyrighted and licensed, not sold. You may use, copy, modify, and 
# distribute the Sample in any form without payment to IBM, for the purpose of 
# assisting you in the development of your applications.
# 
# The Sample code is provided to you on an "AS IS" basis, without warranty of 
# any kind. IBM HEREBY EXPRESSLY DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR 
# IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. Some jurisdictions do 
# not allow for the exclusion or limitation of implied warranties, so the above 
# limitations or exclusions may not apply to you. IBM shall not be liable for 
# any damages you suffer as a result of using, copying, modifying or 
# distributing the Sample, even if IBM has been advised of the possibility of 
# such damages.
#############################################################################
# SCRIPT: udfcat
# To catalog JDBC user-defined functions on UNIX
# Catalogs the user-defined functions in the UDFsrv library
# UDFDrop.db2 uncatalogs the functions if previously cataloged
# UDFCreate.db2 catalogs the user-defined functions
# Both CLP scripts can be run on their own
# Usage: udfcat
#############################################################################

# Uncatalog the functions if previously cataloged
db2 -td@ -vf UDFDrop.db2

# Connect to 'sample' database
db2 connect to sample

# Uninstall the jar file if already installed
db2 "CALL sqlj.remove_jar('MYJAR1')"

# Remove the jar file if already exists
rm UDFsrv.jar

# Create a jar file 'UDFsrv.jar' using the class file 'UDFsrv.class'
# Compile 'UDFsrv.java' to get the class file 'UDFsrv.class'
echo "Executing 'javac UDFsrv.java'..."
javac UDFsrv.java

# Create the jar file
echo "Executing 'jar cf UDFsrv.jar UDFsrv.class'..."
jar cf $HOME/UDFsrv.jar UDFsrv.class Person.class

# Install the jar file using a unique jar-id.
db2 "CALL sqlj.install_jar('file:$HOME/UDFsrv.jar', 'MYJAR1')"

# Disconnect from 'sample' database
db2 connect reset

# Catalog the user-defined functions 
db2 -td@ -vf UDFCreate.db2