import java.sql.SQLException;
import java.sql.*;


public class Bug16277 extends testsuite.BaseTestCase
{
   public Bug16277(String name)
   {
      super(name);
   }

   public void setUp() throws Exception
   {
      
      super.setUp();
      createTable("b16277","(i bigint,i1 bigint unsigned)");
      stmt.executeUpdate("insert into b16277 values(1,1)");
   }

   public void testUnsignedInt() throws SQLException
   {
   	rs = stmt.executeQuery("SELECT * from b16277");
        assertTrue("must return a row",rs.next()) ;
	com.mysql.jdbc.ResultSetMetaData md = (com.mysql.jdbc.ResultSetMetaData)rs.getMetaData();
	System.out.println(" result types are: "+md.getColumnClassName(1)+" and "+md.getColumnClassName(2));
        assertTrue("BIGINT must return java.lang.Long ",md.getColumnClassName(1) == "java.lang.Long");
        assertTrue("BIGINT unsigned  must return java.math.BigInteger ",md.getColumnClassName(2) == "java.math.BigInteger");
	
   }

  
   public static void  main(String args[]) throws Exception
   {
      junit.textui.TestRunner.run(Bug16277.class);      
   }

}


