Precision for UPPER function is wrong if the returned value is longer than the 
literal argument
-----------------------------------------------------------------------------------------------

                 Key: DERBY-5525
                 URL: https://issues.apache.org/jira/browse/DERBY-5525
             Project: Derby
          Issue Type: Bug
          Components: SQL
    Affects Versions: 10.8.2.2
            Reporter: Knut Anders Hatlen


Seen in ij in a database with territory based collation and German locale:

==vv= COPIED FROM IJ CONSOLE =vv==
ij> VALUES UCASE('Straßenbahn');
1
-----------
STRASSENBA&

1 Zeile ausgewählt
==================================

And with JDBC calls:

    Connection c = DriverManager.getConnection(
            "jdbc:derby:memory:db;create=true;territory=de_DE;" +
            "collation=TERRITORY_BASED");
    Statement s = c.createStatement();
    ResultSet rs = s.executeQuery("values upper('Straße')");
    System.out.println(rs.getMetaData().getPrecision(1));
    rs.next();
    System.out.println(rs.getString(1));

This prints

6
STRASSE

The precision is wrong, since the returned value is 7 characters long.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


Reply via email to