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