[ 
https://issues.apache.org/jira/browse/DERBY-4907?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12995529#comment-12995529
 ] 

Tiago R. Espinha commented on DERBY-4907:
-----------------------------------------

Ok, I have a couple more comments. I agree with Kathey. The short database name 
is something that we can manage whenever a database name is set. We could have 
an attribute shortDatabaseName that we define whenever the actual database name 
is set (setDatabaseName). Then the getShortName() method would simply return 
this field, without having to do any kind of checks (Kathey, you mention 
checking but I can't seem to think of anything that would be required...).

I've also noticed that you have: a) spelling changes, b) production code 
changes and c) test additions in one single patch. I'm not sure if everyone 
will agree with me on this, but I've always done code changes and test changes 
in separate patches. Sure, maybe for a small patch like this it doesn't matter 
much, but when we start dealing with larger patches, I think it's good practice 
to keep the two separated.

I might also be nit picking but I would prefer (for standard's sake) that 
getter methods (like shortDatabaseName() ) would actually start with "get".

> EmbeddedXADataSource with ;create=true attribute set in setDatabaseName fails 
> with java.sql.SQLException: Database not available
> --------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-4907
>                 URL: https://issues.apache.org/jira/browse/DERBY-4907
>             Project: Derby
>          Issue Type: Bug
>          Components: JDBC
>    Affects Versions: 10.1.3.1, 10.2.2.0, 10.3.3.0, 10.4.2.0, 10.5.3.0, 
> 10.6.2.1
>            Reporter: Kathey Marsden
>            Assignee: Siddharth Srivastava
>            Priority: Minor
>              Labels: derby_triage10_8
>         Attachments: derby4907.diff, derby4907.diff, derby4907.txt, 
> derby4907_final.diff
>
>
> Setting the ;create=true attribute in setDatabaseName with 
> EmbededXADataSource and EmbeddedXADataSource40  fails with 
> $ java TestDerbyCreate
> Exception in thread "main" java.sql.SQLException: Database not available
>         at 
> org.apache.derby.jdbc.EmbeddedXADataSource.setupResourceAdapter(Embe
> dedXADataSource.java:175)
>         at 
> org.apache.derby.jdbc.EmbeddedXADataSource.getXAConnection(EmbeddedX
> DataSource.java:101)
>         at TestDerbyCreate.main(TestDerbyCreate.java:18)
>       
> using the create attributie in databaseName works fine with 
> EmbeddedDataSource.  
> Using setCreateDatabase("create") with EmbeddedXADataSource is a good work 
> around and I think generally preferable.
> import java.sql.*;
> import javax.sql.*;
> public class TestDerbyCreate
> {
>     public static void main(String[] args) throws Throwable
>     {
>         org.apache.derby.jdbc.EmbeddedXADataSource ds =
>             new 
> org.apache.derby.jdbc.EmbeddedXADataSource();
>         ds.setDatabaseName("TestDB;create=true");
>         ds.setUser("dbuser1");
>         ds.setPassword("dbpwd1");
>       PooledConnection pooledConn = ds.getXAConnection();
>         Connection conn = pooledConn.getConnection();
>         System.out.println("Database product: " + 
> conn.getMetaData().getDatabaseProductName());
>         System.out.println("Database version: " + 
> conn.getMetaData().getDatabaseProductVersion());
>         System.out.println("Driver name:      " + 
> conn.getMetaData().getDriverName());
>         System.out.println("Driver version:   " + 
> conn.getMetaData().getDriverVersion());
>         System.out.println("JDBC driver major ve

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to