adding test scripts
[csql.git] / test / jdbc / ParameterMetadata / ParaMetaTest1.java
blobe98bf32d32049798485116990351e8050d0243a7
1 //Test for nullable Test
2 // and getParameterTypeClassName(param); in ParameterMetaData
4 import java.sql.*;
5 public class ParaMetaTest1
7 public static void main(String[] arg)
9 try
11 Class.forName("csql.jdbc.JdbcSqlDriver");
12 Connection con=DriverManager.getConnection("jdbc:csql","root","manager");
13 Statement cStmt=con.createStatement();
14 cStmt.execute("CREATE TABLE T1 (f1 integer not null, f2 smallint, f3 tinyint, f4 bigint, f5 float, f6 char(10), f7 date, f8 time, f9 timestamp,primary key(f6,f7));");
15 con.commit();
16 PreparedStatement stmt=null,selStmt=null;
17 stmt=con.prepareStatement("INSERT INTO T1 VALUES(?,?,?,?,?,?,?,?,?);");
18 //Parameter Test
20 ParameterMetaData paramMetaData = null;
21 paramMetaData = stmt.getParameterMetaData();
22 if (paramMetaData == null) {
23 System.out.println("db vendor does NOT support ParameterMetaData");
24 } else {
25 System.out.println("db vendor supports ParameterMetaData");
26 int paramCount = paramMetaData.getParameterCount();
27 System.out.println("paramCount=" + paramCount);
28 System.out.println("param number is NULL allow className");
29 System.out.println("-----------------------------------------------");
30 for (int param = 1; param <= paramCount; param++) {
31 System.out.print(" "+param+" ");
32 int nullable = paramMetaData.isNullable(param);
33 if (nullable == ParameterMetaData.parameterNoNulls)
34 System.out.print("NO ");
35 else
36 System.out.print("YES ");
37 String paramClassName = paramMetaData.getParameterClassName(param);
38 System.out.println(paramClassName);
42 int ret=0;
43 for(int i=0;i<10;i++)
45 stmt.setInt(1,i);
46 stmt.setShort(2,(short)(i+1));
47 stmt.setByte(3,(byte)(i+2));
48 stmt.setLong(4,(long)i);
49 stmt.setFloat(5,(float)1000+i);
50 stmt.setString(6, String.valueOf("Bijaya"+i));
51 stmt.setDate(7,Date.valueOf("2008-03-21"));
52 stmt.setTime(8,Time.valueOf("18:00:00"));
53 stmt.setTimestamp(9,Timestamp.valueOf("2008-03-21 18:00:00"));
54 ret=stmt.executeUpdate();
55 if(ret!=1) break;
57 stmt.close();
58 con.commit();
59 selStmt=con.prepareStatement("SELECT * FROM T1 where f2 = ? and f1 = ? and f3 = ?");
62 //Parameter metadataTest
64 paramMetaData = selStmt.getParameterMetaData();
65 if (paramMetaData == null) {
66 System.out.println("db vendor does NOT support ParameterMetaData");
67 } else {
68 System.out.println("db vendor supports ParameterMetaData");
69 int paramCount = paramMetaData.getParameterCount();
70 System.out.println("paramCount=" + paramCount);
71 System.out.println("param number is NULL allow className");
72 System.out.println("-----------------------------------------------");
73 for (int param = 1; param <= paramCount; param++) {
74 System.out.print(" "+param+" ");
75 int nullable = paramMetaData.isNullable(param);
76 if (nullable == ParameterMetaData.parameterNoNulls)
77 System.out.print("NO ");
78 else
79 System.out.print("YES ");
80 String paramClassName = paramMetaData.getParameterClassName(param);
81 System.out.println(paramClassName);
85 ResultSet rs=null;
86 selStmt.setInt(2,2);
87 selStmt.setShort(1,(short)3);
88 selStmt.setByte(3,(byte)4);
89 rs=selStmt.executeQuery();
90 while(rs.next())
92 System.out.println("Tuple value is " + rs.getInt(1) + " "+
93 rs.getShort(2) + " "+
94 rs.getByte(3) + " "+
95 rs.getLong(4) + " "+
96 rs.getFloat(5) + " "+
97 rs.getString(6) + " "+
98 rs.getDate(7) + " "+
99 rs.getTime(8) + " "+
100 rs.getTimestamp(9) + " "
104 rs.close();
105 con.commit();
106 cStmt.executeUpdate("Drop table T1;");
107 con.close();
108 }catch(Exception e) {
109 System.out.println("Exception in Test: "+e);
110 e.printStackTrace();