Hi all.

If I do this (using version 10.8.2.2):

    ClientConnectionPoolDataSource ds = new ClientConnectionPoolDataSource();
    ds.setServerName("derby");
    ds.setPortNumber(2000);
    ds.setDatabaseName("db");
    ds.setUser("john.smith");

This eventually results in an error on the server side:

    ERROR 28502: The user name 'john.smith' is not valid.
           at 
org.apache.derby.iapi.error.StandardException.newException(StandardException.java:286)
           at 
org.apache.derby.iapi.util.IdUtil.getUserAuthorizationId(IdUtil.java:570)
           at 
org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext.initialize(GenericLanguageConnectionContext.java:381)
           at 
org.apache.derby.impl.db.BasicDatabase.setupConnection(BasicDatabase.java:295)

After a bit of research, I read that usernames with a dot are fine in
a database *URL* as long as you quote them.  But I'm *not* using a URL
here, I'm using a setter on a bean.  So I would be expecting the
library to properly quote a string if it deems that the value I passed
in needs it.

Yet Derby doesn't appear to be doing this.  Is this a bug?

TX

Reply via email to