Kathey, let me take a look at this.

thanks,
Mamta


On 7/20/07, Kathey Marsden <[EMAIL PROTECTED]> wrote:

With TERRITORY_BASED collation '_' does not match  the character
\uFA2D.  It is the same for english or norwegian. FOR collation
UCS_BASIC it matches fine.  Could you tell me if this is a bug?
Here is a program to reproduce.


Kathey


import java.sql.*;

public class HighCharacter {

   public static void main(String args[]) throws Exception
   {
   System.out.println("\n Territory no_NO");
   Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
   Connection conn =
DriverManager.getConnection
("jdbc:derby:nordb;create=true;territory=no_NO;collation=TERRITORY_BASED");
   testLikeWithHighestValidCharacter(conn);
   conn.close();
   System.out.println("\n Territory en_US");
   conn =
DriverManager.getConnection
("jdbc:derby:endb;create=true;territory=en_US;collation=TERRITORY_BASED");
   testLikeWithHighestValidCharacter(conn);
   conn.close();
   System.out.println("\n Collation USC_BASIC");
   conn = DriverManager.getConnection("jdbc:derby:basicdb;create=true");
   testLikeWithHighestValidCharacter(conn);

   }


public static  void testLikeWithHighestValidCharacter(Connection conn)
throws SQLException {
   Statement stmt = conn.createStatement();
   try {
   stmt.executeUpdate("drop table t1");
   }catch (SQLException se)
   {// drop failure ok.
   }
   stmt.executeUpdate("create table t1(c11 int)");
   stmt.executeUpdate("insert into t1 values 1");


   // \uFA2D - the highest valid character according to
   // Character.isDefined() of JDK 1.4;
   PreparedStatement ps =
   conn.prepareStatement("select 1 from t1 where '\uFA2D' like ?");

   String[] match = { "%", "_", "\uFA2D" };

   for (int i = 0; i < match.length; i++) {
   System.out.println("select 1 from t1 where '\\uFA2D' like " +
match[i]);
   ps.setString(1, match[i]);
   ResultSet rs = ps.executeQuery();
   if( rs.next() && rs.getString(1).equals("1"))
       System.out.println("PASS");
   else
       System.out.println("FAIL: no match");

   rs.close();
   }

}
}



Reply via email to