<?xml version="1.0"?>

<!--
 Jython Database Specification API 2.0

 Copyright (c) 2001 brian zimmer <bzimmer@ziclix.com>
-->

<tests>
	<vendor name="postgresql"
		datahandler="com.ziclix.python.sql.handler.PostgresqlDataHandler">
		<test name="driver" os="java">
			<factory class="com.ziclix.python.sql.zxJDBC" method="connect">
				<argument name="url" value="jdbc:postgresql://192.168.1.102:5432/ziclix"/>
				<argument name="usr" value="jython"/>
				<argument name="pwd" value=""/>
				<argument name="driver" value="org.postgresql.Driver"/>
			</factory>
			<testcase from="zxtest" import="zxAPITestCase">
				<!-- Returns any empty ResultSet every time. -->
				<ignore name="testIndexInfo"/>
			</testcase>
			<testcase from="zxtest" import="BCPTestCase"/>
			<!--<testcase from="zxtest" import="LOBTestCase"/>-->
			<testcase from="dbextstest" import="dbextsTestCase"/>
		</test>
		<!--
		<test name="datasource" os="java">
			<factory class="com.ziclix.python.sql.zxJDBC" method="connectx">
				<argument name="datasource" value="org.postgresql.PostgresqlDataSource"/>
				<keyword name="serverName" value="192.168.1.102"/>
				<keyword name="databaseName" value="ziclix"/>
				<keyword name="user" value="jython"/>
				<keyword name="password" value=""/>
				<keyword name="portNumber" value="5432" type="int"/>
			</factory>
			<testcase from="zxtest" import="zxAPITestCase">
				<ignore name="testIndexInfo"/>
			</testcase>
			<testcase from="zxtest" import="BCPTestCase"/>
		</test>
		-->
		<table ref="texttable" name="c_texttable">
			create table c_texttable (a int not null, primary key(a), b text not null)
		</table>
		<table ref="floattable" name="c_floattable">
			create table c_floattable (a int, b numeric(5,2))
		</table>
		<table ref="datetable" name="c_datetable">
			create table c_datetable (a int, b date)
		</table>
		<table ref="timetable" name="c_timetable">
			create table c_timetable (a int, b time)
		</table>
		<table ref="timestamptable" name="c_timestamptable">
			create table c_timestamptable (a int, b datetime)
		</table>
		<table ref="blobtable" name="b_blobtable">
			create table b_blobtable (a int, b blob)
		</table>
		<table ref="pktable" name="b_pktable">
			create table b_pktable (a int not null, b int, primary key(a))
		</table>
		<table ref="autoincrementtable" name="aitable">
			create table aitable (a serial not null, b int, primary key(a))
		</table>
		<table ref="post_autoincrementtable" name="aitable_a_seq">
			drop sequence aitable_a_seq
		</table>
	</vendor>
	<vendor name="mysql"
		datahandler="com.ziclix.python.sql.handler.MySQLDataHandler">
		<test name="driver" os="java">
			<factory class="com.ziclix.python.sql.zxJDBC" method="connect">
				<argument name="url" value="jdbc:mysql://192.168.1.102/ziclix"/>
				<argument name="usr" value="jython"/>
				<argument name="pwd" value="jython"/>
				<argument name="driver" value="org.gjt.mm.mysql.Driver"/>
			</factory>
			<testcase from="zxtest" import="zxAPITestCase">
				<ignore name="testBestRow"/>
			</testcase>
			<testcase from="zxtest" import="BCPTestCase"/>
			<!--<testcase from="zxtest" import="LOBTestCase"/>-->
			<testcase from="dbextstest" import="dbextsTestCase"/>
		</test>
		<test name="datasource" os="java">
			<factory class="com.ziclix.python.sql.zxJDBC" method="connectx">
				<argument name="datasource" value="org.gjt.mm.mysql.jdbc2.optional.MysqlDataSource"/>
				<keyword name="serverName" value="192.168.1.102"/>
				<keyword name="databaseName" value="ziclix"/>
				<keyword name="user" value="jython"/>
				<keyword name="password" value="jython"/>
				<keyword name="port" value="3306" type="int"/>
			</factory>
			<testcase from="zxtest" import="zxAPITestCase">
				<ignore name="testBestRow"/>
			</testcase>
			<!--<testcase from="zxtest" import="LOBTestCase"/>-->
			<testcase from="zxtest" import="BCPTestCase"/>
		</test>
		<!--
		<test name="lookup" os="java">
			<factory class="com.ziclix.python.sql.zxJDBC" method="lookup">
				<argument name="jndiName" value="/jdbc/mysqldb"/>
				<keyword name="INITIAL_CONTEXT_FACTORY" value="com.sun.jndi.fscontext.RefFSContextFactory"/>
			</factory>
			<testcase from="zxtest" import="zxAPITestCase"/>
			<testcase from="zxtest" import="BCPTestCase"/>
		</test>
		-->
		<table ref="texttable" name="c_texttable">
			create table c_texttable (a int not null auto_increment, primary key(a), b text not null)
		</table>
		<table ref="floattable" name="c_floattable">
			create table c_floattable (a int, b float(5,2))
		</table>
		<table ref="datetable" name="c_datetable">
			create table c_datetable (a int, b date)
		</table>
		<table ref="timetable" name="c_timetable">
			create table c_timetable (a int, b time)
		</table>
		<table ref="timestamptable" name="c_timestamptable">
			create table c_timestamptable (a int, b datetime)
		</table>
		<table ref="blobtable" name="b_blobtable">
			create table b_blobtable (a int, b longblob)
		</table>
		<table ref="pktable" name="b_pktable">
			create table b_pktable (a int not null, b int, primary key(a))
		</table>
		<table ref="autoincrementtable" name="aitable">
			create table aitable (a int not null auto_increment, primary key(a), b int)
		</table>
	</vendor>
	<vendor name="oracle"
		datahandler="com.ziclix.python.sql.handler.OracleDataHandler"
		scroll="TYPE_SCROLL_INSENSITIVE">
		<test name="driver" os="java">
			<factory class="com.ziclix.python.sql.zxJDBC" method="connect">
				<argument name="url" value="jdbc:oracle:thin:@localhost:1521:ziclix"/>
				<argument name="usr" value="jython"/>
				<argument name="pwd" value="jython"/>
				<argument name="driver" value="oracle.jdbc.driver.OracleDriver"/>
			</factory>
			<testcase from="zxtest" import="zxAPITestCase">
				<ignore name="testRowid"/>
			</testcase>
			<!--<testcase from="zxtest" import="LOBTestCase"/>-->
			<testcase from="zxtest" import="BCPTestCase"/>
			<testcase from="dbextstest" import="dbextsTestCase"/>
			<testcase from="sptest" import="OracleSPTest"/>
		</test>
		<!--
		<test name="datasource" os="java">
			<factory class="com.ziclix.python.sql.zxJDBC" method="connectx">
				<argument name="datasource" value="oracle.jdbc.pool.OracleConnectionPoolDataSource"/>
				<keyword name="URL" value="jdbc:oracle:thin:@localhost:1521:ziclix"/>
				<keyword name="user" value="jython"/>
				<keyword name="password" value="jython"/>
			</factory>
			<testcase from="zxtest" import="zxAPITestCase">
				<ignore name="testRowid"/>
			</testcase>
			<testcase from="zxtest" import="BCPTestCase"/>
			<testcase from="zxtest" import="LOBTestCase"/>
			<testcase from="sptest" import="OracleSPTest"/>
		</test>
		-->
		<table ref="texttable" name="c_texttable">
			create table c_texttable (a int, b varchar2(4000) not null)
		</table>
		<table ref="floattable" name="c_floattable">
			create table c_floattable (a int, b number(5,2))
		</table>
		<table ref="datetable" name="c_datetable">
			create table c_datetable (a int, b date)
		</table>
		<table ref="timetable" name="c_timetable">
			create table c_timetable (a int, b date)
		</table>
		<table ref="timestamptable" name="c_timestamptable">
			create table c_timestamptable (a int, b date)
		</table>
		<table ref="blobtable" name="b_blobtable">
			create table b_blobtable (a int, b blob)
		</table>
		<table ref="pktable" name="b_pktable">
			create table b_pktable (a int not null, b int, primary key(a))
		</table>
		<table ref="clobtable" name="b_clobtable">
			create table b_clobtable (a int, b clob)
		</table>
	</vendor>
	<vendor name="netdirect"
		datahandler="com.ziclix.python.sql.handler.SQLServerDataHandler"
		scroll="TYPE_SCROLL_INSENSITIVE">
		<!--
		<test name="driver" os="java">
			<factory class="com.ziclix.python.sql.zxJDBC" method="connect">
				<argument name="url" value="jdbc:JSQLConnect://127.0.0.1:1433/ziclix"/>
				<argument name="usr" value="jython"/>
				<argument name="pwd" value="jython"/>
				<argument name="driver" value="com.jnetdirect.jsql.JSQLDriver"/>
			</factory>
			<testcase from="zxtest" import="zxAPITestCase">
				<ignore name="testRowid"/>
			</testcase>
			<testcase from="zxtest" import="BCPTestCase"/>
			<testcase from="dbextstest" import="dbextsTestCase"/>
			<testcase from="sptest" import="SQLServerSPTest"/>
		</test>
		-->
		<table ref="texttable" name="c_texttable">
			create table c_texttable (a int not null, primary key(a), b text not null)
		</table>
		<table ref="floattable" name="c_floattable">
			create table c_floattable (a int, b numeric(5,2))
		</table>
		<table ref="datetable" name="c_datetable">
			create table c_datetable (a int, b datetime)
		</table>
		<table ref="timetable" name="c_timetable">
			create table c_timetable (a int, b datetime)
		</table>
		<table ref="timestamptable" name="c_timestamptable">
			create table c_timestamptable (a int, b datetime)
		</table>
		<table ref="blobtable" name="b_blobtable">
			create table b_blobtable (a int, b blob)
		</table>
		<table ref="pktable" name="b_pktable">
			create table b_pktable (a int not null, b int, primary key(a))
		</table>
	</vendor>
	<!--
	<vendor name="cloudscape"
		datahandler="com.ziclix.python.sql.JDBC20DataHandler">
		<test name="driver" os="java">
			<factory class="com.ziclix.python.sql.zxJDBC" method="connect">
				<argument name="url" value="jdbc:cloudscape:ziclix;create=true"/>
				<argument name="usr" value=""/>
				<argument name="pwd" value=""/>
				<argument name="driver" value="COM.cloudscape.core.JDBCDriver"/>
			</factory>
			<testcase from="zxtest" import="zxAPITestCase">
				<ignore name="testRowid"/>
			</testcase>
			<testcase from="zxtest" import="BCPTestCase"/>
			<testcase from="dbextstest" import="dbextsTestCase"/>
		</test>
		<table ref="texttable" name="c_texttable">
			create table c_texttable (a int not null, primary key(a), b long varchar not null)
		</table>
		<table ref="floattable" name="c_floattable">
			create table c_floattable (a int, b numeric(5,2))
		</table>
		<table ref="datetable" name="c_datetable">
			create table c_datetable (a int, b date)
		</table>
		<table ref="timetable" name="c_timetable">
			create table c_timetable (a int, b time)
		</table>
		<table ref="timestamptable" name="c_timestamptable">
			create table c_timestamptable (a int, b timestamp)
		</table>
		<table ref="blobtable" name="b_blobtable">
			create table b_blobtable (a int, b blob)
		</table>
		<table ref="pktable" name="b_pktable">
			create table b_pktable (a int not null, b int, primary key(a))
		</table>
	</vendor>
	-->
	<vendor name="interbase">
		<test name="driver" os="java">
			<factory class="com.ziclix.python.sql.zxJDBC" method="connect">
				<argument name="url" value="jdbc:interbase://rook/usr/local/interbase/data/ziclix.gdb"/>
				<argument name="usr" value="jython"/>
				<argument name="pwd" value="jython"/>
				<argument name="driver" value="interbase.interclient.Driver"/>
			</factory>
			<testcase from="zxtest" import="zxAPITestCase">
				<ignore name="testRowid"/>
			</testcase>
			<testcase from="zxtest" import="BCPTestCase"/>
			<testcase from="dbextstest" import="dbextsTestCase"/>
		</test>
		<table ref="texttable" name="c_texttable">
			create table c_texttable (a int not null, primary key(a), b blob not null)
		</table>
		<table ref="floattable" name="c_floattable">
			create table c_floattable (a int, b numeric(5,2))
		</table>
		<table ref="datetable" name="c_datetable">
			create table c_datetable (a int, b timestamp)
		</table>
		<table ref="timetable" name="c_timetable">
			create table c_timetable (a int, b timestamp)
		</table>
		<table ref="timestamptable" name="c_timestamptable">
			create table c_timestamptable (a int, b timestamp)
		</table>
		<table ref="blobtable" name="b_blobtable">
			create table b_blobtable (a int, b blob)
		</table>
		<table ref="pktable" name="b_pktable">
			create table b_pktable (a int not null, b int, primary key(a))
		</table>
		<table ref="autoincrementtable" name="aitable">
			create table aitable (a serial not null, b int, primary key(a))
		</table>
	</vendor>
	<vendor name="sapdb">
		<test name="driver" os="java">
			<factory class="com.ziclix.python.sql.zxJDBC" method="connect">
				<argument name="url" value="jdbc:sapdb://localhost/TST"/>
				<argument name="usr" value="TEST"/>
				<argument name="pwd" value="TEST"/>
				<argument name="driver" value="com.sap.dbtech.jdbc.DriverSapDB"/>
			</factory>
			<testcase from="zxtest" import="zxAPITestCase">
				<ignore name="testRowid"/>
				<!-- Returns any empty ResultSet every time. -->
				<ignore name="testIndexInfo"/>
				<ignore name="testMaxrows"/>
				<ignore name="testOrderOfArgsMaxRowsOnly"/>
			</testcase>
			<testcase from="zxtest" import="BCPTestCase"/>
			<!--<testcase from="zxtest" import="LOBTestCase"/>-->
			<testcase from="dbextstest" import="dbextsTestCase">
				<ignore name="testQueryWithMaxRows"/>
			</testcase>
		</test>
		<table ref="texttable" name="c_texttable">
			create table c_texttable (a int, b long varchar not null)
		</table>
		<table ref="floattable" name="c_floattable">
			create table c_floattable (a int, b decimal(5,2))
		</table>
		<table ref="datetable" name="c_datetable">
			create table c_datetable (a int, b date)
		</table>
		<table ref="timetable" name="c_timetable">
			create table c_timetable (a int, b time)
		</table>
		<table ref="timestamptable" name="c_timestamptable">
			create table c_timestamptable (a int, b timestamp)
		</table>
		<table ref="blobtable" name="b_blobtable">
			create table b_blobtable (a int, b blob)
		</table>
		<table ref="pktable" name="b_pktable">
			create table b_pktable (a int not null, b int, primary key(a))
		</table>
		<table ref="clobtable" name="b_clobtable">
			create table b_clobtable (a int, b clob)
		</table>
	</vendor>
</tests>
