blob: 0b5fde8227a314335f05404008ef7f0f02a274fe [file] [log] [blame]
#!/usr/bin/jython
# @@@ START COPYRIGHT @@@
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
# @@@ END COPYRIGHT @@@
import os
import sys
## Modify this path
sys.path.append("##TRAFCI_PYTHON_LIB_CLASSPATH##")
import Session
########################################################################
# create a session object
########################################################################
sess = Session.Session()
########################################################################
# Connect to the database
########################################################################
x=sess.__connect__("USERNAME","PASSWORD","HOSTNAME","PORTNUMBER","DSNAME")
########################################################################
# Execute sample scripts
# __executeScript__ takes the script file name & log file name as
# arguments
########################################################################
sess.__executeScript__("../samples/sample.sql","../samples/sample.sql.log")
########################################################################
# Execute sample queries
# __execute takes the query string as argument
########################################################################
dropEmpTable = "drop table TRAFODION.CI_SAMPLE.employee";
dropDeptTable = "drop table TRAFODION.CI_SAMPLE.dept"
dropProjectTable = "drop table TRAFODION.CI_SAMPLE.project"
dropJobTable = "drop table TRAFODION.CI_SAMPLE.job"
dropEmpView = "drop view TRAFODION.CI_SAMPLE.emplist"
dropMgrView = "drop view TRAFODION.CI_SAMPLE.mgrlist"
dropEmpIndex = "drop index TRAFODION.CI_SAMPLE.xempname"
dropSchema = "drop schema TRAFODION.CI_SAMPLE"
createSchema = "create schema TRAFODION.CI_SAMPLE";
createEmpTable = "CREATE TABLE TRAFODION.CI_SAMPLE.employee ( "+ \
" empnum NUMERIC (4) UNSIGNED "+ \
" NO DEFAULT "+ \
" NOT NULL "+ \
" ,first_name CHARACTER (15) "+ \
" DEFAULT ' ' "+ \
" NOT NULL "+ \
" ,last_name CHARACTER (20) "+ \
" DEFAULT ' ' "+ \
" NOT NULL "+ \
" ,deptnum NUMERIC (4) "+ \
" UNSIGNED "+ \
" NO DEFAULT "+ \
" NOT NULL "+ \
" ,jobcode NUMERIC (4) UNSIGNED "+ \
" DEFAULT NULL "+ \
" ,salary NUMERIC (8, 2) UNSIGNED "+ \
" DEFAULT NULL "+ \
" ,PRIMARY KEY (empnum) "+ \
" ) ";
createEmpView= "CREATE VIEW TRAFODION.CI_SAMPLE.emplist "+ \
" AS SELECT "+ \
" empnum "+ \
" ,first_name "+ \
" ,last_name "+ \
" ,deptnum "+ \
" ,jobcode "+ \
" FROM "+ \
" TRAFODION.CI_SAMPLE.employee ";
createEmpNameIndex="CREATE INDEX xempname "+ \
" ON TRAFODION.CI_SAMPLE.employee ( "+ \
" last_name "+ \
" ,first_name "+ \
" ) "+ \
" ; "
createDeptTable= "CREATE TABLE TRAFODION.CI_SAMPLE.dept ( "+ \
" deptnum NUMERIC (4) UNSIGNED "+ \
" NO DEFAULT "+ \
" NOT NULL "+ \
" ,deptname CHARACTER (12) "+ \
" NO DEFAULT "+ \
" NOT NULL "+ \
" ,manager NUMERIC (4) UNSIGNED "+ \
" NO DEFAULT "+ \
" NOT NULL "+ \
" ,rptdept NUMERIC (4) UNSIGNED "+ \
" DEFAULT 0 "+ \
" NOT NULL "+ \
" ,location VARCHAR (18) "+ \
" DEFAULT ' ' "+ \
" NOT NULL "+ \
" ,PRIMARY KEY (deptnum) "+ \
" ) ";
createMgrView = "CREATE VIEW TRAFODION.CI_SAMPLE.mgrlist ( "+ \
" first_name "+ \
" ,last_name "+ \
" ,department "+ \
" ) "+ \
" AS SELECT "+ \
" first_name "+ \
" ,last_name "+ \
" ,deptname "+ \
" FROM "+ \
" TRAFODION.CI_SAMPLE.dept dept "+ \
" ,TRAFODION.CI_SAMPLE.employee emp "+ \
" WHERE "+ \
" dept.manager = emp.empnum ";
createJobTable = "CREATE TABLE TRAFODION.CI_SAMPLE.job ( "+ \
" jobcode NUMERIC (4) UNSIGNED "+ \
" NO DEFAULT "+ \
" NOT NULL "+ \
" ,jobdesc VARCHAR (18) "+ \
" DEFAULT ' ' "+ \
" NOT NULL "+ \
" ,PRIMARY KEY (jobcode) "+ \
" ) ";
createProjectTable = "CREATE TABLE TRAFODION.CI_SAMPLE.project ( "+ \
" projcode NUMERIC (4) UNSIGNED "+ \
" NO DEFAULT "+ \
" NOT NULL "+ \
" ,empnum NUMERIC (4) UNSIGNED "+ \
" NO DEFAULT "+ \
" NOT NULL "+ \
" ,projdesc VARCHAR (18) "+ \
" DEFAULT ' ' "+ \
" NOT NULL "+ \
" ,start_date DATE "+ \
" DEFAULT CURRENT_DATE "+ \
" NOT NULL "+ \
" ,ship_timestamp TIMESTAMP "+ \
" DEFAULT CURRENT_TIMESTAMP "+ \
" NOT NULL "+ \
" ,est_complete INTERVAL DAY "+ \
" DEFAULT INTERVAL '30' DAY "+ \
" NOT NULL "+ \
" ,PRIMARY KEY (projcode) "+ \
" ) ";
#Contruct a list of SQL statements to be executed
queryList = [dropEmpView,dropMgrView,dropEmpIndex,dropEmpTable,dropDeptTable,dropProjectTable,dropJobTable,createSchema,createEmpTable,createEmpView,createEmpNameIndex,createDeptTable,createJobTable,createProjectTable,createMgrView]
print "\n";
for query in queryList:
print sess.__execute__(query)
print sess.__execute__("set schema TRAFODION.CI_SAMPLE")
count=sess.__execute__("select count(*) from TRAFODION.CI_SAMPLE.employee")
print "count: "+count
########################################################################
# disconnect the session
########################################################################
sess.__disconnect__()
del sess
sess=None