13.07.2015 Views

IBM Flex System x240 w

IBM Flex System x240 w

IBM Flex System x240 w

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

all:clean:connect explain catalog $(DLL) install disconnectconnect uncatalog unexplain disconnect- $(ERASE) $(TPCC_SPDIR)$(SLASH)rpctpcc$(SHLIBEXT)- $(ERASE) *.bnd *.msg *.out *$(OBJEXT) $(DLL) tpcc_all_sql.c# ######################################################################### Helper Targets# ########################################################################catalog:uncatalog:explain:unexplain:connect:disconnect:uncatalog- perl $(TPCC_ROOT)$(SLASH)utils$(SLASH)genproc.pl $(STORED_PROCS)- db2 -tvf cat-proc.ddl +o -z cat-proc.out- db2 -td% -vf cat-func.ddl +o -z cat-func.out- perl $(TPCC_ROOT)$(SLASH)utils$(SLASH)genproc.pl $(STORED_PROCS)- db2 -td% -vf uncat-func.ddl +o -z uncat-func.out- db2 -tvf uncat-proc.ddl +o -z uncat-proc.out- db2 "call sysproc.sysinstallobjects('EXPLAIN','C','',CURRENT SCHEMA)"- db2 "call sysproc.sysinstallobjects('EXPLAIN','D','',CURRENT SCHEMA)"- db2 connect to $(TPCC_DBNAME)- db2 connect reset- db2 terminate# ######################################################################### Install Targets# ########################################################################install:$(DLL)- mkdir $(TPCC_SPDIR)$(COPY) $(DLL) $(TPCC_SPDIR)# ######################################################################### Build Rules# ########################################################################.SUFFIXES: $(OBJEXT) .c .sqctpcc_all_sql.c:@echo "Prepping $*.sqc"db2 prep $*.sqc $(PRP_OPTS)db2 grant execute on package TPCC_ALL to publictpcc_all_sql$(OBJEXT):$(CC) -c tpcc_all_sql.c $(CFLAGS) -D$(TPCC_SPTYPE) $(CFLAGS_OUT)$@$(DLL): $(UTIL_OBJ) tpcc_all_sql$(OBJEXT)$(LD_STORP) $(LDFLAGS) $(UTIL_OBJ) tpcc_all_sql$(OBJEXT) $(LDFLAGS_OUT)$@# ######################################################################### Dependencies# ######################################################################### Executables (Stored Procedures)$(DLL): $(UTIL_OBJ) tpcc_all_sql$(OBJEXT)# Sourcetpcc_all_sql$(OBJEXT): tpcc_all_sql.c# Headerstpcc_all_sql.c: $(TPCC_ROOT)/include/db2tpcc.hSrc.Srv/cat-func.ddl-------------------------------------------------------------------------------- Licensed Materials - Property of <strong>IBM</strong>---- (C) COPYRIGHT International Business Machines Corp. 1996, 2010-- All Rights Reserved.---- US Government Users Restricted Rights - Use, duplication or-- disclosure restricted by GSA ADP Schedule Contract with <strong>IBM</strong> Corp.---------------------------------------------------------------------------------- cat-func.ddl - Create table functions------ DELIVERY--CREATE FUNCTION DEL( W_ID INTEGER, D_ID SMALLINT, CARRIER_ID SMALLINT)RETURNS TABLE ( O_ID INTEGER )SPECIFIC DELIVERYMODIFIES SQL DATA DETERMINISTIC NO EXTERNAL ACTION LANGUAGE SQLVAR: BEGIN ATOMICDECLARE O_ID INTEGER ;DECLARE C_ID INTEGER ;DECLARE AMOUNT DECIMAL(12,2) ;/* Delete the order from new order table */SET VAR.O_ID = ( SELECT NO_O_ID;)FROM OLD TABLE ( DELETE) AS DFROM ( SELECT NO_O_IDFROM NEW_ORDERWHERE NO_W_ID = DEL.W_IDAND NO_D_ID = DEL.D_IDORDER BY NO_O_ID ASCFETCH FIRST 1 ROW ONLY) AS NEW_ORDER/* Update the order as delivered and retrieve the customer id */SET VAR.C_ID = ( SELECT O_C_ID;)FROM OLD TABLE ( UPDATE ORDERSSET VAR.AMOUNT = ( SELECT SUM( OL_AMOUNT );END%/* Charge the customer */UPDATE CUSTOMER)SET O_CARRIER_ID = DEL.CARRIER_IDWHERE O_W_ID = DEL.W_IDAND O_D_ID = DEL.D_IDAND O_ID = VAR.O_ID) AS UFROM OLD TABLE ( UPDATE ORDER_LINESET OL_DELIVERY_D = CURRENT TIMESTAMPWHERE OL_W_ID = DEL.W_IDAND OL_D_ID = DEL.D_IDAND OL_O_ID = VAR.O_ID) AS USET C_BALANCE = C_BALANCE + VAR.AMOUNT, C_DELIVERY_CNT = C_DELIVERY_CNT + SMALLINT( 1 )WHERE C_W_ID = DEL.W_IDAND C_D_ID = DEL.D_IDAND C_ID = VAR.C_ID;/* Return the order id to the caller (or NULL) */RETURN VALUES VAR.O_ID ;---- ORDER STATUS--CREATE FUNCTION ORD_C_LAST(W_ID INTEGER

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!